Lines Matching refs:TESTINST2

18 #define TESTINST2(instruction, RMval, RD, RM, carryin) \
272 TESTINST2("clz r0, r1", 0, r0, r1, c);
273 TESTINST2("clz r0, r1", 1, r0, r1, c);
274 TESTINST2("clz r0, r1", 0x10, r0, r1, c);
275 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, c);
279 TESTINST2("uxtb r0, r1", 0, r0, r1, 0);
280 TESTINST2("uxtb r0, r1", 1, r0, r1, 0);
281 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0);
282 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0);
283 TESTINST2("sxtb r0, r1", 0, r0, r1, 0);
284 TESTINST2("sxtb r0, r1", 1, r0, r1, 0);
285 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0);
286 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0);
288 TESTINST2("uxth r0, r1", 0, r0, r1, 0);
289 TESTINST2("uxth r0, r1", 1, r0, r1, 0);
290 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0);
291 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0);
292 TESTINST2("sxth r0, r1", 0, r0, r1, 0);
293 TESTINST2("sxth r0, r1", 1, r0, r1, 0);
294 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0);
295 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0);
296 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0);
297 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0);
298 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0);
300 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0);
301 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0);
302 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0);
303 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0);
304 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0);
306 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0);
307 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0);
308 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0);
309 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0);
310 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0);
314 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
315 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
316 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
318 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0);
319 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0);
320 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0);
322 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0);
323 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0);
325 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0);
326 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0);
327 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0);
331 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0);
332 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0);
333 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0);
335 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0);
336 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0);
337 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0);
339 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0);
340 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0);
342 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0);
343 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0);
344 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0);
348 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0);
349 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0);
350 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0);
351 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0);
352 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0);
353 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0);
355 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0);
356 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0);
357 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0);
358 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0);
359 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0);
360 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0);
362 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
363 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
364 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
365 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
366 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
367 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
371 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0);
372 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0);
373 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0);
374 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0);
375 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0);
376 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0);
378 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0);
379 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0);
380 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0);
381 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0);
382 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0);
383 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0);
385 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
386 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
387 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
388 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
389 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
390 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
878 TESTINST2("usat r0, #0, r1", 0x0123abcd, r0, r1, 0);
879 TESTINST2("usat r0, #1, r1", 0x0123abcd, r0, r1, 0);
880 TESTINST2("usat r0, #5, r1", 0x0123abcd, r0, r1, 0);
881 TESTINST2("usat r0, #8, r1", 0x0123abcd, r0, r1, 0);
882 TESTINST2("usat r0, #11, r1", 0x11110000, r0, r1, 0);
883 TESTINST2("usat r0, #13, r1", 0x11110000, r0, r1, 0);
884 TESTINST2("usat r0, #15, r1", 0x11110000, r0, r1, 0);
885 TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0);
886 TESTINST2("usat r0, #31, r1, lsl #0", 0x5f986e68, r0, r1, 0);
887 TESTINST2("usat r0, #31, r1, lsl #0", 0xe7aa57b4, r0, r1, 0);
888 TESTINST2("usat r0, #31, r1, lsl #0", 0x89d2ef86, r0, r1, 0);
889 TESTINST2("usat r0, #31, r1, lsl #8", 0xc53aaba9, r0, r1, 0);
890 TESTINST2("usat r0, #31, r1, lsl #8", 0x216158cb, r0, r1, 0);
891 TESTINST2("usat r0, #31, r1, lsl #8", 0x3cd6cd94, r0, r1, 0);
892 TESTINST2("usat r0, #0, r1, lsl #0", 0xf87b961e, r0, r1, 0);
893 TESTINST2("usat r0, #0, r1, lsl #0", 0xc61b323b, r0, r1, 0);
894 TESTINST2("usat r0, #0, r1, lsl #0", 0xa3268abe, r0, r1, 0);
895 TESTINST2("usat r0, #0, r1, lsl #8", 0xbf73f0a5, r0, r1, 0);
896 TESTINST2("usat r0, #0, r1, lsl #8", 0x925ef472, r0, r1, 0);
897 TESTINST2("usat r0, #0, r1, lsl #8", 0x137741f4, r0, r1, 0);
898 TESTINST2("usat r0, #24, r1, lsl #2", 0x50c28082, r0, r1, 0);
899 TESTINST2("usat r0, #16, r1, lsl #3", 0x17962e8f, r0, r1, 0);
900 TESTINST2("usat r0, #12, r1, lsl #4", 0xc57243b7, r0, r1, 0);
901 TESTINST2("usat r0, #8, r1, lsl #8", 0xf20fb90f, r0, r1, 0);
902 TESTINST2("usat r0, #4, r1, lsl #12", 0xbb151055, r0, r1, 0);
903 TESTINST2("usat r0, #3, r1, lsl #16", 0x957440d2, r0, r1, 0);
904 TESTINST2("usat r0, #2, r1, lsl #24", 0x728b7771, r0, r1, 0);
905 TESTINST2("usat r0, #1, r1, lsl #31", 0xf13c20f3, r0, r1, 0);
906 TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0);
907 TESTINST2("usat r0, #31, r1, asr #0", 0x5f986e68, r0, r1, 0);
908 TESTINST2("usat r0, #31, r1, asr #0", 0xe7aa57b4, r0, r1, 0);
909 TESTINST2("usat r0, #31, r1, asr #0", 0x89d2ef86, r0, r1, 0);
910 TESTINST2("usat r0, #31, r1, asr #8", 0xc53aaba9, r0, r1, 0);
911 TESTINST2("usat r0, #31, r1, asr #8", 0x216158cb, r0, r1, 0);
912 TESTINST2("usat r0, #31, r1, asr #8", 0x3cd6cd94, r0, r1, 0);
913 TESTINST2("usat r0, #0, r1, asr #0", 0xf87b961e, r0, r1, 0);
914 TESTINST2("usat r0, #0, r1, asr #0", 0xc61b323b, r0, r1, 0);
915 TESTINST2("usat r0, #0, r1, asr #0", 0xa3268abe, r0, r1, 0);
916 TESTINST2("usat r0, #0, r1, asr #8", 0xbf73f0a5, r0, r1, 0);
917 TESTINST2("usat r0, #0, r1, asr #8", 0x925ef472, r0, r1, 0);
918 TESTINST2("usat r0, #0, r1, asr #8", 0x137741f4, r0, r1, 0);
919 TESTINST2("usat r0, #24, r1, asr #2", 0x50c28082, r0, r1, 0);
920 TESTINST2("usat r0, #16, r1, asr #3", 0x17962e8f, r0, r1, 0);
921 TESTINST2("usat r0, #12, r1, asr #4", 0xc57243b7, r0, r1, 0);
922 TESTINST2("usat r0, #8, r1, asr #8", 0xf20fb90f, r0, r1, 0);
923 TESTINST2("usat r0, #4, r1, asr #12", 0xbb151055, r0, r1, 0);
924 TESTINST2("usat r0, #3, r1, asr #16", 0x957440d2, r0, r1, 0);
925 TESTINST2("usat r0, #2, r1, asr #24", 0x728b7771, r0, r1, 0);
926 TESTINST2("usat r0, #1, r1, asr #31", 0xf13c20f3, r0, r1, 0);
927 TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0);
928 TESTINST2("usat r0, #31, r1, asr #0", 0x5f986e68, r0, r1, 0);
929 TESTINST2("usat r0, #31, r1, asr #0", 0xe7aa57b4, r0, r1, 0);
930 TESTINST2("usat r0, #31, r1, asr #0", 0x89d2ef86, r0, r1, 0);
931 TESTINST2("usat r0, #31, r1, asr #8", 0xc53aaba9, r0, r1, 0);
932 TESTINST2("usat r0, #31, r1, asr #8", 0x216158cb, r0, r1, 0);
933 TESTINST2("usat r0, #31, r1, asr #8", 0x3cd6cd94, r0, r1, 0);
934 TESTINST2("usat r0, #0, r1, asr #0", 0xf87b961e, r0, r1, 0);
935 TESTINST2("usat r0, #0, r1, asr #0", 0xc61b323b, r0, r1, 0);
936 TESTINST2("usat r0, #0, r1, asr #0", 0xa3268abe, r0, r1, 0);
937 TESTINST2("usat r0, #0, r1, asr #8", 0xbf73f0a5, r0, r1, 0);
938 TESTINST2("usat r0, #0, r1, asr #8", 0x925ef472, r0, r1, 0);
939 TESTINST2("usat r0, #0, r1, asr #8", 0x137741f4, r0, r1, 0);
940 TESTINST2("usat r0, #24, r1, asr #2", 0x50c28082, r0, r1, 0);
941 TESTINST2("usat r0, #16, r1, asr #3", 0x17962e8f, r0, r1, 0);
942 TESTINST2("usat r0, #12, r1, asr #4", 0xc57243b7, r0, r1, 0);
943 TESTINST2("usat r0, #8, r1, asr #8", 0xf20fb90f, r0, r1, 0);
944 TESTINST2("usat r0, #4, r1, asr #12", 0xbb151055, r0, r1, 0);
945 TESTINST2("usat r0, #3, r1, asr #16", 0x957440d2, r0, r1, 0);
946 TESTINST2("usat r0, #2, r1, asr #24", 0x728b7771, r0, r1, 0);
947 TESTINST2("usat r0, #1, r1, asr #31", 0xf13c20f3, r0, r1, 0);
949 TESTINST2("usat r0, #0, r1, asr #32", 0xa9085781, r0, r1, 0);
950 TESTINST2("usat r0, #31, r1, asr #32", 0x40b094e2, r0, r1, 0);
951 TESTINST2("usat r0, #31, r1, asr #32", 0x17913309, r0, r1, 0);
952 TESTINST2("usat r0, #31, r1, asr #32", 0x5388b5cd, r0, r1, 0);
953 TESTINST2("usat r0, #24, r1, asr #32", 0x86582032, r0, r1, 0);
954 TESTINST2("usat r0, #16, r1, asr #32", 0x5de41558, r0, r1, 0);
955 TESTINST2("usat r0, #12, r1, asr #32", 0xccfa1c7e, r0, r1, 0);
956 TESTINST2("usat r0, #8, r1, asr #32", 0x23ba1b46, r0, r1, 0);
957 TESTINST2("usat r0, #4, r1, asr #32", 0x4437983c, r0, r1, 0);
958 TESTINST2("usat r0, #3, r1, asr #32", 0x48d06549, r0, r1, 0);
959 TESTINST2("usat r0, #2, r1, asr #32", 0xa9085781, r0, r1, 0);
960 TESTINST2("usat r0, #1, r1, asr #32", 0xc6b4ac58, r0, r1, 0);
964 TESTINST2("usat16 r0, #0, r1", 0x0123abcd, r0, r1, 0);
965 TESTINST2("usat16 r0, #1, r1", 0xffcdabcd, r0, r1, 0);
966 TESTINST2("usat16 r0, #5, r1", 0x0123feff, r0, r1, 0);
967 TESTINST2("usat16 r0, #8, r1", 0x0123abcd, r0, r1, 0);
968 TESTINST2("usat16 r0, #11, r1", 0x11110000, r0, r1, 0);
969 TESTINST2("usat16 r0, #13, r1", 0x1111f111, r0, r1, 0);
970 TESTINST2("usat16 r0, #15, r1", 0x00001111, r0, r1, 0);
971 TESTINST2("usat16 r0, #0, r1", 0xebbff82b, r0, r1, 0);
972 TESTINST2("usat16 r0, #1, r1", 0xebbff82b, r0, r1, 0);
973 TESTINST2("usat16 r0, #3, r1", 0x50c28082, r0, r1, 0);
974 TESTINST2("usat16 r0, #5, r1", 0x17962e8f, r0, r1, 0);
975 TESTINST2("usat16 r0, #8, r1", 0xc57243b7, r0, r1, 0);
976 TESTINST2("usat16 r0, #10, r1", 0xf20fb90f, r0, r1, 0);
977 TESTINST2("usat16 r0, #11, r1", 0xbb151055, r0, r1, 0);
978 TESTINST2("usat16 r0, #13, r1", 0x957440d2, r0, r1, 0);
979 TESTINST2("usat16 r0, #14, r1", 0x728b7771, r0, r1, 0);
980 TESTINST2("usat16 r0, #15, r1", 0xf13c20f3, r0, r1, 0);
981 TESTINST2("usat16 r0, #0, r1", 0x86398371, r0, r1, 0);
982 TESTINST2("usat16 r0, #1, r1", 0x03d0fb78, r0, r1, 0);
983 TESTINST2("usat16 r0, #3, r1", 0xd0d49b7c, r0, r1, 0);
984 TESTINST2("usat16 r0, #5, r1", 0x76354a58, r0, r1, 0);
985 TESTINST2("usat16 r0, #8, r1", 0x9fa45fb7, r0, r1, 0);
986 TESTINST2("usat16 r0, #10, r1", 0x7572bdec, r0, r1, 0);
987 TESTINST2("usat16 r0, #11, r1", 0xfea59eb6, r0, r1, 0);
988 TESTINST2("usat16 r0, #13, r1", 0xf2669090, r0, r1, 0);
989 TESTINST2("usat16 r0, #14, r1", 0xbc1ff573, r0, r1, 0);
990 TESTINST2("usat16 r0, #15, r1", 0x7eb226ac, r0, r1, 0);
991 TESTINST2("usat16 r0, #0, r1", 0x22b65db1, r0, r1, 0);
992 TESTINST2("usat16 r0, #1, r1", 0x776c41c7, r0, r1, 0);
993 TESTINST2("usat16 r0, #3, r1", 0xe50dd77c, r0, r1, 0);
994 TESTINST2("usat16 r0, #5, r1", 0xd6f9a698, r0, r1, 0);
995 TESTINST2("usat16 r0, #8, r1", 0xeda5110c, r0, r1, 0);
996 TESTINST2("usat16 r0, #10, r1", 0x0be36f70, r0, r1, 0);
997 TESTINST2("usat16 r0, #11, r1", 0xd759eb72, r0, r1, 0);
998 TESTINST2("usat16 r0, #13, r1", 0xd9c4b1f4, r0, r1, 0);
999 TESTINST2("usat16 r0, #14, r1", 0xa29eb320, r0, r1, 0);
1000 TESTINST2("usat16 r0, #15, r1", 0xcf1e4487, r0, r1, 0);
1001 TESTINST2("usat16 r0, #0, r1", 0x2eb68500, r0, r1, 0);
1002 TESTINST2("usat16 r0, #1, r1", 0xcdb7ed11, r0, r1, 0);
1003 TESTINST2("usat16 r0, #3, r1", 0x2eaea305, r0, r1, 0);
1004 TESTINST2("usat16 r0, #5, r1", 0x6ebd04d9, r0, r1, 0);
1005 TESTINST2("usat16 r0, #8, r1", 0xa5ec1aa8, r0, r1, 0);
1006 TESTINST2("usat16 r0, #10, r1", 0x72f33509, r0, r1, 0);
1007 TESTINST2("usat16 r0, #11, r1", 0xa3e6f759, r0, r1, 0);
1008 TESTINST2("usat16 r0, #13, r1", 0xfaceab39, r0, r1, 0);
1009 TESTINST2("usat16 r0, #14, r1", 0x2738f0ff, r0, r1, 0);
1010 TESTINST2("usat16 r0, #15, r1", 0xe79fd570, r0, r1, 0);
1011 TESTINST2("usat16 r0, #0, r1", 0x55ea3e4e, r0, r1, 0);
1012 TESTINST2("usat16 r0, #1, r1", 0x2b62ba5a, r0, r1, 0);
1013 TESTINST2("usat16 r0, #3, r1", 0x9b41bfb1, r0, r1, 0);
1014 TESTINST2("usat16 r0, #5, r1", 0x557c7ba2, r0, r1, 0);
1015 TESTINST2("usat16 r0, #8, r1", 0x2973c051, r0, r1, 0);
1016 TESTINST2("usat16 r0, #10, r1", 0x6a228b19, r0, r1, 0);
1017 TESTINST2("usat16 r0, #11, r1", 0x0cdafabe, r0, r1, 0);
1018 TESTINST2("usat16 r0, #13, r1", 0x50865114, r0, r1, 0);
1019 TESTINST2("usat16 r0, #14, r1", 0xd83b849b, r0, r1, 0);
1020 TESTINST2("usat16 r0, #15, r1", 0xca5e5605, r0, r1, 0);
2867 TESTINST2("ssat r0, #1, r1, LSL #31", 0x80008000, r0, r1, 0);
2868 TESTINST2("ssat r0, #6, r1, LSL #24", 0x80008000, r0, r1, 0);
2869 TESTINST2("ssat r0, #8, r1, ASR #18", 0x80008000, r0, r1, 0);
2870 TESTINST2("ssat r0, #12, r1, ASR #16", 0x80008000, r0, r1, 0);
2871 TESTINST2("ssat r0, #16, r1, LSL #12", 0xffff0009, r0, r1, 0);
2872 TESTINST2("ssat r0, #18, r1, LSL #8", 0xffff0009, r0, r1, 0);
2873 TESTINST2("ssat r0, #24, r1, ASR #6", 0xffff0009, r0, r1, 0);
2874 TESTINST2("ssat r0, #31, r1, ASR #1", 0xffff0009, r0, r1, 0);
2875 TESTINST2("ssat r0, #1, r1", 0x256bfdd6, r0, r1, 0);
2876 TESTINST2("ssat r0, #1, r1", 0xc02a0c05, r0, r1, 0);
2877 TESTINST2("ssat r0, #1, r1", 0xee2fa46e, r0, r1, 0);
2878 TESTINST2("ssat r0, #1, r1", 0x97a7da20, r0, r1, 0);
2879 TESTINST2("ssat r0, #32, r1", 0xa231d5e6, r0, r1, 0);
2880 TESTINST2("ssat r0, #32, r1", 0x10e1968a, r0, r1, 0);
2881 TESTINST2("ssat r0, #32, r1", 0x0e089270, r0, r1, 0);
2882 TESTINST2("ssat r0, #32, r1", 0x9e8e0185, r0, r1, 0);
2883 TESTINST2("ssat r0, #32, r1", 0x3096f12e, r0, r1, 0);
2884 TESTINST2("ssat r0, #32, r1", 0xffc134df, r0, r1, 0);
2885 TESTINST2("ssat r0, #1, r1, LSL #31", 0x256bfdd6, r0, r1, 0);
2886 TESTINST2("ssat r0, #1, r1, LSL #31", 0xc02a0c05, r0, r1, 0);
2887 TESTINST2("ssat r0, #1, r1, LSL #31", 0xee2fa46e, r0, r1, 0);
2888 TESTINST2("ssat r0, #1, r1, LSL #31", 0x97a7da20, r0, r1, 0);
2889 TESTINST2("ssat r0, #1, r1, LSL #31", 0xa231d5e6, r0, r1, 0);
2890 TESTINST2("ssat r0, #1, r1, LSL #31", 0x10e1968a, r0, r1, 0);
2891 TESTINST2("ssat r0, #1, r1, LSL #31", 0x0e089270, r0, r1, 0);
2892 TESTINST2("ssat r0, #1, r1, LSL #31", 0x9e8e0185, r0, r1, 0);
2893 TESTINST2("ssat r0, #1, r1, LSL #31", 0x3096f12e, r0, r1, 0);
2894 TESTINST2("ssat r0, #1, r1, LSL #31", 0xffc134df, r0, r1, 0);
2895 TESTINST2("ssat r0, #3, r1, LSL #28", 0x256bfdd6, r0, r1, 0);
2896 TESTINST2("ssat r0, #3, r1, LSL #28", 0xc02a0c05, r0, r1, 0);
2897 TESTINST2("ssat r0, #3, r1, LSL #28", 0xee2fa46e, r0, r1, 0);
2898 TESTINST2("ssat r0, #3, r1, LSL #28", 0x97a7da20, r0, r1, 0);
2899 TESTINST2("ssat r0, #3, r1, LSL #28", 0xa231d5e6, r0, r1, 0);
2900 TESTINST2("ssat r0, #3, r1, LSL #28", 0x10e1968a, r0, r1, 0);
2901 TESTINST2("ssat r0, #3, r1, LSL #28", 0x0e089270, r0, r1, 0);
2902 TESTINST2("ssat r0, #3, r1, LSL #28", 0x9e8e0185, r0, r1, 0);
2903 TESTINST2("ssat r0, #3, r1, LSL #28", 0x3096f12e, r0, r1, 0);
2904 TESTINST2("ssat r0, #3, r1, LSL #28", 0xffc134df, r0, r1, 0);
2905 TESTINST2("ssat r0, #6, r1, LSL #24", 0x256bfdd6, r0, r1, 0);
2906 TESTINST2("ssat r0, #6, r1, LSL #24", 0xc02a0c05, r0, r1, 0);
2907 TESTINST2("ssat r0, #6, r1, LSL #24", 0xee2fa46e, r0, r1, 0);
2908 TESTINST2("ssat r0, #6, r1, LSL #24", 0x97a7da20, r0, r1, 0);
2909 TESTINST2("ssat r0, #6, r1, LSL #24", 0xa231d5e6, r0, r1, 0);
2910 TESTINST2("ssat r0, #6, r1, LSL #24", 0x10e1968a, r0, r1, 0);
2911 TESTINST2("ssat r0, #6, r1, LSL #24", 0x0e089270, r0, r1, 0);
2912 TESTINST2("ssat r0, #6, r1, LSL #24", 0x9e8e0185, r0, r1, 0);
2913 TESTINST2("ssat r0, #6, r1, LSL #24", 0x3096f12e, r0, r1, 0);
2914 TESTINST2("ssat r0, #6, r1, LSL #24", 0xffc134df, r0, r1, 0);
2915 TESTINST2("ssat r0, #8, r1, ASR #18", 0x256bfdd6, r0, r1, 0);
2916 TESTINST2("ssat r0, #8, r1, ASR #18", 0xc02a0c05, r0, r1, 0);
2917 TESTINST2("ssat r0, #8, r1, ASR #18", 0xee2fa46e, r0, r1, 0);
2918 TESTINST2("ssat r0, #8, r1, ASR #18", 0x97a7da20, r0, r1, 0);
2919 TESTINST2("ssat r0, #8, r1, ASR #18", 0xa231d5e6, r0, r1, 0);
2920 TESTINST2("ssat r0, #8, r1, ASR #18", 0x10e1968a, r0, r1, 0);
2921 TESTINST2("ssat r0, #8, r1, ASR #18", 0x0e089270, r0, r1, 0);
2922 TESTINST2("ssat r0, #8, r1, ASR #18", 0x9e8e0185, r0, r1, 0);
2923 TESTINST2("ssat r0, #8, r1, ASR #18", 0x3096f12e, r0, r1, 0);
2924 TESTINST2("ssat r0, #8, r1, ASR #18", 0xffc134df, r0, r1, 0);
2925 TESTINST2("ssat r0, #12, r1, ASR #16", 0x256bfdd6, r0, r1, 0);
2926 TESTINST2("ssat r0, #12, r1, ASR #16", 0xc02a0c05, r0, r1, 0);
2927 TESTINST2("ssat r0, #12, r1, ASR #16", 0xee2fa46e, r0, r1, 0);
2928 TESTINST2("ssat r0, #12, r1, ASR #16", 0x97a7da20, r0, r1, 0);
2929 TESTINST2("ssat r0, #12, r1, ASR #16", 0xa231d5e6, r0, r1, 0);
2930 TESTINST2("ssat r0, #12, r1, ASR #16", 0x10e1968a, r0, r1, 0);
2931 TESTINST2("ssat r0, #12, r1, ASR #16", 0x0e089270, r0, r1, 0);
2932 TESTINST2("ssat r0, #12, r1, ASR #16", 0x9e8e0185, r0, r1, 0);
2933 TESTINST2("ssat r0, #12, r1, ASR #16", 0x3096f12e, r0, r1, 0);
2934 TESTINST2("ssat r0, #12, r1, ASR #16", 0xffc134df, r0, r1, 0);
2935 TESTINST2("ssat r0, #16, r1, LSL #12", 0x256bfdd6, r0, r1, 0);
2936 TESTINST2("ssat r0, #16, r1, LSL #12", 0xc02a0c05, r0, r1, 0);
2937 TESTINST2("ssat r0, #16, r1, LSL #12", 0xee2fa46e, r0, r1, 0);
2938 TESTINST2("ssat r0, #16, r1, LSL #12", 0x97a7da20, r0, r1, 0);
2939 TESTINST2("ssat r0, #16, r1, LSL #12", 0xa231d5e6, r0, r1, 0);
2940 TESTINST2("ssat r0, #16, r1, LSL #12", 0x10e1968a, r0, r1, 0);
2941 TESTINST2("ssat r0, #16, r1, LSL #12", 0x0e089270, r0, r1, 0);
2942 TESTINST2("ssat r0, #16, r1, LSL #12", 0x9e8e0185, r0, r1, 0);
2943 TESTINST2("ssat r0, #16, r1, LSL #12", 0x3096f12e, r0, r1, 0);
2944 TESTINST2("ssat r0, #16, r1, LSL #12", 0xffc134df, r0, r1, 0);
2945 TESTINST2("ssat r0, #18, r1, LSL #8", 0x256bfdd6, r0, r1, 0);
2946 TESTINST2("ssat r0, #18, r1, LSL #8", 0xc02a0c05, r0, r1, 0);
2947 TESTINST2("ssat r0, #18, r1, LSL #8", 0xee2fa46e, r0, r1, 0);
2948 TESTINST2("ssat r0, #18, r1, LSL #8", 0x97a7da20, r0, r1, 0);
2949 TESTINST2("ssat r0, #18, r1, LSL #8", 0xa231d5e6, r0, r1, 0);
2950 TESTINST2("ssat r0, #18, r1, LSL #8", 0x10e1968a, r0, r1, 0);
2951 TESTINST2("ssat r0, #18, r1, LSL #8", 0x0e089270, r0, r1, 0);
2952 TESTINST2("ssat r0, #18, r1, LSL #8", 0x9e8e0185, r0, r1, 0);
2953 TESTINST2("ssat r0, #18, r1, LSL #8", 0x3096f12e, r0, r1, 0);
2954 TESTINST2("ssat r0, #18, r1, LSL #8", 0xffc134df, r0, r1, 0);
2955 TESTINST2("ssat r0, #24, r1, ASR #6", 0x256bfdd6, r0, r1, 0);
2956 TESTINST2("ssat r0, #24, r1, ASR #6", 0xc02a0c05, r0, r1, 0);
2957 TESTINST2("ssat r0, #24, r1, ASR #6", 0xee2fa46e, r0, r1, 0);
2958 TESTINST2("ssat r0, #24, r1, ASR #6", 0x97a7da20, r0, r1, 0);
2959 TESTINST2("ssat r0, #24, r1, ASR #6", 0xa231d5e6, r0, r1, 0);
2960 TESTINST2("ssat r0, #24, r1, ASR #6", 0x10e1968a, r0, r1, 0);
2961 TESTINST2("ssat r0, #24, r1, ASR #6", 0x0e089270, r0, r1, 0);
2962 TESTINST2("ssat r0, #24, r1, ASR #6", 0x9e8e0185, r0, r1, 0);
2963 TESTINST2("ssat r0, #24, r1, ASR #6", 0x3096f12e, r0, r1, 0);
2964 TESTINST2("ssat r0, #24, r1, ASR #6", 0xffc134df, r0, r1, 0);
2965 TESTINST2("ssat r0, #28, r1, ASR #3", 0x256bfdd6, r0, r1, 0);
2966 TESTINST2("ssat r0, #28, r1, ASR #3", 0xc02a0c05, r0, r1, 0);
2967 TESTINST2("ssat r0, #28, r1, ASR #3", 0xee2fa46e, r0, r1, 0);
2968 TESTINST2("ssat r0, #28, r1, ASR #3", 0x97a7da20, r0, r1, 0);
2969 TESTINST2("ssat r0, #28, r1, ASR #3", 0xa231d5e6, r0, r1, 0);
2970 TESTINST2("ssat r0, #28, r1, ASR #3", 0x10e1968a, r0, r1, 0);
2971 TESTINST2("ssat r0, #28, r1, ASR #3", 0x0e089270, r0, r1, 0);
2972 TESTINST2("ssat r0, #28, r1, ASR #3", 0x9e8e0185, r0, r1, 0);
2973 TESTINST2("ssat r0, #28, r1, ASR #3", 0x3096f12e, r0, r1, 0);
2974 TESTINST2("ssat r0, #28, r1, ASR #3", 0xffc134df, r0, r1, 0);
2975 TESTINST2("ssat r0, #31, r1, ASR #1", 0x256bfdd6, r0, r1, 0);
2976 TESTINST2("ssat r0, #31, r1, ASR #1", 0xc02a0c05, r0, r1, 0);
2977 TESTINST2("ssat r0, #31, r1, ASR #1", 0xee2fa46e, r0, r1, 0);
2978 TESTINST2("ssat r0, #31, r1, ASR #1", 0x97a7da20, r0, r1, 0);
2979 TESTINST2("ssat r0, #31, r1, ASR #1", 0xa231d5e6, r0, r1, 0);
2980 TESTINST2("ssat r0, #31, r1, ASR #1", 0x10e1968a, r0, r1, 0);
2981 TESTINST2("ssat r0, #31, r1, ASR #1", 0x0e089270, r0, r1, 0);
2982 TESTINST2("ssat r0, #31, r1, ASR #1", 0x9e8e0185, r0, r1, 0);
2983 TESTINST2("ssat r0, #31, r1, ASR #1", 0x3096f12e, r0, r1, 0);
2984 TESTINST2("ssat r0, #31, r1, ASR #1", 0xffc134df, r0, r1, 0);
2986 TESTINST2("ssat r0, #1, r1, ASR #32", 0x256bfdd6, r0, r1, 0);
2987 TESTINST2("ssat r0, #1, r1, ASR #32", 0xc02a0c05, r0, r1, 0);
2988 TESTINST2("ssat r0, #1, r1, ASR #32", 0xee2fa46e, r0, r1, 0);
2989 TESTINST2("ssat r0, #1, r1, ASR #32", 0x97a7da20, r0, r1, 0);
2990 TESTINST2("ssat r0, #1, r1, ASR #32", 0xa231d5e6, r0, r1, 0);
2991 TESTINST2("ssat r0, #1, r1, ASR #32", 0x10e1968a, r0, r1, 0);
2992 TESTINST2("ssat r0, #1, r1, ASR #32", 0x0e089270, r0, r1, 0);
2993 TESTINST2("ssat r0, #1, r1, ASR #32", 0x9e8e0185, r0, r1, 0);
2994 TESTINST2("ssat r0, #1, r1, ASR #32", 0x3096f12e, r0, r1, 0);
2995 TESTINST2("ssat r0, #1, r1, ASR #32", 0xffc134df, r0, r1, 0);
2996 TESTINST2("ssat r0, #32, r1, ASR #32", 0x256bfdd6, r0, r1, 0);
2997 TESTINST2("ssat r0, #32, r1, ASR #32", 0xc02a0c05, r0, r1, 0);
2998 TESTINST2("ssat r0, #32, r1, ASR #32", 0xee2fa46e, r0, r1, 0);
2999 TESTINST2("ssat r0, #32, r1, ASR #32", 0x97a7da20, r0, r1, 0);
3000 TESTINST2("ssat r0, #32, r1, ASR #32", 0xa231d5e6, r0, r1, 0);
3001 TESTINST2("ssat r0, #32, r1, ASR #32", 0x10e1968a, r0, r1, 0);
3002 TESTINST2("ssat r0, #32, r1, ASR #32", 0x0e089270, r0, r1, 0);
3003 TESTINST2("ssat r0, #32, r1, ASR #32", 0x9e8e0185, r0, r1, 0);
3004 TESTINST2("ssat r0, #32, r1, ASR #32", 0x3096f12e, r0, r1, 0);
3005 TESTINST2("ssat r0, #32, r1, ASR #32", 0xffc134df, r0, r1, 0);
4109 #define TESTINST2(instruction, RMval, RD, RM, carryin) \
4363 TESTINST2("clz r0, r1", 0, r0, r1, c);
4364 TESTINST2("clz r0, r1", 1, r0, r1, c);
4365 TESTINST2("clz r0, r1", 0x10, r0, r1, c);
4366 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, c);
4370 TESTINST2("uxtb r0, r1", 0, r0, r1, 0);
4371 TESTINST2("uxtb r0, r1", 1, r0, r1, 0);
4372 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0);
4373 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0);
4374 TESTINST2("sxtb r0, r1", 0, r0, r1, 0);
4375 TESTINST2("sxtb r0, r1", 1, r0, r1, 0);
4376 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0);
4377 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0);
4379 TESTINST2("uxth r0, r1", 0, r0, r1, 0);
4380 TESTINST2("uxth r0, r1", 1, r0, r1, 0);
4381 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0);
4382 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0);
4383 TESTINST2("sxth r0, r1", 0, r0, r1, 0);
4384 TESTINST2("sxth r0, r1", 1, r0, r1, 0);
4385 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0);
4386 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0);
4387 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0);
4388 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0);
4389 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0);
4391 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0);
4392 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0);
4393 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0);
4394 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0);
4395 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0);
4397 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0);
4398 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0);
4399 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0);
4400 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0);
4401 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0);
4405 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
4406 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
4407 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
4409 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0);
4410 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0);
4411 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0);
4413 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0);
4414 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0);
4416 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0);
4417 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0);
4418 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0);
4422 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0);
4423 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0);
4424 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0);
4426 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0);
4427 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0);
4428 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0);
4430 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0);
4431 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0);
4433 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0);
4434 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0);
4435 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0);
4439 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0);
4440 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0);
4441 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0);
4442 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0);
4443 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0);
4444 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0);
4446 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0);
4447 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0);
4448 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0);
4449 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0);
4450 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0);
4451 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0);
4453 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
4454 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
4455 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
4456 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
4457 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
4458 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
4462 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0);
4463 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0);
4464 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0);
4465 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0);
4466 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0);
4467 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0);
4469 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0);
4470 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0);
4471 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0);
4472 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0);
4473 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0);
4474 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0);
4476 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
4477 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
4478 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
4479 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
4480 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
4481 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
4969 TESTINST2("usat r0, #0, r1", 0x0123abcd, r0, r1, 0);
4970 TESTINST2("usat r0, #1, r1", 0x0123abcd, r0, r1, 0);
4971 TESTINST2("usat r0, #5, r1", 0x0123abcd, r0, r1, 0);
4972 TESTINST2("usat r0, #8, r1", 0x0123abcd, r0, r1, 0);
4973 TESTINST2("usat r0, #11, r1", 0x11110000, r0, r1, 0);
4974 TESTINST2("usat r0, #13, r1", 0x11110000, r0, r1, 0);
4975 TESTINST2("usat r0, #15, r1", 0x11110000, r0, r1, 0);
4976 TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0);
4977 TESTINST2("usat r0, #31, r1, lsl #0", 0x5f986e68, r0, r1, 0);
4978 TESTINST2("usat r0, #31, r1, lsl #0", 0xe7aa57b4, r0, r1, 0);
4979 TESTINST2("usat r0, #31, r1, lsl #0", 0x89d2ef86, r0, r1, 0);
4980 TESTINST2("usat r0, #31, r1, lsl #8", 0xc53aaba9, r0, r1, 0);
4981 TESTINST2("usat r0, #31, r1, lsl #8", 0x216158cb, r0, r1, 0);
4982 TESTINST2("usat r0, #31, r1, lsl #8", 0x3cd6cd94, r0, r1, 0);
4983 TESTINST2("usat r0, #0, r1, lsl #0", 0xf87b961e, r0, r1, 0);
4984 TESTINST2("usat r0, #0, r1, lsl #0", 0xc61b323b, r0, r1, 0);
4985 TESTINST2("usat r0, #0, r1, lsl #0", 0xa3268abe, r0, r1, 0);
4986 TESTINST2("usat r0, #0, r1, lsl #8", 0xbf73f0a5, r0, r1, 0);
4987 TESTINST2("usat r0, #0, r1, lsl #8", 0x925ef472, r0, r1, 0);
4988 TESTINST2("usat r0, #0, r1, lsl #8", 0x137741f4, r0, r1, 0);
4989 TESTINST2("usat r0, #24, r1, lsl #2", 0x50c28082, r0, r1, 0);
4990 TESTINST2("usat r0, #16, r1, lsl #3", 0x17962e8f, r0, r1, 0);
4991 TESTINST2("usat r0, #12, r1, lsl #4", 0xc57243b7, r0, r1, 0);
4992 TESTINST2("usat r0, #8, r1, lsl #8", 0xf20fb90f, r0, r1, 0);
4993 TESTINST2("usat r0, #4, r1, lsl #12", 0xbb151055, r0, r1, 0);
4994 TESTINST2("usat r0, #3, r1, lsl #16", 0x957440d2, r0, r1, 0);
4995 TESTINST2("usat r0, #2, r1, lsl #24", 0x728b7771, r0, r1, 0);
4996 TESTINST2("usat r0, #1, r1, lsl #31", 0xf13c20f3, r0, r1, 0);
4997 TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0);
4998 TESTINST2("usat r0, #31, r1, asr #0", 0x5f986e68, r0, r1, 0);
4999 TESTINST2("usat r0, #31, r1, asr #0", 0xe7aa57b4, r0, r1, 0);
5000 TESTINST2("usat r0, #31, r1, asr #0", 0x89d2ef86, r0, r1, 0);
5001 TESTINST2("usat r0, #31, r1, asr #8", 0xc53aaba9, r0, r1, 0);
5002 TESTINST2("usat r0, #31, r1, asr #8", 0x216158cb, r0, r1, 0);
5003 TESTINST2("usat r0, #31, r1, asr #8", 0x3cd6cd94, r0, r1, 0);
5004 TESTINST2("usat r0, #0, r1, asr #0", 0xf87b961e, r0, r1, 0);
5005 TESTINST2("usat r0, #0, r1, asr #0", 0xc61b323b, r0, r1, 0);
5006 TESTINST2("usat r0, #0, r1, asr #0", 0xa3268abe, r0, r1, 0);
5007 TESTINST2("usat r0, #0, r1, asr #8", 0xbf73f0a5, r0, r1, 0);
5008 TESTINST2("usat r0, #0, r1, asr #8", 0x925ef472, r0, r1, 0);
5009 TESTINST2("usat r0, #0, r1, asr #8", 0x137741f4, r0, r1, 0);
5010 TESTINST2("usat r0, #24, r1, asr #2", 0x50c28082, r0, r1, 0);
5011 TESTINST2("usat r0, #16, r1, asr #3", 0x17962e8f, r0, r1, 0);
5012 TESTINST2("usat r0, #12, r1, asr #4", 0xc57243b7, r0, r1, 0);
5013 TESTINST2("usat r0, #8, r1, asr #8", 0xf20fb90f, r0, r1, 0);
5014 TESTINST2("usat r0, #4, r1, asr #12", 0xbb151055, r0, r1, 0);
5015 TESTINST2("usat r0, #3, r1, asr #16", 0x957440d2, r0, r1, 0);
5016 TESTINST2("usat r0, #2, r1, asr #24", 0x728b7771, r0, r1, 0);
5017 TESTINST2("usat r0, #1, r1, asr #31", 0xf13c20f3, r0, r1, 0);
5018 TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0);
5019 TESTINST2("usat r0, #31, r1, asr #0", 0x5f986e68, r0, r1, 0);
5020 TESTINST2("usat r0, #31, r1, asr #0", 0xe7aa57b4, r0, r1, 0);
5021 TESTINST2("usat r0, #31, r1, asr #0", 0x89d2ef86, r0, r1, 0);
5022 TESTINST2("usat r0, #31, r1, asr #8", 0xc53aaba9, r0, r1, 0);
5023 TESTINST2("usat r0, #31, r1, asr #8", 0x216158cb, r0, r1, 0);
5024 TESTINST2("usat r0, #31, r1, asr #8", 0x3cd6cd94, r0, r1, 0);
5025 TESTINST2("usat r0, #0, r1, asr #0", 0xf87b961e, r0, r1, 0);
5026 TESTINST2("usat r0, #0, r1, asr #0", 0xc61b323b, r0, r1, 0);
5027 TESTINST2("usat r0, #0, r1, asr #0", 0xa3268abe, r0, r1, 0);
5028 TESTINST2("usat r0, #0, r1, asr #8", 0xbf73f0a5, r0, r1, 0);
5029 TESTINST2("usat r0, #0, r1, asr #8", 0x925ef472, r0, r1, 0);
5030 TESTINST2("usat r0, #0, r1, asr #8", 0x137741f4, r0, r1, 0);
5031 TESTINST2("usat r0, #24, r1, asr #2", 0x50c28082, r0, r1, 0);
5032 TESTINST2("usat r0, #16, r1, asr #3", 0x17962e8f, r0, r1, 0);
5033 TESTINST2("usat r0, #12, r1, asr #4", 0xc57243b7, r0, r1, 0);
5034 TESTINST2("usat r0, #8, r1, asr #8", 0xf20fb90f, r0, r1, 0);
5035 TESTINST2("usat r0, #4, r1, asr #12", 0xbb151055, r0, r1, 0);
5036 TESTINST2("usat r0, #3, r1, asr #16", 0x957440d2, r0, r1, 0);
5037 TESTINST2("usat r0, #2, r1, asr #24", 0x728b7771, r0, r1, 0);
5038 TESTINST2("usat r0, #1, r1, asr #31", 0xf13c20f3, r0, r1, 0);
5040 TESTINST2("usat r0, #0, r1, asr #32", 0xa9085781, r0, r1, 0);
5041 TESTINST2("usat r0, #31, r1, asr #32", 0x40b094e2, r0, r1, 0);
5042 TESTINST2("usat r0, #31, r1, asr #32", 0x17913309, r0, r1, 0);
5043 TESTINST2("usat r0, #31, r1, asr #32", 0x5388b5cd, r0, r1, 0);
5044 TESTINST2("usat r0, #24, r1, asr #32", 0x86582032, r0, r1, 0);
5045 TESTINST2("usat r0, #16, r1, asr #32", 0x5de41558, r0, r1, 0);
5046 TESTINST2("usat r0, #12, r1, asr #32", 0xccfa1c7e, r0, r1, 0);
5047 TESTINST2("usat r0, #8, r1, asr #32", 0x23ba1b46, r0, r1, 0);
5048 TESTINST2("usat r0, #4, r1, asr #32", 0x4437983c, r0, r1, 0);
5049 TESTINST2("usat r0, #3, r1, asr #32", 0x48d06549, r0, r1, 0);
5050 TESTINST2("usat r0, #2, r1, asr #32", 0xa9085781, r0, r1, 0);
5051 TESTINST2("usat r0, #1, r1, asr #32", 0xc6b4ac58, r0, r1, 0);
5055 TESTINST2("usat16 r0, #0, r1", 0x0123abcd, r0, r1, 0);
5056 TESTINST2("usat16 r0, #1, r1", 0xffcdabcd, r0, r1, 0);
5057 TESTINST2("usat16 r0, #5, r1", 0x0123feff, r0, r1, 0);
5058 TESTINST2("usat16 r0, #8, r1", 0x0123abcd, r0, r1, 0);
5059 TESTINST2("usat16 r0, #11, r1", 0x11110000, r0, r1, 0);
5060 TESTINST2("usat16 r0, #13, r1", 0x1111f111, r0, r1, 0);
5061 TESTINST2("usat16 r0, #15, r1", 0x00001111, r0, r1, 0);
5062 TESTINST2("usat16 r0, #0, r1", 0xebbff82b, r0, r1, 0);
5063 TESTINST2("usat16 r0, #1, r1", 0xebbff82b, r0, r1, 0);
5064 TESTINST2("usat16 r0, #3, r1", 0x50c28082, r0, r1, 0);
5065 TESTINST2("usat16 r0, #5, r1", 0x17962e8f, r0, r1, 0);
5066 TESTINST2("usat16 r0, #8, r1", 0xc57243b7, r0, r1, 0);
5067 TESTINST2("usat16 r0, #10, r1", 0xf20fb90f, r0, r1, 0);
5068 TESTINST2("usat16 r0, #11, r1", 0xbb151055, r0, r1, 0);
5069 TESTINST2("usat16 r0, #13, r1", 0x957440d2, r0, r1, 0);
5070 TESTINST2("usat16 r0, #14, r1", 0x728b7771, r0, r1, 0);
5071 TESTINST2("usat16 r0, #15, r1", 0xf13c20f3, r0, r1, 0);
5072 TESTINST2("usat16 r0, #0, r1", 0x86398371, r0, r1, 0);
5073 TESTINST2("usat16 r0, #1, r1", 0x03d0fb78, r0, r1, 0);
5074 TESTINST2("usat16 r0, #3, r1", 0xd0d49b7c, r0, r1, 0);
5075 TESTINST2("usat16 r0, #5, r1", 0x76354a58, r0, r1, 0);
5076 TESTINST2("usat16 r0, #8, r1", 0x9fa45fb7, r0, r1, 0);
5077 TESTINST2("usat16 r0, #10, r1", 0x7572bdec, r0, r1, 0);
5078 TESTINST2("usat16 r0, #11, r1", 0xfea59eb6, r0, r1, 0);
5079 TESTINST2("usat16 r0, #13, r1", 0xf2669090, r0, r1, 0);
5080 TESTINST2("usat16 r0, #14, r1", 0xbc1ff573, r0, r1, 0);
5081 TESTINST2("usat16 r0, #15, r1", 0x7eb226ac, r0, r1, 0);
5082 TESTINST2("usat16 r0, #0, r1", 0x22b65db1, r0, r1, 0);
5083 TESTINST2("usat16 r0, #1, r1", 0x776c41c7, r0, r1, 0);
5084 TESTINST2("usat16 r0, #3, r1", 0xe50dd77c, r0, r1, 0);
5085 TESTINST2("usat16 r0, #5, r1", 0xd6f9a698, r0, r1, 0);
5086 TESTINST2("usat16 r0, #8, r1", 0xeda5110c, r0, r1, 0);
5087 TESTINST2("usat16 r0, #10, r1", 0x0be36f70, r0, r1, 0);
5088 TESTINST2("usat16 r0, #11, r1", 0xd759eb72, r0, r1, 0);
5089 TESTINST2("usat16 r0, #13, r1", 0xd9c4b1f4, r0, r1, 0);
5090 TESTINST2("usat16 r0, #14, r1", 0xa29eb320, r0, r1, 0);
5091 TESTINST2("usat16 r0, #15, r1", 0xcf1e4487, r0, r1, 0);
5092 TESTINST2("usat16 r0, #0, r1", 0x2eb68500, r0, r1, 0);
5093 TESTINST2("usat16 r0, #1, r1", 0xcdb7ed11, r0, r1, 0);
5094 TESTINST2("usat16 r0, #3, r1", 0x2eaea305, r0, r1, 0);
5095 TESTINST2("usat16 r0, #5, r1", 0x6ebd04d9, r0, r1, 0);
5096 TESTINST2("usat16 r0, #8, r1", 0xa5ec1aa8, r0, r1, 0);
5097 TESTINST2("usat16 r0, #10, r1", 0x72f33509, r0, r1, 0);
5098 TESTINST2("usat16 r0, #11, r1", 0xa3e6f759, r0, r1, 0);
5099 TESTINST2("usat16 r0, #13, r1", 0xfaceab39, r0, r1, 0);
5100 TESTINST2("usat16 r0, #14, r1", 0x2738f0ff, r0, r1, 0);
5101 TESTINST2("usat16 r0, #15, r1", 0xe79fd570, r0, r1, 0);
5102 TESTINST2("usat16 r0, #0, r1", 0x55ea3e4e, r0, r1, 0);
5103 TESTINST2("usat16 r0, #1, r1", 0x2b62ba5a, r0, r1, 0);
5104 TESTINST2("usat16 r0, #3, r1", 0x9b41bfb1, r0, r1, 0);
5105 TESTINST2("usat16 r0, #5, r1", 0x557c7ba2, r0, r1, 0);
5106 TESTINST2("usat16 r0, #8, r1", 0x2973c051, r0, r1, 0);
5107 TESTINST2("usat16 r0, #10, r1", 0x6a228b19, r0, r1, 0);
5108 TESTINST2("usat16 r0, #11, r1", 0x0cdafabe, r0, r1, 0);
5109 TESTINST2("usat16 r0, #13, r1", 0x50865114, r0, r1, 0);
5110 TESTINST2("usat16 r0, #14, r1", 0xd83b849b, r0, r1, 0);
5111 TESTINST2("usat16 r0, #15, r1", 0xca5e5605, r0, r1, 0);
6634 TESTINST2("ssat r0, #1, r1, LSL #31", 0x80008000, r0, r1, 0);
6635 TESTINST2("ssat r0, #6, r1, LSL #24", 0x80008000, r0, r1, 0);
6636 TESTINST2("ssat r0, #8, r1, ASR #18", 0x80008000, r0, r1, 0);
6637 TESTINST2("ssat r0, #12, r1, ASR #16", 0x80008000, r0, r1, 0);
6638 TESTINST2("ssat r0, #16, r1, LSL #12", 0xffff0009, r0, r1, 0);
6639 TESTINST2("ssat r0, #18, r1, LSL #8", 0xffff0009, r0, r1, 0);
6640 TESTINST2("ssat r0, #24, r1, ASR #6", 0xffff0009, r0, r1, 0);
6641 TESTINST2("ssat r0, #31, r1, ASR #1", 0xffff0009, r0, r1, 0);
6642 TESTINST2("ssat r0, #1, r1", 0x256bfdd6, r0, r1, 0);
6643 TESTINST2("ssat r0, #1, r1", 0xc02a0c05, r0, r1, 0);
6644 TESTINST2("ssat r0, #1, r1", 0xee2fa46e, r0, r1, 0);
6645 TESTINST2("ssat r0, #1, r1", 0x97a7da20, r0, r1, 0);
6646 TESTINST2("ssat r0, #32, r1", 0xa231d5e6, r0, r1, 0);
6647 TESTINST2("ssat r0, #32, r1", 0x10e1968a, r0, r1, 0);
6648 TESTINST2("ssat r0, #32, r1", 0x0e089270, r0, r1, 0);
6649 TESTINST2("ssat r0, #32, r1", 0x9e8e0185, r0, r1, 0);
6650 TESTINST2("ssat r0, #32, r1", 0x3096f12e, r0, r1, 0);
6651 TESTINST2("ssat r0, #32, r1", 0xffc134df, r0, r1, 0);
6652 TESTINST2("ssat r0, #1, r1, LSL #31", 0x256bfdd6, r0, r1, 0);
6653 TESTINST2("ssat r0, #1, r1, LSL #31", 0xc02a0c05, r0, r1, 0);
6654 TESTINST2("ssat r0, #1, r1, LSL #31", 0xee2fa46e, r0, r1, 0);
6655 TESTINST2("ssat r0, #1, r1, LSL #31", 0x97a7da20, r0, r1, 0);
6656 TESTINST2("ssat r0, #1, r1, LSL #31", 0xa231d5e6, r0, r1, 0);
6657 TESTINST2("ssat r0, #1, r1, LSL #31", 0x10e1968a, r0, r1, 0);
6658 TESTINST2("ssat r0, #1, r1, LSL #31", 0x0e089270, r0, r1, 0);
6659 TESTINST2("ssat r0, #1, r1, LSL #31", 0x9e8e0185, r0, r1, 0);
6660 TESTINST2("ssat r0, #1, r1, LSL #31", 0x3096f12e, r0, r1, 0);
6661 TESTINST2("ssat r0, #1, r1, LSL #31", 0xffc134df, r0, r1, 0);
6662 TESTINST2("ssat r0, #3, r1, LSL #28", 0x256bfdd6, r0, r1, 0);
6663 TESTINST2("ssat r0, #3, r1, LSL #28", 0xc02a0c05, r0, r1, 0);
6664 TESTINST2("ssat r0, #3, r1, LSL #28", 0xee2fa46e, r0, r1, 0);
6665 TESTINST2("ssat r0, #3, r1, LSL #28", 0x97a7da20, r0, r1, 0);
6666 TESTINST2("ssat r0, #3, r1, LSL #28", 0xa231d5e6, r0, r1, 0);
6667 TESTINST2("ssat r0, #3, r1, LSL #28", 0x10e1968a, r0, r1, 0);
6668 TESTINST2("ssat r0, #3, r1, LSL #28", 0x0e089270, r0, r1, 0);
6669 TESTINST2("ssat r0, #3, r1, LSL #28", 0x9e8e0185, r0, r1, 0);
6670 TESTINST2("ssat r0, #3, r1, LSL #28", 0x3096f12e, r0, r1, 0);
6671 TESTINST2("ssat r0, #3, r1, LSL #28", 0xffc134df, r0, r1, 0);
6672 TESTINST2("ssat r0, #6, r1, LSL #24", 0x256bfdd6, r0, r1, 0);
6673 TESTINST2("ssat r0, #6, r1, LSL #24", 0xc02a0c05, r0, r1, 0);
6674 TESTINST2("ssat r0, #6, r1, LSL #24", 0xee2fa46e, r0, r1, 0);
6675 TESTINST2("ssat r0, #6, r1, LSL #24", 0x97a7da20, r0, r1, 0);
6676 TESTINST2("ssat r0, #6, r1, LSL #24", 0xa231d5e6, r0, r1, 0);
6677 TESTINST2("ssat r0, #6, r1, LSL #24", 0x10e1968a, r0, r1, 0);
6678 TESTINST2("ssat r0, #6, r1, LSL #24", 0x0e089270, r0, r1, 0);
6679 TESTINST2("ssat r0, #6, r1, LSL #24", 0x9e8e0185, r0, r1, 0);
6680 TESTINST2("ssat r0, #6, r1, LSL #24", 0x3096f12e, r0, r1, 0);
6681 TESTINST2("ssat r0, #6, r1, LSL #24", 0xffc134df, r0, r1, 0);
6682 TESTINST2("ssat r0, #8, r1, ASR #18", 0x256bfdd6, r0, r1, 0);
6683 TESTINST2("ssat r0, #8, r1, ASR #18", 0xc02a0c05, r0, r1, 0);
6684 TESTINST2("ssat r0, #8, r1, ASR #18", 0xee2fa46e, r0, r1, 0);
6685 TESTINST2("ssat r0, #8, r1, ASR #18", 0x97a7da20, r0, r1, 0);
6686 TESTINST2("ssat r0, #8, r1, ASR #18", 0xa231d5e6, r0, r1, 0);
6687 TESTINST2("ssat r0, #8, r1, ASR #18", 0x10e1968a, r0, r1, 0);
6688 TESTINST2("ssat r0, #8, r1, ASR #18", 0x0e089270, r0, r1, 0);
6689 TESTINST2("ssat r0, #8, r1, ASR #18", 0x9e8e0185, r0, r1, 0);
6690 TESTINST2("ssat r0, #8, r1, ASR #18", 0x3096f12e, r0, r1, 0);
6691 TESTINST2("ssat r0, #8, r1, ASR #18", 0xffc134df, r0, r1, 0);
6692 TESTINST2("ssat r0, #12, r1, ASR #16", 0x256bfdd6, r0, r1, 0);
6693 TESTINST2("ssat r0, #12, r1, ASR #16", 0xc02a0c05, r0, r1, 0);
6694 TESTINST2("ssat r0, #12, r1, ASR #16", 0xee2fa46e, r0, r1, 0);
6695 TESTINST2("ssat r0, #12, r1, ASR #16", 0x97a7da20, r0, r1, 0);
6696 TESTINST2("ssat r0, #12, r1, ASR #16", 0xa231d5e6, r0, r1, 0);
6697 TESTINST2("ssat r0, #12, r1, ASR #16", 0x10e1968a, r0, r1, 0);
6698 TESTINST2("ssat r0, #12, r1, ASR #16", 0x0e089270, r0, r1, 0);
6699 TESTINST2("ssat r0, #12, r1, ASR #16", 0x9e8e0185, r0, r1, 0);
6700 TESTINST2("ssat r0, #12, r1, ASR #16", 0x3096f12e, r0, r1, 0);
6701 TESTINST2("ssat r0, #12, r1, ASR #16", 0xffc134df, r0, r1, 0);
6702 TESTINST2("ssat r0, #16, r1, LSL #12", 0x256bfdd6, r0, r1, 0);
6703 TESTINST2("ssat r0, #16, r1, LSL #12", 0xc02a0c05, r0, r1, 0);
6704 TESTINST2("ssat r0, #16, r1, LSL #12", 0xee2fa46e, r0, r1, 0);
6705 TESTINST2("ssat r0, #16, r1, LSL #12", 0x97a7da20, r0, r1, 0);
6706 TESTINST2("ssat r0, #16, r1, LSL #12", 0xa231d5e6, r0, r1, 0);
6707 TESTINST2("ssat r0, #16, r1, LSL #12", 0x10e1968a, r0, r1, 0);
6708 TESTINST2("ssat r0, #16, r1, LSL #12", 0x0e089270, r0, r1, 0);
6709 TESTINST2("ssat r0, #16, r1, LSL #12", 0x9e8e0185, r0, r1, 0);
6710 TESTINST2("ssat r0, #16, r1, LSL #12", 0x3096f12e, r0, r1, 0);
6711 TESTINST2("ssat r0, #16, r1, LSL #12", 0xffc134df, r0, r1, 0);
6712 TESTINST2("ssat r0, #18, r1, LSL #8", 0x256bfdd6, r0, r1, 0);
6713 TESTINST2("ssat r0, #18, r1, LSL #8", 0xc02a0c05, r0, r1, 0);
6714 TESTINST2("ssat r0, #18, r1, LSL #8", 0xee2fa46e, r0, r1, 0);
6715 TESTINST2("ssat r0, #18, r1, LSL #8", 0x97a7da20, r0, r1, 0);
6716 TESTINST2("ssat r0, #18, r1, LSL #8", 0xa231d5e6, r0, r1, 0);
6717 TESTINST2("ssat r0, #18, r1, LSL #8", 0x10e1968a, r0, r1, 0);
6718 TESTINST2("ssat r0, #18, r1, LSL #8", 0x0e089270, r0, r1, 0);
6719 TESTINST2("ssat r0, #18, r1, LSL #8", 0x9e8e0185, r0, r1, 0);
6720 TESTINST2("ssat r0, #18, r1, LSL #8", 0x3096f12e, r0, r1, 0);
6721 TESTINST2("ssat r0, #18, r1, LSL #8", 0xffc134df, r0, r1, 0);
6722 TESTINST2("ssat r0, #24, r1, ASR #6", 0x256bfdd6, r0, r1, 0);
6723 TESTINST2("ssat r0, #24, r1, ASR #6", 0xc02a0c05, r0, r1, 0);
6724 TESTINST2("ssat r0, #24, r1, ASR #6", 0xee2fa46e, r0, r1, 0);
6725 TESTINST2("ssat r0, #24, r1, ASR #6", 0x97a7da20, r0, r1, 0);
6726 TESTINST2("ssat r0, #24, r1, ASR #6", 0xa231d5e6, r0, r1, 0);
6727 TESTINST2("ssat r0, #24, r1, ASR #6", 0x10e1968a, r0, r1, 0);
6728 TESTINST2("ssat r0, #24, r1, ASR #6", 0x0e089270, r0, r1, 0);
6729 TESTINST2("ssat r0, #24, r1, ASR #6", 0x9e8e0185, r0, r1, 0);
6730 TESTINST2("ssat r0, #24, r1, ASR #6", 0x3096f12e, r0, r1, 0);
6731 TESTINST2("ssat r0, #24, r1, ASR #6", 0xffc134df, r0, r1, 0);
6732 TESTINST2("ssat r0, #28, r1, ASR #3", 0x256bfdd6, r0, r1, 0);
6733 TESTINST2("ssat r0, #28, r1, ASR #3", 0xc02a0c05, r0, r1, 0);
6734 TESTINST2("ssat r0, #28, r1, ASR #3", 0xee2fa46e, r0, r1, 0);
6735 TESTINST2("ssat r0, #28, r1, ASR #3", 0x97a7da20, r0, r1, 0);
6736 TESTINST2("ssat r0, #28, r1, ASR #3", 0xa231d5e6, r0, r1, 0);
6737 TESTINST2("ssat r0, #28, r1, ASR #3", 0x10e1968a, r0, r1, 0);
6738 TESTINST2("ssat r0, #28, r1, ASR #3", 0x0e089270, r0, r1, 0);
6739 TESTINST2("ssat r0, #28, r1, ASR #3", 0x9e8e0185, r0, r1, 0);
6740 TESTINST2("ssat r0, #28, r1, ASR #3", 0x3096f12e, r0, r1, 0);
6741 TESTINST2("ssat r0, #28, r1, ASR #3", 0xffc134df, r0, r1, 0);
6742 TESTINST2("ssat r0, #31, r1, ASR #1", 0x256bfdd6, r0, r1, 0);
6743 TESTINST2("ssat r0, #31, r1, ASR #1", 0xc02a0c05, r0, r1, 0);
6744 TESTINST2("ssat r0, #31, r1, ASR #1", 0xee2fa46e, r0, r1, 0);
6745 TESTINST2("ssat r0, #31, r1, ASR #1", 0x97a7da20, r0, r1, 0);
6746 TESTINST2("ssat r0, #31, r1, ASR #1", 0xa231d5e6, r0, r1, 0);
6747 TESTINST2("ssat r0, #31, r1, ASR #1", 0x10e1968a, r0, r1, 0);
6748 TESTINST2("ssat r0, #31, r1, ASR #1", 0x0e089270, r0, r1, 0);
6749 TESTINST2("ssat r0, #31, r1, ASR #1", 0x9e8e0185, r0, r1, 0);
6750 TESTINST2("ssat r0, #31, r1, ASR #1", 0x3096f12e, r0, r1, 0);
6751 TESTINST2("ssat r0, #31, r1, ASR #1", 0xffc134df, r0, r1, 0);
6753 TESTINST2("ssat r0, #1, r1, ASR #32", 0x256bfdd6, r0, r1, 0);
6754 TESTINST2("ssat r0, #1, r1, ASR #32", 0xc02a0c05, r0, r1, 0);
6755 TESTINST2("ssat r0, #1, r1, ASR #32", 0xee2fa46e, r0, r1, 0);
6756 TESTINST2("ssat r0, #1, r1, ASR #32", 0x97a7da20, r0, r1, 0);
6757 TESTINST2("ssat r0, #1, r1, ASR #32", 0xa231d5e6, r0, r1, 0);
6758 TESTINST2("ssat r0, #1, r1, ASR #32", 0x10e1968a, r0, r1, 0);
6759 TESTINST2("ssat r0, #1, r1, ASR #32", 0x0e089270, r0, r1, 0);
6760 TESTINST2("ssat r0, #1, r1, ASR #32", 0x9e8e0185, r0, r1, 0);
6761 TESTINST2("ssat r0, #1, r1, ASR #32", 0x3096f12e, r0, r1, 0);
6762 TESTINST2("ssat r0, #1, r1, ASR #32", 0xffc134df, r0, r1, 0);
6763 TESTINST2("ssat r0, #32, r1, ASR #32", 0x256bfdd6, r0, r1, 0);
6764 TESTINST2("ssat r0, #32, r1, ASR #32", 0xc02a0c05, r0, r1, 0);
6765 TESTINST2("ssat r0, #32, r1, ASR #32", 0xee2fa46e, r0, r1, 0);
6766 TESTINST2("ssat r0, #32, r1, ASR #32", 0x97a7da20, r0, r1, 0);
6767 TESTINST2("ssat r0, #32, r1, ASR #32", 0xa231d5e6, r0, r1, 0);
6768 TESTINST2("ssat r0, #32, r1, ASR #32", 0x10e1968a, r0, r1, 0);
6769 TESTINST2("ssat r0, #32, r1, ASR #32", 0x0e089270, r0, r1, 0);
6770 TESTINST2("ssat r0, #32, r1, ASR #32", 0x9e8e0185, r0, r1, 0);
6771 TESTINST2("ssat r0, #32, r1, ASR #32", 0x3096f12e, r0, r1, 0);
6772 TESTINST2("ssat r0, #32, r1, ASR #32", 0xffc134df, r0, r1, 0);