v6media.c revision 9bea4c13fca0e3bb4b719dcb3ed63d47d479294e
1 2/* How to compile: 3 gcc -g -Wall -mcpu=cortex-a8 -o v6mediaA -marm none/tests/arm/v6media.c 4 or 5 gcc -g -Wall -mcpu=cortex-a8 -o v6mediaT -mthumb none/tests/arm/v6media.c 6*/ 7 8#include <stdio.h> 9 10static int gen_cin(cin) 11{ 12 int r = ((cin & 1) ? (1<<29) : 0); 13 //r |= (1 << 31) | (1 << 30); 14 return r; 15} 16 17/* test macros to generate and output the result of a single instruction */ 18#define TESTINST2(instruction, RMval, RD, RM, carryin) \ 19{ \ 20 unsigned int out; \ 21 unsigned int cpsr; \ 22\ 23 __asm__ volatile( \ 24 "msr cpsr_fs, %3;" \ 25 "mov " #RM ",%2;" \ 26 /* set #RD to 0x55555555 so we can see which parts get overwritten */ \ 27 "mov " #RD ", #0x55" "\n\t" \ 28 "orr " #RD "," #RD "," #RD ", LSL #8" "\n\t" \ 29 "orr " #RD "," #RD "," #RD ", LSL #16" "\n\t" \ 30 instruction ";" \ 31 "mov %0," #RD ";" \ 32 "mrs %1,cpsr;" \ 33 : "=&r" (out), "=&r" (cpsr) \ 34 : "r" (RMval), "r" (gen_cin(carryin)) \ 35 : #RD, #RM, "cc", "memory" \ 36 ); \ 37 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", \ 38 instruction, out, RMval, \ 39 carryin ? 1 : 0, \ 40 cpsr & 0xffff0000, \ 41 ((1<<31) & cpsr) ? 'N' : ' ', \ 42 ((1<<30) & cpsr) ? 'Z' : ' ', \ 43 ((1<<29) & cpsr) ? 'C' : ' ', \ 44 ((1<<28) & cpsr) ? 'V' : ' ', \ 45 ((1<<27) & cpsr) ? 'Q' : ' ', \ 46 (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \ 47 ); \ 48} 49 50#define TESTINST3(instruction, RMval, RNval, RD, RM, RN, carryin) \ 51{ \ 52 unsigned int out; \ 53 unsigned int cpsr; \ 54\ 55 __asm__ volatile( \ 56 "msr cpsr_fs, %4;" \ 57 "mov " #RM ",%2;" \ 58 "mov " #RN ",%3;" \ 59 instruction ";" \ 60 "mov %0," #RD ";" \ 61 "mrs %1,cpsr;" \ 62 : "=&r" (out), "=&r" (cpsr) \ 63 : "r" (RMval), "r" (RNval), "r" (gen_cin(carryin)) \ 64 : #RD, #RM, #RN, "cc", "memory" \ 65 ); \ 66 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", \ 67 instruction, out, RMval, RNval, \ 68 carryin ? 1 : 0, \ 69 cpsr & 0xffff0000, \ 70 ((1<<31) & cpsr) ? 'N' : ' ', \ 71 ((1<<30) & cpsr) ? 'Z' : ' ', \ 72 ((1<<29) & cpsr) ? 'C' : ' ', \ 73 ((1<<28) & cpsr) ? 'V' : ' ', \ 74 ((1<<27) & cpsr) ? 'Q' : ' ', \ 75 (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \ 76 ); \ 77} 78 79#define TESTINST4(instruction, RMval, RNval, RSval, RD, RM, RN, RS, carryin) \ 80{ \ 81 unsigned int out; \ 82 unsigned int cpsr; \ 83\ 84 __asm__ volatile( \ 85 "msr cpsr_fs, %5;" \ 86 "mov " #RM ",%2;" \ 87 "mov " #RN ",%3;" \ 88 "mov " #RS ",%4;" \ 89 instruction ";" \ 90 "mov %0," #RD ";" \ 91 "mrs %1,cpsr;" \ 92 : "=&r" (out), "=&r" (cpsr) \ 93 : "r" (RMval), "r" (RNval), "r" (RSval), "r" (gen_cin(carryin)) \ 94 : #RD, #RM, #RN, #RS, "cc", "memory" \ 95 ); \ 96 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", \ 97 instruction, out, RMval, RNval, RSval, \ 98 carryin ? 1 : 0, \ 99 cpsr & 0xffff0000, \ 100 ((1<<31) & cpsr) ? 'N' : ' ', \ 101 ((1<<30) & cpsr) ? 'Z' : ' ', \ 102 ((1<<29) & cpsr) ? 'C' : ' ', \ 103 ((1<<28) & cpsr) ? 'V' : ' ', \ 104 ((1<<27) & cpsr) ? 'Q' : ' ', \ 105 (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \ 106 ); \ 107} 108 109#define TESTINST4_2OUT(instruction, RDval, RD2val, RMval, RSval, RD, RD2, RM, RS, carryin) \ 110{ \ 111 unsigned int out; \ 112 unsigned int out2; \ 113 unsigned int cpsr; \ 114\ 115 __asm__ volatile( \ 116 "msr cpsr_fs, %7;" \ 117 "mov " #RD ",%3;" \ 118 "mov " #RD2 ",%4;" \ 119 "mov " #RM ",%5;" \ 120 "mov " #RS ",%6;" \ 121 instruction ";" \ 122 "mov %0," #RD ";" \ 123 "mov %1," #RD2 ";" \ 124 "mrs %2,cpsr;" \ 125 : "=&r" (out), "=&r" (out2), "=&r" (cpsr) \ 126 : "r" (RDval), "r" (RD2val), "r" (RMval), "r" (RSval), "r" (gen_cin(carryin)) \ 127 : #RD, #RD2, #RM, #RS, "cc", "memory" \ 128 ); \ 129 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", \ 130 instruction, out, out2, RMval, RSval, \ 131 carryin ? 1 : 0, \ 132 cpsr & 0xffff0000, \ 133 ((1<<31) & cpsr) ? 'N' : ' ', \ 134 ((1<<30) & cpsr) ? 'Z' : ' ', \ 135 ((1<<29) & cpsr) ? 'C' : ' ', \ 136 ((1<<28) & cpsr) ? 'V' : ' ', \ 137 ((1<<27) & cpsr) ? 'Q' : ' ', \ 138 (cpsr >> 19) & 1, (cpsr >> 18) & 1, (cpsr >> 17) & 1, (cpsr >> 16) & 1 \ 139 ); \ 140} 141 142/* helpers */ 143#define TESTCARRY { int c = 0; for (c = 0; c < 2; c++) { 144#define TESTCARRYEND }} 145 146 147 148 149int main(int argc, char **argv) 150{ 151 printf("MUL\n"); 152 TESTINST3("mul r0, r1, r2", 0, 0, r0, r1, r2, 0); 153 TESTINST3("mul r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 154 TESTINST3("mul r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 155 TESTINST3("mul r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 156 TESTINST3("mul r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 157 TESTINST3("mul r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 158 159#if 0 160 printf("MULS\n"); 161 TESTINST3("muls r0, r1, r2", 0, 0, r0, r1, r2, 0); 162 TESTINST3("muls r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0); 163 TESTINST3("muls r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0); 164 TESTINST3("muls r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 165 TESTINST3("muls r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0); 166 TESTINST3("muls r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 167#endif 168 169 printf("MLA\n"); 170 TESTINST4("mla r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 171 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 172 TESTINST4("mla r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 173 TESTINST4("mla r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 174 TESTINST4("mla r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 175 TESTINST4("mla r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 176 177#if 0 178 printf("MLAS\n"); 179 TESTINST4("mlas r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 180 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 181 TESTINST4("mlas r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 182 TESTINST4("mlas r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 183 TESTINST4("mlas r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 184 TESTINST4("mlas r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 185#endif 186 187 printf("MLS\n"); 188 TESTINST4("mls r0, r1, r2, r3", 0, 0, 1, r0, r1, r2, r3, 0); 189 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0, 1, r0, r1, r2, r3, 0); 190 TESTINST4("mls r0, r1, r2, r3", 0, 0xffffffff, 1, r0, r1, r2, r3, 0); 191 TESTINST4("mls r0, r1, r2, r3", 0xffffffff, 0xffffffff, 1, r0, r1, r2, r3, 0); 192 TESTINST4("mls r0, r1, r2, r3", 0x7fffffff, 0x7fffffff, 1, r0, r1, r2, r3, 0); 193 TESTINST4("mls r0, r1, r2, r3", 0x0000ffff, 0x0000ffff, 1, r0, r1, r2, r3, 0); 194 195 printf("UMULL\n"); 196 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 197 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 198 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 199 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 200 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 201 TESTINST4_2OUT("umull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 202#if 0 203 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 204 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 205 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 206 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 207 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 208 TESTINST4_2OUT("umulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 209#endif 210 printf("SMULL\n"); 211 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 212 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 213 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 214 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 215 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 216 TESTINST4_2OUT("smull r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 217#if 0 218 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 219 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 220 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 221 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 222 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 223 TESTINST4_2OUT("smulls r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 224#endif 225 226 printf("UMLAL\n"); 227 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 228 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 229 TESTINST4_2OUT("umlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 230 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 231 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 232 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 233 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 234 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 235 TESTINST4_2OUT("umlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 236#if 0 237 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 238 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 239 TESTINST4_2OUT("umlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 240 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 241 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 242 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 243 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 244 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 245 TESTINST4_2OUT("umlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 246#endif 247 248 printf("SMLAL\n"); 249 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 250 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 251 TESTINST4_2OUT("smlal r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 252 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 253 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 254 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 255 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 256 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 257 TESTINST4_2OUT("smlal r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 258#if 0 259 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0); 260 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0); 261 TESTINST4_2OUT("smlals r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0); 262 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0); 263 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0); 264 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0); 265 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0); 266 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0); 267 TESTINST4_2OUT("smlals r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0); 268#endif 269 270 printf("CLZ\n"); 271 TESTCARRY 272 TESTINST2("clz r0, r1", 0, r0, r1, c); 273 TESTINST2("clz r0, r1", 1, r0, r1, c); 274 TESTINST2("clz r0, r1", 0x10, r0, r1, c); 275 TESTINST2("clz r0, r1", 0xffffffff, r0, r1, c); 276 TESTCARRYEND 277 278 printf("extend instructions\n"); 279 TESTINST2("uxtb r0, r1", 0, r0, r1, 0); 280 TESTINST2("uxtb r0, r1", 1, r0, r1, 0); 281 TESTINST2("uxtb r0, r1", 0xff, r0, r1, 0); 282 TESTINST2("uxtb r0, r1", 0xffffffff, r0, r1, 0); 283 TESTINST2("sxtb r0, r1", 0, r0, r1, 0); 284 TESTINST2("sxtb r0, r1", 1, r0, r1, 0); 285 TESTINST2("sxtb r0, r1", 0xff, r0, r1, 0); 286 TESTINST2("sxtb r0, r1", 0xffffffff, r0, r1, 0); 287 288 TESTINST2("uxth r0, r1", 0, r0, r1, 0); 289 TESTINST2("uxth r0, r1", 1, r0, r1, 0); 290 TESTINST2("uxth r0, r1", 0xffff, r0, r1, 0); 291 TESTINST2("uxth r0, r1", 0xffffffff, r0, r1, 0); 292 TESTINST2("sxth r0, r1", 0, r0, r1, 0); 293 TESTINST2("sxth r0, r1", 1, r0, r1, 0); 294 TESTINST2("sxth r0, r1", 0x7fff, r0, r1, 0); 295 TESTINST2("sxth r0, r1", 0xffff, r0, r1, 0); 296 TESTINST2("sxth r0, r1", 0x10ffff, r0, r1, 0); 297 TESTINST2("sxth r0, r1", 0x107fff, r0, r1, 0); 298 TESTINST2("sxth r0, r1", 0xffffffff, r0, r1, 0); 299 300 TESTINST2("uxtb r0, r1, ror #0", 0x000000ff, r0, r1, 0); 301 TESTINST2("uxtb r0, r1, ror #8", 0x000000ff, r0, r1, 0); 302 TESTINST2("uxtb r0, r1, ror #8", 0x0000ff00, r0, r1, 0); 303 TESTINST2("uxtb r0, r1, ror #16", 0x00ff0000, r0, r1, 0); 304 TESTINST2("uxtb r0, r1, ror #24", 0xff000000, r0, r1, 0); 305 306 TESTINST2("uxtb16 r0, r1", 0xffffffff, r0, r1, 0); 307 TESTINST2("uxtb16 r0, r1, ror #16", 0x0000ffff, r0, r1, 0); 308 TESTINST2("sxtb16 r0, r1", 0xffffffff, r0, r1, 0); 309 TESTINST2("sxtb16 r0, r1", 0x00ff00ff, r0, r1, 0); 310 TESTINST2("sxtb16 r0, r1", 0x007f007f, r0, r1, 0); 311 312 printf("------------ BFI ------------\n"); 313 /* bfi rDst, rSrc, #lsb-in-dst, #number-of-bits-to-copy */ 314 TESTINST2("bfi r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 315 TESTINST2("bfi r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 316 TESTINST2("bfi r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 317 318 TESTINST2("bfi r0, r1, #19, #11", 0xFFFFFFFF, r0, r1, 0); 319 TESTINST2("bfi r0, r1, #20, #11", 0xFFFFFFFF, r0, r1, 0); 320 TESTINST2("bfi r0, r1, #21, #11", 0xFFFFFFFF, r0, r1, 0); 321 322 TESTINST2("bfi r0, r1, #0, #32", 0xFFFFFFFF, r0, r1, 0); 323 TESTINST2("bfi r0, r1, #1, #31", 0xFFFFFFFF, r0, r1, 0); 324 325 TESTINST2("bfi r0, r1, #29, #3", 0xFFFFFFFF, r0, r1, 0); 326 TESTINST2("bfi r0, r1, #30, #2", 0xFFFFFFFF, r0, r1, 0); 327 TESTINST2("bfi r0, r1, #31, #1", 0xFFFFFFFF, r0, r1, 0); 328 329 printf("------------ BFC ------------\n"); 330 /* bfi rDst, #lsb-in-dst, #number-of-bits-to-copy */ 331 TESTINST2("bfc r0, #0, #11", 0xAAAAAAAA, r0, r1, 0); 332 TESTINST2("bfc r0, #1, #11", 0xAAAAAAAA, r0, r1, 0); 333 TESTINST2("bfc r0, #2, #11", 0xAAAAAAAA, r0, r1, 0); 334 335 TESTINST2("bfc r0, #19, #11", 0xFFFFFFFF, r0, r1, 0); 336 TESTINST2("bfc r0, #20, #11", 0xFFFFFFFF, r0, r1, 0); 337 TESTINST2("bfc r0, #21, #11", 0xFFFFFFFF, r0, r1, 0); 338 339 TESTINST2("bfc r0, #0, #32", 0xFFFFFFFF, r0, r1, 0); 340 TESTINST2("bfc r0, #1, #31", 0xFFFFFFFF, r0, r1, 0); 341 342 TESTINST2("bfc r0, #29, #3", 0xFFFFFFFF, r0, r1, 0); 343 TESTINST2("bfc r0, #30, #2", 0xFFFFFFFF, r0, r1, 0); 344 TESTINST2("bfc r0, #31, #1", 0xFFFFFFFF, r0, r1, 0); 345 346 printf("------------ SBFX ------------\n"); 347 /* sbfx rDst, rSrc, #lsb, #width */ 348 TESTINST2("sbfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 349 TESTINST2("sbfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 350 TESTINST2("sbfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 351 TESTINST2("sbfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 352 TESTINST2("sbfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 353 TESTINST2("sbfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 354 355 TESTINST2("sbfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 356 TESTINST2("sbfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 357 TESTINST2("sbfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 358 TESTINST2("sbfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 359 TESTINST2("sbfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 360 TESTINST2("sbfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 361 362 TESTINST2("sbfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 363 TESTINST2("sbfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 364 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 365 TESTINST2("sbfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 366 TESTINST2("sbfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 367 TESTINST2("sbfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 368 369 printf("------------ UBFX ------------\n"); 370 /* ubfx rDst, rSrc, #lsb, #width */ 371 TESTINST2("ubfx r0, r1, #0, #1", 0x00000000, r0, r1, 0); 372 TESTINST2("ubfx r0, r1, #0, #1", 0x00000001, r0, r1, 0); 373 TESTINST2("ubfx r0, r1, #1, #1", 0x00000000, r0, r1, 0); 374 TESTINST2("ubfx r0, r1, #1, #1", 0x00000001, r0, r1, 0); 375 TESTINST2("ubfx r0, r1, #1, #1", 0x00000002, r0, r1, 0); 376 TESTINST2("ubfx r0, r1, #1, #1", 0x00000003, r0, r1, 0); 377 378 TESTINST2("ubfx r0, r1, #0, #2", 0x00000000, r0, r1, 0); 379 TESTINST2("ubfx r0, r1, #0, #2", 0x00000001, r0, r1, 0); 380 TESTINST2("ubfx r0, r1, #1, #2", 0x00000000, r0, r1, 0); 381 TESTINST2("ubfx r0, r1, #1, #2", 0x00000001, r0, r1, 0); 382 TESTINST2("ubfx r0, r1, #1, #2", 0x00000002, r0, r1, 0); 383 TESTINST2("ubfx r0, r1, #1, #2", 0x00000003, r0, r1, 0); 384 385 TESTINST2("ubfx r0, r1, #0, #11", 0xAAAAAAAA, r0, r1, 0); 386 TESTINST2("ubfx r0, r1, #1, #11", 0xAAAAAAAA, r0, r1, 0); 387 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 388 TESTINST2("ubfx r0, r1, #2, #11", 0xAAAAAAAA, r0, r1, 0); 389 TESTINST2("ubfx r0, r1, #31, #1", 0xAAAAAAAA, r0, r1, 0); 390 TESTINST2("ubfx r0, r1, #30, #2", 0xAAAAAAAA, r0, r1, 0); 391 392 printf("------------ SMUL{B,T}{B,T} ------------\n"); 393 /* SMULbb rD, rN, rM */ 394 TESTINST3("smulbb r0, r1, r2", 0x00030000, 0x00040000, r0, r1, r2, 0); 395 TESTINST3("smulbb r0, r1, r2", 0x00030001, 0x00040002, r0, r1, r2, 0); 396 TESTINST3("smulbb r0, r1, r2", 0x00038001, 0x00047fff, r0, r1, r2, 0); 397 TESTINST3("smulbb r0, r1, r2", 0x00037fff, 0x00047fff, r0, r1, r2, 0); 398 TESTINST3("smulbb r0, r1, r2", 0x0003ffff, 0x0004ffff, r0, r1, r2, 0); 399TESTINST3("smulbb r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0); 400TESTINST3("smulbb r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0); 401TESTINST3("smulbb r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0); 402TESTINST3("smulbb r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0); 403TESTINST3("smulbb r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0); 404TESTINST3("smulbb r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0); 405TESTINST3("smulbb r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0); 406TESTINST3("smulbb r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0); 407TESTINST3("smulbb r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0); 408TESTINST3("smulbb r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0); 409TESTINST3("smulbb r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0); 410TESTINST3("smulbb r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0); 411TESTINST3("smulbb r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0); 412TESTINST3("smulbb r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0); 413TESTINST3("smulbb r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0); 414TESTINST3("smulbb r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0); 415TESTINST3("smulbb r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0); 416TESTINST3("smulbb r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0); 417TESTINST3("smulbb r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0); 418TESTINST3("smulbb r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0); 419TESTINST3("smulbb r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0); 420TESTINST3("smulbb r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0); 421TESTINST3("smulbb r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0); 422TESTINST3("smulbb r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0); 423TESTINST3("smulbb r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0); 424TESTINST3("smulbb r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0); 425TESTINST3("smulbb r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0); 426TESTINST3("smulbb r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0); 427TESTINST3("smulbb r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0); 428TESTINST3("smulbb r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0); 429TESTINST3("smulbb r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0); 430TESTINST3("smulbb r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0); 431TESTINST3("smulbb r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0); 432TESTINST3("smulbb r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0); 433TESTINST3("smulbb r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0); 434TESTINST3("smulbb r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0); 435TESTINST3("smulbb r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0); 436TESTINST3("smulbb r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0); 437TESTINST3("smulbb r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0); 438TESTINST3("smulbb r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0); 439TESTINST3("smulbb r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0); 440TESTINST3("smulbb r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0); 441TESTINST3("smulbb r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0); 442TESTINST3("smulbb r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0); 443TESTINST3("smulbb r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0); 444TESTINST3("smulbb r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0); 445TESTINST3("smulbb r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0); 446TESTINST3("smulbb r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0); 447TESTINST3("smulbb r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0); 448TESTINST3("smulbb r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0); 449 /* SMULtt rD, rN, rM */ 450 TESTINST3("smultt r0, r1, r2", 0x00000003, 0x00000004, r0, r1, r2, 0); 451 TESTINST3("smultt r0, r1, r2", 0x00010003, 0x00020004, r0, r1, r2, 0); 452 TESTINST3("smultt r0, r1, r2", 0x80010003, 0x7fff0004, r0, r1, r2, 0); 453 TESTINST3("smultt r0, r1, r2", 0x7fff0003, 0x7fff0004, r0, r1, r2, 0); 454 TESTINST3("smultt r0, r1, r2", 0xffff0003, 0xffff0004, r0, r1, r2, 0); 455TESTINST3("smultt r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0); 456TESTINST3("smultt r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0); 457TESTINST3("smultt r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0); 458TESTINST3("smultt r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0); 459TESTINST3("smultt r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0); 460TESTINST3("smultt r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0); 461TESTINST3("smultt r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0); 462TESTINST3("smultt r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0); 463TESTINST3("smultt r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0); 464TESTINST3("smultt r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0); 465TESTINST3("smultt r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0); 466TESTINST3("smultt r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0); 467TESTINST3("smultt r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0); 468TESTINST3("smultt r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0); 469TESTINST3("smultt r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0); 470TESTINST3("smultt r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0); 471TESTINST3("smultt r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0); 472TESTINST3("smultt r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0); 473TESTINST3("smultt r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0); 474TESTINST3("smultt r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0); 475TESTINST3("smultt r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0); 476TESTINST3("smultt r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0); 477TESTINST3("smultt r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0); 478TESTINST3("smultt r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0); 479TESTINST3("smultt r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0); 480TESTINST3("smultt r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0); 481TESTINST3("smultt r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0); 482TESTINST3("smultt r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0); 483TESTINST3("smultt r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0); 484TESTINST3("smultt r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0); 485TESTINST3("smultt r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0); 486TESTINST3("smultt r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0); 487TESTINST3("smultt r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0); 488TESTINST3("smultt r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0); 489TESTINST3("smultt r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0); 490TESTINST3("smultt r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0); 491TESTINST3("smultt r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0); 492TESTINST3("smultt r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0); 493TESTINST3("smultt r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0); 494TESTINST3("smultt r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0); 495TESTINST3("smultt r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0); 496TESTINST3("smultt r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0); 497TESTINST3("smultt r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0); 498TESTINST3("smultt r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0); 499TESTINST3("smultt r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0); 500TESTINST3("smultt r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0); 501TESTINST3("smultt r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0); 502TESTINST3("smultt r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0); 503TESTINST3("smultt r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0); 504TESTINST3("smultt r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0); 505 /* SMULtb rD, rN, rM */ 506 TESTINST3("smultb r0, r1, r2", 0x00000003, 0x00040000, r0, r1, r2, 0); 507 TESTINST3("smultb r0, r1, r2", 0x00010003, 0x00040002, r0, r1, r2, 0); 508 TESTINST3("smultb r0, r1, r2", 0x80010003, 0x00047fff, r0, r1, r2, 0); 509 TESTINST3("smultb r0, r1, r2", 0x7fff0003, 0x00047fff, r0, r1, r2, 0); 510 TESTINST3("smultb r0, r1, r2", 0xffff0003, 0x0004ffff, r0, r1, r2, 0); 511TESTINST3("smultb r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0); 512TESTINST3("smultb r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0); 513TESTINST3("smultb r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0); 514TESTINST3("smultb r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0); 515TESTINST3("smultb r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0); 516TESTINST3("smultb r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0); 517TESTINST3("smultb r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0); 518TESTINST3("smultb r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0); 519TESTINST3("smultb r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0); 520TESTINST3("smultb r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0); 521TESTINST3("smultb r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0); 522TESTINST3("smultb r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0); 523TESTINST3("smultb r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0); 524TESTINST3("smultb r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0); 525TESTINST3("smultb r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0); 526TESTINST3("smultb r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0); 527TESTINST3("smultb r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0); 528TESTINST3("smultb r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0); 529TESTINST3("smultb r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0); 530TESTINST3("smultb r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0); 531TESTINST3("smultb r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0); 532TESTINST3("smultb r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0); 533TESTINST3("smultb r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0); 534TESTINST3("smultb r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0); 535TESTINST3("smultb r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0); 536TESTINST3("smultb r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0); 537TESTINST3("smultb r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0); 538TESTINST3("smultb r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0); 539TESTINST3("smultb r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0); 540TESTINST3("smultb r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0); 541TESTINST3("smultb r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0); 542TESTINST3("smultb r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0); 543TESTINST3("smultb r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0); 544TESTINST3("smultb r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0); 545TESTINST3("smultb r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0); 546TESTINST3("smultb r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0); 547TESTINST3("smultb r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0); 548TESTINST3("smultb r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0); 549TESTINST3("smultb r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0); 550TESTINST3("smultb r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0); 551TESTINST3("smultb r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0); 552TESTINST3("smultb r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0); 553TESTINST3("smultb r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0); 554TESTINST3("smultb r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0); 555TESTINST3("smultb r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0); 556TESTINST3("smultb r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0); 557TESTINST3("smultb r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0); 558TESTINST3("smultb r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0); 559TESTINST3("smultb r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0); 560TESTINST3("smultb r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0); 561 /* SMULbt rD, rN, rM */ 562 TESTINST3("smulbt r0, r1, r2", 0x00030000, 0x00000004, r0, r1, r2, 0); 563 TESTINST3("smulbt r0, r1, r2", 0x00030001, 0x00020004, r0, r1, r2, 0); 564 TESTINST3("smulbt r0, r1, r2", 0x00038001, 0x7fff0004, r0, r1, r2, 0); 565 TESTINST3("smulbt r0, r1, r2", 0x00037fff, 0x7fff0004, r0, r1, r2, 0); 566 TESTINST3("smulbt r0, r1, r2", 0x0003ffff, 0xffff0004, r0, r1, r2, 0); 567TESTINST3("smulbt r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0); 568TESTINST3("smulbt r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0); 569TESTINST3("smulbt r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0); 570TESTINST3("smulbt r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0); 571TESTINST3("smulbt r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0); 572TESTINST3("smulbt r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0); 573TESTINST3("smulbt r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0); 574TESTINST3("smulbt r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0); 575TESTINST3("smulbt r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0); 576TESTINST3("smulbt r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0); 577TESTINST3("smulbt r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0); 578TESTINST3("smulbt r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0); 579TESTINST3("smulbt r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0); 580TESTINST3("smulbt r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0); 581TESTINST3("smulbt r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0); 582TESTINST3("smulbt r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0); 583TESTINST3("smulbt r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0); 584TESTINST3("smulbt r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0); 585TESTINST3("smulbt r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0); 586TESTINST3("smulbt r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0); 587TESTINST3("smulbt r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0); 588TESTINST3("smulbt r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0); 589TESTINST3("smulbt r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0); 590TESTINST3("smulbt r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0); 591TESTINST3("smulbt r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0); 592TESTINST3("smulbt r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0); 593TESTINST3("smulbt r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0); 594TESTINST3("smulbt r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0); 595TESTINST3("smulbt r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0); 596TESTINST3("smulbt r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0); 597TESTINST3("smulbt r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0); 598TESTINST3("smulbt r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0); 599TESTINST3("smulbt r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0); 600TESTINST3("smulbt r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0); 601TESTINST3("smulbt r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0); 602TESTINST3("smulbt r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0); 603TESTINST3("smulbt r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0); 604TESTINST3("smulbt r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0); 605TESTINST3("smulbt r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0); 606TESTINST3("smulbt r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0); 607TESTINST3("smulbt r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0); 608TESTINST3("smulbt r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0); 609TESTINST3("smulbt r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0); 610TESTINST3("smulbt r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0); 611TESTINST3("smulbt r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0); 612TESTINST3("smulbt r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0); 613TESTINST3("smulbt r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0); 614TESTINST3("smulbt r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0); 615TESTINST3("smulbt r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0); 616TESTINST3("smulbt r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0); 617 618 printf("-------------- SMULW{B,T} --------------\n"); 619 /* SMULWB rD, rN, rM : Rn x Rm[31..16] */ 620 TESTINST3("smulwb r0, r1, r2", 0x00000003, 0x00020004, r0, r1, r2, 0); 621 TESTINST3("smulwb r0, r1, r2", 0x00010003, 0x47ff0004, r0, r1, r2, 0); 622 TESTINST3("smulwb r0, r1, r2", 0x80010003, 0x7fff0004, r0, r1, r2, 0); 623 TESTINST3("smulwb r0, r1, r2", 0x7fff0003, 0x7fff0004, r0, r1, r2, 0); 624 TESTINST3("smulwb r0, r1, r2", 0xffff0003, 0xffff0004, r0, r1, r2, 0); 625TESTINST3("smulwb r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0); 626TESTINST3("smulwb r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0); 627TESTINST3("smulwb r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0); 628TESTINST3("smulwb r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0); 629TESTINST3("smulwb r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0); 630TESTINST3("smulwb r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0); 631TESTINST3("smulwb r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0); 632TESTINST3("smulwb r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0); 633TESTINST3("smulwb r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0); 634TESTINST3("smulwb r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0); 635TESTINST3("smulwb r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0); 636TESTINST3("smulwb r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0); 637TESTINST3("smulwb r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0); 638TESTINST3("smulwb r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0); 639TESTINST3("smulwb r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0); 640TESTINST3("smulwb r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0); 641TESTINST3("smulwb r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0); 642TESTINST3("smulwb r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0); 643TESTINST3("smulwb r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0); 644TESTINST3("smulwb r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0); 645TESTINST3("smulwb r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0); 646TESTINST3("smulwb r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0); 647TESTINST3("smulwb r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0); 648TESTINST3("smulwb r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0); 649TESTINST3("smulwb r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0); 650TESTINST3("smulwb r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0); 651TESTINST3("smulwb r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0); 652TESTINST3("smulwb r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0); 653TESTINST3("smulwb r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0); 654TESTINST3("smulwb r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0); 655TESTINST3("smulwb r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0); 656TESTINST3("smulwb r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0); 657TESTINST3("smulwb r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0); 658TESTINST3("smulwb r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0); 659TESTINST3("smulwb r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0); 660TESTINST3("smulwb r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0); 661TESTINST3("smulwb r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0); 662TESTINST3("smulwb r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0); 663TESTINST3("smulwb r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0); 664TESTINST3("smulwb r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0); 665TESTINST3("smulwb r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0); 666TESTINST3("smulwb r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0); 667TESTINST3("smulwb r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0); 668TESTINST3("smulwb r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0); 669TESTINST3("smulwb r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0); 670TESTINST3("smulwb r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0); 671TESTINST3("smulwb r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0); 672TESTINST3("smulwb r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0); 673TESTINST3("smulwb r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0); 674TESTINST3("smulwb r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0); 675 /* SMULWT rD, rN, rM - Rn x Rm[15.. 0] */ 676 TESTINST3("smulwt r0, r1, r2", 0x00000003, 0x00040000, r0, r1, r2, 0); 677 TESTINST3("smulwt r0, r1, r2", 0x00010003, 0x00040002, r0, r1, r2, 0); 678 TESTINST3("smulwt r0, r1, r2", 0x80010003, 0x00047fff, r0, r1, r2, 0); 679 TESTINST3("smulwt r0, r1, r2", 0x7fff0003, 0x00047fff, r0, r1, r2, 0); 680 TESTINST3("smulwt r0, r1, r2", 0xffff0003, 0x0004ffff, r0, r1, r2, 0); 681TESTINST3("smulwt r0, r1, r2", 0x2575feb2, 0xd2c4287c, r0, r1, r2, 0); 682TESTINST3("smulwt r0, r1, r2", 0xfb412431, 0x4b90362d, r0, r1, r2, 0); 683TESTINST3("smulwt r0, r1, r2", 0x004dfbe5, 0xe87927cc, r0, r1, r2, 0); 684TESTINST3("smulwt r0, r1, r2", 0xf6a3fa3c, 0x083b3571, r0, r1, r2, 0); 685TESTINST3("smulwt r0, r1, r2", 0xbf17fb9a, 0xb9743941, r0, r1, r2, 0); 686TESTINST3("smulwt r0, r1, r2", 0x2c0bd024, 0xbce5f924, r0, r1, r2, 0); 687TESTINST3("smulwt r0, r1, r2", 0x3e976e2e, 0xcc3c201c, r0, r1, r2, 0); 688TESTINST3("smulwt r0, r1, r2", 0xb4bfb365, 0x1ebaf88e, r0, r1, r2, 0); 689TESTINST3("smulwt r0, r1, r2", 0x288593c0, 0x722d5e20, r0, r1, r2, 0); 690TESTINST3("smulwt r0, r1, r2", 0x4d7ff5b4, 0xa1d6f791, r0, r1, r2, 0); 691TESTINST3("smulwt r0, r1, r2", 0x4557be13, 0x7b11bee7, r0, r1, r2, 0); 692TESTINST3("smulwt r0, r1, r2", 0xadcf5772, 0xa5631488, r0, r1, r2, 0); 693TESTINST3("smulwt r0, r1, r2", 0x989a7235, 0xb10bcc65, r0, r1, r2, 0); 694TESTINST3("smulwt r0, r1, r2", 0x4d6f393a, 0x73f39fca, r0, r1, r2, 0); 695TESTINST3("smulwt r0, r1, r2", 0x24a3291e, 0x5648e540, r0, r1, r2, 0); 696TESTINST3("smulwt r0, r1, r2", 0xdd91eebf, 0xc54f79e6, r0, r1, r2, 0); 697TESTINST3("smulwt r0, r1, r2", 0xf7ce2ec6, 0x5fc92974, r0, r1, r2, 0); 698TESTINST3("smulwt r0, r1, r2", 0xbc1083e8, 0x7e08184e, r0, r1, r2, 0); 699TESTINST3("smulwt r0, r1, r2", 0xa617cc31, 0x71c8315f, r0, r1, r2, 0); 700TESTINST3("smulwt r0, r1, r2", 0xdfe1e8f0, 0x9493110e, r0, r1, r2, 0); 701TESTINST3("smulwt r0, r1, r2", 0x6ef49020, 0xba8a7e0d, r0, r1, r2, 0); 702TESTINST3("smulwt r0, r1, r2", 0x3dc4e36b, 0x21568e39, r0, r1, r2, 0); 703TESTINST3("smulwt r0, r1, r2", 0x52db4a9d, 0x55fcc8cf, r0, r1, r2, 0); 704TESTINST3("smulwt r0, r1, r2", 0x3564c76c, 0x14434a2a, r0, r1, r2, 0); 705TESTINST3("smulwt r0, r1, r2", 0x27836b0c, 0x3c855ca8, r0, r1, r2, 0); 706TESTINST3("smulwt r0, r1, r2", 0x62ff7c30, 0x30ece28e, r0, r1, r2, 0); 707TESTINST3("smulwt r0, r1, r2", 0x40955fdf, 0x057b562c, r0, r1, r2, 0); 708TESTINST3("smulwt r0, r1, r2", 0x3b34c270, 0x27e1475b, r0, r1, r2, 0); 709TESTINST3("smulwt r0, r1, r2", 0x7fdcda96, 0xd05893a7, r0, r1, r2, 0); 710TESTINST3("smulwt r0, r1, r2", 0xb6ab141d, 0x2dc43624, r0, r1, r2, 0); 711TESTINST3("smulwt r0, r1, r2", 0x403d53cb, 0x5328d58c, r0, r1, r2, 0); 712TESTINST3("smulwt r0, r1, r2", 0x21ef1aef, 0x87488a4a, r0, r1, r2, 0); 713TESTINST3("smulwt r0, r1, r2", 0x31458a23, 0xbb246228, r0, r1, r2, 0); 714TESTINST3("smulwt r0, r1, r2", 0x848af791, 0x339d8d88, r0, r1, r2, 0); 715TESTINST3("smulwt r0, r1, r2", 0xda3bacdc, 0x70974249, r0, r1, r2, 0); 716TESTINST3("smulwt r0, r1, r2", 0x649d5cbd, 0x8a8d4e7d, r0, r1, r2, 0); 717TESTINST3("smulwt r0, r1, r2", 0xc0c8c881, 0xeb1b4335, r0, r1, r2, 0); 718TESTINST3("smulwt r0, r1, r2", 0x7dd81a20, 0x0cd6b508, r0, r1, r2, 0); 719TESTINST3("smulwt r0, r1, r2", 0x6892886c, 0x6731e282, r0, r1, r2, 0); 720TESTINST3("smulwt r0, r1, r2", 0x112dcffc, 0xb6edf28f, r0, r1, r2, 0); 721TESTINST3("smulwt r0, r1, r2", 0xabfabbe6, 0x4b4ec9ca, r0, r1, r2, 0); 722TESTINST3("smulwt r0, r1, r2", 0xe52aabf8, 0xc1037fa4, r0, r1, r2, 0); 723TESTINST3("smulwt r0, r1, r2", 0xf2f4df1f, 0xcb4ab48f, r0, r1, r2, 0); 724TESTINST3("smulwt r0, r1, r2", 0x435f909a, 0xaf8f7e18, r0, r1, r2, 0); 725TESTINST3("smulwt r0, r1, r2", 0x2106ba5f, 0x87df4510, r0, r1, r2, 0); 726TESTINST3("smulwt r0, r1, r2", 0x246a6376, 0xabf4e8e1, r0, r1, r2, 0); 727TESTINST3("smulwt r0, r1, r2", 0x1046a1a3, 0xf4c0eeac, r0, r1, r2, 0); 728TESTINST3("smulwt r0, r1, r2", 0x638ca515, 0x006a54f2, r0, r1, r2, 0); 729TESTINST3("smulwt r0, r1, r2", 0xf63e7a9d, 0x79f74493, r0, r1, r2, 0); 730TESTINST3("smulwt r0, r1, r2", 0xbd6845cd, 0x9c09e313, r0, r1, r2, 0); 731 732 printf("------------ PKHBT / PKHTB ------------\n"); 733 /* PKHBT */ 734 TESTINST3("pkhbt r0, r1, r2, lsl #0", 0x11223344, 0x55667788, r0,r1,r2, 0); 735 TESTINST3("pkhbt r0, r1, r2, lsl #1", 0x11223344, 0x55667788, r0,r1,r2, 0); 736 TESTINST3("pkhbt r0, r1, r2, lsl #2", 0x11223344, 0x55667788, r0,r1,r2, 0); 737 TESTINST3("pkhbt r0, r1, r2, lsl #3", 0x11223344, 0x55667788, r0,r1,r2, 0); 738 TESTINST3("pkhbt r0, r1, r2, lsl #4", 0x11223344, 0x55667788, r0,r1,r2, 0); 739 TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x11223344, 0x55667788, r0,r1,r2, 0); 740 TESTINST3("pkhbt r0, r1, r2, lsl #22", 0x11223344, 0x55667788, r0,r1,r2, 0); 741 TESTINST3("pkhbt r0, r1, r2, lsl #31", 0x11223344, 0x55667788, r0,r1,r2, 0); 742TESTINST3("pkhbt r0, r1, r2", 0x50c28082, 0xc1553709, r0,r1,r2, 0); 743TESTINST3("pkhbt r0, r1, r2", 0x17962e8f, 0x69ec0212, r0,r1,r2, 0); 744TESTINST3("pkhbt r0, r1, r2", 0xc57243b7, 0x03fa9bb5, r0,r1,r2, 0); 745TESTINST3("pkhbt r0, r1, r2", 0x7eb226ac, 0xf52e9fbf, r0,r1,r2, 0); 746TESTINST3("pkhbt r0, r1, r2", 0xbce0f026, 0x7fcbe5a9, r0,r1,r2, 0); 747TESTINST3("pkhbt r0, r1, r2", 0xa5757252, 0x2dd01366, r0,r1,r2, 0); 748TESTINST3("pkhbt r0, r1, r2", 0xf4a477c1, 0x5e4b1cbf, r0,r1,r2, 0); 749TESTINST3("pkhbt r0, r1, r2", 0x76723a21, 0x464a21cc, r0,r1,r2, 0); 750TESTINST3("pkhbt r0, r1, r2", 0x74d01105, 0xe8108f1b, r0,r1,r2, 0); 751TESTINST3("pkhbt r0, r1, r2", 0xc1273e2c, 0xcd90d604, r0,r1,r2, 0); 752TESTINST3("pkhbt r0, r1, r2, lsl #0", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 753TESTINST3("pkhbt r0, r1, r2, lsl #1", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 754TESTINST3("pkhbt r0, r1, r2, lsl #2", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 755TESTINST3("pkhbt r0, r1, r2, lsl #3", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 756TESTINST3("pkhbt r0, r1, r2, lsl #4", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 757TESTINST3("pkhbt r0, r1, r2, lsl #8", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 758TESTINST3("pkhbt r0, r1, r2, lsl #12", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 759TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 760TESTINST3("pkhbt r0, r1, r2, lsl #24", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 761TESTINST3("pkhbt r0, r1, r2, lsl #31", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 762TESTINST3("pkhbt r0, r1, r2, lsl #0", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 763TESTINST3("pkhbt r0, r1, r2, lsl #1", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 764TESTINST3("pkhbt r0, r1, r2, lsl #2", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 765TESTINST3("pkhbt r0, r1, r2, lsl #3", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 766TESTINST3("pkhbt r0, r1, r2, lsl #4", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 767TESTINST3("pkhbt r0, r1, r2, lsl #8", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 768TESTINST3("pkhbt r0, r1, r2, lsl #12", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 769TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 770TESTINST3("pkhbt r0, r1, r2, lsl #24", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 771TESTINST3("pkhbt r0, r1, r2, lsl #31", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 772TESTINST3("pkhbt r0, r1, r2, lsl #0", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 773TESTINST3("pkhbt r0, r1, r2, lsl #1", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 774TESTINST3("pkhbt r0, r1, r2, lsl #2", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 775TESTINST3("pkhbt r0, r1, r2, lsl #3", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 776TESTINST3("pkhbt r0, r1, r2, lsl #4", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 777TESTINST3("pkhbt r0, r1, r2, lsl #8", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 778TESTINST3("pkhbt r0, r1, r2, lsl #12", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 779TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 780TESTINST3("pkhbt r0, r1, r2, lsl #24", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 781TESTINST3("pkhbt r0, r1, r2, lsl #31", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 782TESTINST3("pkhbt r0, r1, r2, lsl #0", 0xd5dc5407, 0xf87b961e, r0,r1,r2, 0); 783TESTINST3("pkhbt r0, r1, r2, lsl #1", 0xd65db979, 0xc61b323b, r0,r1,r2, 0); 784TESTINST3("pkhbt r0, r1, r2, lsl #2", 0xa3268abe, 0xed2cbf78, r0,r1,r2, 0); 785TESTINST3("pkhbt r0, r1, r2, lsl #3", 0xbf73f0a5, 0x2fb714c9, r0,r1,r2, 0); 786TESTINST3("pkhbt r0, r1, r2, lsl #4", 0x281703ed, 0x925ef472, r0,r1,r2, 0); 787TESTINST3("pkhbt r0, r1, r2, lsl #8", 0xeaa652c7, 0x137741f4, r0,r1,r2, 0); 788TESTINST3("pkhbt r0, r1, r2, lsl #12", 0x71fbde8b, 0xdba5bd25, r0,r1,r2, 0); 789TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x884c0ad8, 0xc00b821a, r0,r1,r2, 0); 790TESTINST3("pkhbt r0, r1, r2, lsl #24", 0xe1bb8606, 0x58293969, r0,r1,r2, 0); 791TESTINST3("pkhbt r0, r1, r2, lsl #31", 0xa3cfd624, 0x6077fb1f, r0,r1,r2, 0); 792TESTINST3("pkhbt r0, r1, r2, lsl #0", 0x40b094e2, 0x17913309, r0,r1,r2, 0); 793TESTINST3("pkhbt r0, r1, r2, lsl #1", 0x5388b5cd, 0x86582032, r0,r1,r2, 0); 794TESTINST3("pkhbt r0, r1, r2, lsl #2", 0x5de41558, 0xccfa1c7e, r0,r1,r2, 0); 795TESTINST3("pkhbt r0, r1, r2, lsl #3", 0x23ba1b46, 0x4437983c, r0,r1,r2, 0); 796TESTINST3("pkhbt r0, r1, r2, lsl #4", 0x48d06549, 0xa9085781, r0,r1,r2, 0); 797TESTINST3("pkhbt r0, r1, r2, lsl #8", 0xc6b4ac58, 0xb2aead21, r0,r1,r2, 0); 798TESTINST3("pkhbt r0, r1, r2, lsl #12", 0xc2bdf597, 0xdde1e6a4, r0,r1,r2, 0); 799TESTINST3("pkhbt r0, r1, r2, lsl #16", 0x852e3a72, 0x157b0dea, r0,r1,r2, 0); 800TESTINST3("pkhbt r0, r1, r2, lsl #24", 0xe7aa57b4, 0x1584bd74, r0,r1,r2, 0); 801TESTINST3("pkhbt r0, r1, r2, lsl #31", 0xd4b64d54, 0xc53aaba9, r0,r1,r2, 0); 802 /* PKHTB */ 803 TESTINST3("pkhtb r0, r1, r2, asr #0", 0x11223344, 0x55667788, r0,r1,r2, 0); 804 TESTINST3("pkhtb r0, r1, r2, asr #1", 0x11223344, 0x55667788, r0,r1,r2, 0); 805 TESTINST3("pkhtb r0, r1, r2, asr #2", 0x11223344, 0x55667788, r0,r1,r2, 0); 806 TESTINST3("pkhtb r0, r1, r2, asr #3", 0x11223344, 0x55667788, r0,r1,r2, 0); 807 TESTINST3("pkhtb r0, r1, r2, asr #4", 0x11223344, 0x55667788, r0,r1,r2, 0); 808 TESTINST3("pkhtb r0, r1, r2, asr #16", 0x11223344, 0x55667788, r0,r1,r2, 0); 809 TESTINST3("pkhtb r0, r1, r2, asr #22", 0x11223344, 0x55667788, r0,r1,r2, 0); 810 TESTINST3("pkhtb r0, r1, r2, asr #31", 0x11223344, 0x55667788, r0,r1,r2, 0); 811TESTINST3("pkhtb r0, r1, r2", 0x50c28082, 0xc1553709, r0,r1,r2, 0); 812TESTINST3("pkhtb r0, r1, r2", 0x17962e8f, 0x69ec0212, r0,r1,r2, 0); 813TESTINST3("pkhtb r0, r1, r2", 0xc57243b7, 0x03fa9bb5, r0,r1,r2, 0); 814TESTINST3("pkhtb r0, r1, r2", 0x7eb226ac, 0xf52e9fbf, r0,r1,r2, 0); 815TESTINST3("pkhtb r0, r1, r2", 0xbce0f026, 0x7fcbe5a9, r0,r1,r2, 0); 816TESTINST3("pkhtb r0, r1, r2", 0xa5757252, 0x2dd01366, r0,r1,r2, 0); 817TESTINST3("pkhtb r0, r1, r2", 0xf4a477c1, 0x5e4b1cbf, r0,r1,r2, 0); 818TESTINST3("pkhtb r0, r1, r2", 0x76723a21, 0x464a21cc, r0,r1,r2, 0); 819TESTINST3("pkhtb r0, r1, r2", 0x74d01105, 0xe8108f1b, r0,r1,r2, 0); 820TESTINST3("pkhtb r0, r1, r2", 0xc1273e2c, 0xcd90d604, r0,r1,r2, 0); 821TESTINST3("pkhtb r0, r1, r2, asr #0", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 822TESTINST3("pkhtb r0, r1, r2, asr #1", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 823TESTINST3("pkhtb r0, r1, r2, asr #2", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 824TESTINST3("pkhtb r0, r1, r2, asr #3", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 825TESTINST3("pkhtb r0, r1, r2, asr #4", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 826TESTINST3("pkhtb r0, r1, r2, asr #8", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 827TESTINST3("pkhtb r0, r1, r2, asr #12", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 828TESTINST3("pkhtb r0, r1, r2, asr #16", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 829TESTINST3("pkhtb r0, r1, r2, asr #24", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 830TESTINST3("pkhtb r0, r1, r2, asr #31", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 831TESTINST3("pkhtb r0, r1, r2, asr #32", 0x5f986e68, 0x35232047, r0,r1,r2, 0); 832TESTINST3("pkhtb r0, r1, r2, asr #0", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 833TESTINST3("pkhtb r0, r1, r2, asr #1", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 834TESTINST3("pkhtb r0, r1, r2, asr #2", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 835TESTINST3("pkhtb r0, r1, r2, asr #3", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 836TESTINST3("pkhtb r0, r1, r2, asr #4", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 837TESTINST3("pkhtb r0, r1, r2, asr #8", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 838TESTINST3("pkhtb r0, r1, r2, asr #12", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 839TESTINST3("pkhtb r0, r1, r2, asr #16", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 840TESTINST3("pkhtb r0, r1, r2, asr #24", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 841TESTINST3("pkhtb r0, r1, r2, asr #31", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 842TESTINST3("pkhtb r0, r1, r2, asr #32", 0x36f26261, 0x89d2ef86, r0,r1,r2, 0); 843TESTINST3("pkhtb r0, r1, r2, asr #0", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 844TESTINST3("pkhtb r0, r1, r2, asr #1", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 845TESTINST3("pkhtb r0, r1, r2, asr #2", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 846TESTINST3("pkhtb r0, r1, r2, asr #3", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 847TESTINST3("pkhtb r0, r1, r2, asr #4", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 848TESTINST3("pkhtb r0, r1, r2, asr #8", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 849TESTINST3("pkhtb r0, r1, r2, asr #12", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 850TESTINST3("pkhtb r0, r1, r2, asr #16", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 851TESTINST3("pkhtb r0, r1, r2, asr #24", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 852TESTINST3("pkhtb r0, r1, r2, asr #31", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 853TESTINST3("pkhtb r0, r1, r2, asr #32", 0x216158cb, 0x57a50a01, r0,r1,r2, 0); 854TESTINST3("pkhtb r0, r1, r2, asr #0", 0xd5dc5407, 0xf87b961e, r0,r1,r2, 0); 855TESTINST3("pkhtb r0, r1, r2, asr #1", 0xd65db979, 0xc61b323b, r0,r1,r2, 0); 856TESTINST3("pkhtb r0, r1, r2, asr #2", 0xa3268abe, 0xed2cbf78, r0,r1,r2, 0); 857TESTINST3("pkhtb r0, r1, r2, asr #3", 0xbf73f0a5, 0x2fb714c9, r0,r1,r2, 0); 858TESTINST3("pkhtb r0, r1, r2, asr #4", 0x281703ed, 0x925ef472, r0,r1,r2, 0); 859TESTINST3("pkhtb r0, r1, r2, asr #8", 0xeaa652c7, 0x137741f4, r0,r1,r2, 0); 860TESTINST3("pkhtb r0, r1, r2, asr #12", 0x71fbde8b, 0xdba5bd25, r0,r1,r2, 0); 861TESTINST3("pkhtb r0, r1, r2, asr #16", 0x884c0ad8, 0xc00b821a, r0,r1,r2, 0); 862TESTINST3("pkhtb r0, r1, r2, asr #24", 0xe1bb8606, 0x58293969, r0,r1,r2, 0); 863TESTINST3("pkhtb r0, r1, r2, asr #31", 0xa3cfd624, 0x6077fb1f, r0,r1,r2, 0); 864TESTINST3("pkhtb r0, r1, r2, asr #32", 0xa3cfd624, 0x6077fb1f, r0,r1,r2, 0); 865TESTINST3("pkhtb r0, r1, r2, asr #0", 0x40b094e2, 0x17913309, r0,r1,r2, 0); 866TESTINST3("pkhtb r0, r1, r2, asr #1", 0x5388b5cd, 0x86582032, r0,r1,r2, 0); 867TESTINST3("pkhtb r0, r1, r2, asr #2", 0x5de41558, 0xccfa1c7e, r0,r1,r2, 0); 868TESTINST3("pkhtb r0, r1, r2, asr #3", 0x23ba1b46, 0x4437983c, r0,r1,r2, 0); 869TESTINST3("pkhtb r0, r1, r2, asr #4", 0x48d06549, 0xa9085781, r0,r1,r2, 0); 870TESTINST3("pkhtb r0, r1, r2, asr #8", 0xc6b4ac58, 0xb2aead21, r0,r1,r2, 0); 871TESTINST3("pkhtb r0, r1, r2, asr #12", 0xc2bdf597, 0xdde1e6a4, r0,r1,r2, 0); 872TESTINST3("pkhtb r0, r1, r2, asr #16", 0x852e3a72, 0x157b0dea, r0,r1,r2, 0); 873TESTINST3("pkhtb r0, r1, r2, asr #24", 0xe7aa57b4, 0x1584bd74, r0,r1,r2, 0); 874TESTINST3("pkhtb r0, r1, r2, asr #31", 0xd4b64d54, 0xc53aaba9, r0,r1,r2, 0); 875TESTINST3("pkhtb r0, r1, r2, asr #32", 0xd4b64d54, 0xc53aaba9, r0,r1,r2, 0); 876 877 printf("----------------- USAT ----------------- \n"); 878 TESTINST2("usat r0, #0, r1", 0x0123abcd, r0, r1, 0); 879 TESTINST2("usat r0, #1, r1", 0x0123abcd, r0, r1, 0); 880 TESTINST2("usat r0, #5, r1", 0x0123abcd, r0, r1, 0); 881 TESTINST2("usat r0, #8, r1", 0x0123abcd, r0, r1, 0); 882 TESTINST2("usat r0, #11, r1", 0x11110000, r0, r1, 0); 883 TESTINST2("usat r0, #13, r1", 0x11110000, r0, r1, 0); 884 TESTINST2("usat r0, #15, r1", 0x11110000, r0, r1, 0); 885TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0); 886TESTINST2("usat r0, #31, r1, lsl #0", 0x5f986e68, r0, r1, 0); 887TESTINST2("usat r0, #31, r1, lsl #0", 0xe7aa57b4, r0, r1, 0); 888TESTINST2("usat r0, #31, r1, lsl #0", 0x89d2ef86, r0, r1, 0); 889TESTINST2("usat r0, #31, r1, lsl #8", 0xc53aaba9, r0, r1, 0); 890TESTINST2("usat r0, #31, r1, lsl #8", 0x216158cb, r0, r1, 0); 891TESTINST2("usat r0, #31, r1, lsl #8", 0x3cd6cd94, r0, r1, 0); 892TESTINST2("usat r0, #0, r1, lsl #0", 0xf87b961e, r0, r1, 0); 893TESTINST2("usat r0, #0, r1, lsl #0", 0xc61b323b, r0, r1, 0); 894TESTINST2("usat r0, #0, r1, lsl #0", 0xa3268abe, r0, r1, 0); 895TESTINST2("usat r0, #0, r1, lsl #8", 0xbf73f0a5, r0, r1, 0); 896TESTINST2("usat r0, #0, r1, lsl #8", 0x925ef472, r0, r1, 0); 897TESTINST2("usat r0, #0, r1, lsl #8", 0x137741f4, r0, r1, 0); 898TESTINST2("usat r0, #24, r1, lsl #2", 0x50c28082, r0, r1, 0); 899TESTINST2("usat r0, #16, r1, lsl #3", 0x17962e8f, r0, r1, 0); 900TESTINST2("usat r0, #12, r1, lsl #4", 0xc57243b7, r0, r1, 0); 901TESTINST2("usat r0, #8, r1, lsl #8", 0xf20fb90f, r0, r1, 0); 902TESTINST2("usat r0, #4, r1, lsl #12", 0xbb151055, r0, r1, 0); 903TESTINST2("usat r0, #3, r1, lsl #16", 0x957440d2, r0, r1, 0); 904TESTINST2("usat r0, #2, r1, lsl #24", 0x728b7771, r0, r1, 0); 905TESTINST2("usat r0, #1, r1, lsl #31", 0xf13c20f3, r0, r1, 0); 906TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0); 907TESTINST2("usat r0, #31, r1, asr #0", 0x5f986e68, r0, r1, 0); 908TESTINST2("usat r0, #31, r1, asr #0", 0xe7aa57b4, r0, r1, 0); 909TESTINST2("usat r0, #31, r1, asr #0", 0x89d2ef86, r0, r1, 0); 910TESTINST2("usat r0, #31, r1, asr #8", 0xc53aaba9, r0, r1, 0); 911TESTINST2("usat r0, #31, r1, asr #8", 0x216158cb, r0, r1, 0); 912TESTINST2("usat r0, #31, r1, asr #8", 0x3cd6cd94, r0, r1, 0); 913TESTINST2("usat r0, #0, r1, asr #0", 0xf87b961e, r0, r1, 0); 914TESTINST2("usat r0, #0, r1, asr #0", 0xc61b323b, r0, r1, 0); 915TESTINST2("usat r0, #0, r1, asr #0", 0xa3268abe, r0, r1, 0); 916TESTINST2("usat r0, #0, r1, asr #8", 0xbf73f0a5, r0, r1, 0); 917TESTINST2("usat r0, #0, r1, asr #8", 0x925ef472, r0, r1, 0); 918TESTINST2("usat r0, #0, r1, asr #8", 0x137741f4, r0, r1, 0); 919TESTINST2("usat r0, #24, r1, asr #2", 0x50c28082, r0, r1, 0); 920TESTINST2("usat r0, #16, r1, asr #3", 0x17962e8f, r0, r1, 0); 921TESTINST2("usat r0, #12, r1, asr #4", 0xc57243b7, r0, r1, 0); 922TESTINST2("usat r0, #8, r1, asr #8", 0xf20fb90f, r0, r1, 0); 923TESTINST2("usat r0, #4, r1, asr #12", 0xbb151055, r0, r1, 0); 924TESTINST2("usat r0, #3, r1, asr #16", 0x957440d2, r0, r1, 0); 925TESTINST2("usat r0, #2, r1, asr #24", 0x728b7771, r0, r1, 0); 926TESTINST2("usat r0, #1, r1, asr #31", 0xf13c20f3, r0, r1, 0); 927TESTINST2("usat r0, #0, r1", 0xebbff82b, r0, r1, 0); 928TESTINST2("usat r0, #31, r1, asr #0", 0x5f986e68, r0, r1, 0); 929TESTINST2("usat r0, #31, r1, asr #0", 0xe7aa57b4, r0, r1, 0); 930TESTINST2("usat r0, #31, r1, asr #0", 0x89d2ef86, r0, r1, 0); 931TESTINST2("usat r0, #31, r1, asr #8", 0xc53aaba9, r0, r1, 0); 932TESTINST2("usat r0, #31, r1, asr #8", 0x216158cb, r0, r1, 0); 933TESTINST2("usat r0, #31, r1, asr #8", 0x3cd6cd94, r0, r1, 0); 934TESTINST2("usat r0, #0, r1, asr #0", 0xf87b961e, r0, r1, 0); 935TESTINST2("usat r0, #0, r1, asr #0", 0xc61b323b, r0, r1, 0); 936TESTINST2("usat r0, #0, r1, asr #0", 0xa3268abe, r0, r1, 0); 937TESTINST2("usat r0, #0, r1, asr #8", 0xbf73f0a5, r0, r1, 0); 938TESTINST2("usat r0, #0, r1, asr #8", 0x925ef472, r0, r1, 0); 939TESTINST2("usat r0, #0, r1, asr #8", 0x137741f4, r0, r1, 0); 940TESTINST2("usat r0, #24, r1, asr #2", 0x50c28082, r0, r1, 0); 941TESTINST2("usat r0, #16, r1, asr #3", 0x17962e8f, r0, r1, 0); 942TESTINST2("usat r0, #12, r1, asr #4", 0xc57243b7, r0, r1, 0); 943TESTINST2("usat r0, #8, r1, asr #8", 0xf20fb90f, r0, r1, 0); 944TESTINST2("usat r0, #4, r1, asr #12", 0xbb151055, r0, r1, 0); 945TESTINST2("usat r0, #3, r1, asr #16", 0x957440d2, r0, r1, 0); 946TESTINST2("usat r0, #2, r1, asr #24", 0x728b7771, r0, r1, 0); 947TESTINST2("usat r0, #1, r1, asr #31", 0xf13c20f3, r0, r1, 0); 948#ifndef __thumb__ 949TESTINST2("usat r0, #0, r1, asr #32", 0xa9085781, r0, r1, 0); 950TESTINST2("usat r0, #31, r1, asr #32", 0x40b094e2, r0, r1, 0); 951TESTINST2("usat r0, #31, r1, asr #32", 0x17913309, r0, r1, 0); 952TESTINST2("usat r0, #31, r1, asr #32", 0x5388b5cd, r0, r1, 0); 953TESTINST2("usat r0, #24, r1, asr #32", 0x86582032, r0, r1, 0); 954TESTINST2("usat r0, #16, r1, asr #32", 0x5de41558, r0, r1, 0); 955TESTINST2("usat r0, #12, r1, asr #32", 0xccfa1c7e, r0, r1, 0); 956TESTINST2("usat r0, #8, r1, asr #32", 0x23ba1b46, r0, r1, 0); 957TESTINST2("usat r0, #4, r1, asr #32", 0x4437983c, r0, r1, 0); 958TESTINST2("usat r0, #3, r1, asr #32", 0x48d06549, r0, r1, 0); 959TESTINST2("usat r0, #2, r1, asr #32", 0xa9085781, r0, r1, 0); 960TESTINST2("usat r0, #1, r1, asr #32", 0xc6b4ac58, r0, r1, 0); 961#endif 962 963 printf("------------ USAT16 sat_imm ------------ \n"); 964 TESTINST2("usat16 r0, #0, r1", 0x0123abcd, r0, r1, 0); 965 TESTINST2("usat16 r0, #1, r1", 0xffcdabcd, r0, r1, 0); 966 TESTINST2("usat16 r0, #5, r1", 0x0123feff, r0, r1, 0); 967 TESTINST2("usat16 r0, #8, r1", 0x0123abcd, r0, r1, 0); 968 TESTINST2("usat16 r0, #11, r1", 0x11110000, r0, r1, 0); 969 TESTINST2("usat16 r0, #13, r1", 0x1111f111, r0, r1, 0); 970 TESTINST2("usat16 r0, #15, r1", 0x00001111, r0, r1, 0); 971TESTINST2("usat16 r0, #0, r1", 0xebbff82b, r0, r1, 0); 972TESTINST2("usat16 r0, #1, r1", 0xebbff82b, r0, r1, 0); 973TESTINST2("usat16 r0, #3, r1", 0x50c28082, r0, r1, 0); 974TESTINST2("usat16 r0, #5, r1", 0x17962e8f, r0, r1, 0); 975TESTINST2("usat16 r0, #8, r1", 0xc57243b7, r0, r1, 0); 976TESTINST2("usat16 r0, #10, r1", 0xf20fb90f, r0, r1, 0); 977TESTINST2("usat16 r0, #11, r1", 0xbb151055, r0, r1, 0); 978TESTINST2("usat16 r0, #13, r1", 0x957440d2, r0, r1, 0); 979TESTINST2("usat16 r0, #14, r1", 0x728b7771, r0, r1, 0); 980TESTINST2("usat16 r0, #15, r1", 0xf13c20f3, r0, r1, 0); 981TESTINST2("usat16 r0, #0, r1", 0x86398371, r0, r1, 0); 982TESTINST2("usat16 r0, #1, r1", 0x03d0fb78, r0, r1, 0); 983TESTINST2("usat16 r0, #3, r1", 0xd0d49b7c, r0, r1, 0); 984TESTINST2("usat16 r0, #5, r1", 0x76354a58, r0, r1, 0); 985TESTINST2("usat16 r0, #8, r1", 0x9fa45fb7, r0, r1, 0); 986TESTINST2("usat16 r0, #10, r1", 0x7572bdec, r0, r1, 0); 987TESTINST2("usat16 r0, #11, r1", 0xfea59eb6, r0, r1, 0); 988TESTINST2("usat16 r0, #13, r1", 0xf2669090, r0, r1, 0); 989TESTINST2("usat16 r0, #14, r1", 0xbc1ff573, r0, r1, 0); 990TESTINST2("usat16 r0, #15, r1", 0x7eb226ac, r0, r1, 0); 991TESTINST2("usat16 r0, #0, r1", 0x22b65db1, r0, r1, 0); 992TESTINST2("usat16 r0, #1, r1", 0x776c41c7, r0, r1, 0); 993TESTINST2("usat16 r0, #3, r1", 0xe50dd77c, r0, r1, 0); 994TESTINST2("usat16 r0, #5, r1", 0xd6f9a698, r0, r1, 0); 995TESTINST2("usat16 r0, #8, r1", 0xeda5110c, r0, r1, 0); 996TESTINST2("usat16 r0, #10, r1", 0x0be36f70, r0, r1, 0); 997TESTINST2("usat16 r0, #11, r1", 0xd759eb72, r0, r1, 0); 998TESTINST2("usat16 r0, #13, r1", 0xd9c4b1f4, r0, r1, 0); 999TESTINST2("usat16 r0, #14, r1", 0xa29eb320, r0, r1, 0); 1000TESTINST2("usat16 r0, #15, r1", 0xcf1e4487, r0, r1, 0); 1001TESTINST2("usat16 r0, #0, r1", 0x2eb68500, r0, r1, 0); 1002TESTINST2("usat16 r0, #1, r1", 0xcdb7ed11, r0, r1, 0); 1003TESTINST2("usat16 r0, #3, r1", 0x2eaea305, r0, r1, 0); 1004TESTINST2("usat16 r0, #5, r1", 0x6ebd04d9, r0, r1, 0); 1005TESTINST2("usat16 r0, #8, r1", 0xa5ec1aa8, r0, r1, 0); 1006TESTINST2("usat16 r0, #10, r1", 0x72f33509, r0, r1, 0); 1007TESTINST2("usat16 r0, #11, r1", 0xa3e6f759, r0, r1, 0); 1008TESTINST2("usat16 r0, #13, r1", 0xfaceab39, r0, r1, 0); 1009TESTINST2("usat16 r0, #14, r1", 0x2738f0ff, r0, r1, 0); 1010TESTINST2("usat16 r0, #15, r1", 0xe79fd570, r0, r1, 0); 1011TESTINST2("usat16 r0, #0, r1", 0x55ea3e4e, r0, r1, 0); 1012TESTINST2("usat16 r0, #1, r1", 0x2b62ba5a, r0, r1, 0); 1013TESTINST2("usat16 r0, #3, r1", 0x9b41bfb1, r0, r1, 0); 1014TESTINST2("usat16 r0, #5, r1", 0x557c7ba2, r0, r1, 0); 1015TESTINST2("usat16 r0, #8, r1", 0x2973c051, r0, r1, 0); 1016TESTINST2("usat16 r0, #10, r1", 0x6a228b19, r0, r1, 0); 1017TESTINST2("usat16 r0, #11, r1", 0x0cdafabe, r0, r1, 0); 1018TESTINST2("usat16 r0, #13, r1", 0x50865114, r0, r1, 0); 1019TESTINST2("usat16 r0, #14, r1", 0xd83b849b, r0, r1, 0); 1020TESTINST2("usat16 r0, #15, r1", 0xca5e5605, r0, r1, 0); 1021 1022 printf("---------------- UADD16 ---------------- \n"); 1023 TESTINST3("uadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1024 TESTINST3("uadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1025 TESTINST3("uadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1026 TESTINST3("uadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1027 1028 TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1029 TESTINST3("uadd16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0); 1030 TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0); 1031 TESTINST3("uadd16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0); 1032 TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0); 1033 TESTINST3("uadd16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0); 1034 TESTINST3("uadd16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 1035 1036 TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1037 TESTINST3("uadd16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0); 1038 TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0); 1039 TESTINST3("uadd16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0); 1040 TESTINST3("uadd16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0); 1041 TESTINST3("uadd16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0); 1042 TESTINST3("uadd16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0); 1043 1044TESTINST3("uadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1045TESTINST3("uadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1046TESTINST3("uadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1047TESTINST3("uadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1048TESTINST3("uadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1049TESTINST3("uadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1050TESTINST3("uadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1051TESTINST3("uadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1052TESTINST3("uadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1053TESTINST3("uadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1054TESTINST3("uadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1055TESTINST3("uadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1056TESTINST3("uadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1057TESTINST3("uadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1058TESTINST3("uadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1059TESTINST3("uadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1060TESTINST3("uadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1061TESTINST3("uadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1062TESTINST3("uadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1063TESTINST3("uadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1064TESTINST3("uadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1065TESTINST3("uadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1066TESTINST3("uadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1067TESTINST3("uadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1068TESTINST3("uadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1069TESTINST3("uadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1070TESTINST3("uadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1071TESTINST3("uadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1072TESTINST3("uadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1073TESTINST3("uadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1074TESTINST3("uadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1075TESTINST3("uadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1076TESTINST3("uadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1077TESTINST3("uadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1078TESTINST3("uadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1079TESTINST3("uadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1080TESTINST3("uadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1081TESTINST3("uadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1082TESTINST3("uadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1083TESTINST3("uadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1084TESTINST3("uadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1085TESTINST3("uadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1086TESTINST3("uadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1087TESTINST3("uadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1088TESTINST3("uadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1089TESTINST3("uadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1090TESTINST3("uadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1091TESTINST3("uadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1092TESTINST3("uadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1093TESTINST3("uadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1094 1095 printf("---------------- SADD16 ---------------- \n"); 1096 TESTINST3("sadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1097 TESTINST3("sadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1098 TESTINST3("sadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1099 TESTINST3("sadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1100 1101 TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1102 TESTINST3("sadd16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0); 1103 TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0); 1104 TESTINST3("sadd16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0); 1105 TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0); 1106 TESTINST3("sadd16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0); 1107 TESTINST3("sadd16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 1108 1109 TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1110 TESTINST3("sadd16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0); 1111 TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0); 1112 TESTINST3("sadd16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0); 1113 TESTINST3("sadd16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0); 1114 TESTINST3("sadd16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0); 1115 TESTINST3("sadd16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0); 1116 1117TESTINST3("sadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1118TESTINST3("sadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1119TESTINST3("sadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1120TESTINST3("sadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1121TESTINST3("sadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1122TESTINST3("sadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1123TESTINST3("sadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1124TESTINST3("sadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1125TESTINST3("sadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1126TESTINST3("sadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1127TESTINST3("sadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1128TESTINST3("sadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1129TESTINST3("sadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1130TESTINST3("sadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1131TESTINST3("sadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1132TESTINST3("sadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1133TESTINST3("sadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1134TESTINST3("sadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1135TESTINST3("sadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1136TESTINST3("sadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1137TESTINST3("sadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1138TESTINST3("sadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1139TESTINST3("sadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1140TESTINST3("sadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1141TESTINST3("sadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1142TESTINST3("sadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1143TESTINST3("sadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1144TESTINST3("sadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1145TESTINST3("sadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1146TESTINST3("sadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1147TESTINST3("sadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1148TESTINST3("sadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1149TESTINST3("sadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1150TESTINST3("sadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1151TESTINST3("sadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1152TESTINST3("sadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1153TESTINST3("sadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1154TESTINST3("sadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1155TESTINST3("sadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1156TESTINST3("sadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1157TESTINST3("sadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1158TESTINST3("sadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1159TESTINST3("sadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1160TESTINST3("sadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1161TESTINST3("sadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1162TESTINST3("sadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1163TESTINST3("sadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1164TESTINST3("sadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1165TESTINST3("sadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1166TESTINST3("sadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1167 1168 printf("---------------- USUB16 ---------------- \n"); 1169 TESTINST3("usub16 r0, r1, r2", 0x04000022, 0x03000011, r0, r1, r2, 0); 1170 TESTINST3("usub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1171 TESTINST3("usub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1172 TESTINST3("usub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1173 TESTINST3("usub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1174 1175 TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1176 TESTINST3("usub16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0); 1177 TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0); 1178 TESTINST3("usub16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0); 1179 TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0); 1180 TESTINST3("usub16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0); 1181 TESTINST3("usub16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 1182 1183 TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1184 TESTINST3("usub16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0); 1185 TESTINST3("usub16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0); 1186 TESTINST3("usub16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0); 1187 TESTINST3("usub16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0); 1188 TESTINST3("usub16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0); 1189 TESTINST3("usub16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0); 1190 1191TESTINST3("usub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1192TESTINST3("usub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1193TESTINST3("usub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1194TESTINST3("usub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1195TESTINST3("usub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1196TESTINST3("usub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1197TESTINST3("usub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1198TESTINST3("usub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1199TESTINST3("usub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1200TESTINST3("usub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1201TESTINST3("usub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1202TESTINST3("usub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1203TESTINST3("usub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1204TESTINST3("usub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1205TESTINST3("usub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1206TESTINST3("usub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1207TESTINST3("usub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1208TESTINST3("usub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1209TESTINST3("usub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1210TESTINST3("usub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1211TESTINST3("usub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1212TESTINST3("usub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1213TESTINST3("usub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1214TESTINST3("usub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1215TESTINST3("usub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1216TESTINST3("usub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1217TESTINST3("usub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1218TESTINST3("usub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1219TESTINST3("usub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1220TESTINST3("usub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1221TESTINST3("usub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1222TESTINST3("usub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1223TESTINST3("usub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1224TESTINST3("usub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1225TESTINST3("usub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1226TESTINST3("usub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1227TESTINST3("usub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1228TESTINST3("usub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1229TESTINST3("usub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1230TESTINST3("usub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1231TESTINST3("usub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1232TESTINST3("usub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1233TESTINST3("usub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1234TESTINST3("usub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1235TESTINST3("usub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1236TESTINST3("usub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1237TESTINST3("usub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1238TESTINST3("usub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1239TESTINST3("usub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1240TESTINST3("usub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1241 1242 printf("---------------- SSUB16 ---------------- \n"); 1243 TESTINST3("ssub16 r0, r1, r2", 0x04000022, 0x03000011, r0, r1, r2, 0); 1244 TESTINST3("ssub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1245 TESTINST3("ssub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1246 TESTINST3("ssub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1247 TESTINST3("ssub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1248 1249 TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1250 TESTINST3("ssub16 r0, r1, r2", 0x00000001, 0x00000000, r0, r1, r2, 0); 1251 TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000001, r0, r1, r2, 0); 1252 TESTINST3("ssub16 r0, r1, r2", 0x00000001, 0x00000001, r0, r1, r2, 0); 1253 TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x0000ffff, r0, r1, r2, 0); 1254 TESTINST3("ssub16 r0, r1, r2", 0x0000ffff, 0x00000000, r0, r1, r2, 0); 1255 TESTINST3("ssub16 r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0); 1256 1257 TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 1258 TESTINST3("ssub16 r0, r1, r2", 0x00010000, 0x00000000, r0, r1, r2, 0); 1259 TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0x00010000, r0, r1, r2, 0); 1260 TESTINST3("ssub16 r0, r1, r2", 0x00010000, 0x00010000, r0, r1, r2, 0); 1261 TESTINST3("ssub16 r0, r1, r2", 0x00000000, 0xffff0000, r0, r1, r2, 0); 1262 TESTINST3("ssub16 r0, r1, r2", 0xffff0000, 0x00000000, r0, r1, r2, 0); 1263 TESTINST3("ssub16 r0, r1, r2", 0xffff0000, 0xffff0000, r0, r1, r2, 0); 1264 1265TESTINST3("ssub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1266TESTINST3("ssub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1267TESTINST3("ssub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1268TESTINST3("ssub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1269TESTINST3("ssub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1270TESTINST3("ssub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1271TESTINST3("ssub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1272TESTINST3("ssub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1273TESTINST3("ssub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1274TESTINST3("ssub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1275TESTINST3("ssub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1276TESTINST3("ssub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1277TESTINST3("ssub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1278TESTINST3("ssub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1279TESTINST3("ssub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1280TESTINST3("ssub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1281TESTINST3("ssub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1282TESTINST3("ssub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1283TESTINST3("ssub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1284TESTINST3("ssub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1285TESTINST3("ssub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1286TESTINST3("ssub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1287TESTINST3("ssub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1288TESTINST3("ssub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1289TESTINST3("ssub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1290TESTINST3("ssub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1291TESTINST3("ssub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1292TESTINST3("ssub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1293TESTINST3("ssub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1294TESTINST3("ssub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1295TESTINST3("ssub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1296TESTINST3("ssub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1297TESTINST3("ssub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1298TESTINST3("ssub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1299TESTINST3("ssub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1300TESTINST3("ssub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1301TESTINST3("ssub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1302TESTINST3("ssub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1303TESTINST3("ssub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1304TESTINST3("ssub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1305TESTINST3("ssub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1306TESTINST3("ssub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1307TESTINST3("ssub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1308TESTINST3("ssub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1309TESTINST3("ssub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1310TESTINST3("ssub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1311TESTINST3("ssub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1312TESTINST3("ssub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1313TESTINST3("ssub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1314TESTINST3("ssub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1315 1316 printf("---------------- UADD8 ----------------- \n"); 1317 TESTINST3("uadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1318 TESTINST3("uadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1319 TESTINST3("uadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1320 TESTINST3("uadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1321 TESTINST3("uadd8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0); 1322 TESTINST3("uadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1323 TESTINST3("uadd8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0); 1324 TESTINST3("uadd8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0); 1325TESTINST3("uadd8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1326TESTINST3("uadd8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1327TESTINST3("uadd8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1328TESTINST3("uadd8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1329TESTINST3("uadd8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1330TESTINST3("uadd8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1331TESTINST3("uadd8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1332TESTINST3("uadd8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1333TESTINST3("uadd8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1334TESTINST3("uadd8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1335TESTINST3("uadd8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1336TESTINST3("uadd8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1337TESTINST3("uadd8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1338TESTINST3("uadd8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1339TESTINST3("uadd8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1340TESTINST3("uadd8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1341TESTINST3("uadd8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1342TESTINST3("uadd8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1343TESTINST3("uadd8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1344TESTINST3("uadd8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1345TESTINST3("uadd8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1346TESTINST3("uadd8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1347TESTINST3("uadd8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1348TESTINST3("uadd8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1349TESTINST3("uadd8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1350TESTINST3("uadd8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1351TESTINST3("uadd8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1352TESTINST3("uadd8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1353TESTINST3("uadd8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1354TESTINST3("uadd8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1355TESTINST3("uadd8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1356TESTINST3("uadd8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1357TESTINST3("uadd8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1358TESTINST3("uadd8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1359TESTINST3("uadd8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1360TESTINST3("uadd8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1361TESTINST3("uadd8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1362TESTINST3("uadd8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1363TESTINST3("uadd8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1364TESTINST3("uadd8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1365TESTINST3("uadd8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1366TESTINST3("uadd8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1367TESTINST3("uadd8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1368TESTINST3("uadd8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1369TESTINST3("uadd8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1370TESTINST3("uadd8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1371TESTINST3("uadd8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1372TESTINST3("uadd8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1373TESTINST3("uadd8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1374TESTINST3("uadd8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1375 1376 printf("---------------- USUB8 ----------------- \n"); 1377 TESTINST3("usub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1378 TESTINST3("usub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1379 TESTINST3("usub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1380 TESTINST3("usub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1381 TESTINST3("usub8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0); 1382 TESTINST3("usub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1383 TESTINST3("usub8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0); 1384 TESTINST3("usub8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0); 1385TESTINST3("usub8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1386TESTINST3("usub8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1387TESTINST3("usub8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1388TESTINST3("usub8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1389TESTINST3("usub8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1390TESTINST3("usub8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1391TESTINST3("usub8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1392TESTINST3("usub8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1393TESTINST3("usub8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1394TESTINST3("usub8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1395TESTINST3("usub8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1396TESTINST3("usub8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1397TESTINST3("usub8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1398TESTINST3("usub8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1399TESTINST3("usub8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1400TESTINST3("usub8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1401TESTINST3("usub8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1402TESTINST3("usub8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1403TESTINST3("usub8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1404TESTINST3("usub8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1405TESTINST3("usub8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1406TESTINST3("usub8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1407TESTINST3("usub8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1408TESTINST3("usub8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1409TESTINST3("usub8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1410TESTINST3("usub8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1411TESTINST3("usub8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1412TESTINST3("usub8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1413TESTINST3("usub8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1414TESTINST3("usub8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1415TESTINST3("usub8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1416TESTINST3("usub8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1417TESTINST3("usub8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1418TESTINST3("usub8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1419TESTINST3("usub8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1420TESTINST3("usub8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1421TESTINST3("usub8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1422TESTINST3("usub8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1423TESTINST3("usub8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1424TESTINST3("usub8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1425TESTINST3("usub8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1426TESTINST3("usub8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1427TESTINST3("usub8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1428TESTINST3("usub8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1429TESTINST3("usub8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1430TESTINST3("usub8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1431TESTINST3("usub8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1432TESTINST3("usub8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1433TESTINST3("usub8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1434TESTINST3("usub8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1435 1436 printf("---------------- QADD16 ---------------- \n"); 1437 TESTINST3("qadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1438 TESTINST3("qadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1439 TESTINST3("qadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1440 TESTINST3("qadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1441TESTINST3("qadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1442TESTINST3("qadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1443TESTINST3("qadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1444TESTINST3("qadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1445TESTINST3("qadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1446TESTINST3("qadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1447TESTINST3("qadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1448TESTINST3("qadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1449TESTINST3("qadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1450TESTINST3("qadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1451TESTINST3("qadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1452TESTINST3("qadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1453TESTINST3("qadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1454TESTINST3("qadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1455TESTINST3("qadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1456TESTINST3("qadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1457TESTINST3("qadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1458TESTINST3("qadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1459TESTINST3("qadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1460TESTINST3("qadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1461TESTINST3("qadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1462TESTINST3("qadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1463TESTINST3("qadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1464TESTINST3("qadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1465TESTINST3("qadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1466TESTINST3("qadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1467TESTINST3("qadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1468TESTINST3("qadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1469TESTINST3("qadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1470TESTINST3("qadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1471TESTINST3("qadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1472TESTINST3("qadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1473TESTINST3("qadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1474TESTINST3("qadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1475TESTINST3("qadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1476TESTINST3("qadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1477TESTINST3("qadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1478TESTINST3("qadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1479TESTINST3("qadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1480TESTINST3("qadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1481TESTINST3("qadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1482TESTINST3("qadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1483TESTINST3("qadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1484TESTINST3("qadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1485TESTINST3("qadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1486TESTINST3("qadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1487TESTINST3("qadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1488TESTINST3("qadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1489TESTINST3("qadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1490TESTINST3("qadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1491 1492 printf("---------------- QSUB16 ---------------- \n"); 1493 TESTINST3("qsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1494 TESTINST3("qsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1495 TESTINST3("qsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1496 TESTINST3("qsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1497TESTINST3("qsub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1498TESTINST3("qsub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1499TESTINST3("qsub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1500TESTINST3("qsub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1501TESTINST3("qsub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1502TESTINST3("qsub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1503TESTINST3("qsub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1504TESTINST3("qsub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1505TESTINST3("qsub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1506TESTINST3("qsub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1507TESTINST3("qsub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1508TESTINST3("qsub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1509TESTINST3("qsub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1510TESTINST3("qsub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1511TESTINST3("qsub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1512TESTINST3("qsub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1513TESTINST3("qsub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1514TESTINST3("qsub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1515TESTINST3("qsub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1516TESTINST3("qsub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1517TESTINST3("qsub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1518TESTINST3("qsub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1519TESTINST3("qsub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1520TESTINST3("qsub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1521TESTINST3("qsub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1522TESTINST3("qsub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1523TESTINST3("qsub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1524TESTINST3("qsub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1525TESTINST3("qsub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1526TESTINST3("qsub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1527TESTINST3("qsub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1528TESTINST3("qsub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1529TESTINST3("qsub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1530TESTINST3("qsub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1531TESTINST3("qsub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1532TESTINST3("qsub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1533TESTINST3("qsub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1534TESTINST3("qsub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1535TESTINST3("qsub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1536TESTINST3("qsub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1537TESTINST3("qsub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1538TESTINST3("qsub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1539TESTINST3("qsub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1540TESTINST3("qsub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1541TESTINST3("qsub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1542TESTINST3("qsub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1543TESTINST3("qsub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1544TESTINST3("qsub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1545TESTINST3("qsub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1546TESTINST3("qsub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1547 1548 printf("----------------- QSAX ----------------- \n"); 1549 TESTINST3("qsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1550 TESTINST3("qsax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1551 TESTINST3("qsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1552 TESTINST3("qsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1553 TESTINST3("qsax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1554 TESTINST3("qsax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1555TESTINST3("qsax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1556TESTINST3("qsax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1557TESTINST3("qsax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1558TESTINST3("qsax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1559TESTINST3("qsax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1560TESTINST3("qsax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1561TESTINST3("qsax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1562TESTINST3("qsax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1563TESTINST3("qsax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1564TESTINST3("qsax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1565TESTINST3("qsax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1566TESTINST3("qsax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1567TESTINST3("qsax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1568TESTINST3("qsax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1569TESTINST3("qsax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1570TESTINST3("qsax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1571TESTINST3("qsax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1572TESTINST3("qsax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1573TESTINST3("qsax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1574TESTINST3("qsax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1575TESTINST3("qsax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1576TESTINST3("qsax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1577TESTINST3("qsax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1578TESTINST3("qsax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1579TESTINST3("qsax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1580TESTINST3("qsax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1581TESTINST3("qsax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1582TESTINST3("qsax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1583TESTINST3("qsax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1584TESTINST3("qsax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1585TESTINST3("qsax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1586TESTINST3("qsax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1587TESTINST3("qsax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1588TESTINST3("qsax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1589TESTINST3("qsax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1590TESTINST3("qsax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1591TESTINST3("qsax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1592TESTINST3("qsax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1593TESTINST3("qsax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1594TESTINST3("qsax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1595TESTINST3("qsax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1596TESTINST3("qsax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1597TESTINST3("qsax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1598TESTINST3("qsax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1599TESTINST3("qsax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1600TESTINST3("qsax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1601TESTINST3("qsax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1602TESTINST3("qsax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1603TESTINST3("qsax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1604TESTINST3("qsax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1605 1606 printf("----------------- QASX ----------------- \n"); 1607 TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1608 TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1609 TESTINST3("qasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1610 TESTINST3("qasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1611 TESTINST3("qasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1612 TESTINST3("qasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1613TESTINST3("qasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1614TESTINST3("qasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1615TESTINST3("qasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1616TESTINST3("qasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1617TESTINST3("qasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1618TESTINST3("qasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1619TESTINST3("qasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1620TESTINST3("qasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1621TESTINST3("qasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1622TESTINST3("qasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1623TESTINST3("qasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1624TESTINST3("qasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1625TESTINST3("qasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1626TESTINST3("qasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1627TESTINST3("qasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1628TESTINST3("qasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1629TESTINST3("qasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1630TESTINST3("qasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1631TESTINST3("qasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1632TESTINST3("qasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1633TESTINST3("qasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1634TESTINST3("qasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1635TESTINST3("qasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1636TESTINST3("qasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1637TESTINST3("qasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1638TESTINST3("qasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1639TESTINST3("qasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1640TESTINST3("qasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1641TESTINST3("qasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1642TESTINST3("qasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1643TESTINST3("qasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1644TESTINST3("qasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1645TESTINST3("qasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1646TESTINST3("qasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1647TESTINST3("qasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1648TESTINST3("qasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1649TESTINST3("qasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1650TESTINST3("qasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1651TESTINST3("qasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1652TESTINST3("qasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1653TESTINST3("qasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1654TESTINST3("qasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1655TESTINST3("qasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1656TESTINST3("qasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1657TESTINST3("qasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1658TESTINST3("qasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1659TESTINST3("qasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1660TESTINST3("qasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1661TESTINST3("qasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1662TESTINST3("qasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1663 1664 printf("----------------- SASX ----------------- \n"); 1665 TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1666 TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1667 TESTINST3("sasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1668 TESTINST3("sasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1669 TESTINST3("sasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1670 TESTINST3("sasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1671TESTINST3("sasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1672TESTINST3("sasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1673TESTINST3("sasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1674TESTINST3("sasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1675TESTINST3("sasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1676TESTINST3("sasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1677TESTINST3("sasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1678TESTINST3("sasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1679TESTINST3("sasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1680TESTINST3("sasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1681TESTINST3("sasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1682TESTINST3("sasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1683TESTINST3("sasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1684TESTINST3("sasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1685TESTINST3("sasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1686TESTINST3("sasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1687TESTINST3("sasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1688TESTINST3("sasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1689TESTINST3("sasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1690TESTINST3("sasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1691TESTINST3("sasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1692TESTINST3("sasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1693TESTINST3("sasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1694TESTINST3("sasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1695TESTINST3("sasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1696TESTINST3("sasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1697TESTINST3("sasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1698TESTINST3("sasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1699TESTINST3("sasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1700TESTINST3("sasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1701TESTINST3("sasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1702TESTINST3("sasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1703TESTINST3("sasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1704TESTINST3("sasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1705TESTINST3("sasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1706TESTINST3("sasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1707TESTINST3("sasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1708TESTINST3("sasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1709TESTINST3("sasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1710TESTINST3("sasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1711TESTINST3("sasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1712TESTINST3("sasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1713TESTINST3("sasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1714TESTINST3("sasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1715TESTINST3("sasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1716TESTINST3("sasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1717TESTINST3("sasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1718TESTINST3("sasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1719TESTINST3("sasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1720TESTINST3("sasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1721 1722 printf("----------------- SMUAD ----------------- \n"); 1723 TESTINST3("smuad r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 1724 TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1725 TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1726 TESTINST3("smuad r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1727 TESTINST3("smuad r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1728 TESTINST3("smuad r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 1729 TESTINST3("smuad r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 1730TESTINST3("smuad r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1731TESTINST3("smuad r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1732TESTINST3("smuad r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1733TESTINST3("smuad r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1734TESTINST3("smuad r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1735TESTINST3("smuad r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1736TESTINST3("smuad r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1737TESTINST3("smuad r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1738TESTINST3("smuad r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1739TESTINST3("smuad r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1740TESTINST3("smuad r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1741TESTINST3("smuad r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1742TESTINST3("smuad r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1743TESTINST3("smuad r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1744TESTINST3("smuad r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1745TESTINST3("smuad r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1746TESTINST3("smuad r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1747TESTINST3("smuad r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1748TESTINST3("smuad r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1749TESTINST3("smuad r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1750TESTINST3("smuad r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1751TESTINST3("smuad r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1752TESTINST3("smuad r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1753TESTINST3("smuad r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1754TESTINST3("smuad r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1755TESTINST3("smuad r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1756TESTINST3("smuad r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1757TESTINST3("smuad r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1758TESTINST3("smuad r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1759TESTINST3("smuad r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1760TESTINST3("smuad r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1761TESTINST3("smuad r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1762TESTINST3("smuad r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1763TESTINST3("smuad r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1764TESTINST3("smuad r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1765TESTINST3("smuad r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1766TESTINST3("smuad r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1767TESTINST3("smuad r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1768TESTINST3("smuad r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1769TESTINST3("smuad r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1770TESTINST3("smuad r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1771TESTINST3("smuad r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1772TESTINST3("smuad r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1773TESTINST3("smuad r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1774TESTINST3("smuad r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1775TESTINST3("smuad r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1776TESTINST3("smuad r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1777TESTINST3("smuad r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1778TESTINST3("smuad r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1779TESTINST3("smuad r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1780 printf("----------------- SMUADX ---------------- \n"); 1781 TESTINST3("smuadx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 1782 TESTINST3("smuadx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1783 TESTINST3("smuadx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1784 TESTINST3("smuadx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1785 TESTINST3("smuadx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1786 TESTINST3("smuadx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 1787 TESTINST3("smuadx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 1788TESTINST3("smuadx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1789TESTINST3("smuadx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1790TESTINST3("smuadx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1791TESTINST3("smuadx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1792TESTINST3("smuadx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1793TESTINST3("smuadx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1794TESTINST3("smuadx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1795TESTINST3("smuadx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1796TESTINST3("smuadx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1797TESTINST3("smuadx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1798TESTINST3("smuadx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1799TESTINST3("smuadx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1800TESTINST3("smuadx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1801TESTINST3("smuadx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1802TESTINST3("smuadx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1803TESTINST3("smuadx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1804TESTINST3("smuadx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1805TESTINST3("smuadx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1806TESTINST3("smuadx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1807TESTINST3("smuadx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1808TESTINST3("smuadx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1809TESTINST3("smuadx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1810TESTINST3("smuadx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1811TESTINST3("smuadx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1812TESTINST3("smuadx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1813TESTINST3("smuadx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1814TESTINST3("smuadx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1815TESTINST3("smuadx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1816TESTINST3("smuadx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1817TESTINST3("smuadx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1818TESTINST3("smuadx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1819TESTINST3("smuadx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1820TESTINST3("smuadx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1821TESTINST3("smuadx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1822TESTINST3("smuadx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1823TESTINST3("smuadx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1824TESTINST3("smuadx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1825TESTINST3("smuadx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1826TESTINST3("smuadx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1827TESTINST3("smuadx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1828TESTINST3("smuadx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1829TESTINST3("smuadx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1830TESTINST3("smuadx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1831TESTINST3("smuadx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1832TESTINST3("smuadx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1833TESTINST3("smuadx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1834TESTINST3("smuadx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1835TESTINST3("smuadx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1836TESTINST3("smuadx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1837TESTINST3("smuadx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1838 1839 printf("----------------- SMLAD ----------------- \n"); 1840 TESTINST4("smlad r0, r1, r2, r3", 1841 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 1842 TESTINST4("smlad r0, r1, r2, r3", 1843 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 1844 TESTINST4("smlad r0, r1, r2, r3", 1845 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 1846 TESTINST4("smlad r0, r1, r2, r3", 1847 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 1848 TESTINST4("smlad r0, r1, r2, r3", 1849 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 1850 TESTINST4("smlad r0, r1, r2, r3", 1851 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 1852 TESTINST4("smlad r0, r1, r2, r3", 1853 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 1854TESTINST4("smlad r0, r1, r2, r3", 1855 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 1856TESTINST4("smlad r0, r1, r2, r3", 1857 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 1858TESTINST4("smlad r0, r1, r2, r3", 1859 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 1860TESTINST4("smlad r0, r1, r2, r3", 1861 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 1862TESTINST4("smlad r0, r1, r2, r3", 1863 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 1864TESTINST4("smlad r0, r1, r2, r3", 1865 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 1866TESTINST4("smlad r0, r1, r2, r3", 1867 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 1868TESTINST4("smlad r0, r1, r2, r3", 1869 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 1870TESTINST4("smlad r0, r1, r2, r3", 1871 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 1872TESTINST4("smlad r0, r1, r2, r3", 1873 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 1874TESTINST4("smlad r0, r1, r2, r3", 1875 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 1876TESTINST4("smlad r0, r1, r2, r3", 1877 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 1878TESTINST4("smlad r0, r1, r2, r3", 1879 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 1880TESTINST4("smlad r0, r1, r2, r3", 1881 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 1882TESTINST4("smlad r0, r1, r2, r3", 1883 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 1884TESTINST4("smlad r0, r1, r2, r3", 1885 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 1886TESTINST4("smlad r0, r1, r2, r3", 1887 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 1888TESTINST4("smlad r0, r1, r2, r3", 1889 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 1890TESTINST4("smlad r0, r1, r2, r3", 1891 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 1892TESTINST4("smlad r0, r1, r2, r3", 1893 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 1894TESTINST4("smlad r0, r1, r2, r3", 1895 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 1896TESTINST4("smlad r0, r1, r2, r3", 1897 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 1898TESTINST4("smlad r0, r1, r2, r3", 1899 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 1900TESTINST4("smlad r0, r1, r2, r3", 1901 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 1902TESTINST4("smlad r0, r1, r2, r3", 1903 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 1904TESTINST4("smlad r0, r1, r2, r3", 1905 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 1906TESTINST4("smlad r0, r1, r2, r3", 1907 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 1908TESTINST4("smlad r0, r1, r2, r3", 1909 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 1910TESTINST4("smlad r0, r1, r2, r3", 1911 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 1912TESTINST4("smlad r0, r1, r2, r3", 1913 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 1914TESTINST4("smlad r0, r1, r2, r3", 1915 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 1916TESTINST4("smlad r0, r1, r2, r3", 1917 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 1918TESTINST4("smlad r0, r1, r2, r3", 1919 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 1920TESTINST4("smlad r0, r1, r2, r3", 1921 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 1922TESTINST4("smlad r0, r1, r2, r3", 1923 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 1924TESTINST4("smlad r0, r1, r2, r3", 1925 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 1926TESTINST4("smlad r0, r1, r2, r3", 1927 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 1928TESTINST4("smlad r0, r1, r2, r3", 1929 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 1930TESTINST4("smlad r0, r1, r2, r3", 1931 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 1932TESTINST4("smlad r0, r1, r2, r3", 1933 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 1934TESTINST4("smlad r0, r1, r2, r3", 1935 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 1936TESTINST4("smlad r0, r1, r2, r3", 1937 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 1938TESTINST4("smlad r0, r1, r2, r3", 1939 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 1940TESTINST4("smlad r0, r1, r2, r3", 1941 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 1942TESTINST4("smlad r0, r1, r2, r3", 1943 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 1944TESTINST4("smlad r0, r1, r2, r3", 1945 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 1946TESTINST4("smlad r0, r1, r2, r3", 1947 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 1948TESTINST4("smlad r0, r1, r2, r3", 1949 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 1950TESTINST4("smlad r0, r1, r2, r3", 1951 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 1952TESTINST4("smlad r0, r1, r2, r3", 1953 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 1954TESTINST4("smlad r0, r1, r2, r3", 1955 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 1956 1957 printf("----------------- SMLADX ----------------- \n"); 1958 TESTINST4("smladx r0, r1, r2, r3", 1959 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 1960 TESTINST4("smladx r0, r1, r2, r3", 1961 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 1962 TESTINST4("smladx r0, r1, r2, r3", 1963 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 1964 TESTINST4("smladx r0, r1, r2, r3", 1965 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 1966 TESTINST4("smladx r0, r1, r2, r3", 1967 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 1968 TESTINST4("smladx r0, r1, r2, r3", 1969 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 1970 TESTINST4("smladx r0, r1, r2, r3", 1971 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 1972TESTINST4("smladx r0, r1, r2, r3", 1973 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 1974TESTINST4("smladx r0, r1, r2, r3", 1975 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 1976TESTINST4("smladx r0, r1, r2, r3", 1977 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 1978 1979 printf("------------ SMLABB, SMLATT, SMLATB, SMLABT ------------\n"); 1980 /* smlabb rD, rN, rM, rA */ 1981 TESTINST4("smlabb r0, r1, r2, r3", 1982 0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 1983 TESTINST4("smlabb r0, r1, r2, r3", 1984 0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 1985 TESTINST4("smlabb r0, r1, r2, r3", 1986 0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 1987 TESTINST4("smlabb r0, r1, r2, r3", 1988 0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 1989 TESTINST4("smlabb r0, r1, r2, r3", 1990 0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 1991 TESTINST4("smlabb r0, r1, r2, r3", 1992 0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 1993TESTINST4("smlabb r0, r1, r2, r3", 1994 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 1995TESTINST4("smlabb r0, r1, r2, r3", 1996 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 1997TESTINST4("smlabb r0, r1, r2, r3", 1998 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 1999TESTINST4("smlabb r0, r1, r2, r3", 2000 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2001TESTINST4("smlabb r0, r1, r2, r3", 2002 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2003TESTINST4("smlabb r0, r1, r2, r3", 2004 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2005TESTINST4("smlabb r0, r1, r2, r3", 2006 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2007TESTINST4("smlabb r0, r1, r2, r3", 2008 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2009TESTINST4("smlabb r0, r1, r2, r3", 2010 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2011TESTINST4("smlabb r0, r1, r2, r3", 2012 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2013TESTINST4("smlabb r0, r1, r2, r3", 2014 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2015TESTINST4("smlabb r0, r1, r2, r3", 2016 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2017TESTINST4("smlabb r0, r1, r2, r3", 2018 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2019TESTINST4("smlabb r0, r1, r2, r3", 2020 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2021TESTINST4("smlabb r0, r1, r2, r3", 2022 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2023TESTINST4("smlabb r0, r1, r2, r3", 2024 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2025TESTINST4("smlabb r0, r1, r2, r3", 2026 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2027TESTINST4("smlabb r0, r1, r2, r3", 2028 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2029TESTINST4("smlabb r0, r1, r2, r3", 2030 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2031TESTINST4("smlabb r0, r1, r2, r3", 2032 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2033TESTINST4("smlabb r0, r1, r2, r3", 2034 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2035TESTINST4("smlabb r0, r1, r2, r3", 2036 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2037TESTINST4("smlabb r0, r1, r2, r3", 2038 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2039TESTINST4("smlabb r0, r1, r2, r3", 2040 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2041TESTINST4("smlabb r0, r1, r2, r3", 2042 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2043TESTINST4("smlabb r0, r1, r2, r3", 2044 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2045TESTINST4("smlabb r0, r1, r2, r3", 2046 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2047TESTINST4("smlabb r0, r1, r2, r3", 2048 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2049TESTINST4("smlabb r0, r1, r2, r3", 2050 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2051TESTINST4("smlabb r0, r1, r2, r3", 2052 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2053TESTINST4("smlabb r0, r1, r2, r3", 2054 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2055TESTINST4("smlabb r0, r1, r2, r3", 2056 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2057TESTINST4("smlabb r0, r1, r2, r3", 2058 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2059TESTINST4("smlabb r0, r1, r2, r3", 2060 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2061TESTINST4("smlabb r0, r1, r2, r3", 2062 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2063TESTINST4("smlabb r0, r1, r2, r3", 2064 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2065TESTINST4("smlabb r0, r1, r2, r3", 2066 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2067TESTINST4("smlabb r0, r1, r2, r3", 2068 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2069TESTINST4("smlabb r0, r1, r2, r3", 2070 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2071TESTINST4("smlabb r0, r1, r2, r3", 2072 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2073TESTINST4("smlabb r0, r1, r2, r3", 2074 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2075TESTINST4("smlabb r0, r1, r2, r3", 2076 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2077TESTINST4("smlabb r0, r1, r2, r3", 2078 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2079TESTINST4("smlabb r0, r1, r2, r3", 2080 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2081TESTINST4("smlabb r0, r1, r2, r3", 2082 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2083TESTINST4("smlabb r0, r1, r2, r3", 2084 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2085TESTINST4("smlabb r0, r1, r2, r3", 2086 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2087TESTINST4("smlabb r0, r1, r2, r3", 2088 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2089TESTINST4("smlabb r0, r1, r2, r3", 2090 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2091TESTINST4("smlabb r0, r1, r2, r3", 2092 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2093TESTINST4("smlabb r0, r1, r2, r3", 2094 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2095 /* smlatt rD, rN, rM, rA */ 2096 TESTINST4("smlatt r0, r1, r2, r3", 2097 0x00000003, 0x00000004, 0x00000000, r0,r1,r2,r3, 0); 2098 TESTINST4("smlatt r0, r1, r2, r3", 2099 0x00010003, 0x00020004, 0x00007fff, r0,r1,r2,r3, 0); 2100 TESTINST4("smlatt r0, r1, r2, r3", 2101 0x80010003, 0x7fff0004, 0x00005fff, r0,r1,r2,r3, 0); 2102 TESTINST4("smlatt r0, r1, r2, r3", 2103 0x7fff0003, 0x7fff0004, 0x00007fff, r0,r1,r2,r3, 0); 2104 TESTINST4("smlatt r0, r1, r2, r3", 2105 0xffff0003, 0xffff0004, 0x7fff7fff, r0,r1,r2,r3, 0); 2106 TESTINST4("smlatt r0, r1, r2, r3", 2107 0xfffc0003, 0xffff0004, 0xffffffff, r0,r1,r2,r3, 0); 2108TESTINST4("smlatt r0, r1, r2, r3", 2109 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2110TESTINST4("smlatt r0, r1, r2, r3", 2111 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2112TESTINST4("smlatt r0, r1, r2, r3", 2113 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2114TESTINST4("smlatt r0, r1, r2, r3", 2115 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2116TESTINST4("smlatt r0, r1, r2, r3", 2117 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2118TESTINST4("smlatt r0, r1, r2, r3", 2119 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2120TESTINST4("smlatt r0, r1, r2, r3", 2121 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2122TESTINST4("smlatt r0, r1, r2, r3", 2123 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2124TESTINST4("smlatt r0, r1, r2, r3", 2125 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2126TESTINST4("smlatt r0, r1, r2, r3", 2127 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2128TESTINST4("smlatt r0, r1, r2, r3", 2129 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2130TESTINST4("smlatt r0, r1, r2, r3", 2131 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2132TESTINST4("smlatt r0, r1, r2, r3", 2133 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2134TESTINST4("smlatt r0, r1, r2, r3", 2135 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2136TESTINST4("smlatt r0, r1, r2, r3", 2137 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2138TESTINST4("smlatt r0, r1, r2, r3", 2139 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2140TESTINST4("smlatt r0, r1, r2, r3", 2141 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2142TESTINST4("smlatt r0, r1, r2, r3", 2143 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2144TESTINST4("smlatt r0, r1, r2, r3", 2145 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2146TESTINST4("smlatt r0, r1, r2, r3", 2147 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2148TESTINST4("smlatt r0, r1, r2, r3", 2149 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2150TESTINST4("smlatt r0, r1, r2, r3", 2151 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2152TESTINST4("smlatt r0, r1, r2, r3", 2153 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2154TESTINST4("smlatt r0, r1, r2, r3", 2155 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2156TESTINST4("smlatt r0, r1, r2, r3", 2157 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2158TESTINST4("smlatt r0, r1, r2, r3", 2159 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2160TESTINST4("smlatt r0, r1, r2, r3", 2161 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2162TESTINST4("smlatt r0, r1, r2, r3", 2163 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2164TESTINST4("smlatt r0, r1, r2, r3", 2165 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2166TESTINST4("smlatt r0, r1, r2, r3", 2167 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2168TESTINST4("smlatt r0, r1, r2, r3", 2169 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2170TESTINST4("smlatt r0, r1, r2, r3", 2171 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2172TESTINST4("smlatt r0, r1, r2, r3", 2173 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2174TESTINST4("smlatt r0, r1, r2, r3", 2175 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2176TESTINST4("smlatt r0, r1, r2, r3", 2177 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2178TESTINST4("smlatt r0, r1, r2, r3", 2179 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2180TESTINST4("smlatt r0, r1, r2, r3", 2181 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2182TESTINST4("smlatt r0, r1, r2, r3", 2183 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2184TESTINST4("smlatt r0, r1, r2, r3", 2185 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2186TESTINST4("smlatt r0, r1, r2, r3", 2187 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2188TESTINST4("smlatt r0, r1, r2, r3", 2189 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2190TESTINST4("smlatt r0, r1, r2, r3", 2191 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2192TESTINST4("smlatt r0, r1, r2, r3", 2193 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2194TESTINST4("smlatt r0, r1, r2, r3", 2195 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2196TESTINST4("smlatt r0, r1, r2, r3", 2197 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2198TESTINST4("smlatt r0, r1, r2, r3", 2199 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2200TESTINST4("smlatt r0, r1, r2, r3", 2201 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2202TESTINST4("smlatt r0, r1, r2, r3", 2203 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2204TESTINST4("smlatt r0, r1, r2, r3", 2205 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2206TESTINST4("smlatt r0, r1, r2, r3", 2207 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2208TESTINST4("smlatt r0, r1, r2, r3", 2209 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2210 /* smlatb rD, rN, rM, rA */ 2211 TESTINST4("smlatb r0, r1, r2, r3", 2212 0x00000003, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 2213 TESTINST4("smlatb r0, r1, r2, r3", 2214 0x00010003, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 2215 TESTINST4("smlatb r0, r1, r2, r3", 2216 0x80010003, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 2217 TESTINST4("smlatb r0, r1, r2, r3", 2218 0x7fff0003, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 2219 TESTINST4("smlatb r0, r1, r2, r3", 2220 0xffff0003, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 2221 TESTINST4("smlatb r0, r1, r2, r3", 2222 0xfffc0003, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 2223TESTINST4("smlatb r0, r1, r2, r3", 2224 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2225TESTINST4("smlatb r0, r1, r2, r3", 2226 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2227TESTINST4("smlatb r0, r1, r2, r3", 2228 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2229TESTINST4("smlatb r0, r1, r2, r3", 2230 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2231TESTINST4("smlatb r0, r1, r2, r3", 2232 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2233TESTINST4("smlatb r0, r1, r2, r3", 2234 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2235TESTINST4("smlatb r0, r1, r2, r3", 2236 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2237TESTINST4("smlatb r0, r1, r2, r3", 2238 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2239TESTINST4("smlatb r0, r1, r2, r3", 2240 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2241TESTINST4("smlatb r0, r1, r2, r3", 2242 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2243TESTINST4("smlatb r0, r1, r2, r3", 2244 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2245TESTINST4("smlatb r0, r1, r2, r3", 2246 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2247TESTINST4("smlatb r0, r1, r2, r3", 2248 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2249TESTINST4("smlatb r0, r1, r2, r3", 2250 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2251TESTINST4("smlatb r0, r1, r2, r3", 2252 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2253TESTINST4("smlatb r0, r1, r2, r3", 2254 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2255TESTINST4("smlatb r0, r1, r2, r3", 2256 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2257TESTINST4("smlatb r0, r1, r2, r3", 2258 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2259TESTINST4("smlatb r0, r1, r2, r3", 2260 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2261TESTINST4("smlatb r0, r1, r2, r3", 2262 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2263TESTINST4("smlatb r0, r1, r2, r3", 2264 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2265TESTINST4("smlatb r0, r1, r2, r3", 2266 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2267TESTINST4("smlatb r0, r1, r2, r3", 2268 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2269TESTINST4("smlatb r0, r1, r2, r3", 2270 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2271TESTINST4("smlatb r0, r1, r2, r3", 2272 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2273TESTINST4("smlatb r0, r1, r2, r3", 2274 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2275TESTINST4("smlatb r0, r1, r2, r3", 2276 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2277TESTINST4("smlatb r0, r1, r2, r3", 2278 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2279TESTINST4("smlatb r0, r1, r2, r3", 2280 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2281TESTINST4("smlatb r0, r1, r2, r3", 2282 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2283TESTINST4("smlatb r0, r1, r2, r3", 2284 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2285TESTINST4("smlatb r0, r1, r2, r3", 2286 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2287TESTINST4("smlatb r0, r1, r2, r3", 2288 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2289TESTINST4("smlatb r0, r1, r2, r3", 2290 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2291TESTINST4("smlatb r0, r1, r2, r3", 2292 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2293TESTINST4("smlatb r0, r1, r2, r3", 2294 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2295TESTINST4("smlatb r0, r1, r2, r3", 2296 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2297TESTINST4("smlatb r0, r1, r2, r3", 2298 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2299TESTINST4("smlatb r0, r1, r2, r3", 2300 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2301TESTINST4("smlatb r0, r1, r2, r3", 2302 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2303TESTINST4("smlatb r0, r1, r2, r3", 2304 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2305TESTINST4("smlatb r0, r1, r2, r3", 2306 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2307TESTINST4("smlatb r0, r1, r2, r3", 2308 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2309TESTINST4("smlatb r0, r1, r2, r3", 2310 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2311TESTINST4("smlatb r0, r1, r2, r3", 2312 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2313TESTINST4("smlatb r0, r1, r2, r3", 2314 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2315TESTINST4("smlatb r0, r1, r2, r3", 2316 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2317TESTINST4("smlatb r0, r1, r2, r3", 2318 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2319TESTINST4("smlatb r0, r1, r2, r3", 2320 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2321TESTINST4("smlatb r0, r1, r2, r3", 2322 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2323TESTINST4("smlatb r0, r1, r2, r3", 2324 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2325 /* smlabt rD, rN, rM, rA */ 2326 TESTINST4("smlabt r0, r1, r2, r3", 2327 0x00030000, 0x00000004, 0x00000000, r0,r1,r2,r3, 0); 2328 TESTINST4("smlabt r0, r1, r2, r3", 2329 0x00030001, 0x00020004, 0x00007fff, r0,r1,r2,r3, 0); 2330 TESTINST4("smlabt r0, r1, r2, r3", 2331 0x00038001, 0x7fff0004, 0x00005fff, r0,r1,r2,r3, 0); 2332 TESTINST4("smlabt r0, r1, r2, r3", 2333 0x00037fff, 0x7fff0004, 0x00007fff, r0,r1,r2,r3, 0); 2334 TESTINST4("smlabt r0, r1, r2, r3", 2335 0x0003ffff, 0xffff0004, 0x7fff7fff, r0,r1,r2,r3, 0); 2336 TESTINST4("smlabt r0, r1, r2, r3", 2337 0x0003fffc, 0xffff0004, 0xffffffff, r0,r1,r2,r3, 0); 2338TESTINST4("smlabt r0, r1, r2, r3", 2339 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2340TESTINST4("smlabt r0, r1, r2, r3", 2341 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2342TESTINST4("smlabt r0, r1, r2, r3", 2343 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2344TESTINST4("smlabt r0, r1, r2, r3", 2345 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2346TESTINST4("smlabt r0, r1, r2, r3", 2347 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2348TESTINST4("smlabt r0, r1, r2, r3", 2349 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2350TESTINST4("smlabt r0, r1, r2, r3", 2351 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2352TESTINST4("smlabt r0, r1, r2, r3", 2353 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2354TESTINST4("smlabt r0, r1, r2, r3", 2355 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2356TESTINST4("smlabt r0, r1, r2, r3", 2357 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2358TESTINST4("smlabt r0, r1, r2, r3", 2359 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2360TESTINST4("smlabt r0, r1, r2, r3", 2361 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2362TESTINST4("smlabt r0, r1, r2, r3", 2363 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2364TESTINST4("smlabt r0, r1, r2, r3", 2365 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2366TESTINST4("smlabt r0, r1, r2, r3", 2367 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2368TESTINST4("smlabt r0, r1, r2, r3", 2369 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2370TESTINST4("smlabt r0, r1, r2, r3", 2371 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2372TESTINST4("smlabt r0, r1, r2, r3", 2373 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2374TESTINST4("smlabt r0, r1, r2, r3", 2375 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2376TESTINST4("smlabt r0, r1, r2, r3", 2377 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2378TESTINST4("smlabt r0, r1, r2, r3", 2379 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2380TESTINST4("smlabt r0, r1, r2, r3", 2381 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2382TESTINST4("smlabt r0, r1, r2, r3", 2383 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2384TESTINST4("smlabt r0, r1, r2, r3", 2385 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2386TESTINST4("smlabt r0, r1, r2, r3", 2387 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2388TESTINST4("smlabt r0, r1, r2, r3", 2389 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2390TESTINST4("smlabt r0, r1, r2, r3", 2391 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2392TESTINST4("smlabt r0, r1, r2, r3", 2393 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2394TESTINST4("smlabt r0, r1, r2, r3", 2395 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2396TESTINST4("smlabt r0, r1, r2, r3", 2397 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2398TESTINST4("smlabt r0, r1, r2, r3", 2399 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2400TESTINST4("smlabt r0, r1, r2, r3", 2401 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2402TESTINST4("smlabt r0, r1, r2, r3", 2403 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2404TESTINST4("smlabt r0, r1, r2, r3", 2405 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2406TESTINST4("smlabt r0, r1, r2, r3", 2407 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2408TESTINST4("smlabt r0, r1, r2, r3", 2409 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2410TESTINST4("smlabt r0, r1, r2, r3", 2411 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2412TESTINST4("smlabt r0, r1, r2, r3", 2413 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2414TESTINST4("smlabt r0, r1, r2, r3", 2415 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2416TESTINST4("smlabt r0, r1, r2, r3", 2417 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2418TESTINST4("smlabt r0, r1, r2, r3", 2419 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2420TESTINST4("smlabt r0, r1, r2, r3", 2421 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2422TESTINST4("smlabt r0, r1, r2, r3", 2423 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2424TESTINST4("smlabt r0, r1, r2, r3", 2425 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2426TESTINST4("smlabt r0, r1, r2, r3", 2427 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2428TESTINST4("smlabt r0, r1, r2, r3", 2429 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2430TESTINST4("smlabt r0, r1, r2, r3", 2431 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2432TESTINST4("smlabt r0, r1, r2, r3", 2433 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2434TESTINST4("smlabt r0, r1, r2, r3", 2435 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2436TESTINST4("smlabt r0, r1, r2, r3", 2437 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2438TESTINST4("smlabt r0, r1, r2, r3", 2439 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2440 2441 printf("------------ UQSUB8 -----------------------------------\n"); 2442 TESTINST3("uqsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2443 TESTINST3("uqsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2444 TESTINST3("uqsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2445 TESTINST3("uqsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2446 TESTINST3("uqsub8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0); 2447 TESTINST3("uqsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2448 TESTINST3("uqsub8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0); 2449 TESTINST3("uqsub8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0); 2450TESTINST3("uqsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2451TESTINST3("uqsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2452TESTINST3("uqsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2453TESTINST3("uqsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2454TESTINST3("uqsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2455TESTINST3("uqsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2456TESTINST3("uqsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2457TESTINST3("uqsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2458TESTINST3("uqsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2459TESTINST3("uqsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2460TESTINST3("uqsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2461TESTINST3("uqsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2462TESTINST3("uqsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2463TESTINST3("uqsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2464TESTINST3("uqsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2465TESTINST3("uqsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2466TESTINST3("uqsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2467TESTINST3("uqsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2468TESTINST3("uqsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2469TESTINST3("uqsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2470TESTINST3("uqsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2471TESTINST3("uqsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2472TESTINST3("uqsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2473TESTINST3("uqsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2474TESTINST3("uqsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2475TESTINST3("uqsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2476TESTINST3("uqsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2477TESTINST3("uqsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2478TESTINST3("uqsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2479TESTINST3("uqsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2480TESTINST3("uqsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2481TESTINST3("uqsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2482TESTINST3("uqsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2483TESTINST3("uqsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2484TESTINST3("uqsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2485TESTINST3("uqsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2486TESTINST3("uqsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2487TESTINST3("uqsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2488TESTINST3("uqsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2489TESTINST3("uqsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2490TESTINST3("uqsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2491TESTINST3("uqsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2492TESTINST3("uqsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2493TESTINST3("uqsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2494TESTINST3("uqsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2495TESTINST3("uqsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2496TESTINST3("uqsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2497TESTINST3("uqsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2498TESTINST3("uqsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2499TESTINST3("uqsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2500TESTINST3("uqsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2501 2502 printf("------------ UQADD8 -----------------------------------\n"); 2503 TESTINST3("uqadd8 r0, r1, r2", 0x0009ffff, 0x001800aa, r0, r1, r2, 0); 2504 TESTINST3("uqadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2505 TESTINST3("uqadd8 r0, r1, r2", 0x00aa0018, 0xffff0009, r0, r1, r2, 0); 2506 TESTINST3("uqadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2507 TESTINST3("uqadd8 r0, r1, r2", 0x0000aa18, 0xff00ff09, r0, r1, r2, 0); 2508 TESTINST3("uqadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2509 TESTINST3("uqadd8 r0, r1, r2", 0xff9fefcc, 0xff9ffedd, r0, r1, r2, 0); 2510 TESTINST3("uqadd8 r0, r1, r2", 0xff07ff09, 0xaa020318, r0, r1, r2, 0); 2511TESTINST3("uqadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2512TESTINST3("uqadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2513TESTINST3("uqadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2514TESTINST3("uqadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2515TESTINST3("uqadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2516TESTINST3("uqadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2517TESTINST3("uqadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2518TESTINST3("uqadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2519TESTINST3("uqadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2520TESTINST3("uqadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2521TESTINST3("uqadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2522TESTINST3("uqadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2523TESTINST3("uqadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2524TESTINST3("uqadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2525TESTINST3("uqadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2526TESTINST3("uqadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2527TESTINST3("uqadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2528TESTINST3("uqadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2529TESTINST3("uqadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2530TESTINST3("uqadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2531TESTINST3("uqadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2532TESTINST3("uqadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2533TESTINST3("uqadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2534TESTINST3("uqadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2535TESTINST3("uqadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2536TESTINST3("uqadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2537TESTINST3("uqadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2538TESTINST3("uqadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2539TESTINST3("uqadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2540TESTINST3("uqadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2541TESTINST3("uqadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2542TESTINST3("uqadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2543TESTINST3("uqadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2544TESTINST3("uqadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2545TESTINST3("uqadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2546TESTINST3("uqadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2547TESTINST3("uqadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2548TESTINST3("uqadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2549TESTINST3("uqadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2550TESTINST3("uqadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2551TESTINST3("uqadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2552TESTINST3("uqadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2553TESTINST3("uqadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2554TESTINST3("uqadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2555TESTINST3("uqadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2556TESTINST3("uqadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2557TESTINST3("uqadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2558TESTINST3("uqadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2559TESTINST3("uqadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2560TESTINST3("uqadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2561TESTINST3("uqadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2562 2563 printf("------------ SEL --------------------------------------\n"); 2564 TESTINST3("sel r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2565 TESTINST3("sel r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 2566 TESTINST3("sel r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2567 TESTINST3("sel r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 2568 TESTINST3("sel r0, r1, r2", 0xfffcffff, 0xffff0001, r0, r1, r2, 0); 2569 TESTINST3("sel r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 2570TESTINST3("sel r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2571TESTINST3("sel r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2572TESTINST3("sel r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2573TESTINST3("sel r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2574TESTINST3("sel r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2575TESTINST3("sel r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2576TESTINST3("sel r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2577TESTINST3("sel r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2578TESTINST3("sel r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2579TESTINST3("sel r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2580TESTINST3("sel r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2581TESTINST3("sel r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2582TESTINST3("sel r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2583TESTINST3("sel r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2584TESTINST3("sel r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2585TESTINST3("sel r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2586TESTINST3("sel r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2587TESTINST3("sel r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2588TESTINST3("sel r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2589TESTINST3("sel r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2590TESTINST3("sel r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2591TESTINST3("sel r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2592TESTINST3("sel r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2593TESTINST3("sel r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2594TESTINST3("sel r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2595TESTINST3("sel r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2596TESTINST3("sel r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2597TESTINST3("sel r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2598TESTINST3("sel r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2599TESTINST3("sel r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2600TESTINST3("sel r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2601TESTINST3("sel r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2602TESTINST3("sel r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2603TESTINST3("sel r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2604TESTINST3("sel r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2605TESTINST3("sel r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2606TESTINST3("sel r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2607TESTINST3("sel r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2608TESTINST3("sel r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2609TESTINST3("sel r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2610TESTINST3("sel r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2611TESTINST3("sel r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2612TESTINST3("sel r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2613TESTINST3("sel r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2614TESTINST3("sel r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2615TESTINST3("sel r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2616TESTINST3("sel r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2617TESTINST3("sel r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2618TESTINST3("sel r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2619TESTINST3("sel r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2620TESTINST3("sel r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2621 2622 printf("------------ QSUB8-------------------------------------\n"); 2623 TESTINST3("qsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2624 TESTINST3("qsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2625 TESTINST3("qsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2626 TESTINST3("qsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2627 TESTINST3("qsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2628 TESTINST3("qsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 2629 TESTINST3("qsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 2630 TESTINST3("qsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2631TESTINST3("qsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2632TESTINST3("qsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2633TESTINST3("qsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2634TESTINST3("qsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2635TESTINST3("qsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2636TESTINST3("qsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2637TESTINST3("qsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2638TESTINST3("qsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2639TESTINST3("qsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2640TESTINST3("qsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2641TESTINST3("qsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2642TESTINST3("qsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2643TESTINST3("qsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2644TESTINST3("qsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2645TESTINST3("qsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2646TESTINST3("qsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2647TESTINST3("qsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2648TESTINST3("qsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2649TESTINST3("qsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2650TESTINST3("qsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2651TESTINST3("qsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2652TESTINST3("qsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2653TESTINST3("qsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2654TESTINST3("qsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2655TESTINST3("qsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2656TESTINST3("qsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2657TESTINST3("qsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2658TESTINST3("qsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2659TESTINST3("qsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2660TESTINST3("qsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2661TESTINST3("qsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2662TESTINST3("qsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2663TESTINST3("qsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2664TESTINST3("qsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2665TESTINST3("qsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2666TESTINST3("qsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2667TESTINST3("qsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2668TESTINST3("qsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2669TESTINST3("qsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2670TESTINST3("qsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2671TESTINST3("qsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2672TESTINST3("qsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2673TESTINST3("qsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2674TESTINST3("qsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2675TESTINST3("qsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2676TESTINST3("qsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2677TESTINST3("qsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2678TESTINST3("qsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2679TESTINST3("qsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2680TESTINST3("qsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2681TESTINST3("qsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2682 2683 printf("------------ QADD8-------------------------------------\n"); 2684 TESTINST3("qadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2685 TESTINST3("qadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2686 TESTINST3("qadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2687 TESTINST3("qadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2688 TESTINST3("qadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2689 TESTINST3("qadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 2690 TESTINST3("qadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 2691 TESTINST3("qadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2692TESTINST3("qadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2693TESTINST3("qadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2694TESTINST3("qadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2695TESTINST3("qadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2696TESTINST3("qadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2697TESTINST3("qadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2698TESTINST3("qadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2699TESTINST3("qadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2700TESTINST3("qadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2701TESTINST3("qadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2702TESTINST3("qadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2703TESTINST3("qadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2704TESTINST3("qadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2705TESTINST3("qadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2706TESTINST3("qadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2707TESTINST3("qadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2708TESTINST3("qadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2709TESTINST3("qadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2710TESTINST3("qadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2711TESTINST3("qadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2712TESTINST3("qadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2713TESTINST3("qadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2714TESTINST3("qadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2715TESTINST3("qadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2716TESTINST3("qadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2717TESTINST3("qadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2718TESTINST3("qadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2719TESTINST3("qadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2720TESTINST3("qadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2721TESTINST3("qadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2722TESTINST3("qadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2723TESTINST3("qadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2724TESTINST3("qadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2725TESTINST3("qadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2726TESTINST3("qadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2727TESTINST3("qadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2728TESTINST3("qadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2729TESTINST3("qadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2730TESTINST3("qadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2731TESTINST3("qadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2732TESTINST3("qadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2733TESTINST3("qadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2734TESTINST3("qadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2735TESTINST3("qadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2736TESTINST3("qadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2737TESTINST3("qadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2738TESTINST3("qadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2739TESTINST3("qadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2740TESTINST3("qadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2741TESTINST3("qadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2742TESTINST3("qadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2743 2744 printf("------------ SHADD8 -----------------------------------\n"); 2745 TESTINST3("shadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2746 TESTINST3("shadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2747 TESTINST3("shadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2748 TESTINST3("shadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2749 TESTINST3("shadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2750 TESTINST3("shadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 2751 TESTINST3("shadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 2752 TESTINST3("shadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2753TESTINST3("shadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2754TESTINST3("shadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2755TESTINST3("shadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2756TESTINST3("shadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2757TESTINST3("shadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2758TESTINST3("shadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2759TESTINST3("shadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2760TESTINST3("shadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2761TESTINST3("shadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2762TESTINST3("shadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2763TESTINST3("shadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2764TESTINST3("shadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2765TESTINST3("shadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2766TESTINST3("shadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2767TESTINST3("shadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2768TESTINST3("shadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2769TESTINST3("shadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2770TESTINST3("shadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2771TESTINST3("shadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2772TESTINST3("shadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2773TESTINST3("shadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2774TESTINST3("shadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2775TESTINST3("shadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2776TESTINST3("shadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2777TESTINST3("shadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2778TESTINST3("shadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2779TESTINST3("shadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2780TESTINST3("shadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2781TESTINST3("shadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2782TESTINST3("shadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2783TESTINST3("shadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2784TESTINST3("shadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2785TESTINST3("shadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2786TESTINST3("shadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2787TESTINST3("shadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2788TESTINST3("shadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2789TESTINST3("shadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2790TESTINST3("shadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2791TESTINST3("shadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2792TESTINST3("shadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2793TESTINST3("shadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2794TESTINST3("shadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2795TESTINST3("shadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2796TESTINST3("shadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2797TESTINST3("shadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2798TESTINST3("shadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2799TESTINST3("shadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2800TESTINST3("shadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2801TESTINST3("shadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2802TESTINST3("shadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2803TESTINST3("shadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2804 2805 printf("------------ UHADD8 -----------------------------------\n"); 2806 TESTINST3("uhadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2807 TESTINST3("uhadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2808 TESTINST3("uhadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2809 TESTINST3("uhadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2810 TESTINST3("uhadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2811 TESTINST3("uhadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 2812 TESTINST3("uhadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 2813 TESTINST3("uhadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2814TESTINST3("uhadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2815TESTINST3("uhadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2816TESTINST3("uhadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2817TESTINST3("uhadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2818TESTINST3("uhadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2819TESTINST3("uhadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2820TESTINST3("uhadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2821TESTINST3("uhadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2822TESTINST3("uhadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2823TESTINST3("uhadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2824TESTINST3("uhadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2825TESTINST3("uhadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2826TESTINST3("uhadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2827TESTINST3("uhadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2828TESTINST3("uhadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2829TESTINST3("uhadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2830TESTINST3("uhadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2831TESTINST3("uhadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2832TESTINST3("uhadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2833TESTINST3("uhadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2834TESTINST3("uhadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2835TESTINST3("uhadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2836TESTINST3("uhadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2837TESTINST3("uhadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2838TESTINST3("uhadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2839TESTINST3("uhadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2840TESTINST3("uhadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2841TESTINST3("uhadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2842TESTINST3("uhadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2843TESTINST3("uhadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2844TESTINST3("uhadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2845TESTINST3("uhadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2846TESTINST3("uhadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2847TESTINST3("uhadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2848TESTINST3("uhadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2849TESTINST3("uhadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2850TESTINST3("uhadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2851TESTINST3("uhadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2852TESTINST3("uhadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2853TESTINST3("uhadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2854TESTINST3("uhadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2855TESTINST3("uhadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2856TESTINST3("uhadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2857TESTINST3("uhadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2858TESTINST3("uhadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2859TESTINST3("uhadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2860TESTINST3("uhadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2861TESTINST3("uhadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2862TESTINST3("uhadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2863TESTINST3("uhadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2864TESTINST3("uhadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2865 2866 printf("----------------- SSAT ----------------- \n"); 2867 TESTINST2("ssat r0, #1, r1, LSL #31", 0x80008000, r0, r1, 0); 2868 TESTINST2("ssat r0, #6, r1, LSL #24", 0x80008000, r0, r1, 0); 2869 TESTINST2("ssat r0, #8, r1, ASR #18", 0x80008000, r0, r1, 0); 2870 TESTINST2("ssat r0, #12, r1, ASR #16", 0x80008000, r0, r1, 0); 2871 TESTINST2("ssat r0, #16, r1, LSL #12", 0xffff0009, r0, r1, 0); 2872 TESTINST2("ssat r0, #18, r1, LSL #8", 0xffff0009, r0, r1, 0); 2873 TESTINST2("ssat r0, #24, r1, ASR #6", 0xffff0009, r0, r1, 0); 2874 TESTINST2("ssat r0, #31, r1, ASR #1", 0xffff0009, r0, r1, 0); 2875TESTINST2("ssat r0, #1, r1", 0x256bfdd6, r0, r1, 0); 2876TESTINST2("ssat r0, #1, r1", 0xc02a0c05, r0, r1, 0); 2877TESTINST2("ssat r0, #1, r1", 0xee2fa46e, r0, r1, 0); 2878TESTINST2("ssat r0, #1, r1", 0x97a7da20, r0, r1, 0); 2879TESTINST2("ssat r0, #32, r1", 0xa231d5e6, r0, r1, 0); 2880TESTINST2("ssat r0, #32, r1", 0x10e1968a, r0, r1, 0); 2881TESTINST2("ssat r0, #32, r1", 0x0e089270, r0, r1, 0); 2882TESTINST2("ssat r0, #32, r1", 0x9e8e0185, r0, r1, 0); 2883TESTINST2("ssat r0, #32, r1", 0x3096f12e, r0, r1, 0); 2884TESTINST2("ssat r0, #32, r1", 0xffc134df, r0, r1, 0); 2885TESTINST2("ssat r0, #1, r1, LSL #31", 0x256bfdd6, r0, r1, 0); 2886TESTINST2("ssat r0, #1, r1, LSL #31", 0xc02a0c05, r0, r1, 0); 2887TESTINST2("ssat r0, #1, r1, LSL #31", 0xee2fa46e, r0, r1, 0); 2888TESTINST2("ssat r0, #1, r1, LSL #31", 0x97a7da20, r0, r1, 0); 2889TESTINST2("ssat r0, #1, r1, LSL #31", 0xa231d5e6, r0, r1, 0); 2890TESTINST2("ssat r0, #1, r1, LSL #31", 0x10e1968a, r0, r1, 0); 2891TESTINST2("ssat r0, #1, r1, LSL #31", 0x0e089270, r0, r1, 0); 2892TESTINST2("ssat r0, #1, r1, LSL #31", 0x9e8e0185, r0, r1, 0); 2893TESTINST2("ssat r0, #1, r1, LSL #31", 0x3096f12e, r0, r1, 0); 2894TESTINST2("ssat r0, #1, r1, LSL #31", 0xffc134df, r0, r1, 0); 2895TESTINST2("ssat r0, #3, r1, LSL #28", 0x256bfdd6, r0, r1, 0); 2896TESTINST2("ssat r0, #3, r1, LSL #28", 0xc02a0c05, r0, r1, 0); 2897TESTINST2("ssat r0, #3, r1, LSL #28", 0xee2fa46e, r0, r1, 0); 2898TESTINST2("ssat r0, #3, r1, LSL #28", 0x97a7da20, r0, r1, 0); 2899TESTINST2("ssat r0, #3, r1, LSL #28", 0xa231d5e6, r0, r1, 0); 2900TESTINST2("ssat r0, #3, r1, LSL #28", 0x10e1968a, r0, r1, 0); 2901TESTINST2("ssat r0, #3, r1, LSL #28", 0x0e089270, r0, r1, 0); 2902TESTINST2("ssat r0, #3, r1, LSL #28", 0x9e8e0185, r0, r1, 0); 2903TESTINST2("ssat r0, #3, r1, LSL #28", 0x3096f12e, r0, r1, 0); 2904TESTINST2("ssat r0, #3, r1, LSL #28", 0xffc134df, r0, r1, 0); 2905TESTINST2("ssat r0, #6, r1, LSL #24", 0x256bfdd6, r0, r1, 0); 2906TESTINST2("ssat r0, #6, r1, LSL #24", 0xc02a0c05, r0, r1, 0); 2907TESTINST2("ssat r0, #6, r1, LSL #24", 0xee2fa46e, r0, r1, 0); 2908TESTINST2("ssat r0, #6, r1, LSL #24", 0x97a7da20, r0, r1, 0); 2909TESTINST2("ssat r0, #6, r1, LSL #24", 0xa231d5e6, r0, r1, 0); 2910TESTINST2("ssat r0, #6, r1, LSL #24", 0x10e1968a, r0, r1, 0); 2911TESTINST2("ssat r0, #6, r1, LSL #24", 0x0e089270, r0, r1, 0); 2912TESTINST2("ssat r0, #6, r1, LSL #24", 0x9e8e0185, r0, r1, 0); 2913TESTINST2("ssat r0, #6, r1, LSL #24", 0x3096f12e, r0, r1, 0); 2914TESTINST2("ssat r0, #6, r1, LSL #24", 0xffc134df, r0, r1, 0); 2915TESTINST2("ssat r0, #8, r1, ASR #18", 0x256bfdd6, r0, r1, 0); 2916TESTINST2("ssat r0, #8, r1, ASR #18", 0xc02a0c05, r0, r1, 0); 2917TESTINST2("ssat r0, #8, r1, ASR #18", 0xee2fa46e, r0, r1, 0); 2918TESTINST2("ssat r0, #8, r1, ASR #18", 0x97a7da20, r0, r1, 0); 2919TESTINST2("ssat r0, #8, r1, ASR #18", 0xa231d5e6, r0, r1, 0); 2920TESTINST2("ssat r0, #8, r1, ASR #18", 0x10e1968a, r0, r1, 0); 2921TESTINST2("ssat r0, #8, r1, ASR #18", 0x0e089270, r0, r1, 0); 2922TESTINST2("ssat r0, #8, r1, ASR #18", 0x9e8e0185, r0, r1, 0); 2923TESTINST2("ssat r0, #8, r1, ASR #18", 0x3096f12e, r0, r1, 0); 2924TESTINST2("ssat r0, #8, r1, ASR #18", 0xffc134df, r0, r1, 0); 2925TESTINST2("ssat r0, #12, r1, ASR #16", 0x256bfdd6, r0, r1, 0); 2926TESTINST2("ssat r0, #12, r1, ASR #16", 0xc02a0c05, r0, r1, 0); 2927TESTINST2("ssat r0, #12, r1, ASR #16", 0xee2fa46e, r0, r1, 0); 2928TESTINST2("ssat r0, #12, r1, ASR #16", 0x97a7da20, r0, r1, 0); 2929TESTINST2("ssat r0, #12, r1, ASR #16", 0xa231d5e6, r0, r1, 0); 2930TESTINST2("ssat r0, #12, r1, ASR #16", 0x10e1968a, r0, r1, 0); 2931TESTINST2("ssat r0, #12, r1, ASR #16", 0x0e089270, r0, r1, 0); 2932TESTINST2("ssat r0, #12, r1, ASR #16", 0x9e8e0185, r0, r1, 0); 2933TESTINST2("ssat r0, #12, r1, ASR #16", 0x3096f12e, r0, r1, 0); 2934TESTINST2("ssat r0, #12, r1, ASR #16", 0xffc134df, r0, r1, 0); 2935TESTINST2("ssat r0, #16, r1, LSL #12", 0x256bfdd6, r0, r1, 0); 2936TESTINST2("ssat r0, #16, r1, LSL #12", 0xc02a0c05, r0, r1, 0); 2937TESTINST2("ssat r0, #16, r1, LSL #12", 0xee2fa46e, r0, r1, 0); 2938TESTINST2("ssat r0, #16, r1, LSL #12", 0x97a7da20, r0, r1, 0); 2939TESTINST2("ssat r0, #16, r1, LSL #12", 0xa231d5e6, r0, r1, 0); 2940TESTINST2("ssat r0, #16, r1, LSL #12", 0x10e1968a, r0, r1, 0); 2941TESTINST2("ssat r0, #16, r1, LSL #12", 0x0e089270, r0, r1, 0); 2942TESTINST2("ssat r0, #16, r1, LSL #12", 0x9e8e0185, r0, r1, 0); 2943TESTINST2("ssat r0, #16, r1, LSL #12", 0x3096f12e, r0, r1, 0); 2944TESTINST2("ssat r0, #16, r1, LSL #12", 0xffc134df, r0, r1, 0); 2945TESTINST2("ssat r0, #18, r1, LSL #8", 0x256bfdd6, r0, r1, 0); 2946TESTINST2("ssat r0, #18, r1, LSL #8", 0xc02a0c05, r0, r1, 0); 2947TESTINST2("ssat r0, #18, r1, LSL #8", 0xee2fa46e, r0, r1, 0); 2948TESTINST2("ssat r0, #18, r1, LSL #8", 0x97a7da20, r0, r1, 0); 2949TESTINST2("ssat r0, #18, r1, LSL #8", 0xa231d5e6, r0, r1, 0); 2950TESTINST2("ssat r0, #18, r1, LSL #8", 0x10e1968a, r0, r1, 0); 2951TESTINST2("ssat r0, #18, r1, LSL #8", 0x0e089270, r0, r1, 0); 2952TESTINST2("ssat r0, #18, r1, LSL #8", 0x9e8e0185, r0, r1, 0); 2953TESTINST2("ssat r0, #18, r1, LSL #8", 0x3096f12e, r0, r1, 0); 2954TESTINST2("ssat r0, #18, r1, LSL #8", 0xffc134df, r0, r1, 0); 2955TESTINST2("ssat r0, #24, r1, ASR #6", 0x256bfdd6, r0, r1, 0); 2956TESTINST2("ssat r0, #24, r1, ASR #6", 0xc02a0c05, r0, r1, 0); 2957TESTINST2("ssat r0, #24, r1, ASR #6", 0xee2fa46e, r0, r1, 0); 2958TESTINST2("ssat r0, #24, r1, ASR #6", 0x97a7da20, r0, r1, 0); 2959TESTINST2("ssat r0, #24, r1, ASR #6", 0xa231d5e6, r0, r1, 0); 2960TESTINST2("ssat r0, #24, r1, ASR #6", 0x10e1968a, r0, r1, 0); 2961TESTINST2("ssat r0, #24, r1, ASR #6", 0x0e089270, r0, r1, 0); 2962TESTINST2("ssat r0, #24, r1, ASR #6", 0x9e8e0185, r0, r1, 0); 2963TESTINST2("ssat r0, #24, r1, ASR #6", 0x3096f12e, r0, r1, 0); 2964TESTINST2("ssat r0, #24, r1, ASR #6", 0xffc134df, r0, r1, 0); 2965TESTINST2("ssat r0, #28, r1, ASR #3", 0x256bfdd6, r0, r1, 0); 2966TESTINST2("ssat r0, #28, r1, ASR #3", 0xc02a0c05, r0, r1, 0); 2967TESTINST2("ssat r0, #28, r1, ASR #3", 0xee2fa46e, r0, r1, 0); 2968TESTINST2("ssat r0, #28, r1, ASR #3", 0x97a7da20, r0, r1, 0); 2969TESTINST2("ssat r0, #28, r1, ASR #3", 0xa231d5e6, r0, r1, 0); 2970TESTINST2("ssat r0, #28, r1, ASR #3", 0x10e1968a, r0, r1, 0); 2971TESTINST2("ssat r0, #28, r1, ASR #3", 0x0e089270, r0, r1, 0); 2972TESTINST2("ssat r0, #28, r1, ASR #3", 0x9e8e0185, r0, r1, 0); 2973TESTINST2("ssat r0, #28, r1, ASR #3", 0x3096f12e, r0, r1, 0); 2974TESTINST2("ssat r0, #28, r1, ASR #3", 0xffc134df, r0, r1, 0); 2975TESTINST2("ssat r0, #31, r1, ASR #1", 0x256bfdd6, r0, r1, 0); 2976TESTINST2("ssat r0, #31, r1, ASR #1", 0xc02a0c05, r0, r1, 0); 2977TESTINST2("ssat r0, #31, r1, ASR #1", 0xee2fa46e, r0, r1, 0); 2978TESTINST2("ssat r0, #31, r1, ASR #1", 0x97a7da20, r0, r1, 0); 2979TESTINST2("ssat r0, #31, r1, ASR #1", 0xa231d5e6, r0, r1, 0); 2980TESTINST2("ssat r0, #31, r1, ASR #1", 0x10e1968a, r0, r1, 0); 2981TESTINST2("ssat r0, #31, r1, ASR #1", 0x0e089270, r0, r1, 0); 2982TESTINST2("ssat r0, #31, r1, ASR #1", 0x9e8e0185, r0, r1, 0); 2983TESTINST2("ssat r0, #31, r1, ASR #1", 0x3096f12e, r0, r1, 0); 2984TESTINST2("ssat r0, #31, r1, ASR #1", 0xffc134df, r0, r1, 0); 2985#ifndef __thumb__ 2986TESTINST2("ssat r0, #1, r1, ASR #32", 0x256bfdd6, r0, r1, 0); 2987TESTINST2("ssat r0, #1, r1, ASR #32", 0xc02a0c05, r0, r1, 0); 2988TESTINST2("ssat r0, #1, r1, ASR #32", 0xee2fa46e, r0, r1, 0); 2989TESTINST2("ssat r0, #1, r1, ASR #32", 0x97a7da20, r0, r1, 0); 2990TESTINST2("ssat r0, #1, r1, ASR #32", 0xa231d5e6, r0, r1, 0); 2991TESTINST2("ssat r0, #1, r1, ASR #32", 0x10e1968a, r0, r1, 0); 2992TESTINST2("ssat r0, #1, r1, ASR #32", 0x0e089270, r0, r1, 0); 2993TESTINST2("ssat r0, #1, r1, ASR #32", 0x9e8e0185, r0, r1, 0); 2994TESTINST2("ssat r0, #1, r1, ASR #32", 0x3096f12e, r0, r1, 0); 2995TESTINST2("ssat r0, #1, r1, ASR #32", 0xffc134df, r0, r1, 0); 2996TESTINST2("ssat r0, #32, r1, ASR #32", 0x256bfdd6, r0, r1, 0); 2997TESTINST2("ssat r0, #32, r1, ASR #32", 0xc02a0c05, r0, r1, 0); 2998TESTINST2("ssat r0, #32, r1, ASR #32", 0xee2fa46e, r0, r1, 0); 2999TESTINST2("ssat r0, #32, r1, ASR #32", 0x97a7da20, r0, r1, 0); 3000TESTINST2("ssat r0, #32, r1, ASR #32", 0xa231d5e6, r0, r1, 0); 3001TESTINST2("ssat r0, #32, r1, ASR #32", 0x10e1968a, r0, r1, 0); 3002TESTINST2("ssat r0, #32, r1, ASR #32", 0x0e089270, r0, r1, 0); 3003TESTINST2("ssat r0, #32, r1, ASR #32", 0x9e8e0185, r0, r1, 0); 3004TESTINST2("ssat r0, #32, r1, ASR #32", 0x3096f12e, r0, r1, 0); 3005TESTINST2("ssat r0, #32, r1, ASR #32", 0xffc134df, r0, r1, 0); 3006#endif 3007 3008 printf("---------------- SADD8 ----------------- \n"); 3009 TESTINST3("sadd8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0); 3010 TESTINST3("sadd8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0); 3011 TESTINST3("sadd8 r0, r1, r2", 0x00fd00e8, 0xffff00f7, r0, r1, r2, 0); 3012 TESTINST3("sadd8 r0, r1, r2", 0xffff00f7, 0x00fd0018, r0, r1, r2, 0); 3013 TESTINST3("sadd8 r0, r1, r2", 0x0000fd18, 0xff00fff7, r0, r1, r2, 0); 3014 TESTINST3("sadd8 r0, r1, r2", 0xffff00f7, 0x00fd00e8, r0, r1, r2, 0); 3015 TESTINST3("sadd8 r0, r1, r2", 0x00fefd18, 0xff07fff7, r0, r1, r2, 0); 3016 TESTINST3("sadd8 r0, r1, r2", 0xff07fff7, 0x00fefde8, r0, r1, r2, 0); 3017TESTINST3("sadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3018TESTINST3("sadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3019TESTINST3("sadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3020TESTINST3("sadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3021TESTINST3("sadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3022TESTINST3("sadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3023TESTINST3("sadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3024TESTINST3("sadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3025TESTINST3("sadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3026TESTINST3("sadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3027TESTINST3("sadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3028TESTINST3("sadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3029TESTINST3("sadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3030TESTINST3("sadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3031TESTINST3("sadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3032TESTINST3("sadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3033TESTINST3("sadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3034TESTINST3("sadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3035TESTINST3("sadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3036TESTINST3("sadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3037TESTINST3("sadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3038TESTINST3("sadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3039TESTINST3("sadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3040TESTINST3("sadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3041TESTINST3("sadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3042TESTINST3("sadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3043TESTINST3("sadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3044TESTINST3("sadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3045TESTINST3("sadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3046TESTINST3("sadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3047TESTINST3("sadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3048TESTINST3("sadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3049TESTINST3("sadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3050TESTINST3("sadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3051TESTINST3("sadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3052TESTINST3("sadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3053TESTINST3("sadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3054TESTINST3("sadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3055TESTINST3("sadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3056TESTINST3("sadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3057TESTINST3("sadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3058TESTINST3("sadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3059TESTINST3("sadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3060TESTINST3("sadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3061TESTINST3("sadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3062TESTINST3("sadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3063TESTINST3("sadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3064TESTINST3("sadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3065TESTINST3("sadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3066TESTINST3("sadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3067TESTINST3("sadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3068 3069 printf("---------------- SSUB8 ----------------- \n"); 3070 TESTINST3("ssub8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0); 3071 TESTINST3("ssub8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0); 3072 TESTINST3("ssub8 r0, r1, r2", 0x00fd00e8, 0xffff00f7, r0, r1, r2, 0); 3073 TESTINST3("ssub8 r0, r1, r2", 0xffff00f7, 0x00fd0018, r0, r1, r2, 0); 3074 TESTINST3("ssub8 r0, r1, r2", 0x0000fd18, 0xff00fff7, r0, r1, r2, 0); 3075 TESTINST3("ssub8 r0, r1, r2", 0xffff00f7, 0x00fd00e8, r0, r1, r2, 0); 3076 TESTINST3("ssub8 r0, r1, r2", 0x00fefd18, 0xff07fff7, r0, r1, r2, 0); 3077 TESTINST3("ssub8 r0, r1, r2", 0xff07fff7, 0x00fefde8, r0, r1, r2, 0); 3078TESTINST3("ssub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3079TESTINST3("ssub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3080TESTINST3("ssub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3081TESTINST3("ssub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3082TESTINST3("ssub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3083TESTINST3("ssub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3084TESTINST3("ssub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3085TESTINST3("ssub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3086TESTINST3("ssub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3087TESTINST3("ssub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3088TESTINST3("ssub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3089TESTINST3("ssub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3090TESTINST3("ssub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3091TESTINST3("ssub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3092TESTINST3("ssub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3093TESTINST3("ssub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3094TESTINST3("ssub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3095TESTINST3("ssub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3096TESTINST3("ssub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3097TESTINST3("ssub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3098TESTINST3("ssub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3099TESTINST3("ssub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3100TESTINST3("ssub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3101TESTINST3("ssub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3102TESTINST3("ssub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3103TESTINST3("ssub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3104TESTINST3("ssub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3105TESTINST3("ssub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3106TESTINST3("ssub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3107TESTINST3("ssub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3108TESTINST3("ssub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3109TESTINST3("ssub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3110TESTINST3("ssub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3111TESTINST3("ssub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3112TESTINST3("ssub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3113TESTINST3("ssub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3114TESTINST3("ssub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3115TESTINST3("ssub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3116TESTINST3("ssub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3117TESTINST3("ssub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3118TESTINST3("ssub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3119TESTINST3("ssub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3120TESTINST3("ssub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3121TESTINST3("ssub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3122TESTINST3("ssub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3123TESTINST3("ssub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3124TESTINST3("ssub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3125TESTINST3("ssub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3126TESTINST3("ssub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3127TESTINST3("ssub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3128TESTINST3("ssub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3129 3130 printf("------------ SXTAB ------------\n"); 3131 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3132 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3133 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3134 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3135 3136 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3137 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3138 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3139 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3140 3141TESTINST3("sxtab r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3142TESTINST3("sxtab r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3143TESTINST3("sxtab r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3144TESTINST3("sxtab r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3145TESTINST3("sxtab r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3146TESTINST3("sxtab r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3147TESTINST3("sxtab r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3148TESTINST3("sxtab r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3149TESTINST3("sxtab r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3150TESTINST3("sxtab r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3151 3152TESTINST3("sxtab r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3153TESTINST3("sxtab r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3154TESTINST3("sxtab r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3155TESTINST3("sxtab r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3156TESTINST3("sxtab r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3157TESTINST3("sxtab r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3158TESTINST3("sxtab r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3159TESTINST3("sxtab r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3160TESTINST3("sxtab r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3161TESTINST3("sxtab r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3162 3163TESTINST3("sxtab r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3164TESTINST3("sxtab r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3165TESTINST3("sxtab r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3166TESTINST3("sxtab r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3167TESTINST3("sxtab r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3168TESTINST3("sxtab r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3169TESTINST3("sxtab r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3170TESTINST3("sxtab r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3171TESTINST3("sxtab r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3172TESTINST3("sxtab r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3173 3174TESTINST3("sxtab r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3175TESTINST3("sxtab r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3176TESTINST3("sxtab r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3177TESTINST3("sxtab r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3178TESTINST3("sxtab r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3179TESTINST3("sxtab r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3180TESTINST3("sxtab r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3181TESTINST3("sxtab r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3182TESTINST3("sxtab r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3183TESTINST3("sxtab r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3184 3185 printf("------------ UXTAB ------------\n"); 3186 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3187 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3188 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3189 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3190 3191 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3192 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3193 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3194 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3195 3196TESTINST3("uxtab r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3197TESTINST3("uxtab r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3198TESTINST3("uxtab r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3199TESTINST3("uxtab r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3200TESTINST3("uxtab r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3201TESTINST3("uxtab r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3202TESTINST3("uxtab r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3203TESTINST3("uxtab r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3204TESTINST3("uxtab r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3205TESTINST3("uxtab r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3206 3207TESTINST3("uxtab r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3208TESTINST3("uxtab r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3209TESTINST3("uxtab r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3210TESTINST3("uxtab r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3211TESTINST3("uxtab r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3212TESTINST3("uxtab r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3213TESTINST3("uxtab r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3214TESTINST3("uxtab r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3215TESTINST3("uxtab r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3216TESTINST3("uxtab r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3217 3218TESTINST3("uxtab r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3219TESTINST3("uxtab r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3220TESTINST3("uxtab r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3221TESTINST3("uxtab r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3222TESTINST3("uxtab r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3223TESTINST3("uxtab r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3224TESTINST3("uxtab r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3225TESTINST3("uxtab r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3226TESTINST3("uxtab r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3227TESTINST3("uxtab r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3228 3229TESTINST3("uxtab r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3230TESTINST3("uxtab r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3231TESTINST3("uxtab r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3232TESTINST3("uxtab r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3233TESTINST3("uxtab r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3234TESTINST3("uxtab r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3235TESTINST3("uxtab r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3236TESTINST3("uxtab r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3237TESTINST3("uxtab r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3238TESTINST3("uxtab r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3239 3240 printf("----------- UXTAB16 -----------\n"); 3241 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3242 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3243 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3244 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3245 3246 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3247 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3248 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3249 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3250 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x3141FFFF, 0x27182899, r0, r1, r2, 0); 3251 3252TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3253TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3254TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3255TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3256TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3257TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3258TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3259TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3260TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3261TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3262 3263TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3264TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3265TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3266TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3267TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3268TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3269TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3270TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3271TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3272TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3273 3274TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3275TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3276TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3277TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3278TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3279TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3280TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3281TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3282TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3283TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3284 3285TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3286TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3287TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3288TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3289TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3290TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3291TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3292TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3293TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3294TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3295 3296 printf("------------ SXTAH ------------\n"); 3297 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3298 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3299 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3300 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3301 3302 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0); 3303 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0); 3304 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3305 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3306 3307TESTINST3("sxtah r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3308TESTINST3("sxtah r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3309TESTINST3("sxtah r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3310TESTINST3("sxtah r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3311TESTINST3("sxtah r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3312TESTINST3("sxtah r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3313TESTINST3("sxtah r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3314TESTINST3("sxtah r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3315TESTINST3("sxtah r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3316TESTINST3("sxtah r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3317 3318TESTINST3("sxtah r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3319TESTINST3("sxtah r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3320TESTINST3("sxtah r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3321TESTINST3("sxtah r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3322TESTINST3("sxtah r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3323TESTINST3("sxtah r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3324TESTINST3("sxtah r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3325TESTINST3("sxtah r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3326TESTINST3("sxtah r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3327TESTINST3("sxtah r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3328 3329TESTINST3("sxtah r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3330TESTINST3("sxtah r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3331TESTINST3("sxtah r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3332TESTINST3("sxtah r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3333TESTINST3("sxtah r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3334TESTINST3("sxtah r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3335TESTINST3("sxtah r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3336TESTINST3("sxtah r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3337TESTINST3("sxtah r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3338TESTINST3("sxtah r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3339 3340TESTINST3("sxtah r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3341TESTINST3("sxtah r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3342TESTINST3("sxtah r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3343TESTINST3("sxtah r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3344TESTINST3("sxtah r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3345TESTINST3("sxtah r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3346TESTINST3("sxtah r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3347TESTINST3("sxtah r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3348TESTINST3("sxtah r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3349TESTINST3("sxtah r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3350 3351 printf("------------ UXTAH ------------\n"); 3352 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3353 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3354 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3355 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3356 3357 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0); 3358 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0); 3359 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3360 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3361 3362TESTINST3("uxtah r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3363TESTINST3("uxtah r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3364TESTINST3("uxtah r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3365TESTINST3("uxtah r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3366TESTINST3("uxtah r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3367TESTINST3("uxtah r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3368TESTINST3("uxtah r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3369TESTINST3("uxtah r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3370TESTINST3("uxtah r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3371TESTINST3("uxtah r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3372 3373TESTINST3("uxtah r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3374TESTINST3("uxtah r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3375TESTINST3("uxtah r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3376TESTINST3("uxtah r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3377TESTINST3("uxtah r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3378TESTINST3("uxtah r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3379TESTINST3("uxtah r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3380TESTINST3("uxtah r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3381TESTINST3("uxtah r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3382TESTINST3("uxtah r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3383 3384TESTINST3("uxtah r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3385TESTINST3("uxtah r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3386TESTINST3("uxtah r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3387TESTINST3("uxtah r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3388TESTINST3("uxtah r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3389TESTINST3("uxtah r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3390TESTINST3("uxtah r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3391TESTINST3("uxtah r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3392TESTINST3("uxtah r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3393TESTINST3("uxtah r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3394 3395TESTINST3("uxtah r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3396TESTINST3("uxtah r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3397TESTINST3("uxtah r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3398TESTINST3("uxtah r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3399TESTINST3("uxtah r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3400TESTINST3("uxtah r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3401TESTINST3("uxtah r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3402TESTINST3("uxtah r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3403TESTINST3("uxtah r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3404TESTINST3("uxtah r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3405 3406 printf("------------ SMLAWB ------------\n"); 3407 /* smlawb rD, rN, rM, rA */ 3408 TESTINST4("smlawb r0, r1, r2, r3", 3409 0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 3410 TESTINST4("smlawb r0, r1, r2, r3", 3411 0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 3412 TESTINST4("smlawb r0, r1, r2, r3", 3413 0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 3414 TESTINST4("smlawb r0, r1, r2, r3", 3415 0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 3416 TESTINST4("smlawb r0, r1, r2, r3", 3417 0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 3418 TESTINST4("smlawb r0, r1, r2, r3", 3419 0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 3420TESTINST4("smlawb r0, r1, r2, r3", 3421 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 3422TESTINST4("smlawb r0, r1, r2, r3", 3423 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 3424TESTINST4("smlawb r0, r1, r2, r3", 3425 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 3426TESTINST4("smlawb r0, r1, r2, r3", 3427 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 3428TESTINST4("smlawb r0, r1, r2, r3", 3429 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 3430TESTINST4("smlawb r0, r1, r2, r3", 3431 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 3432TESTINST4("smlawb r0, r1, r2, r3", 3433 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 3434TESTINST4("smlawb r0, r1, r2, r3", 3435 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 3436TESTINST4("smlawb r0, r1, r2, r3", 3437 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 3438TESTINST4("smlawb r0, r1, r2, r3", 3439 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 3440TESTINST4("smlawb r0, r1, r2, r3", 3441 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 3442TESTINST4("smlawb r0, r1, r2, r3", 3443 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 3444TESTINST4("smlawb r0, r1, r2, r3", 3445 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 3446TESTINST4("smlawb r0, r1, r2, r3", 3447 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 3448TESTINST4("smlawb r0, r1, r2, r3", 3449 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 3450TESTINST4("smlawb r0, r1, r2, r3", 3451 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 3452TESTINST4("smlawb r0, r1, r2, r3", 3453 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 3454TESTINST4("smlawb r0, r1, r2, r3", 3455 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 3456TESTINST4("smlawb r0, r1, r2, r3", 3457 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 3458TESTINST4("smlawb r0, r1, r2, r3", 3459 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 3460TESTINST4("smlawb r0, r1, r2, r3", 3461 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 3462TESTINST4("smlawb r0, r1, r2, r3", 3463 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 3464TESTINST4("smlawb r0, r1, r2, r3", 3465 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 3466TESTINST4("smlawb r0, r1, r2, r3", 3467 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 3468TESTINST4("smlawb r0, r1, r2, r3", 3469 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 3470TESTINST4("smlawb r0, r1, r2, r3", 3471 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 3472TESTINST4("smlawb r0, r1, r2, r3", 3473 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 3474TESTINST4("smlawb r0, r1, r2, r3", 3475 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 3476TESTINST4("smlawb r0, r1, r2, r3", 3477 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 3478TESTINST4("smlawb r0, r1, r2, r3", 3479 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 3480TESTINST4("smlawb r0, r1, r2, r3", 3481 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 3482TESTINST4("smlawb r0, r1, r2, r3", 3483 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 3484TESTINST4("smlawb r0, r1, r2, r3", 3485 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 3486TESTINST4("smlawb r0, r1, r2, r3", 3487 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 3488TESTINST4("smlawb r0, r1, r2, r3", 3489 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 3490TESTINST4("smlawb r0, r1, r2, r3", 3491 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 3492TESTINST4("smlawb r0, r1, r2, r3", 3493 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 3494TESTINST4("smlawb r0, r1, r2, r3", 3495 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 3496TESTINST4("smlawb r0, r1, r2, r3", 3497 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 3498TESTINST4("smlawb r0, r1, r2, r3", 3499 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 3500TESTINST4("smlawb r0, r1, r2, r3", 3501 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 3502TESTINST4("smlawb r0, r1, r2, r3", 3503 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 3504TESTINST4("smlawb r0, r1, r2, r3", 3505 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 3506TESTINST4("smlawb r0, r1, r2, r3", 3507 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 3508TESTINST4("smlawb r0, r1, r2, r3", 3509 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 3510TESTINST4("smlawb r0, r1, r2, r3", 3511 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 3512TESTINST4("smlawb r0, r1, r2, r3", 3513 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 3514TESTINST4("smlawb r0, r1, r2, r3", 3515 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 3516TESTINST4("smlawb r0, r1, r2, r3", 3517 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 3518TESTINST4("smlawb r0, r1, r2, r3", 3519 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 3520TESTINST4("smlawb r0, r1, r2, r3", 3521 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 3522 3523 printf("------------ SMLAWT ------------\n"); 3524 /* smlawt rD, rN, rM, rA */ 3525 TESTINST4("smlawt r0, r1, r2, r3", 3526 0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 3527 TESTINST4("smlawt r0, r1, r2, r3", 3528 0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 3529 TESTINST4("smlawt r0, r1, r2, r3", 3530 0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 3531 TESTINST4("smlawt r0, r1, r2, r3", 3532 0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 3533 TESTINST4("smlawt r0, r1, r2, r3", 3534 0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 3535 TESTINST4("smlawt r0, r1, r2, r3", 3536 0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 3537TESTINST4("smlawt r0, r1, r2, r3", 3538 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 3539TESTINST4("smlawt r0, r1, r2, r3", 3540 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 3541TESTINST4("smlawt r0, r1, r2, r3", 3542 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 3543TESTINST4("smlawt r0, r1, r2, r3", 3544 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 3545TESTINST4("smlawt r0, r1, r2, r3", 3546 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 3547TESTINST4("smlawt r0, r1, r2, r3", 3548 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 3549TESTINST4("smlawt r0, r1, r2, r3", 3550 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 3551TESTINST4("smlawt r0, r1, r2, r3", 3552 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 3553TESTINST4("smlawt r0, r1, r2, r3", 3554 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 3555TESTINST4("smlawt r0, r1, r2, r3", 3556 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 3557TESTINST4("smlawt r0, r1, r2, r3", 3558 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 3559TESTINST4("smlawt r0, r1, r2, r3", 3560 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 3561TESTINST4("smlawt r0, r1, r2, r3", 3562 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 3563TESTINST4("smlawt r0, r1, r2, r3", 3564 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 3565TESTINST4("smlawt r0, r1, r2, r3", 3566 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 3567TESTINST4("smlawt r0, r1, r2, r3", 3568 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 3569TESTINST4("smlawt r0, r1, r2, r3", 3570 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 3571TESTINST4("smlawt r0, r1, r2, r3", 3572 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 3573TESTINST4("smlawt r0, r1, r2, r3", 3574 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 3575TESTINST4("smlawt r0, r1, r2, r3", 3576 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 3577TESTINST4("smlawt r0, r1, r2, r3", 3578 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 3579TESTINST4("smlawt r0, r1, r2, r3", 3580 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 3581TESTINST4("smlawt r0, r1, r2, r3", 3582 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 3583TESTINST4("smlawt r0, r1, r2, r3", 3584 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 3585TESTINST4("smlawt r0, r1, r2, r3", 3586 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 3587TESTINST4("smlawt r0, r1, r2, r3", 3588 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 3589TESTINST4("smlawt r0, r1, r2, r3", 3590 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 3591TESTINST4("smlawt r0, r1, r2, r3", 3592 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 3593TESTINST4("smlawt r0, r1, r2, r3", 3594 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 3595TESTINST4("smlawt r0, r1, r2, r3", 3596 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 3597TESTINST4("smlawt r0, r1, r2, r3", 3598 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 3599TESTINST4("smlawt r0, r1, r2, r3", 3600 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 3601TESTINST4("smlawt r0, r1, r2, r3", 3602 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 3603TESTINST4("smlawt r0, r1, r2, r3", 3604 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 3605TESTINST4("smlawt r0, r1, r2, r3", 3606 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 3607TESTINST4("smlawt r0, r1, r2, r3", 3608 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 3609TESTINST4("smlawt r0, r1, r2, r3", 3610 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 3611TESTINST4("smlawt r0, r1, r2, r3", 3612 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 3613TESTINST4("smlawt r0, r1, r2, r3", 3614 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 3615TESTINST4("smlawt r0, r1, r2, r3", 3616 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 3617TESTINST4("smlawt r0, r1, r2, r3", 3618 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 3619TESTINST4("smlawt r0, r1, r2, r3", 3620 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 3621TESTINST4("smlawt r0, r1, r2, r3", 3622 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 3623TESTINST4("smlawt r0, r1, r2, r3", 3624 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 3625TESTINST4("smlawt r0, r1, r2, r3", 3626 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 3627TESTINST4("smlawt r0, r1, r2, r3", 3628 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 3629TESTINST4("smlawt r0, r1, r2, r3", 3630 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 3631TESTINST4("smlawt r0, r1, r2, r3", 3632 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 3633TESTINST4("smlawt r0, r1, r2, r3", 3634 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 3635TESTINST4("smlawt r0, r1, r2, r3", 3636 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 3637TESTINST4("smlawt r0, r1, r2, r3", 3638 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 3639 3640 3641 printf("----------------- SMLSD ----------------- \n"); 3642 TESTINST4("smlsd r0, r1, r2, r3", 3643 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 3644 TESTINST4("smlsd r0, r1, r2, r3", 3645 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 3646 TESTINST4("smlsd r0, r1, r2, r3", 3647 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 3648 TESTINST4("smlsd r0, r1, r2, r3", 3649 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 3650 TESTINST4("smlsd r0, r1, r2, r3", 3651 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 3652 TESTINST4("smlsd r0, r1, r2, r3", 3653 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 3654 TESTINST4("smlsd r0, r1, r2, r3", 3655 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 3656TESTINST4("smlsd r0, r1, r2, r3", 3657 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 3658TESTINST4("smlsd r0, r1, r2, r3", 3659 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 3660TESTINST4("smlsd r0, r1, r2, r3", 3661 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 3662TESTINST4("smlsd r0, r1, r2, r3", 3663 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 3664TESTINST4("smlsd r0, r1, r2, r3", 3665 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 3666TESTINST4("smlsd r0, r1, r2, r3", 3667 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 3668TESTINST4("smlsd r0, r1, r2, r3", 3669 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 3670TESTINST4("smlsd r0, r1, r2, r3", 3671 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 3672TESTINST4("smlsd r0, r1, r2, r3", 3673 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 3674TESTINST4("smlsd r0, r1, r2, r3", 3675 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 3676TESTINST4("smlsd r0, r1, r2, r3", 3677 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 3678TESTINST4("smlsd r0, r1, r2, r3", 3679 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 3680TESTINST4("smlsd r0, r1, r2, r3", 3681 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 3682TESTINST4("smlsd r0, r1, r2, r3", 3683 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 3684TESTINST4("smlsd r0, r1, r2, r3", 3685 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 3686TESTINST4("smlsd r0, r1, r2, r3", 3687 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 3688TESTINST4("smlsd r0, r1, r2, r3", 3689 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 3690TESTINST4("smlsd r0, r1, r2, r3", 3691 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 3692TESTINST4("smlsd r0, r1, r2, r3", 3693 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 3694TESTINST4("smlsd r0, r1, r2, r3", 3695 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 3696TESTINST4("smlsd r0, r1, r2, r3", 3697 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 3698TESTINST4("smlsd r0, r1, r2, r3", 3699 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 3700TESTINST4("smlsd r0, r1, r2, r3", 3701 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 3702TESTINST4("smlsd r0, r1, r2, r3", 3703 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 3704TESTINST4("smlsd r0, r1, r2, r3", 3705 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 3706TESTINST4("smlsd r0, r1, r2, r3", 3707 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 3708TESTINST4("smlsd r0, r1, r2, r3", 3709 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 3710TESTINST4("smlsd r0, r1, r2, r3", 3711 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 3712TESTINST4("smlsd r0, r1, r2, r3", 3713 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 3714TESTINST4("smlsd r0, r1, r2, r3", 3715 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 3716TESTINST4("smlsd r0, r1, r2, r3", 3717 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 3718TESTINST4("smlsd r0, r1, r2, r3", 3719 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 3720TESTINST4("smlsd r0, r1, r2, r3", 3721 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 3722TESTINST4("smlsd r0, r1, r2, r3", 3723 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 3724TESTINST4("smlsd r0, r1, r2, r3", 3725 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 3726TESTINST4("smlsd r0, r1, r2, r3", 3727 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 3728TESTINST4("smlsd r0, r1, r2, r3", 3729 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 3730TESTINST4("smlsd r0, r1, r2, r3", 3731 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 3732TESTINST4("smlsd r0, r1, r2, r3", 3733 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 3734TESTINST4("smlsd r0, r1, r2, r3", 3735 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 3736TESTINST4("smlsd r0, r1, r2, r3", 3737 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 3738TESTINST4("smlsd r0, r1, r2, r3", 3739 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 3740TESTINST4("smlsd r0, r1, r2, r3", 3741 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 3742TESTINST4("smlsd r0, r1, r2, r3", 3743 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 3744TESTINST4("smlsd r0, r1, r2, r3", 3745 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 3746TESTINST4("smlsd r0, r1, r2, r3", 3747 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 3748TESTINST4("smlsd r0, r1, r2, r3", 3749 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 3750TESTINST4("smlsd r0, r1, r2, r3", 3751 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 3752TESTINST4("smlsd r0, r1, r2, r3", 3753 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 3754TESTINST4("smlsd r0, r1, r2, r3", 3755 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 3756TESTINST4("smlsd r0, r1, r2, r3", 3757 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 3758 3759 printf("----------------- SMLSDX ----------------- \n"); 3760 TESTINST4("smlsdx r0, r1, r2, r3", 3761 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 3762 TESTINST4("smlsdx r0, r1, r2, r3", 3763 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 3764 TESTINST4("smlsdx r0, r1, r2, r3", 3765 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 3766 TESTINST4("smlsdx r0, r1, r2, r3", 3767 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 3768 TESTINST4("smlsdx r0, r1, r2, r3", 3769 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 3770 TESTINST4("smlsdx r0, r1, r2, r3", 3771 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 3772 TESTINST4("smlsdx r0, r1, r2, r3", 3773 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 3774TESTINST4("smlsdx r0, r1, r2, r3", 3775 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 3776TESTINST4("smlsdx r0, r1, r2, r3", 3777 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 3778TESTINST4("smlsdx r0, r1, r2, r3", 3779 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 3780 3781 3782 printf("----------------- SMUSD ----------------- \n"); 3783 TESTINST3("smusd r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 3784 TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3785 TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 3786 TESTINST3("smusd r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3787 TESTINST3("smusd r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 3788 TESTINST3("smusd r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 3789 TESTINST3("smusd r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 3790TESTINST3("smusd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 3791TESTINST3("smusd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 3792TESTINST3("smusd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 3793TESTINST3("smusd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 3794TESTINST3("smusd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 3795TESTINST3("smusd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 3796TESTINST3("smusd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 3797TESTINST3("smusd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 3798TESTINST3("smusd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 3799TESTINST3("smusd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 3800TESTINST3("smusd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 3801TESTINST3("smusd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 3802TESTINST3("smusd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 3803TESTINST3("smusd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 3804TESTINST3("smusd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 3805TESTINST3("smusd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 3806TESTINST3("smusd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 3807TESTINST3("smusd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 3808TESTINST3("smusd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 3809TESTINST3("smusd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 3810TESTINST3("smusd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 3811TESTINST3("smusd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 3812TESTINST3("smusd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 3813TESTINST3("smusd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 3814TESTINST3("smusd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 3815TESTINST3("smusd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 3816TESTINST3("smusd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 3817TESTINST3("smusd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 3818TESTINST3("smusd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 3819TESTINST3("smusd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 3820TESTINST3("smusd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 3821TESTINST3("smusd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 3822TESTINST3("smusd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 3823TESTINST3("smusd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 3824TESTINST3("smusd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 3825TESTINST3("smusd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 3826TESTINST3("smusd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 3827TESTINST3("smusd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 3828TESTINST3("smusd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 3829TESTINST3("smusd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 3830TESTINST3("smusd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 3831TESTINST3("smusd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 3832TESTINST3("smusd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 3833TESTINST3("smusd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 3834TESTINST3("smusd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 3835TESTINST3("smusd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 3836TESTINST3("smusd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 3837TESTINST3("smusd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 3838TESTINST3("smusd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 3839TESTINST3("smusd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 3840 printf("----------------- SMUSDX ---------------- \n"); 3841 TESTINST3("smusdx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 3842 TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3843 TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 3844 TESTINST3("smusdx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3845 TESTINST3("smusdx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 3846 TESTINST3("smusdx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 3847 TESTINST3("smusdx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 3848TESTINST3("smusdx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 3849TESTINST3("smusdx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 3850TESTINST3("smusdx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 3851TESTINST3("smusdx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 3852TESTINST3("smusdx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 3853TESTINST3("smusdx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 3854TESTINST3("smusdx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 3855TESTINST3("smusdx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 3856TESTINST3("smusdx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 3857TESTINST3("smusdx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 3858TESTINST3("smusdx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 3859TESTINST3("smusdx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 3860TESTINST3("smusdx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 3861TESTINST3("smusdx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 3862TESTINST3("smusdx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 3863TESTINST3("smusdx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 3864TESTINST3("smusdx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 3865TESTINST3("smusdx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 3866TESTINST3("smusdx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 3867TESTINST3("smusdx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 3868TESTINST3("smusdx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 3869TESTINST3("smusdx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 3870TESTINST3("smusdx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 3871TESTINST3("smusdx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 3872TESTINST3("smusdx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 3873TESTINST3("smusdx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 3874TESTINST3("smusdx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 3875TESTINST3("smusdx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 3876TESTINST3("smusdx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 3877TESTINST3("smusdx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 3878TESTINST3("smusdx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 3879TESTINST3("smusdx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 3880TESTINST3("smusdx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 3881TESTINST3("smusdx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 3882TESTINST3("smusdx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 3883TESTINST3("smusdx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 3884TESTINST3("smusdx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 3885TESTINST3("smusdx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 3886TESTINST3("smusdx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 3887TESTINST3("smusdx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 3888TESTINST3("smusdx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 3889TESTINST3("smusdx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 3890TESTINST3("smusdx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 3891TESTINST3("smusdx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 3892TESTINST3("smusdx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 3893TESTINST3("smusdx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 3894TESTINST3("smusdx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 3895TESTINST3("smusdx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 3896TESTINST3("smusdx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 3897TESTINST3("smusdx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 3898 3899 printf("----------------- USAD8 ---------------- \n"); 3900 TESTINST3("usad8 r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 3901 TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3902 TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 3903 TESTINST3("usad8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3904 TESTINST3("usad8 r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 3905 TESTINST3("usad8 r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 3906 TESTINST3("usad8 r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 3907TESTINST3("usad8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 3908TESTINST3("usad8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 3909TESTINST3("usad8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 3910TESTINST3("usad8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 3911TESTINST3("usad8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 3912TESTINST3("usad8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 3913TESTINST3("usad8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 3914TESTINST3("usad8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 3915TESTINST3("usad8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 3916TESTINST3("usad8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 3917TESTINST3("usad8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 3918TESTINST3("usad8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 3919TESTINST3("usad8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 3920TESTINST3("usad8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 3921TESTINST3("usad8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 3922TESTINST3("usad8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 3923TESTINST3("usad8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 3924TESTINST3("usad8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 3925TESTINST3("usad8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 3926TESTINST3("usad8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 3927TESTINST3("usad8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 3928TESTINST3("usad8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 3929TESTINST3("usad8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 3930TESTINST3("usad8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 3931TESTINST3("usad8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 3932TESTINST3("usad8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 3933TESTINST3("usad8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 3934TESTINST3("usad8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 3935TESTINST3("usad8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 3936TESTINST3("usad8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 3937TESTINST3("usad8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 3938TESTINST3("usad8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 3939TESTINST3("usad8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 3940TESTINST3("usad8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 3941TESTINST3("usad8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 3942TESTINST3("usad8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 3943TESTINST3("usad8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 3944TESTINST3("usad8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 3945TESTINST3("usad8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 3946TESTINST3("usad8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 3947TESTINST3("usad8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 3948TESTINST3("usad8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 3949TESTINST3("usad8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 3950TESTINST3("usad8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 3951TESTINST3("usad8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 3952TESTINST3("usad8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 3953TESTINST3("usad8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 3954TESTINST3("usad8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 3955TESTINST3("usad8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 3956TESTINST3("usad8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 3957 3958 printf("----------------- USADA8 ----------------- \n"); 3959 TESTINST4("usada8 r0, r1, r2, r3", 3960 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 3961 TESTINST4("usada8 r0, r1, r2, r3", 3962 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 3963 TESTINST4("usada8 r0, r1, r2, r3", 3964 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 3965 TESTINST4("usada8 r0, r1, r2, r3", 3966 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 3967 TESTINST4("usada8 r0, r1, r2, r3", 3968 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 3969 TESTINST4("usada8 r0, r1, r2, r3", 3970 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 3971 TESTINST4("usada8 r0, r1, r2, r3", 3972 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 3973TESTINST4("usada8 r0, r1, r2, r3", 3974 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 3975TESTINST4("usada8 r0, r1, r2, r3", 3976 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 3977TESTINST4("usada8 r0, r1, r2, r3", 3978 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 3979TESTINST4("usada8 r0, r1, r2, r3", 3980 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 3981TESTINST4("usada8 r0, r1, r2, r3", 3982 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 3983TESTINST4("usada8 r0, r1, r2, r3", 3984 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 3985TESTINST4("usada8 r0, r1, r2, r3", 3986 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 3987TESTINST4("usada8 r0, r1, r2, r3", 3988 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 3989TESTINST4("usada8 r0, r1, r2, r3", 3990 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 3991TESTINST4("usada8 r0, r1, r2, r3", 3992 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 3993TESTINST4("usada8 r0, r1, r2, r3", 3994 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 3995TESTINST4("usada8 r0, r1, r2, r3", 3996 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 3997TESTINST4("usada8 r0, r1, r2, r3", 3998 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 3999TESTINST4("usada8 r0, r1, r2, r3", 4000 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 4001TESTINST4("usada8 r0, r1, r2, r3", 4002 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 4003TESTINST4("usada8 r0, r1, r2, r3", 4004 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 4005TESTINST4("usada8 r0, r1, r2, r3", 4006 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 4007TESTINST4("usada8 r0, r1, r2, r3", 4008 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 4009TESTINST4("usada8 r0, r1, r2, r3", 4010 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 4011TESTINST4("usada8 r0, r1, r2, r3", 4012 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 4013TESTINST4("usada8 r0, r1, r2, r3", 4014 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 4015TESTINST4("usada8 r0, r1, r2, r3", 4016 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 4017TESTINST4("usada8 r0, r1, r2, r3", 4018 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 4019TESTINST4("usada8 r0, r1, r2, r3", 4020 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 4021TESTINST4("usada8 r0, r1, r2, r3", 4022 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 4023TESTINST4("usada8 r0, r1, r2, r3", 4024 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 4025TESTINST4("usada8 r0, r1, r2, r3", 4026 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 4027TESTINST4("usada8 r0, r1, r2, r3", 4028 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 4029TESTINST4("usada8 r0, r1, r2, r3", 4030 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 4031TESTINST4("usada8 r0, r1, r2, r3", 4032 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 4033TESTINST4("usada8 r0, r1, r2, r3", 4034 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 4035TESTINST4("usada8 r0, r1, r2, r3", 4036 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 4037TESTINST4("usada8 r0, r1, r2, r3", 4038 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 4039TESTINST4("usada8 r0, r1, r2, r3", 4040 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 4041TESTINST4("usada8 r0, r1, r2, r3", 4042 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 4043TESTINST4("usada8 r0, r1, r2, r3", 4044 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 4045TESTINST4("usada8 r0, r1, r2, r3", 4046 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 4047TESTINST4("usada8 r0, r1, r2, r3", 4048 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 4049TESTINST4("usada8 r0, r1, r2, r3", 4050 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 4051TESTINST4("usada8 r0, r1, r2, r3", 4052 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 4053TESTINST4("usada8 r0, r1, r2, r3", 4054 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 4055TESTINST4("usada8 r0, r1, r2, r3", 4056 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 4057TESTINST4("usada8 r0, r1, r2, r3", 4058 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 4059TESTINST4("usada8 r0, r1, r2, r3", 4060 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 4061TESTINST4("usada8 r0, r1, r2, r3", 4062 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 4063TESTINST4("usada8 r0, r1, r2, r3", 4064 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 4065TESTINST4("usada8 r0, r1, r2, r3", 4066 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 4067TESTINST4("usada8 r0, r1, r2, r3", 4068 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 4069TESTINST4("usada8 r0, r1, r2, r3", 4070 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 4071TESTINST4("usada8 r0, r1, r2, r3", 4072 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 4073TESTINST4("usada8 r0, r1, r2, r3", 4074 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 4075 4076 4077 4078 4079/* 4080TESTINST3("theinsn", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 4081TESTINST3("theinsn", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 4082TESTINST3("theinsn", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 4083TESTINST3("theinsn", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 4084TESTINST3("theinsn", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 4085TESTINST3("theinsn", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 4086TESTINST3("theinsn", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 4087TESTINST3("theinsn", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 4088TESTINST3("theinsn", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 4089TESTINST3("theinsn", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 4090*/ 4091 4092 return 0; 4093} 4094