TESTINST2("bic.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
TESTCARRYEND
+ printf("(T3) ORN{S}.W Rd, Rn, #constT [allegedly]\n");
+ TESTCARRY
+ TESTINST2("orns.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #255 ", 0, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0 ", 1, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #1 ", 0, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0 ", -1, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #-1 ", 0, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0x80000000", 0, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0 ", 0x80000000, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
+ TESTINST2("orns.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0xffffffff", 0x31415927, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0xee00ee00", 0x31415927, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #255 ", 0, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0 ", 1, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #1 ", 0, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0 ", -1, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #-1 ", 0, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0x80000000", 0, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0 ", 0x80000000, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0x80000000", 0x80000000, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0x80000000", 0x7fffffff, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0xff000000", 0x80000000, r1, r2, cv);
+ TESTINST2("orn.w r1, r2, #0x0dd00000", 0x7fffffff, r1, r2, cv);
+ TESTCARRYEND
+
printf("ADD{S}.W Rd, Rn, Rm, {shift}\n");
TESTCARRY
TESTINST3("adds.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
TESTINST3("bic.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
TESTCARRYEND
+ printf("ORN{S}.W Rd, Rn, Rm, {shift}\n");
+ TESTCARRY
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x27181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x31415927, 0x97181728, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0, 1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", -1, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0, -1, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x80000000, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x80000000, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orns.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsl #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, lsr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #0 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #1 ", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #15", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTINST3("orn.w r1, r2, r3, asr #31", 0x7fffffff, 0x7fffffff, r1, r2, r3, cv);
+ TESTCARRYEND
+
printf("(T?) LSL{S}.W Rd, Rn, Rm\n");
TESTCARRY
TESTINST3("lsls.w r1, r2, r3", 0x31415927, 0x00000000, r1, r2, r3, cv);
TESTINST1("mvn.w r9, 0x00000043", r9, cv);
TESTCARRYEND
+ printf("(T1) RBIT Rd, Rm\n");
+ TESTINST2("rbit r0, r1", 0x00000000, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xFFFFFFFF, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x80000000, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x00000001, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x31415927, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x14141562, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xabe8391f, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x9028aa80, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xead1fc6d, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x35c98c55, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x534af1eb, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x45511b08, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x90077f71, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xde8ca84b, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xe37a0dda, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xe5b83d4b, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0xbb6d14ec, r0, r1, 0);
+ TESTINST2("rbit r0, r1", 0x68983cc9, r0, r1, 0);
+
+ printf("(T1) REV Rd, Rm ------------\n");
+ TESTINST2("rev r0, r1", 0x00000000, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xFFFFFFFF, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x80000000, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x00000001, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x31415927, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x14141562, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xabe8391f, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x9028aa80, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xead1fc6d, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x35c98c55, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x534af1eb, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x45511b08, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x90077f71, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xde8ca84b, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xe37a0dda, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xe5b83d4b, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0xbb6d14ec, r0, r1, 0);
+ TESTINST2("rev r0, r1", 0x68983cc9, r0, r1, 0);
+
+ printf("(T2) REV Rd, Rm ------------\n");
+ TESTINST2("rev r8, r9", 0x00000000, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xFFFFFFFF, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x80000000, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x00000001, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x31415927, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x14141562, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xabe8391f, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x9028aa80, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xead1fc6d, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x35c98c55, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x534af1eb, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x45511b08, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x90077f71, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xde8ca84b, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xe37a0dda, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xe5b83d4b, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0xbb6d14ec, r8, r9, 0);
+ TESTINST2("rev r8, r9", 0x68983cc9, r8, r9, 0);
+
+ printf("(T1) REV16 Rd, Rm ------------\n");
+ TESTINST2("rev16 r0, r1", 0x00000000, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xFFFFFFFF, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x80000000, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x00000001, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x31415927, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x14141562, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xabe8391f, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x9028aa80, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xead1fc6d, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x35c98c55, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x534af1eb, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x45511b08, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x90077f71, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xde8ca84b, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xe37a0dda, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xe5b83d4b, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0xbb6d14ec, r0, r1, 0);
+ TESTINST2("rev16 r0, r1", 0x68983cc9, r0, r1, 0);
+
+ printf("(T2) REV16 Rd, Rm ------------\n");
+ TESTINST2("rev16 r8, r9", 0x00000000, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xFFFFFFFF, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x80000000, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x00000001, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x31415927, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x14141562, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xabe8391f, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x9028aa80, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xead1fc6d, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x35c98c55, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x534af1eb, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x45511b08, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x90077f71, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xde8ca84b, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xe37a0dda, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xe5b83d4b, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0xbb6d14ec, r8, r9, 0);
+ TESTINST2("rev16 r8, r9", 0x68983cc9, r8, r9, 0);
+
+ printf("------------ NOP (begin) ------------\n");
+ printf("nop\n");
+ __asm__ __volatile__("nop" ::: "memory","cc");
+ printf("nop.w\n");
+ __asm__ __volatile__("nop.w" ::: "memory","cc");
+ printf("------------ NOP (end) ------------\n");
+
// plus whatever stuff we can throw in from the old ARM test program
old_main();