1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* How to compile:
3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   gcc -g -Wall -mcpu=cortex-a8 -o v6mediaA -marm none/tests/arm/v6media.c
4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   or
5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown   gcc -g -Wall -mcpu=cortex-a8 -o v6mediaT -mthumb none/tests/arm/v6media.c
6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown*/
7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h>
9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownstatic int gen_cin(cin)
11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  int r = ((cin & 1) ? (1<<29) : 0);
13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  //r |= (1 << 31) | (1 << 30);
14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  return r;
15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* test macros to generate and output the result of a single instruction */
18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST2(instruction, RMval, RD, RM, carryin) \
19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int out;   \
21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int cpsr;  \
22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  __asm__ volatile(   \
24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "msr  cpsr_fs, %3;"  \
25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RM ",%2;"         \
26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                /* set #RD to 0x55555555 so we can see which parts get overwritten */ \
27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "mov " #RD ", #0x55" "\n\t" \
28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "orr " #RD "," #RD "," #RD ", LSL #8" "\n\t"  \
29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                "orr " #RD "," #RD "," #RD ", LSL #16" "\n\t" \
30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction ";"    \
31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov %0," #RD ";"  \
32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mrs %1,cpsr;"     \
33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "=&r" (out), "=&r" (cpsr)  \
34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "r" (RMval), "r" (gen_cin(carryin))       \
35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : #RD, #RM, "cc", "memory"   \
36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("%s :: rd 0x%08x rm 0x%08x, carryin %d, cpsr 0x%08x %c%c%c%c%c ge[3:0]=%d%d%d%d\n", \
38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction, out, RMval,      \
39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    carryin ? 1 : 0,     \
40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    cpsr & 0xffff0000,            \
41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<31) & cpsr) ? 'N' : ' ', \
42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<30) & cpsr) ? 'Z' : ' ', \
43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<29) & cpsr) ? 'C' : ' ', \
44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<28) & cpsr) ? 'V' : ' ', \
45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<27) & cpsr) ? 'Q' : ' ', \
46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \
47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST3(instruction, RMval, RNval, RD, RM, RN, carryin) \
51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int out;  \
53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int cpsr; \
54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  __asm__ volatile(  \
56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "msr  cpsr_fs, %4;"  \
57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RM ",%2;"  \
58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RN ",%3;"  \
59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction ";"    \
60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov %0," #RD ";"  \
61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mrs %1,cpsr;"     \
62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "=&r" (out), "=&r" (cpsr)               \
63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "r" (RMval), "r" (RNval), "r" (gen_cin(carryin))   \
64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : #RD, #RM, #RN, "cc", "memory"           \
65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x, carryin %d, cpsr 0x%08x %c%c%c%c%c ge[3:0]=%d%d%d%d\n", \
67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction, out, RMval, RNval, \
68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    carryin ? 1 : 0,  \
69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    cpsr & 0xffff0000, \
70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<31) & cpsr) ? 'N' : ' ', \
71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<30) & cpsr) ? 'Z' : ' ', \
72ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<29) & cpsr) ? 'C' : ' ', \
73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<28) & cpsr) ? 'V' : ' ', \
74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<27) & cpsr) ? 'Q' : ' ', \
75ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \
76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST4(instruction, RMval, RNval, RSval, RD, RM, RN, RS, carryin) \
80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int out;  \
82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int cpsr; \
83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  __asm__ volatile( \
85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "msr  cpsr_fs, %5;"  \
86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RM ",%2;"  \
87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RN ",%3;"  \
88ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RS ",%4;"  \
89ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction ";"    \
90ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov %0," #RD ";"  \
91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mrs %1,cpsr;"     \
92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "=&r" (out), "=&r" (cpsr) \
93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "r" (RMval), "r" (RNval), "r" (RSval), "r" (gen_cin(carryin))  \
94ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : #RD, #RM, #RN, #RS, "cc", "memory" \
95ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
96ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("%s :: rd 0x%08x rm 0x%08x, rn 0x%08x rs 0x%08x, carryin %d, cpsr 0x%08x %c%c%c%c%c ge[3:0]=%d%d%d%d\n", \
97ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction, out, RMval, RNval, RSval, \
98ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    carryin ? 1 : 0,   \
99ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    cpsr & 0xffff0000, \
100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<31) & cpsr) ? 'N' : ' ', \
101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<30) & cpsr) ? 'Z' : ' ', \
102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<29) & cpsr) ? 'C' : ' ', \
103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<28) & cpsr) ? 'V' : ' ', \
104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<27) & cpsr) ? 'Q' : ' ', \
105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \
106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTINST4_2OUT(instruction, RDval, RD2val, RMval, RSval, RD, RD2, RM, RS, carryin) \
110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ \
111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int out;  \
112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int out2; \
113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  unsigned int cpsr; \
114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown\
115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  __asm__ volatile(  \
116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "msr  cpsr_fs, %7;"  \
117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RD ",%3;"  \
118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RD2 ",%4;" \
119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RM ",%5;"  \
120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov " #RS ",%6;"  \
121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction ";"    \
122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov %0," #RD ";"  \
123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mov %1," #RD2 ";" \
124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    "mrs %2,cpsr;"     \
125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "=&r" (out), "=&r" (out2), "=&r" (cpsr)  \
126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : "r" (RDval), "r" (RD2val), "r" (RMval), "r" (RSval), "r" (gen_cin(carryin)) \
127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    : #RD, #RD2, #RM, #RS, "cc", "memory"      \
128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("%s :: rd 0x%08x rd2 0x%08x, rm 0x%08x rs 0x%08x, carryin %d, cpsr 0x%08x %c%c%c%c%c ge[3:0]=%d%d%d%d\n", \
130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    instruction, out, out2, RMval, RSval, \
131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    carryin ? 1 : 0,   \
132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    cpsr & 0xffff0000, \
133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<31) & cpsr) ? 'N' : ' ', \
134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<30) & cpsr) ? 'Z' : ' ', \
135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<29) & cpsr) ? 'C' : ' ', \
136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<28) & cpsr) ? 'V' : ' ', \
137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    ((1<<27) & cpsr) ? 'Q' : ' ', \
138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown    (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \
139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  ); \
140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown}
141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* helpers */
143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTCARRY { int c = 0; for (c = 0; c < 2; c++) {
144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define TESTCARRYEND }}
145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main(int argc, char **argv)
150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{
151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("MUL\n");
152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("mul  r0, r1, r2", 0,          0,          r0, r1, r2, 0);
153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("mul  r0, r1, r2", 0xffffffff, 0,          r0, r1, r2, 0);
154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("mul  r0, r1, r2", 0,          0xffffffff, r0, r1, r2, 0);
155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("mul  r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("mul  r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("mul  r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("MULS\n");
161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0);
162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("MLA\n");
170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mla  r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mla  r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mla  r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mla  r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mla  r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mla  r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("MLAS\n");
179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mlas r0, r1, r2, r3", 0,          0,          1, r0, r1, r2, r3, 0);
180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0,          1, r0, r1, r2, r3, 0);
181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mlas r0, r1, r2, r3", 0,          0xffffffff, 1, r0, r1, r2, r3, 0);
182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("MLS\n");
188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mls  r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0);
189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mls  r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0);
190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mls  r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0);
191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mls  r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0);
192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mls  r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0);
193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("mls  r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0);
194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("UMULL\n");
196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umull  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("SMULL\n");
211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smull  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("UMLAL\n");
227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("SMLAL\n");
249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0
259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("CLZ\n");
271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTCARRY
272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("clz  r0, r1", 0, r0, r1, c);
273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("clz  r0, r1", 1, r0, r1, c);
274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("clz  r0, r1", 0x10, r0, r1, c);
275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("clz  r0, r1", 0xffffffff, r0, r1, c);
276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTCARRYEND
277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("extend instructions\n");
279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1", 0, r0, r1, 0);
280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1", 1, r0, r1, 0);
281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0);
282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0);
283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb r0, r1", 0, r0, r1, 0);
284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb r0, r1", 1, r0, r1, 0);
285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0);
286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0);
287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxth r0, r1", 0, r0, r1, 0);
289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxth r0, r1", 1, r0, r1, 0);
290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0);
291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0);
292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 0, r0, r1, 0);
293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 1, r0, r1, 0);
294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0);
295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0);
296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0);
297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0);
298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0);
299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0);
301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0);
302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0);
303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0);
304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0);
305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0);
307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0);
308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0);
309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0);
310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0);
311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ BFI ------------\n");
313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* bfi  rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */
314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0);
319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0);
320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0);
321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0);
323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0);
324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0);
326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0);
327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfi  r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0);
328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ BFC ------------\n");
330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* bfi  rDst, #lsb-in-dst, #number-of-bits-to-copy */
331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #0, #11", 0xAAAAAAAA, r0, r1, 0);
332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #1, #11", 0xAAAAAAAA, r0, r1, 0);
333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #2, #11", 0xAAAAAAAA, r0, r1, 0);
334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #19, #11", 0xFFFFFFFF, r0, r1, 0);
336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #20, #11", 0xFFFFFFFF, r0, r1, 0);
337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #21, #11", 0xFFFFFFFF, r0, r1, 0);
338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #0, #32", 0xFFFFFFFF, r0, r1, 0);
340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #1, #31", 0xFFFFFFFF, r0, r1, 0);
341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #29, #3", 0xFFFFFFFF, r0, r1, 0);
343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #30, #2", 0xFFFFFFFF, r0, r1, 0);
344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("bfc  r0, #31, #1", 0xFFFFFFFF, r0, r1, 0);
345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SBFX ------------\n");
347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* sbfx rDst, rSrc, #lsb, #width */
348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #0, #1", 0x00000000, r0, r1, 0);
349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #0, #1", 0x00000001, r0, r1, 0);
350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #1", 0x00000000, r0, r1, 0);
351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #1", 0x00000001, r0, r1, 0);
352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #1", 0x00000002, r0, r1, 0);
353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #1", 0x00000003, r0, r1, 0);
354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #0, #2", 0x00000000, r0, r1, 0);
356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #0, #2", 0x00000001, r0, r1, 0);
357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #2", 0x00000000, r0, r1, 0);
358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #2", 0x00000001, r0, r1, 0);
359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #2", 0x00000002, r0, r1, 0);
360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #2", 0x00000003, r0, r1, 0);
361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("sbfx  r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ UBFX ------------\n");
370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* ubfx rDst, rSrc, #lsb, #width */
371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #0, #1", 0x00000000, r0, r1, 0);
372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #0, #1", 0x00000001, r0, r1, 0);
373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #1", 0x00000000, r0, r1, 0);
374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #1", 0x00000001, r0, r1, 0);
375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #1", 0x00000002, r0, r1, 0);
376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #1", 0x00000003, r0, r1, 0);
377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #0, #2", 0x00000000, r0, r1, 0);
379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #0, #2", 0x00000001, r0, r1, 0);
380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #2", 0x00000000, r0, r1, 0);
381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #2", 0x00000001, r0, r1, 0);
382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #2", 0x00000002, r0, r1, 0);
383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #2", 0x00000003, r0, r1, 0);
384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0);
386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0);
387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0);
389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0);
390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ubfx  r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0);
391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SMUL{B,T}{B,T} ------------\n");
393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* SMULbb rD, rN, rM */
394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000,  r0, r1, r2, 0);
395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002,  r0, r1, r2, 0);
396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff,  r0, r1, r2, 0);
397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff,  r0, r1, r2, 0);
398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff,  r0, r1, r2, 0);
399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0);
400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0);
401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0);
402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0);
403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0);
404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0);
405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0);
406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0);
407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0);
408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0);
409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0);
410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0);
411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0);
412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0);
413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0);
414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0);
415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0);
416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0);
417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0);
418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0);
419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0);
420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0);
421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0);
422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0);
423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0);
424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0);
425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0);
426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0);
427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0);
428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0);
429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0);
430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0);
431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0);
432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0);
433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0);
434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0);
435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0);
436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0);
437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0);
438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0);
439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0);
440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0);
441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0);
442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0);
443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0);
444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0);
445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0);
446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0);
447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0);
448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbb r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0);
449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* SMULtt rD, rN, rM */
450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultt r0, r1, r2", 0x00000003, 0x00000004,  r0, r1, r2, 0);
451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultt r0, r1, r2", 0x00010003, 0x00020004,  r0, r1, r2, 0);
452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultt r0, r1, r2", 0x80010003, 0x7fff0004,  r0, r1, r2, 0);
453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultt r0, r1, r2", 0x7fff0003, 0x7fff0004,  r0, r1, r2, 0);
454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultt r0, r1, r2", 0xffff0003, 0xffff0004,  r0, r1, r2, 0);
455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0);
456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0);
457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0);
458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0);
459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0);
460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0);
461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0);
462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0);
463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0);
464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0);
465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0);
466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0);
467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0);
468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0);
469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0);
470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0);
471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0);
472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0);
473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0);
474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0);
475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0);
476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0);
477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0);
478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0);
479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0);
480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0);
481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0);
482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0);
483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0);
484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0);
485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0);
486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0);
487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0);
488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0);
489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0);
490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0);
491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0);
492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0);
493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0);
494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0);
495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0);
496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0);
497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0);
498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0);
499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0);
500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0);
501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0);
502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0);
503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0);
504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultt r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0);
505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* SMULtb rD, rN, rM */
506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultb r0, r1, r2", 0x00000003, 0x00040000,  r0, r1, r2, 0);
507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultb r0, r1, r2", 0x00010003, 0x00040002,  r0, r1, r2, 0);
508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultb r0, r1, r2", 0x80010003, 0x00047fff,  r0, r1, r2, 0);
509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultb r0, r1, r2", 0x7fff0003, 0x00047fff,  r0, r1, r2, 0);
510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smultb r0, r1, r2", 0xffff0003, 0x0004ffff,  r0, r1, r2, 0);
511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0);
512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0);
513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0);
514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0);
515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0);
516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0);
517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0);
518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0);
519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0);
520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0);
521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0);
522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0);
523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0);
524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0);
525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0);
526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0);
527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0);
528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0);
529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0);
530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0);
531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0);
532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0);
533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0);
534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0);
535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0);
536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0);
537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0);
538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0);
539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0);
540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0);
541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0);
542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0);
543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0);
544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0);
545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0);
546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0);
547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0);
548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0);
549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0);
550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0);
551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0);
552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0);
553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0);
554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0);
555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0);
556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0);
557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0);
558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0);
559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0);
560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smultb r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0);
561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* SMULbt rD, rN, rM */
562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbt r0, r1, r2", 0x00030000, 0x00000004,  r0, r1, r2, 0);
563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbt r0, r1, r2", 0x00030001, 0x00020004,  r0, r1, r2, 0);
564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbt r0, r1, r2", 0x00038001, 0x7fff0004,  r0, r1, r2, 0);
565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbt r0, r1, r2", 0x00037fff, 0x7fff0004,  r0, r1, r2, 0);
566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulbt r0, r1, r2", 0x0003ffff, 0xffff0004,  r0, r1, r2, 0);
567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0);
568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0);
569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0);
570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0);
571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0);
572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0);
573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0);
574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0);
575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0);
576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0);
577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0);
578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0);
579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0);
580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0);
581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0);
582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0);
583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0);
584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0);
585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0);
586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0);
587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0);
588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0);
589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0);
590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0);
591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0);
592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0);
593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0);
594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0);
595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0);
596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0);
597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0);
598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0);
599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0);
600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0);
601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0);
602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0);
603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0);
604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0);
605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0);
606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0);
607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0);
608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0);
609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0);
610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0);
611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0);
612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0);
613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0);
614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0);
615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0);
616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulbt r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0);
617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("-------------- SMULW{B,T} --------------\n");
619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* SMULWB rD, rN, rM : Rn x Rm[31..16] */
620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwb r0, r1, r2", 0x00000003, 0x00020004, r0, r1, r2, 0);
621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwb r0, r1, r2", 0x00010003, 0x47ff0004, r0, r1, r2, 0);
622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwb r0, r1, r2", 0x80010003, 0x7fff0004, r0, r1, r2, 0);
623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwb r0, r1, r2", 0x7fff0003, 0x7fff0004, r0, r1, r2, 0);
624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwb r0, r1, r2", 0xffff0003, 0xffff0004, r0, r1, r2, 0);
625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0);
626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0);
627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0);
628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0);
629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0);
630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0);
631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0);
632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0);
633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0);
634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0);
635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0);
636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0);
637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0);
638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0);
639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0);
640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0);
641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0);
642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0);
643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0);
644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0);
645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0);
646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0);
647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0);
648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0);
649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0);
650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0);
651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0);
652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0);
653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0);
654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0);
655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0);
656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0);
657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0);
658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0);
659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0);
660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0);
661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0);
662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0);
663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0);
664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0);
665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0);
666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0);
667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0);
668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0);
669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0);
670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0);
671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0);
672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0);
673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0);
674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwb r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0);
675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* SMULWT rD, rN, rM - Rn x Rm[15.. 0] */
676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwt r0, r1, r2", 0x00000003, 0x00040000, r0, r1, r2, 0);
677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwt r0, r1, r2", 0x00010003, 0x00040002, r0, r1, r2, 0);
678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwt r0, r1, r2", 0x80010003, 0x00047fff, r0, r1, r2, 0);
679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwt r0, r1, r2", 0x7fff0003, 0x00047fff, r0, r1, r2, 0);
680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smulwt r0, r1, r2", 0xffff0003, 0x0004ffff, r0, r1, r2, 0);
681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0);
682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0);
683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0);
684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0);
685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0);
686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0);
687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0);
688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0);
689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0);
690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0);
691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0);
692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0);
693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0);
694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0);
695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0);
696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0);
697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0);
698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0);
699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0);
700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0);
701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0);
702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0);
703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0);
704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0);
705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0);
706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0);
707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0);
708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0);
709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0);
710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0);
711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0);
712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0);
713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0);
714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0);
715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0);
716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0);
717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0);
718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0);
719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0);
720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0);
721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0);
722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0);
723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0);
724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0);
725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0);
726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0);
727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0);
728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0);
729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0);
730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smulwt r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0);
731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ PKHBT / PKHTB ------------\n");
733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* PKHBT */
734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #0",  0x11223344, 0x55667788, r0,r1,r2, 0);
735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #1",  0x11223344, 0x55667788, r0,r1,r2, 0);
736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #2",  0x11223344, 0x55667788, r0,r1,r2, 0);
737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #3",  0x11223344, 0x55667788, r0,r1,r2, 0);
738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #4",  0x11223344, 0x55667788, r0,r1,r2, 0);
739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x11223344, 0x55667788, r0,r1,r2, 0);
740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #22", 0x11223344, 0x55667788, r0,r1,r2, 0);
741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhbt r0, r1, r2, lsl #31", 0x11223344, 0x55667788, r0,r1,r2, 0);
742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0x50c28082, 0xc1553709, r0,r1,r2, 0);
743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0x17962e8f, 0x69ec0212, r0,r1,r2, 0);
744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0xc57243b7, 0x03fa9bb5, r0,r1,r2, 0);
745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0x7eb226ac, 0xf52e9fbf, r0,r1,r2, 0);
746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0xbce0f026, 0x7fcbe5a9, r0,r1,r2, 0);
747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0xa5757252, 0x2dd01366, r0,r1,r2, 0);
748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0xf4a477c1, 0x5e4b1cbf, r0,r1,r2, 0);
749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0x76723a21, 0x464a21cc, r0,r1,r2, 0);
750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0x74d01105, 0xe8108f1b, r0,r1,r2, 0);
751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2", 0xc1273e2c, 0xcd90d604, r0,r1,r2, 0);
752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #0",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #1",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #2",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #3",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #4",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #8",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #12", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #16", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #24", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #31", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #0",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #1",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #2",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #3",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #4",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #8",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #12", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #16", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #24", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #31", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #0",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #1",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #2",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #3",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #4",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #8",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #12", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #16", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #24", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #31", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #0",  0xd5dc5407, 0xf87b961e, r0,r1,r2, 0);
783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #1",  0xd65db979, 0xc61b323b, r0,r1,r2, 0);
784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #2",  0xa3268abe, 0xed2cbf78, r0,r1,r2, 0);
785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #3",  0xbf73f0a5, 0x2fb714c9, r0,r1,r2, 0);
786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #4",  0x281703ed, 0x925ef472, r0,r1,r2, 0);
787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #8",  0xeaa652c7, 0x137741f4, r0,r1,r2, 0);
788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #12", 0x71fbde8b, 0xdba5bd25, r0,r1,r2, 0);
789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #16", 0x884c0ad8, 0xc00b821a, r0,r1,r2, 0);
790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #24", 0xe1bb8606, 0x58293969, r0,r1,r2, 0);
791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #31", 0xa3cfd624, 0x6077fb1f, r0,r1,r2, 0);
792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #0",  0x40b094e2, 0x17913309, r0,r1,r2, 0);
793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #1",  0x5388b5cd, 0x86582032, r0,r1,r2, 0);
794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #2",  0x5de41558, 0xccfa1c7e, r0,r1,r2, 0);
795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #3",  0x23ba1b46, 0x4437983c, r0,r1,r2, 0);
796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #4",  0x48d06549, 0xa9085781, r0,r1,r2, 0);
797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #8",  0xc6b4ac58, 0xb2aead21, r0,r1,r2, 0);
798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #12", 0xc2bdf597, 0xdde1e6a4, r0,r1,r2, 0);
799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #16", 0x852e3a72, 0x157b0dea, r0,r1,r2, 0);
800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #24", 0xe7aa57b4, 0x1584bd74, r0,r1,r2, 0);
801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhbt r0, r1, r2, lsl #31", 0xd4b64d54, 0xc53aaba9, r0,r1,r2, 0);
802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* PKHTB */
803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #0",  0x11223344, 0x55667788, r0,r1,r2, 0);
804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #1",  0x11223344, 0x55667788, r0,r1,r2, 0);
805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #2",  0x11223344, 0x55667788, r0,r1,r2, 0);
806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #3",  0x11223344, 0x55667788, r0,r1,r2, 0);
807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #4",  0x11223344, 0x55667788, r0,r1,r2, 0);
808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #16", 0x11223344, 0x55667788, r0,r1,r2, 0);
809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #22", 0x11223344, 0x55667788, r0,r1,r2, 0);
810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("pkhtb r0, r1, r2, asr #31", 0x11223344, 0x55667788, r0,r1,r2, 0);
811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0x50c28082, 0xc1553709, r0,r1,r2, 0);
812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0x17962e8f, 0x69ec0212, r0,r1,r2, 0);
813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0xc57243b7, 0x03fa9bb5, r0,r1,r2, 0);
814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0x7eb226ac, 0xf52e9fbf, r0,r1,r2, 0);
815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0xbce0f026, 0x7fcbe5a9, r0,r1,r2, 0);
816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0xa5757252, 0x2dd01366, r0,r1,r2, 0);
817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0xf4a477c1, 0x5e4b1cbf, r0,r1,r2, 0);
818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0x76723a21, 0x464a21cc, r0,r1,r2, 0);
819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0x74d01105, 0xe8108f1b, r0,r1,r2, 0);
820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2", 0xc1273e2c, 0xcd90d604, r0,r1,r2, 0);
821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #0",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #1",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #2",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #3",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #4",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #8",  0x5f986e68, 0x35232047, r0,r1,r2, 0);
827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #12", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #16", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #24", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #31", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #32", 0x5f986e68, 0x35232047, r0,r1,r2, 0);
832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #0",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #1",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #2",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #3",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #4",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #8",  0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #12", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #16", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #24", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #31", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #32", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0);
843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #0",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #1",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #2",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #3",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #4",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #8",  0x216158cb, 0x57a50a01, r0,r1,r2, 0);
849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #12", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #16", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #24", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #31", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #32", 0x216158cb, 0x57a50a01, r0,r1,r2, 0);
854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #0",  0xd5dc5407, 0xf87b961e, r0,r1,r2, 0);
855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #1",  0xd65db979, 0xc61b323b, r0,r1,r2, 0);
856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #2",  0xa3268abe, 0xed2cbf78, r0,r1,r2, 0);
857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #3",  0xbf73f0a5, 0x2fb714c9, r0,r1,r2, 0);
858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #4",  0x281703ed, 0x925ef472, r0,r1,r2, 0);
859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #8",  0xeaa652c7, 0x137741f4, r0,r1,r2, 0);
860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #12", 0x71fbde8b, 0xdba5bd25, r0,r1,r2, 0);
861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #16", 0x884c0ad8, 0xc00b821a, r0,r1,r2, 0);
862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #24", 0xe1bb8606, 0x58293969, r0,r1,r2, 0);
863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #31", 0xa3cfd624, 0x6077fb1f, r0,r1,r2, 0);
864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #32", 0xa3cfd624, 0x6077fb1f, r0,r1,r2, 0);
865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #0",  0x40b094e2, 0x17913309, r0,r1,r2, 0);
866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #1",  0x5388b5cd, 0x86582032, r0,r1,r2, 0);
867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #2",  0x5de41558, 0xccfa1c7e, r0,r1,r2, 0);
868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #3",  0x23ba1b46, 0x4437983c, r0,r1,r2, 0);
869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #4",  0x48d06549, 0xa9085781, r0,r1,r2, 0);
870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #8",  0xc6b4ac58, 0xb2aead21, r0,r1,r2, 0);
871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #12", 0xc2bdf597, 0xdde1e6a4, r0,r1,r2, 0);
872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #16", 0x852e3a72, 0x157b0dea, r0,r1,r2, 0);
873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #24", 0xe7aa57b4, 0x1584bd74, r0,r1,r2, 0);
874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #31", 0xd4b64d54, 0xc53aaba9, r0,r1,r2, 0);
875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("pkhtb r0, r1, r2, asr #32", 0xd4b64d54, 0xc53aaba9, r0,r1,r2, 0);
876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- USAT ----------------- \n");
878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #0,  r1", 0x0123abcd, r0, r1, 0);
879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #1,  r1", 0x0123abcd, r0, r1, 0);
880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #5,  r1", 0x0123abcd, r0, r1, 0);
881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #8,  r1", 0x0123abcd, r0, r1, 0);
882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #11, r1", 0x11110000, r0, r1, 0);
883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #13, r1", 0x11110000, r0, r1, 0);
884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat  r0, #15, r1", 0x11110000, r0, r1, 0);
885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1",          0xebbff82b, r0, r1, 0);
886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, lsl #0",  0x5f986e68, r0, r1, 0);
887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, lsl #0",  0xe7aa57b4, r0, r1, 0);
888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, lsl #0",  0x89d2ef86, r0, r1, 0);
889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, lsl #8",  0xc53aaba9, r0, r1, 0);
890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, lsl #8",  0x216158cb, r0, r1, 0);
891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, lsl #8",  0x3cd6cd94, r0, r1, 0);
892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, lsl #0",  0xf87b961e, r0, r1, 0);
893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, lsl #0",  0xc61b323b, r0, r1, 0);
894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, lsl #0",  0xa3268abe, r0, r1, 0);
895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, lsl #8",  0xbf73f0a5, r0, r1, 0);
896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, lsl #8",  0x925ef472, r0, r1, 0);
897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, lsl #8",  0x137741f4, r0, r1, 0);
898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #24, r1, lsl #2",  0x50c28082, r0, r1, 0);
899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #16, r1, lsl #3",  0x17962e8f, r0, r1, 0);
900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #12, r1, lsl #4",  0xc57243b7, r0, r1, 0);
901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #8,  r1, lsl #8",  0xf20fb90f, r0, r1, 0);
902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #4,  r1, lsl #12", 0xbb151055, r0, r1, 0);
903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #3,  r1, lsl #16", 0x957440d2, r0, r1, 0);
904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #2,  r1, lsl #24", 0x728b7771, r0, r1, 0);
905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #1,  r1, lsl #31", 0xf13c20f3, r0, r1, 0);
906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1",          0xebbff82b, r0, r1, 0);
907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #0",  0x5f986e68, r0, r1, 0);
908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #0",  0xe7aa57b4, r0, r1, 0);
909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #0",  0x89d2ef86, r0, r1, 0);
910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #8",  0xc53aaba9, r0, r1, 0);
911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #8",  0x216158cb, r0, r1, 0);
912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #8",  0x3cd6cd94, r0, r1, 0);
913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #0",  0xf87b961e, r0, r1, 0);
914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #0",  0xc61b323b, r0, r1, 0);
915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #0",  0xa3268abe, r0, r1, 0);
916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #8",  0xbf73f0a5, r0, r1, 0);
917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #8",  0x925ef472, r0, r1, 0);
918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #8",  0x137741f4, r0, r1, 0);
919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #24, r1, asr #2",  0x50c28082, r0, r1, 0);
920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #16, r1, asr #3",  0x17962e8f, r0, r1, 0);
921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #12, r1, asr #4",  0xc57243b7, r0, r1, 0);
922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #8,  r1, asr #8",  0xf20fb90f, r0, r1, 0);
923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #4,  r1, asr #12", 0xbb151055, r0, r1, 0);
924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #3,  r1, asr #16", 0x957440d2, r0, r1, 0);
925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #2,  r1, asr #24", 0x728b7771, r0, r1, 0);
926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #1,  r1, asr #31", 0xf13c20f3, r0, r1, 0);
927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1",          0xebbff82b, r0, r1, 0);
928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #0",  0x5f986e68, r0, r1, 0);
929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #0",  0xe7aa57b4, r0, r1, 0);
930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #0",  0x89d2ef86, r0, r1, 0);
931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #8",  0xc53aaba9, r0, r1, 0);
932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #8",  0x216158cb, r0, r1, 0);
933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #8",  0x3cd6cd94, r0, r1, 0);
934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #0",  0xf87b961e, r0, r1, 0);
935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #0",  0xc61b323b, r0, r1, 0);
936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #0",  0xa3268abe, r0, r1, 0);
937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #8",  0xbf73f0a5, r0, r1, 0);
938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #8",  0x925ef472, r0, r1, 0);
939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #8",  0x137741f4, r0, r1, 0);
940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #24, r1, asr #2",  0x50c28082, r0, r1, 0);
941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #16, r1, asr #3",  0x17962e8f, r0, r1, 0);
942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #12, r1, asr #4",  0xc57243b7, r0, r1, 0);
943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #8,  r1, asr #8",  0xf20fb90f, r0, r1, 0);
944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #4,  r1, asr #12", 0xbb151055, r0, r1, 0);
945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #3,  r1, asr #16", 0x957440d2, r0, r1, 0);
946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #2,  r1, asr #24", 0x728b7771, r0, r1, 0);
947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #1,  r1, asr #31", 0xf13c20f3, r0, r1, 0);
948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#ifndef __thumb__
949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #0,  r1, asr #32", 0xa9085781, r0, r1, 0);
950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #32", 0x40b094e2, r0, r1, 0);
951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #32", 0x17913309, r0, r1, 0);
952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #31, r1, asr #32", 0x5388b5cd, r0, r1, 0);
953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #24, r1, asr #32", 0x86582032, r0, r1, 0);
954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #16, r1, asr #32", 0x5de41558, r0, r1, 0);
955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #12, r1, asr #32", 0xccfa1c7e, r0, r1, 0);
956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #8,  r1, asr #32", 0x23ba1b46, r0, r1, 0);
957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #4,  r1, asr #32", 0x4437983c, r0, r1, 0);
958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #3,  r1, asr #32", 0x48d06549, r0, r1, 0);
959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #2,  r1, asr #32", 0xa9085781, r0, r1, 0);
960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat  r0, #1,  r1, asr #32", 0xc6b4ac58, r0, r1, 0);
961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ USAT16 sat_imm ------------ \n");
964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #0,  r1", 0x0123abcd, r0, r1, 0);
965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #1,  r1", 0xffcdabcd, r0, r1, 0);
966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #5,  r1", 0x0123feff, r0, r1, 0);
967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #8,  r1", 0x0123abcd, r0, r1, 0);
968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #11, r1", 0x11110000, r0, r1, 0);
969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #13, r1", 0x1111f111, r0, r1, 0);
970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("usat16  r0, #15, r1", 0x00001111, r0, r1, 0);
971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #0,  r1", 0xebbff82b, r0, r1, 0);
972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #1,  r1", 0xebbff82b, r0, r1, 0);
973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #3,  r1", 0x50c28082, r0, r1, 0);
974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #5,  r1", 0x17962e8f, r0, r1, 0);
975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #8,  r1", 0xc57243b7, r0, r1, 0);
976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #10, r1", 0xf20fb90f, r0, r1, 0);
977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #11, r1", 0xbb151055, r0, r1, 0);
978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #13, r1", 0x957440d2, r0, r1, 0);
979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #14, r1", 0x728b7771, r0, r1, 0);
980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #15, r1", 0xf13c20f3, r0, r1, 0);
981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #0,  r1", 0x86398371, r0, r1, 0);
982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #1,  r1", 0x03d0fb78, r0, r1, 0);
983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #3,  r1", 0xd0d49b7c, r0, r1, 0);
984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #5,  r1", 0x76354a58, r0, r1, 0);
985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #8,  r1", 0x9fa45fb7, r0, r1, 0);
986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #10, r1", 0x7572bdec, r0, r1, 0);
987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #11, r1", 0xfea59eb6, r0, r1, 0);
988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #13, r1", 0xf2669090, r0, r1, 0);
989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #14, r1", 0xbc1ff573, r0, r1, 0);
990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #15, r1", 0x7eb226ac, r0, r1, 0);
991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #0,  r1", 0x22b65db1, r0, r1, 0);
992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #1,  r1", 0x776c41c7, r0, r1, 0);
993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #3,  r1", 0xe50dd77c, r0, r1, 0);
994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #5,  r1", 0xd6f9a698, r0, r1, 0);
995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #8,  r1", 0xeda5110c, r0, r1, 0);
996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #10, r1", 0x0be36f70, r0, r1, 0);
997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #11, r1", 0xd759eb72, r0, r1, 0);
998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #13, r1", 0xd9c4b1f4, r0, r1, 0);
999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #14, r1", 0xa29eb320, r0, r1, 0);
1000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #15, r1", 0xcf1e4487, r0, r1, 0);
1001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #0,  r1", 0x2eb68500, r0, r1, 0);
1002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #1,  r1", 0xcdb7ed11, r0, r1, 0);
1003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #3,  r1", 0x2eaea305, r0, r1, 0);
1004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #5,  r1", 0x6ebd04d9, r0, r1, 0);
1005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #8,  r1", 0xa5ec1aa8, r0, r1, 0);
1006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #10, r1", 0x72f33509, r0, r1, 0);
1007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #11, r1", 0xa3e6f759, r0, r1, 0);
1008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #13, r1", 0xfaceab39, r0, r1, 0);
1009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #14, r1", 0x2738f0ff, r0, r1, 0);
1010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #15, r1", 0xe79fd570, r0, r1, 0);
1011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #0,  r1", 0x55ea3e4e, r0, r1, 0);
1012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #1,  r1", 0x2b62ba5a, r0, r1, 0);
1013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #3,  r1", 0x9b41bfb1, r0, r1, 0);
1014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #5,  r1", 0x557c7ba2, r0, r1, 0);
1015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #8,  r1", 0x2973c051, r0, r1, 0);
1016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #10, r1", 0x6a228b19, r0, r1, 0);
1017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #11, r1", 0x0cdafabe, r0, r1, 0);
1018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #13, r1", 0x50865114, r0, r1, 0);
1019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #14, r1", 0xd83b849b, r0, r1, 0);
1020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("usat16  r0, #15, r1", 0xca5e5605, r0, r1, 0);
1021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- UADD16 ---------------- \n");
1023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
1030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
1031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
1032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
1033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
1034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
1035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
1038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
1039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
1040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
1041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
1042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
1043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- SADD16 ---------------- \n");
1096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
1103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
1104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
1105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
1106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
1107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
1108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
1111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
1112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
1113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
1114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
1115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
1116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- USUB16 ---------------- \n");
1169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x04000022, 0x03000011, r0, r1, r2, 0);
1170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
1177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
1178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
1179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
1180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
1181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
1182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
1185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
1186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
1187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
1188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
1189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
1190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- SSUB16 ---------------- \n");
1243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x04000022, 0x03000011, r0, r1, r2, 0);
1244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0);
1251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0);
1252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0);
1253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0);
1254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0);
1255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
1256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
1258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0);
1259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0);
1260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0);
1261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0);
1262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0);
1263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0);
1264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- UADD8 ----------------- \n");
1317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0);
1322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0);
1324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uadd8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0);
1325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uadd8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- USUB8 ----------------- \n");
1377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0);
1382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0);
1384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usub8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0);
1385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usub8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- QADD16 ---------------- \n");
1437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- QSUB16 ---------------- \n");
1493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
1494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
1495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
1496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
1497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- QSAX ----------------- \n");
1549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
1550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
1551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
1552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
1553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
1554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
1555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- QASX ----------------- \n");
1607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
1608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
1609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
1610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
1611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
1612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
1613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SASX ----------------- \n");
1665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
1666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
1667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
1668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
1669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
1670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
1671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMUAD ----------------- \n");
1723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
1724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
1725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
1726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
1727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
1728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
1729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuad r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
1730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuad r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMUADX ---------------- \n");
1781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
1782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
1783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
1784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
1785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
1786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
1787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smuadx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
1788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
1789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
1790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
1791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
1792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
1793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
1794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
1795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
1796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
1797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
1798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
1799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
1800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
1801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
1802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
1803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
1804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
1805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
1806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
1807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
1808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
1809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
1810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
1811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
1812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
1813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
1814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
1815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
1816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
1817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
1818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
1819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
1820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
1821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
1822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
1823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
1824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
1825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
1826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
1827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
1828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
1829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
1830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
1831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
1832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
1833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
1834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
1835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
1836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
1837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smuadx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
1838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMLAD ----------------- \n");
1840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
1842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
1844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
1846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
1848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
1850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
1852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlad  r0, r1, r2, r3",
1853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
1854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
1856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
1858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
1860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
1862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
1864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
1866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
1868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
1870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
1872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
1874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
1876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
1878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
1880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
1882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
1884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
1886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
1888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
1890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
1892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
1894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
1896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
1898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
1900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
1902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
1904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
1906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
1908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
1910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
1912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
1914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
1916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
1918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
1920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
1922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
1924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
1926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
1928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
1930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
1932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
1934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
1936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
1938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
1940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
1942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
1944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
1946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
1948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
1950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
1952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
1954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlad  r0, r1, r2, r3",
1955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
1956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMLADX ----------------- \n");
1958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
1960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
1962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
1964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
1966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
1968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
1970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smladx  r0, r1, r2, r3",
1971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
1972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smladx  r0, r1, r2, r3",
1973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
1974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smladx  r0, r1, r2, r3",
1975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
1976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smladx  r0, r1, r2, r3",
1977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
1978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
1979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SMLABB, SMLATT, SMLATB, SMLABT ------------\n");
1980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* smlabb rD, rN, rM, rA */
1981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabb r0, r1, r2, r3",
1982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0);
1983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabb r0, r1, r2, r3",
1984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0);
1985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabb r0, r1, r2, r3",
1986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0);
1987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabb r0, r1, r2, r3",
1988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0);
1989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabb r0, r1, r2, r3",
1990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0);
1991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabb r0, r1, r2, r3",
1992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0);
1993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
1994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
1995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
1996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
1997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
1998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
1999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
2001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
2003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
2005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
2007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
2009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
2011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
2013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
2015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
2017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
2019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
2021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
2023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
2025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
2027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
2029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
2031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
2033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
2035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
2037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
2039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
2041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
2043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
2045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
2047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
2049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
2051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
2053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
2055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
2057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
2059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
2061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
2063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
2065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
2067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
2069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
2071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
2073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
2075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
2077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
2079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
2081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
2083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
2085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
2087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
2089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
2091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
2093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabb  r0, r1, r2, r3",
2094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
2095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* smlatt rD, rN, rM, rA */
2096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatt r0, r1, r2, r3",
2097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00000003, 0x00000004, 0x00000000, r0,r1,r2,r3, 0);
2098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatt r0, r1, r2, r3",
2099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00010003, 0x00020004, 0x00007fff, r0,r1,r2,r3, 0);
2100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatt r0, r1, r2, r3",
2101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x80010003, 0x7fff0004, 0x00005fff, r0,r1,r2,r3, 0);
2102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatt r0, r1, r2, r3",
2103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x7fff0003, 0x7fff0004, 0x00007fff, r0,r1,r2,r3, 0);
2104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatt r0, r1, r2, r3",
2105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0xffff0003, 0xffff0004, 0x7fff7fff, r0,r1,r2,r3, 0);
2106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatt r0, r1, r2, r3",
2107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0xfffc0003, 0xffff0004, 0xffffffff, r0,r1,r2,r3, 0);
2108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
2110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
2112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
2114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
2116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
2118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
2120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
2122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
2124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
2126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
2128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
2130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
2132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
2134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
2136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
2138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
2140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
2142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
2144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
2146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
2148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
2150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
2152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
2154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
2156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
2158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
2160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
2162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
2164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
2166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
2168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
2170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
2172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
2174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
2176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
2178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
2180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
2182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
2184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
2186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
2188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
2190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
2192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
2194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
2196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
2198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
2200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
2202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
2204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
2206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
2208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatt  r0, r1, r2, r3",
2209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
2210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* smlatb rD, rN, rM, rA */
2211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatb r0, r1, r2, r3",
2212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00000003, 0x00040000, 0x00000000, r0,r1,r2,r3, 0);
2213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatb r0, r1, r2, r3",
2214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00010003, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0);
2215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatb r0, r1, r2, r3",
2216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x80010003, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0);
2217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatb r0, r1, r2, r3",
2218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x7fff0003, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0);
2219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatb r0, r1, r2, r3",
2220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0xffff0003, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0);
2221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlatb r0, r1, r2, r3",
2222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0xfffc0003, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0);
2223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
2225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
2227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
2229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
2231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
2233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
2235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
2237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
2239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
2241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
2243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
2245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
2247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
2249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
2251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
2253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
2255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
2257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
2259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
2261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
2263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
2265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
2267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
2269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
2271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
2273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
2275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
2277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
2279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
2281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
2283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
2285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
2287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
2289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
2291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
2293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
2295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
2297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
2299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
2301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
2303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
2305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
2307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
2309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
2311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
2313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
2315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
2317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
2319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
2321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
2323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlatb  r0, r1, r2, r3",
2324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
2325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* smlabt rD, rN, rM, rA */
2326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabt r0, r1, r2, r3",
2327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030000, 0x00000004, 0x00000000, r0,r1,r2,r3, 0);
2328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabt r0, r1, r2, r3",
2329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030001, 0x00020004, 0x00007fff, r0,r1,r2,r3, 0);
2330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabt r0, r1, r2, r3",
2331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00038001, 0x7fff0004, 0x00005fff, r0,r1,r2,r3, 0);
2332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabt r0, r1, r2, r3",
2333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00037fff, 0x7fff0004, 0x00007fff, r0,r1,r2,r3, 0);
2334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabt r0, r1, r2, r3",
2335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003ffff, 0xffff0004, 0x7fff7fff, r0,r1,r2,r3, 0);
2336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlabt r0, r1, r2, r3",
2337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003fffc, 0xffff0004, 0xffffffff, r0,r1,r2,r3, 0);
2338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
2340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
2342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
2344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
2346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
2348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
2350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
2352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
2354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
2356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
2358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
2360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
2362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
2364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
2366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
2368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
2370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
2372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
2374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
2376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
2378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
2380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
2382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
2384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
2386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
2388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
2390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
2392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
2394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
2396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
2398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
2400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
2402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
2404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
2406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
2408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
2410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
2412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
2414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
2416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
2418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
2420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
2422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
2424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
2426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
2428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
2430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
2432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
2434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
2436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
2438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlabt  r0, r1, r2, r3",
2439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
2440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ UQSUB8 -----------------------------------\n");
2442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
2443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
2445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0);
2447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0);
2449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqsub8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0);
2450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ UQADD8 -----------------------------------\n");
2503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0x0009ffff, 0x001800aa, r0, r1, r2, 0);
2504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0x00aa0018, 0xffff0009, r0, r1, r2, 0);
2506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0x0000aa18, 0xff00ff09, r0, r1, r2, 0);
2508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0xff9fefcc, 0xff9ffedd, r0, r1, r2, 0);
2510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uqadd8 r0, r1, r2", 0xff07ff09, 0xaa020318, r0, r1, r2, 0);
2511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uqadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SEL --------------------------------------\n");
2564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sel r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
2565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sel r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
2566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sel r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
2567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sel r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
2568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sel r0, r1, r2", 0xfffcffff, 0xffff0001, r0, r1, r2, 0);
2569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sel r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
2570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sel r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ QSUB8-------------------------------------\n");
2623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
2624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
2626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
2628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
2629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
2630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
2631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ QADD8-------------------------------------\n");
2684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
2685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
2687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
2689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
2690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
2691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("qadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
2692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("qadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SHADD8 -----------------------------------\n");
2745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
2746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
2748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
2750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
2751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
2752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("shadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
2753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("shadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ UHADD8 -----------------------------------\n");
2806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
2807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
2809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
2811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
2812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
2813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uhadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
2814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uhadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
2866663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  printf("------------ UHADD16 -----------------------------------\n");
2867663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
2868663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
2869663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
2870663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
2871663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
2872663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
2873663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
2874663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("uhadd16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
2875663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
2876663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
2877663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
2878663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
2879663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
2880663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
2881663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
2882663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
2883663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
2884663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
2885663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
2886663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
2887663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
2888663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
2889663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
2890663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
2891663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
2892663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
2893663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
2894663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
2895663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
2896663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
2897663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
2898663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
2899663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
2900663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
2901663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
2902663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
2903663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
2904663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
2905663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
2906663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
2907663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
2908663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
2909663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
2910663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
2911663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
2912663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
2913663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
2914663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
2915663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
2916663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
2917663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
2918663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
2919663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
2920663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
2921663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
2922663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
2923663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
2924663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
2925663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("uhadd16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
2926663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng
2927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SSAT ----------------- \n");
2928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #1,  r1, LSL #31", 0x80008000, r0, r1, 0);
2929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #6,  r1, LSL #24", 0x80008000, r0, r1, 0);
2930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #8,  r1, ASR #18", 0x80008000, r0, r1, 0);
2931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #12, r1, ASR #16", 0x80008000, r0, r1, 0);
2932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #16, r1, LSL #12", 0xffff0009, r0, r1, 0);
2933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #18, r1, LSL #8",  0xffff0009, r0, r1, 0);
2934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #24, r1, ASR #6",  0xffff0009, r0, r1, 0);
2935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST2("ssat  r0, #31, r1, ASR #1",  0xffff0009, r0, r1, 0);
2936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,   r1", 0x256bfdd6, r0, r1, 0);
2937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,   r1", 0xc02a0c05, r0, r1, 0);
2938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,   r1", 0xee2fa46e, r0, r1, 0);
2939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,   r1", 0x97a7da20, r0, r1, 0);
2940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32,  r1", 0xa231d5e6, r0, r1, 0);
2941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32,  r1", 0x10e1968a, r0, r1, 0);
2942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32,  r1", 0x0e089270, r0, r1, 0);
2943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32,  r1", 0x9e8e0185, r0, r1, 0);
2944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32,  r1", 0x3096f12e, r0, r1, 0);
2945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32,  r1", 0xffc134df, r0, r1, 0);
2946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0x256bfdd6, r0, r1, 0);
2947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0xc02a0c05, r0, r1, 0);
2948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0xee2fa46e, r0, r1, 0);
2949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0x97a7da20, r0, r1, 0);
2950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0xa231d5e6, r0, r1, 0);
2951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0x10e1968a, r0, r1, 0);
2952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0x0e089270, r0, r1, 0);
2953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0x9e8e0185, r0, r1, 0);
2954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0x3096f12e, r0, r1, 0);
2955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1,  r1, LSL #31", 0xffc134df, r0, r1, 0);
2956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0x256bfdd6, r0, r1, 0);
2957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0xc02a0c05, r0, r1, 0);
2958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0xee2fa46e, r0, r1, 0);
2959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0x97a7da20, r0, r1, 0);
2960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0xa231d5e6, r0, r1, 0);
2961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0x10e1968a, r0, r1, 0);
2962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0x0e089270, r0, r1, 0);
2963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0x9e8e0185, r0, r1, 0);
2964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0x3096f12e, r0, r1, 0);
2965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #3,  r1, LSL #28", 0xffc134df, r0, r1, 0);
2966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0x256bfdd6, r0, r1, 0);
2967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0xc02a0c05, r0, r1, 0);
2968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0xee2fa46e, r0, r1, 0);
2969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0x97a7da20, r0, r1, 0);
2970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0xa231d5e6, r0, r1, 0);
2971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0x10e1968a, r0, r1, 0);
2972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0x0e089270, r0, r1, 0);
2973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0x9e8e0185, r0, r1, 0);
2974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0x3096f12e, r0, r1, 0);
2975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #6,  r1, LSL #24", 0xffc134df, r0, r1, 0);
2976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0x256bfdd6, r0, r1, 0);
2977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0xc02a0c05, r0, r1, 0);
2978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0xee2fa46e, r0, r1, 0);
2979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0x97a7da20, r0, r1, 0);
2980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0xa231d5e6, r0, r1, 0);
2981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0x10e1968a, r0, r1, 0);
2982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0x0e089270, r0, r1, 0);
2983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0x9e8e0185, r0, r1, 0);
2984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0x3096f12e, r0, r1, 0);
2985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #8,  r1, ASR #18", 0xffc134df, r0, r1, 0);
2986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0x256bfdd6, r0, r1, 0);
2987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0xc02a0c05, r0, r1, 0);
2988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0xee2fa46e, r0, r1, 0);
2989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0x97a7da20, r0, r1, 0);
2990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0xa231d5e6, r0, r1, 0);
2991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0x10e1968a, r0, r1, 0);
2992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0x0e089270, r0, r1, 0);
2993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0x9e8e0185, r0, r1, 0);
2994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0x3096f12e, r0, r1, 0);
2995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #12, r1, ASR #16", 0xffc134df, r0, r1, 0);
2996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0x256bfdd6, r0, r1, 0);
2997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0xc02a0c05, r0, r1, 0);
2998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0xee2fa46e, r0, r1, 0);
2999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0x97a7da20, r0, r1, 0);
3000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0xa231d5e6, r0, r1, 0);
3001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0x10e1968a, r0, r1, 0);
3002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0x0e089270, r0, r1, 0);
3003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0x9e8e0185, r0, r1, 0);
3004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0x3096f12e, r0, r1, 0);
3005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #16, r1, LSL #12", 0xffc134df, r0, r1, 0);
3006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0x256bfdd6, r0, r1, 0);
3007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0xc02a0c05, r0, r1, 0);
3008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0xee2fa46e, r0, r1, 0);
3009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0x97a7da20, r0, r1, 0);
3010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0xa231d5e6, r0, r1, 0);
3011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0x10e1968a, r0, r1, 0);
3012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0x0e089270, r0, r1, 0);
3013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0x9e8e0185, r0, r1, 0);
3014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0x3096f12e, r0, r1, 0);
3015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #18, r1, LSL #8", 0xffc134df, r0, r1, 0);
3016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0x256bfdd6, r0, r1, 0);
3017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0xc02a0c05, r0, r1, 0);
3018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0xee2fa46e, r0, r1, 0);
3019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0x97a7da20, r0, r1, 0);
3020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0xa231d5e6, r0, r1, 0);
3021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0x10e1968a, r0, r1, 0);
3022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0x0e089270, r0, r1, 0);
3023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0x9e8e0185, r0, r1, 0);
3024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0x3096f12e, r0, r1, 0);
3025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #24, r1, ASR #6", 0xffc134df, r0, r1, 0);
3026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0x256bfdd6, r0, r1, 0);
3027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0xc02a0c05, r0, r1, 0);
3028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0xee2fa46e, r0, r1, 0);
3029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0x97a7da20, r0, r1, 0);
3030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0xa231d5e6, r0, r1, 0);
3031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0x10e1968a, r0, r1, 0);
3032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0x0e089270, r0, r1, 0);
3033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0x9e8e0185, r0, r1, 0);
3034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0x3096f12e, r0, r1, 0);
3035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #28, r1, ASR #3", 0xffc134df, r0, r1, 0);
3036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0x256bfdd6, r0, r1, 0);
3037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0xc02a0c05, r0, r1, 0);
3038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0xee2fa46e, r0, r1, 0);
3039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0x97a7da20, r0, r1, 0);
3040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0xa231d5e6, r0, r1, 0);
3041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0x10e1968a, r0, r1, 0);
3042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0x0e089270, r0, r1, 0);
3043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0x9e8e0185, r0, r1, 0);
3044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0x3096f12e, r0, r1, 0);
3045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #31, r1, ASR #1", 0xffc134df, r0, r1, 0);
3046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#ifndef __thumb__
3047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0x256bfdd6, r0, r1, 0);
3048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0xc02a0c05, r0, r1, 0);
3049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0xee2fa46e, r0, r1, 0);
3050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0x97a7da20, r0, r1, 0);
3051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0xa231d5e6, r0, r1, 0);
3052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0x10e1968a, r0, r1, 0);
3053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0x0e089270, r0, r1, 0);
3054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0x9e8e0185, r0, r1, 0);
3055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0x3096f12e, r0, r1, 0);
3056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #1, r1, ASR #32", 0xffc134df, r0, r1, 0);
3057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0x256bfdd6, r0, r1, 0);
3058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0xc02a0c05, r0, r1, 0);
3059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0xee2fa46e, r0, r1, 0);
3060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0x97a7da20, r0, r1, 0);
3061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0xa231d5e6, r0, r1, 0);
3062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0x10e1968a, r0, r1, 0);
3063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0x0e089270, r0, r1, 0);
3064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0x9e8e0185, r0, r1, 0);
3065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0x3096f12e, r0, r1, 0);
3066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST2("ssat  r0, #32, r1, ASR #32", 0xffc134df, r0, r1, 0);
3067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif
3068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- SADD8 ----------------- \n");
3070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0);
3071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0);
3072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0x00fd00e8, 0xffff00f7, r0, r1, r2, 0);
3073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0xffff00f7, 0x00fd0018, r0, r1, r2, 0);
3074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0x0000fd18, 0xff00fff7, r0, r1, r2, 0);
3075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0xffff00f7, 0x00fd00e8, r0, r1, r2, 0);
3076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0x00fefd18, 0xff07fff7, r0, r1, r2, 0);
3077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sadd8 r0, r1, r2", 0xff07fff7, 0x00fefde8, r0, r1, r2, 0);
3078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
3079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
3080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
3081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
3082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
3083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
3084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
3085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
3086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
3087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
3088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
3089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
3090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
3091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
3092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
3093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
3094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
3095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
3096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
3097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
3098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
3099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
3100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
3101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
3102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
3103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
3104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
3105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
3106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
3107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
3108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
3109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
3110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
3111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
3112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
3113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
3114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
3115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
3116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
3117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
3118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
3119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("---------------- SSUB8 ----------------- \n");
3131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0);
3132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0);
3133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0x00fd00e8, 0xffff00f7, r0, r1, r2, 0);
3134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0xffff00f7, 0x00fd0018, r0, r1, r2, 0);
3135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0x0000fd18, 0xff00fff7, r0, r1, r2, 0);
3136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0xffff00f7, 0x00fd00e8, r0, r1, r2, 0);
3137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0x00fefd18, 0xff07fff7, r0, r1, r2, 0);
3138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("ssub8 r0, r1, r2", 0xff07fff7, 0x00fefde8, r0, r1, r2, 0);
3139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
3140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
3141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
3142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
3143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
3144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
3145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
3146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
3147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
3148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
3149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
3150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
3151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
3152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
3153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
3154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
3155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
3156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
3157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
3158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
3159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
3160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
3161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
3162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
3163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
3164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
3165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
3166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
3167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
3168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
3169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
3170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
3171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
3172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
3173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
3174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
3175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
3176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
3177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
3178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
3179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
3180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("ssub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SXTAB ------------\n");
3192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
3193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
3194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #8",  0x31415927, 0x27182819, r0, r1, r2, 0);
3195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #0",  0x31415927, 0x27182819, r0, r1, r2, 0);
3196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0);
3198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0);
3199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #8",  0x31415927, 0x27182899, r0, r1, r2, 0);
3200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtab r0, r1, r2, ROR #0",  0x31415927, 0x27182899, r0, r1, r2, 0);
3201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtab r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ UXTAB ------------\n");
3247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
3248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
3249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #8",  0x31415927, 0x27182819, r0, r1, r2, 0);
3250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #0",  0x31415927, 0x27182819, r0, r1, r2, 0);
3251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0);
3253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0);
3254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #8",  0x31415927, 0x27182899, r0, r1, r2, 0);
3255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab r0, r1, r2, ROR #0",  0x31415927, 0x27182899, r0, r1, r2, 0);
3256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------- UXTAB16 -----------\n");
3302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
3303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
3304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #8",  0x31415927, 0x27182819, r0, r1, r2, 0);
3305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #0",  0x31415927, 0x27182819, r0, r1, r2, 0);
3306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0);
3308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0);
3309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #8",  0x31415927, 0x27182899, r0, r1, r2, 0);
3310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #0",  0x31415927, 0x27182899, r0, r1, r2, 0);
3311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtab16 r0, r1, r2, ROR #0",  0x3141FFFF, 0x27182899, r0, r1, r2, 0);
3312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SXTAH ------------\n");
3358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
3359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
3360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0);
3361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0);
3362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0);
3364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0);
3365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0);
3366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0);
3367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("sxtah r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ UXTAH ------------\n");
3413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
3414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
3415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0);
3416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0);
3417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0);
3419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0);
3420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0);
3421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0);
3422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
3457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
3458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
3459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
3460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
3461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
3462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
3463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
3464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
3465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("uxtah r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
3466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SMLAWB ------------\n");
3468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* smlawb rD, rN, rM, rA */
3469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawb r0, r1, r2, r3",
3470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0);
3471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawb r0, r1, r2, r3",
3472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0);
3473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawb r0, r1, r2, r3",
3474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0);
3475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawb r0, r1, r2, r3",
3476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0);
3477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawb r0, r1, r2, r3",
3478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0);
3479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawb r0, r1, r2, r3",
3480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0);
3481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
3483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
3485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
3487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
3489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
3491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
3493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
3495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
3497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
3499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
3501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
3503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
3505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
3507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
3509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
3511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
3513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
3515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
3517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
3519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
3521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
3523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
3525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
3527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
3529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
3531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
3533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
3535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
3537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
3539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
3541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
3543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
3545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
3547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
3549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
3551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
3553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
3555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
3557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
3559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
3561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
3563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
3565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
3567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
3569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
3571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
3573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
3575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
3577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
3579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
3581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawb  r0, r1, r2, r3",
3582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
3583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("------------ SMLAWT ------------\n");
3585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  /* smlawt rD, rN, rM, rA */
3586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawt r0, r1, r2, r3",
3587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0);
3588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawt r0, r1, r2, r3",
3589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0);
3590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawt r0, r1, r2, r3",
3591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0);
3592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawt r0, r1, r2, r3",
3593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0);
3594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawt r0, r1, r2, r3",
3595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0);
3596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlawt r0, r1, r2, r3",
3597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown            0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0);
3598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
3600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
3602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
3604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
3606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
3608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
3610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
3612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
3614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
3616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
3618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
3620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
3622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
3624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
3626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
3628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
3630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
3632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
3634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
3636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
3638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
3640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
3642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
3644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
3646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
3648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
3650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
3652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
3654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
3656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
3658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
3660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
3662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
3664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
3666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
3668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
3670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
3672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
3674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
3676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
3678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
3680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
3682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
3684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
3686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
3688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
3690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
3692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
3694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
3696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
3698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlawt  r0, r1, r2, r3",
3699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
3700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMLSD ----------------- \n");
3703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
3705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
3707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
3709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
3711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
3713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
3715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsd  r0, r1, r2, r3",
3716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
3717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
3719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
3721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
3723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
3725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
3727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
3729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
3731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
3733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
3735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
3737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
3739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
3741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
3743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
3745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
3747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
3749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
3751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
3753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
3755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
3757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
3759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
3761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
3763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
3765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
3767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
3769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
3771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
3773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
3775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
3777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
3779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
3781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
3783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
3785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
3787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
3789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
3791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
3793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
3795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
3797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
3799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
3801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
3803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
3805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
3807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
3809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
3811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
3813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
3815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
3817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsd  r0, r1, r2, r3",
3818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
3819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMLSDX ----------------- \n");
3821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
3823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
3825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
3827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
3829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
3831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
3833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("smlsdx  r0, r1, r2, r3",
3834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
3835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsdx  r0, r1, r2, r3",
3836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
3837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsdx  r0, r1, r2, r3",
3838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
3839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("smlsdx  r0, r1, r2, r3",
3840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
3841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMUSD ----------------- \n");
3844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
3845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
3846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
3847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
3848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
3849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
3850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusd r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
3851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
3852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
3853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
3854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
3855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
3856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
3857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
3858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
3859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
3860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
3861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
3862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
3863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
3864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
3865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
3866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
3867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
3868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
3869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
3870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
3871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
3872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
3873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
3874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
3875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
3876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
3877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
3878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
3879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
3880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
3881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
3882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
3883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
3884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
3885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
3886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
3887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
3888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
3889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
3890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
3891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
3892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
3893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
3894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
3895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
3896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
3897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
3898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
3899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
3900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
3901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- SMUSDX ---------------- \n");
3902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
3903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
3904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
3905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
3906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
3907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
3908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("smusdx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
3909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
3910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
3911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
3912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
3913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
3914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
3915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
3916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
3917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
3918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
3919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
3920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
3921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
3922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
3923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
3924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
3925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
3926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
3927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
3928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
3929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
3930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
3931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
3932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
3933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
3934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
3935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
3936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
3937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
3938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
3939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
3940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
3941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
3942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
3943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
3944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
3945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
3946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
3947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
3948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
3949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
3950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
3951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
3952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
3953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
3954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
3955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
3956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
3957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
3958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("smusdx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
3959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
3960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- USAD8 ---------------- \n");
3961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
3962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
3963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
3964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
3965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
3966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0);
3967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST3("usad8 r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0);
3968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
3969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
3970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
3971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
3972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
3973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
3974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
3975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
3976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
3977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
3978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
3979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
3980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
3981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
3982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
3983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
3984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
3985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
3986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
3987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
3988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
3989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
3990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
3991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
3992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
3993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
3994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
3995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
3996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
3997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
3998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
3999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
4000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
4001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
4002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
4003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
4004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
4005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
4006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
4007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
4008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
4009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
4010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
4011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
4012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
4013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
4014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
4015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
4016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
4017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST3("usad8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
4018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
4019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  printf("----------------- USADA8 ----------------- \n");
4020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
4022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
4024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
4026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
4028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
4030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
4032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown  TESTINST4("usada8  r0, r1, r2, r3",
4033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
4034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
4036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
4038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
4040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
4042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
4044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
4046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
4048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
4050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
4052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
4054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
4056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
4058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
4060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
4062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
4064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
4066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
4068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
4070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
4072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
4074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
4076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
4078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
4080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
4082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
4084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
4086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
4088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
4090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
4092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
4094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
4096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
4098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
4100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
4102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
4104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
4106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
4108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
4110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
4112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
4114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
4116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
4118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
4120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
4122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
4124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
4126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
4128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
4130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
4132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
4134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff BrownTESTINST4("usada8  r0, r1, r2, r3",
4135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
4136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown
4137663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  printf("---------------- QADD ---------------- \n");
4138663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qadd r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0);
4139663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qadd r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0);
4140663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qadd r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
4141663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qadd r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
4142663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
4143663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
4144663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
4145663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
4146663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
4147663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
4148663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
4149663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
4150663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
4151663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
4152663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
4153663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
4154663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
4155663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
4156663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
4157663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
4158663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
4159663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
4160663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
4161663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
4162663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
4163663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
4164663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
4165663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
4166663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
4167663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
4168663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
4169663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
4170663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
4171663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
4172663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
4173663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
4174663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
4175663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
4176663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
4177663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
4178663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
4179663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
4180663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
4181663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
4182663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
4183663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
4184663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
4185663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
4186663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
4187663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
4188663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
4189663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
4190663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
4191663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qadd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
4192663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng
4193663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  printf("---------------- QSUB ---------------- \n");
4194663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0);
4195663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0);
4196663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
4197663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
4198663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
4199663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
4200663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
4201663860b1408516d02ebfcb3a9999a134e6cfb223Ben Cheng  TESTINST3("qsub r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
4202663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
4203663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
4204663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
4205663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
4206663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
4207663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
4208663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
4209663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
4210663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
4211663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
4212663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
4213663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
4214663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
4215663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
4216663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
4217663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
4218663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
4219663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
4220663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
4221663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
4222663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
4223663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
4224663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
4225663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
4226663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
4227663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
4228663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
4229663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
4230663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
4231663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
4232663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
4233663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
4234663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
4235663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
4236663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
4237663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
4238663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
4239663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
4240663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
4241663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
4242663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
4243663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
4244663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
4245663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
4246663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
4247663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
4248663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
4249663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
4250663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
4251663860b1408516d02ebfcb3a9999a134e6cfb223Ben ChengTESTINST3("qsub r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
4252b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
4253b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov/*
4254b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
4255b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
4256b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
4257b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
4258b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
4259b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
4260b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
4261b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
4262b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
4263b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy StepanovTESTINST3("theinsn", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
4264b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov*/
4265b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov
4266b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov  return 0;
4267b32f58018498ea2225959b0ba11c18f0c433deefEvgeniy Stepanov}
4268