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(int 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 & 0xff0f0000, \ 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 & 0xff0f0000, \ 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 & 0xff0f0000, \ 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 & 0xff0f0000, \ 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("---------------- UQADD16 ---------------- \n"); 1493 TESTINST3("uqadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1494 TESTINST3("uqadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1495 TESTINST3("uqadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1496 TESTINST3("uqadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1497TESTINST3("uqadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1498TESTINST3("uqadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1499TESTINST3("uqadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1500TESTINST3("uqadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1501TESTINST3("uqadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1502TESTINST3("uqadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1503TESTINST3("uqadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1504TESTINST3("uqadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1505TESTINST3("uqadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1506TESTINST3("uqadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1507TESTINST3("uqadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1508TESTINST3("uqadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1509TESTINST3("uqadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1510TESTINST3("uqadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1511TESTINST3("uqadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1512TESTINST3("uqadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1513TESTINST3("uqadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1514TESTINST3("uqadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1515TESTINST3("uqadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1516TESTINST3("uqadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1517TESTINST3("uqadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1518TESTINST3("uqadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1519TESTINST3("uqadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1520TESTINST3("uqadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1521TESTINST3("uqadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1522TESTINST3("uqadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1523TESTINST3("uqadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1524TESTINST3("uqadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1525TESTINST3("uqadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1526TESTINST3("uqadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1527TESTINST3("uqadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1528TESTINST3("uqadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1529TESTINST3("uqadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1530TESTINST3("uqadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1531TESTINST3("uqadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1532TESTINST3("uqadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1533TESTINST3("uqadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1534TESTINST3("uqadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1535TESTINST3("uqadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1536TESTINST3("uqadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1537TESTINST3("uqadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1538TESTINST3("uqadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1539TESTINST3("uqadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1540TESTINST3("uqadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1541TESTINST3("uqadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1542TESTINST3("uqadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1543TESTINST3("uqadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1544TESTINST3("uqadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1545TESTINST3("uqadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1546TESTINST3("uqadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1547 1548 printf("---------------- QSUB16 ---------------- \n"); 1549 TESTINST3("qsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 1550 TESTINST3("qsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 1551 TESTINST3("qsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 1552 TESTINST3("qsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 1553TESTINST3("qsub16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1554TESTINST3("qsub16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1555TESTINST3("qsub16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1556TESTINST3("qsub16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1557TESTINST3("qsub16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1558TESTINST3("qsub16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1559TESTINST3("qsub16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1560TESTINST3("qsub16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1561TESTINST3("qsub16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1562TESTINST3("qsub16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1563TESTINST3("qsub16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1564TESTINST3("qsub16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1565TESTINST3("qsub16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1566TESTINST3("qsub16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1567TESTINST3("qsub16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1568TESTINST3("qsub16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1569TESTINST3("qsub16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1570TESTINST3("qsub16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1571TESTINST3("qsub16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1572TESTINST3("qsub16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1573TESTINST3("qsub16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1574TESTINST3("qsub16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1575TESTINST3("qsub16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1576TESTINST3("qsub16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1577TESTINST3("qsub16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1578TESTINST3("qsub16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1579TESTINST3("qsub16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1580TESTINST3("qsub16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1581TESTINST3("qsub16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1582TESTINST3("qsub16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1583TESTINST3("qsub16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1584TESTINST3("qsub16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1585TESTINST3("qsub16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1586TESTINST3("qsub16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1587TESTINST3("qsub16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1588TESTINST3("qsub16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1589TESTINST3("qsub16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1590TESTINST3("qsub16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1591TESTINST3("qsub16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1592TESTINST3("qsub16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1593TESTINST3("qsub16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1594TESTINST3("qsub16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1595TESTINST3("qsub16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1596TESTINST3("qsub16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1597TESTINST3("qsub16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1598TESTINST3("qsub16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1599TESTINST3("qsub16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1600TESTINST3("qsub16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1601TESTINST3("qsub16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1602TESTINST3("qsub16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1603 1604 printf("----------------- QSAX ----------------- \n"); 1605 TESTINST3("qsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1606 TESTINST3("qsax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1607 TESTINST3("qsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1608 TESTINST3("qsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1609 TESTINST3("qsax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1610 TESTINST3("qsax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1611TESTINST3("qsax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1612TESTINST3("qsax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1613TESTINST3("qsax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1614TESTINST3("qsax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1615TESTINST3("qsax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1616TESTINST3("qsax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1617TESTINST3("qsax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1618TESTINST3("qsax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1619TESTINST3("qsax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1620TESTINST3("qsax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1621TESTINST3("qsax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1622TESTINST3("qsax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1623TESTINST3("qsax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1624TESTINST3("qsax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1625TESTINST3("qsax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1626TESTINST3("qsax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1627TESTINST3("qsax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1628TESTINST3("qsax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1629TESTINST3("qsax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1630TESTINST3("qsax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1631TESTINST3("qsax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1632TESTINST3("qsax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1633TESTINST3("qsax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1634TESTINST3("qsax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1635TESTINST3("qsax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1636TESTINST3("qsax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1637TESTINST3("qsax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1638TESTINST3("qsax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1639TESTINST3("qsax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1640TESTINST3("qsax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1641TESTINST3("qsax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1642TESTINST3("qsax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1643TESTINST3("qsax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1644TESTINST3("qsax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1645TESTINST3("qsax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1646TESTINST3("qsax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1647TESTINST3("qsax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1648TESTINST3("qsax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1649TESTINST3("qsax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1650TESTINST3("qsax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1651TESTINST3("qsax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1652TESTINST3("qsax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1653TESTINST3("qsax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1654TESTINST3("qsax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1655TESTINST3("qsax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1656TESTINST3("qsax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1657TESTINST3("qsax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1658TESTINST3("qsax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1659TESTINST3("qsax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1660TESTINST3("qsax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1661 1662 printf("----------------- UQSAX ----------------- \n"); 1663 TESTINST3("uqsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1664 TESTINST3("uqsax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1665 TESTINST3("uqsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1666 TESTINST3("uqsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1667 TESTINST3("uqsax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1668 TESTINST3("uqsax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1669TESTINST3("uqsax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1670TESTINST3("uqsax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1671TESTINST3("uqsax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1672TESTINST3("uqsax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1673TESTINST3("uqsax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1674TESTINST3("uqsax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1675TESTINST3("uqsax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1676TESTINST3("uqsax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1677TESTINST3("uqsax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1678TESTINST3("uqsax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1679TESTINST3("uqsax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1680TESTINST3("uqsax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1681TESTINST3("uqsax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1682TESTINST3("uqsax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1683TESTINST3("uqsax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1684TESTINST3("uqsax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1685TESTINST3("uqsax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1686TESTINST3("uqsax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1687TESTINST3("uqsax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1688TESTINST3("uqsax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1689TESTINST3("uqsax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1690TESTINST3("uqsax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1691TESTINST3("uqsax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1692TESTINST3("uqsax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1693TESTINST3("uqsax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1694TESTINST3("uqsax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1695TESTINST3("uqsax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1696TESTINST3("uqsax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1697TESTINST3("uqsax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1698TESTINST3("uqsax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1699TESTINST3("uqsax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1700TESTINST3("uqsax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1701TESTINST3("uqsax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1702TESTINST3("uqsax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1703TESTINST3("uqsax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1704TESTINST3("uqsax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1705TESTINST3("uqsax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1706TESTINST3("uqsax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1707TESTINST3("uqsax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1708TESTINST3("uqsax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1709TESTINST3("uqsax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1710TESTINST3("uqsax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1711TESTINST3("uqsax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1712TESTINST3("uqsax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1713TESTINST3("uqsax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1714TESTINST3("uqsax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1715TESTINST3("uqsax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1716TESTINST3("uqsax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1717TESTINST3("uqsax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1718TESTINST3("uqsax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1719 1720 printf("----------------- QASX ----------------- \n"); 1721 TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1722 TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1723 TESTINST3("qasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1724 TESTINST3("qasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1725 TESTINST3("qasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1726 TESTINST3("qasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1727TESTINST3("qasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1728TESTINST3("qasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1729TESTINST3("qasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1730TESTINST3("qasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1731TESTINST3("qasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1732TESTINST3("qasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1733TESTINST3("qasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1734TESTINST3("qasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1735TESTINST3("qasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1736TESTINST3("qasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1737TESTINST3("qasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1738TESTINST3("qasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1739TESTINST3("qasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1740TESTINST3("qasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1741TESTINST3("qasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1742TESTINST3("qasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1743TESTINST3("qasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1744TESTINST3("qasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1745TESTINST3("qasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1746TESTINST3("qasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1747TESTINST3("qasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1748TESTINST3("qasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1749TESTINST3("qasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1750TESTINST3("qasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1751TESTINST3("qasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1752TESTINST3("qasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1753TESTINST3("qasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1754TESTINST3("qasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1755TESTINST3("qasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1756TESTINST3("qasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1757TESTINST3("qasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1758TESTINST3("qasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1759TESTINST3("qasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1760TESTINST3("qasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1761TESTINST3("qasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1762TESTINST3("qasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1763TESTINST3("qasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1764TESTINST3("qasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1765TESTINST3("qasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1766TESTINST3("qasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1767TESTINST3("qasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1768TESTINST3("qasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1769TESTINST3("qasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1770TESTINST3("qasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1771TESTINST3("qasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1772TESTINST3("qasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1773TESTINST3("qasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1774TESTINST3("qasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1775TESTINST3("qasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1776TESTINST3("qasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1777 1778 printf("----------------- UQASX ----------------- \n"); 1779 TESTINST3("uqasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1780 TESTINST3("uqasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1781 TESTINST3("uqasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1782 TESTINST3("uqasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1783 TESTINST3("uqasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1784 TESTINST3("uqasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1785TESTINST3("uqasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1786TESTINST3("uqasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1787TESTINST3("uqasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1788TESTINST3("uqasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1789TESTINST3("uqasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1790TESTINST3("uqasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1791TESTINST3("uqasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1792TESTINST3("uqasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1793TESTINST3("uqasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1794TESTINST3("uqasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1795TESTINST3("uqasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1796TESTINST3("uqasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1797TESTINST3("uqasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1798TESTINST3("uqasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1799TESTINST3("uqasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1800TESTINST3("uqasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1801TESTINST3("uqasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1802TESTINST3("uqasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1803TESTINST3("uqasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1804TESTINST3("uqasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1805TESTINST3("uqasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1806TESTINST3("uqasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1807TESTINST3("uqasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1808TESTINST3("uqasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1809TESTINST3("uqasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1810TESTINST3("uqasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1811TESTINST3("uqasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1812TESTINST3("uqasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1813TESTINST3("uqasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1814TESTINST3("uqasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1815TESTINST3("uqasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1816TESTINST3("uqasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1817TESTINST3("uqasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1818TESTINST3("uqasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1819TESTINST3("uqasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1820TESTINST3("uqasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1821TESTINST3("uqasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1822TESTINST3("uqasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1823TESTINST3("uqasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1824TESTINST3("uqasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1825TESTINST3("uqasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1826TESTINST3("uqasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1827TESTINST3("uqasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1828TESTINST3("uqasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1829TESTINST3("uqasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1830TESTINST3("uqasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1831TESTINST3("uqasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1832TESTINST3("uqasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1833TESTINST3("uqasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1834TESTINST3("uqasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1835 1836 printf("----------------- SASX ----------------- \n"); 1837 TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1838 TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1839 TESTINST3("sasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1840 TESTINST3("sasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1841 TESTINST3("sasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1842 TESTINST3("sasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1843TESTINST3("sasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1844TESTINST3("sasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1845TESTINST3("sasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1846TESTINST3("sasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1847TESTINST3("sasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1848TESTINST3("sasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1849TESTINST3("sasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1850TESTINST3("sasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1851TESTINST3("sasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1852TESTINST3("sasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1853TESTINST3("sasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1854TESTINST3("sasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1855TESTINST3("sasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1856TESTINST3("sasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1857TESTINST3("sasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1858TESTINST3("sasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1859TESTINST3("sasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1860TESTINST3("sasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1861TESTINST3("sasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1862TESTINST3("sasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1863TESTINST3("sasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1864TESTINST3("sasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1865TESTINST3("sasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1866TESTINST3("sasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1867TESTINST3("sasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1868TESTINST3("sasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1869TESTINST3("sasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1870TESTINST3("sasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1871TESTINST3("sasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1872TESTINST3("sasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1873TESTINST3("sasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1874TESTINST3("sasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1875TESTINST3("sasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1876TESTINST3("sasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1877TESTINST3("sasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1878TESTINST3("sasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1879TESTINST3("sasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1880TESTINST3("sasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1881TESTINST3("sasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1882TESTINST3("sasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1883TESTINST3("sasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1884TESTINST3("sasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1885TESTINST3("sasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1886TESTINST3("sasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1887TESTINST3("sasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1888TESTINST3("sasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1889TESTINST3("sasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1890TESTINST3("sasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1891TESTINST3("sasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1892TESTINST3("sasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1893 1894 printf("----------------- USAX ----------------- \n"); 1895 TESTINST3("usax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1896 TESTINST3("usax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1897 TESTINST3("usax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1898 TESTINST3("usax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1899 TESTINST3("usax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1900 TESTINST3("usax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1901TESTINST3("usax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1902TESTINST3("usax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1903TESTINST3("usax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1904TESTINST3("usax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1905TESTINST3("usax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1906TESTINST3("usax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1907TESTINST3("usax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1908TESTINST3("usax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1909TESTINST3("usax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1910TESTINST3("usax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1911TESTINST3("usax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1912TESTINST3("usax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1913TESTINST3("usax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1914TESTINST3("usax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1915TESTINST3("usax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1916TESTINST3("usax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1917TESTINST3("usax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1918TESTINST3("usax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1919TESTINST3("usax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1920TESTINST3("usax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1921TESTINST3("usax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1922TESTINST3("usax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1923TESTINST3("usax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1924TESTINST3("usax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1925TESTINST3("usax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1926TESTINST3("usax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1927TESTINST3("usax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1928TESTINST3("usax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1929TESTINST3("usax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1930TESTINST3("usax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1931TESTINST3("usax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1932TESTINST3("usax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1933TESTINST3("usax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1934TESTINST3("usax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1935TESTINST3("usax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1936TESTINST3("usax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1937TESTINST3("usax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1938TESTINST3("usax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1939TESTINST3("usax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1940TESTINST3("usax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1941TESTINST3("usax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 1942TESTINST3("usax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 1943TESTINST3("usax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 1944TESTINST3("usax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 1945TESTINST3("usax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 1946TESTINST3("usax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 1947TESTINST3("usax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 1948TESTINST3("usax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 1949TESTINST3("usax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 1950TESTINST3("usax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 1951 1952 printf("----------------- UASX ----------------- \n"); 1953 TESTINST3("uasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 1954 TESTINST3("uasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 1955 TESTINST3("uasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 1956 TESTINST3("uasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 1957 TESTINST3("uasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 1958 TESTINST3("uasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 1959TESTINST3("uasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 1960TESTINST3("uasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 1961TESTINST3("uasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 1962TESTINST3("uasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 1963TESTINST3("uasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 1964TESTINST3("uasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 1965TESTINST3("uasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 1966TESTINST3("uasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 1967TESTINST3("uasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 1968TESTINST3("uasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 1969TESTINST3("uasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 1970TESTINST3("uasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 1971TESTINST3("uasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 1972TESTINST3("uasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 1973TESTINST3("uasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 1974TESTINST3("uasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 1975TESTINST3("uasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 1976TESTINST3("uasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 1977TESTINST3("uasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 1978TESTINST3("uasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 1979TESTINST3("uasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 1980TESTINST3("uasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 1981TESTINST3("uasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 1982TESTINST3("uasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 1983TESTINST3("uasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 1984TESTINST3("uasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 1985TESTINST3("uasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 1986TESTINST3("uasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 1987TESTINST3("uasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 1988TESTINST3("uasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 1989TESTINST3("uasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 1990TESTINST3("uasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 1991TESTINST3("uasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 1992TESTINST3("uasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 1993TESTINST3("uasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 1994TESTINST3("uasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 1995TESTINST3("uasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 1996TESTINST3("uasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 1997TESTINST3("uasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 1998TESTINST3("uasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 1999TESTINST3("uasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 2000TESTINST3("uasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 2001TESTINST3("uasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 2002TESTINST3("uasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 2003TESTINST3("uasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 2004TESTINST3("uasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 2005TESTINST3("uasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 2006TESTINST3("uasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 2007TESTINST3("uasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 2008TESTINST3("uasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 2009 2010 printf("----------------- SSAX ----------------- \n"); 2011 TESTINST3("ssax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2012 TESTINST3("ssax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 2013 TESTINST3("ssax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 2014 TESTINST3("ssax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2015 TESTINST3("ssax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 2016 TESTINST3("ssax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0); 2017TESTINST3("ssax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 2018TESTINST3("ssax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 2019TESTINST3("ssax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 2020TESTINST3("ssax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 2021TESTINST3("ssax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 2022TESTINST3("ssax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 2023TESTINST3("ssax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 2024TESTINST3("ssax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 2025TESTINST3("ssax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 2026TESTINST3("ssax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 2027TESTINST3("ssax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 2028TESTINST3("ssax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 2029TESTINST3("ssax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 2030TESTINST3("ssax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 2031TESTINST3("ssax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 2032TESTINST3("ssax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 2033TESTINST3("ssax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 2034TESTINST3("ssax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 2035TESTINST3("ssax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 2036TESTINST3("ssax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 2037TESTINST3("ssax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 2038TESTINST3("ssax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 2039TESTINST3("ssax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 2040TESTINST3("ssax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 2041TESTINST3("ssax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 2042TESTINST3("ssax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 2043TESTINST3("ssax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 2044TESTINST3("ssax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 2045TESTINST3("ssax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 2046TESTINST3("ssax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 2047TESTINST3("ssax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 2048TESTINST3("ssax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 2049TESTINST3("ssax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 2050TESTINST3("ssax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 2051TESTINST3("ssax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 2052TESTINST3("ssax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 2053TESTINST3("ssax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 2054TESTINST3("ssax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 2055TESTINST3("ssax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 2056TESTINST3("ssax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 2057TESTINST3("ssax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 2058TESTINST3("ssax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 2059TESTINST3("ssax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 2060TESTINST3("ssax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 2061TESTINST3("ssax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 2062TESTINST3("ssax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 2063TESTINST3("ssax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 2064TESTINST3("ssax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 2065TESTINST3("ssax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 2066TESTINST3("ssax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 2067 2068 printf("----------------- SMUAD ----------------- \n"); 2069 TESTINST3("smuad r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 2070 TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2071 TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 2072 TESTINST3("smuad r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2073 TESTINST3("smuad r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 2074 TESTINST3("smuad r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 2075 TESTINST3("smuad r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 2076TESTINST3("smuad r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 2077TESTINST3("smuad r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 2078TESTINST3("smuad r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 2079TESTINST3("smuad r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 2080TESTINST3("smuad r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 2081TESTINST3("smuad r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 2082TESTINST3("smuad r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 2083TESTINST3("smuad r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 2084TESTINST3("smuad r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 2085TESTINST3("smuad r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 2086TESTINST3("smuad r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 2087TESTINST3("smuad r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 2088TESTINST3("smuad r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 2089TESTINST3("smuad r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 2090TESTINST3("smuad r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 2091TESTINST3("smuad r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 2092TESTINST3("smuad r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 2093TESTINST3("smuad r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 2094TESTINST3("smuad r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 2095TESTINST3("smuad r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 2096TESTINST3("smuad r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 2097TESTINST3("smuad r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 2098TESTINST3("smuad r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 2099TESTINST3("smuad r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 2100TESTINST3("smuad r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 2101TESTINST3("smuad r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 2102TESTINST3("smuad r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 2103TESTINST3("smuad r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 2104TESTINST3("smuad r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 2105TESTINST3("smuad r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 2106TESTINST3("smuad r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 2107TESTINST3("smuad r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 2108TESTINST3("smuad r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 2109TESTINST3("smuad r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 2110TESTINST3("smuad r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 2111TESTINST3("smuad r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 2112TESTINST3("smuad r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 2113TESTINST3("smuad r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 2114TESTINST3("smuad r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 2115TESTINST3("smuad r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 2116TESTINST3("smuad r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 2117TESTINST3("smuad r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 2118TESTINST3("smuad r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 2119TESTINST3("smuad r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 2120TESTINST3("smuad r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 2121TESTINST3("smuad r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 2122TESTINST3("smuad r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 2123TESTINST3("smuad r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 2124TESTINST3("smuad r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 2125TESTINST3("smuad r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 2126 printf("----------------- SMUADX ---------------- \n"); 2127 TESTINST3("smuadx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 2128 TESTINST3("smuadx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2129 TESTINST3("smuadx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 2130 TESTINST3("smuadx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2131 TESTINST3("smuadx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 2132 TESTINST3("smuadx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 2133 TESTINST3("smuadx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 2134TESTINST3("smuadx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 2135TESTINST3("smuadx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 2136TESTINST3("smuadx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 2137TESTINST3("smuadx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 2138TESTINST3("smuadx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 2139TESTINST3("smuadx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 2140TESTINST3("smuadx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 2141TESTINST3("smuadx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 2142TESTINST3("smuadx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 2143TESTINST3("smuadx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 2144TESTINST3("smuadx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 2145TESTINST3("smuadx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 2146TESTINST3("smuadx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 2147TESTINST3("smuadx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 2148TESTINST3("smuadx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 2149TESTINST3("smuadx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 2150TESTINST3("smuadx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 2151TESTINST3("smuadx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 2152TESTINST3("smuadx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 2153TESTINST3("smuadx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 2154TESTINST3("smuadx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 2155TESTINST3("smuadx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 2156TESTINST3("smuadx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 2157TESTINST3("smuadx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 2158TESTINST3("smuadx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 2159TESTINST3("smuadx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 2160TESTINST3("smuadx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 2161TESTINST3("smuadx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 2162TESTINST3("smuadx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 2163TESTINST3("smuadx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 2164TESTINST3("smuadx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 2165TESTINST3("smuadx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 2166TESTINST3("smuadx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 2167TESTINST3("smuadx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 2168TESTINST3("smuadx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 2169TESTINST3("smuadx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 2170TESTINST3("smuadx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 2171TESTINST3("smuadx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 2172TESTINST3("smuadx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 2173TESTINST3("smuadx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 2174TESTINST3("smuadx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 2175TESTINST3("smuadx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 2176TESTINST3("smuadx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 2177TESTINST3("smuadx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 2178TESTINST3("smuadx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 2179TESTINST3("smuadx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 2180TESTINST3("smuadx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 2181TESTINST3("smuadx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 2182TESTINST3("smuadx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 2183TESTINST3("smuadx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 2184 2185 printf("----------------- SMLAD ----------------- \n"); 2186 TESTINST4("smlad r0, r1, r2, r3", 2187 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 2188 TESTINST4("smlad r0, r1, r2, r3", 2189 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 2190 TESTINST4("smlad r0, r1, r2, r3", 2191 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 2192 TESTINST4("smlad r0, r1, r2, r3", 2193 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 2194 TESTINST4("smlad r0, r1, r2, r3", 2195 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 2196 TESTINST4("smlad r0, r1, r2, r3", 2197 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 2198 TESTINST4("smlad r0, r1, r2, r3", 2199 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 2200TESTINST4("smlad r0, r1, r2, r3", 2201 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2202TESTINST4("smlad r0, r1, r2, r3", 2203 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2204TESTINST4("smlad r0, r1, r2, r3", 2205 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2206TESTINST4("smlad r0, r1, r2, r3", 2207 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2208TESTINST4("smlad r0, r1, r2, r3", 2209 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2210TESTINST4("smlad r0, r1, r2, r3", 2211 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2212TESTINST4("smlad r0, r1, r2, r3", 2213 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2214TESTINST4("smlad r0, r1, r2, r3", 2215 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2216TESTINST4("smlad r0, r1, r2, r3", 2217 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2218TESTINST4("smlad r0, r1, r2, r3", 2219 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2220TESTINST4("smlad r0, r1, r2, r3", 2221 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2222TESTINST4("smlad r0, r1, r2, r3", 2223 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2224TESTINST4("smlad r0, r1, r2, r3", 2225 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2226TESTINST4("smlad r0, r1, r2, r3", 2227 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2228TESTINST4("smlad r0, r1, r2, r3", 2229 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2230TESTINST4("smlad r0, r1, r2, r3", 2231 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2232TESTINST4("smlad r0, r1, r2, r3", 2233 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2234TESTINST4("smlad r0, r1, r2, r3", 2235 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2236TESTINST4("smlad r0, r1, r2, r3", 2237 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2238TESTINST4("smlad r0, r1, r2, r3", 2239 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2240TESTINST4("smlad r0, r1, r2, r3", 2241 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2242TESTINST4("smlad r0, r1, r2, r3", 2243 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2244TESTINST4("smlad r0, r1, r2, r3", 2245 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2246TESTINST4("smlad r0, r1, r2, r3", 2247 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2248TESTINST4("smlad r0, r1, r2, r3", 2249 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2250TESTINST4("smlad r0, r1, r2, r3", 2251 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2252TESTINST4("smlad r0, r1, r2, r3", 2253 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2254TESTINST4("smlad r0, r1, r2, r3", 2255 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2256TESTINST4("smlad r0, r1, r2, r3", 2257 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2258TESTINST4("smlad r0, r1, r2, r3", 2259 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2260TESTINST4("smlad r0, r1, r2, r3", 2261 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2262TESTINST4("smlad r0, r1, r2, r3", 2263 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2264TESTINST4("smlad r0, r1, r2, r3", 2265 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2266TESTINST4("smlad r0, r1, r2, r3", 2267 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2268TESTINST4("smlad r0, r1, r2, r3", 2269 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2270TESTINST4("smlad r0, r1, r2, r3", 2271 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2272TESTINST4("smlad r0, r1, r2, r3", 2273 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2274TESTINST4("smlad r0, r1, r2, r3", 2275 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2276TESTINST4("smlad r0, r1, r2, r3", 2277 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2278TESTINST4("smlad r0, r1, r2, r3", 2279 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2280TESTINST4("smlad r0, r1, r2, r3", 2281 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2282TESTINST4("smlad r0, r1, r2, r3", 2283 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2284TESTINST4("smlad r0, r1, r2, r3", 2285 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2286TESTINST4("smlad r0, r1, r2, r3", 2287 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2288TESTINST4("smlad r0, r1, r2, r3", 2289 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2290TESTINST4("smlad r0, r1, r2, r3", 2291 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2292TESTINST4("smlad r0, r1, r2, r3", 2293 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2294TESTINST4("smlad r0, r1, r2, r3", 2295 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2296TESTINST4("smlad r0, r1, r2, r3", 2297 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2298TESTINST4("smlad r0, r1, r2, r3", 2299 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2300TESTINST4("smlad r0, r1, r2, r3", 2301 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2302 2303 printf("----------------- SMLADX ----------------- \n"); 2304 TESTINST4("smladx r0, r1, r2, r3", 2305 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 2306 TESTINST4("smladx r0, r1, r2, r3", 2307 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 2308 TESTINST4("smladx r0, r1, r2, r3", 2309 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 2310 TESTINST4("smladx r0, r1, r2, r3", 2311 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 2312 TESTINST4("smladx r0, r1, r2, r3", 2313 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 2314 TESTINST4("smladx r0, r1, r2, r3", 2315 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 2316 TESTINST4("smladx r0, r1, r2, r3", 2317 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 2318TESTINST4("smladx r0, r1, r2, r3", 2319 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2320TESTINST4("smladx r0, r1, r2, r3", 2321 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2322TESTINST4("smladx r0, r1, r2, r3", 2323 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2324 2325 printf("------------ SMLABB, SMLATT, SMLATB, SMLABT ------------\n"); 2326 /* smlabb rD, rN, rM, rA */ 2327 TESTINST4("smlabb r0, r1, r2, r3", 2328 0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 2329 TESTINST4("smlabb r0, r1, r2, r3", 2330 0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 2331 TESTINST4("smlabb r0, r1, r2, r3", 2332 0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 2333 TESTINST4("smlabb r0, r1, r2, r3", 2334 0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 2335 TESTINST4("smlabb r0, r1, r2, r3", 2336 0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 2337 TESTINST4("smlabb r0, r1, r2, r3", 2338 0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 2339TESTINST4("smlabb r0, r1, r2, r3", 2340 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2341TESTINST4("smlabb r0, r1, r2, r3", 2342 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2343TESTINST4("smlabb r0, r1, r2, r3", 2344 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2345TESTINST4("smlabb r0, r1, r2, r3", 2346 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2347TESTINST4("smlabb r0, r1, r2, r3", 2348 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2349TESTINST4("smlabb r0, r1, r2, r3", 2350 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2351TESTINST4("smlabb r0, r1, r2, r3", 2352 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2353TESTINST4("smlabb r0, r1, r2, r3", 2354 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2355TESTINST4("smlabb r0, r1, r2, r3", 2356 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2357TESTINST4("smlabb r0, r1, r2, r3", 2358 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2359TESTINST4("smlabb r0, r1, r2, r3", 2360 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2361TESTINST4("smlabb r0, r1, r2, r3", 2362 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2363TESTINST4("smlabb r0, r1, r2, r3", 2364 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2365TESTINST4("smlabb r0, r1, r2, r3", 2366 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2367TESTINST4("smlabb r0, r1, r2, r3", 2368 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2369TESTINST4("smlabb r0, r1, r2, r3", 2370 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2371TESTINST4("smlabb r0, r1, r2, r3", 2372 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2373TESTINST4("smlabb r0, r1, r2, r3", 2374 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2375TESTINST4("smlabb r0, r1, r2, r3", 2376 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2377TESTINST4("smlabb r0, r1, r2, r3", 2378 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2379TESTINST4("smlabb r0, r1, r2, r3", 2380 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2381TESTINST4("smlabb r0, r1, r2, r3", 2382 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2383TESTINST4("smlabb r0, r1, r2, r3", 2384 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2385TESTINST4("smlabb r0, r1, r2, r3", 2386 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2387TESTINST4("smlabb r0, r1, r2, r3", 2388 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2389TESTINST4("smlabb r0, r1, r2, r3", 2390 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2391TESTINST4("smlabb r0, r1, r2, r3", 2392 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2393TESTINST4("smlabb r0, r1, r2, r3", 2394 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2395TESTINST4("smlabb r0, r1, r2, r3", 2396 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2397TESTINST4("smlabb r0, r1, r2, r3", 2398 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2399TESTINST4("smlabb r0, r1, r2, r3", 2400 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2401TESTINST4("smlabb r0, r1, r2, r3", 2402 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2403TESTINST4("smlabb r0, r1, r2, r3", 2404 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2405TESTINST4("smlabb r0, r1, r2, r3", 2406 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2407TESTINST4("smlabb r0, r1, r2, r3", 2408 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2409TESTINST4("smlabb r0, r1, r2, r3", 2410 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2411TESTINST4("smlabb r0, r1, r2, r3", 2412 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2413TESTINST4("smlabb r0, r1, r2, r3", 2414 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2415TESTINST4("smlabb r0, r1, r2, r3", 2416 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2417TESTINST4("smlabb r0, r1, r2, r3", 2418 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2419TESTINST4("smlabb r0, r1, r2, r3", 2420 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2421TESTINST4("smlabb r0, r1, r2, r3", 2422 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2423TESTINST4("smlabb r0, r1, r2, r3", 2424 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2425TESTINST4("smlabb r0, r1, r2, r3", 2426 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2427TESTINST4("smlabb r0, r1, r2, r3", 2428 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2429TESTINST4("smlabb r0, r1, r2, r3", 2430 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2431TESTINST4("smlabb r0, r1, r2, r3", 2432 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2433TESTINST4("smlabb r0, r1, r2, r3", 2434 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2435TESTINST4("smlabb r0, r1, r2, r3", 2436 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2437TESTINST4("smlabb r0, r1, r2, r3", 2438 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2439TESTINST4("smlabb r0, r1, r2, r3", 2440 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2441 /* smlatt rD, rN, rM, rA */ 2442 TESTINST4("smlatt r0, r1, r2, r3", 2443 0x00000003, 0x00000004, 0x00000000, r0,r1,r2,r3, 0); 2444 TESTINST4("smlatt r0, r1, r2, r3", 2445 0x00010003, 0x00020004, 0x00007fff, r0,r1,r2,r3, 0); 2446 TESTINST4("smlatt r0, r1, r2, r3", 2447 0x80010003, 0x7fff0004, 0x00005fff, r0,r1,r2,r3, 0); 2448 TESTINST4("smlatt r0, r1, r2, r3", 2449 0x7fff0003, 0x7fff0004, 0x00007fff, r0,r1,r2,r3, 0); 2450 TESTINST4("smlatt r0, r1, r2, r3", 2451 0xffff0003, 0xffff0004, 0x7fff7fff, r0,r1,r2,r3, 0); 2452 TESTINST4("smlatt r0, r1, r2, r3", 2453 0xfffc0003, 0xffff0004, 0xffffffff, r0,r1,r2,r3, 0); 2454TESTINST4("smlatt r0, r1, r2, r3", 2455 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2456TESTINST4("smlatt r0, r1, r2, r3", 2457 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2458TESTINST4("smlatt r0, r1, r2, r3", 2459 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2460TESTINST4("smlatt r0, r1, r2, r3", 2461 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2462TESTINST4("smlatt r0, r1, r2, r3", 2463 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2464TESTINST4("smlatt r0, r1, r2, r3", 2465 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2466TESTINST4("smlatt r0, r1, r2, r3", 2467 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2468TESTINST4("smlatt r0, r1, r2, r3", 2469 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2470TESTINST4("smlatt r0, r1, r2, r3", 2471 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2472TESTINST4("smlatt r0, r1, r2, r3", 2473 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2474TESTINST4("smlatt r0, r1, r2, r3", 2475 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2476TESTINST4("smlatt r0, r1, r2, r3", 2477 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2478TESTINST4("smlatt r0, r1, r2, r3", 2479 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2480TESTINST4("smlatt r0, r1, r2, r3", 2481 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2482TESTINST4("smlatt r0, r1, r2, r3", 2483 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2484TESTINST4("smlatt r0, r1, r2, r3", 2485 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2486TESTINST4("smlatt r0, r1, r2, r3", 2487 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2488TESTINST4("smlatt r0, r1, r2, r3", 2489 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2490TESTINST4("smlatt r0, r1, r2, r3", 2491 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2492TESTINST4("smlatt r0, r1, r2, r3", 2493 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2494TESTINST4("smlatt r0, r1, r2, r3", 2495 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2496TESTINST4("smlatt r0, r1, r2, r3", 2497 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2498TESTINST4("smlatt r0, r1, r2, r3", 2499 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2500TESTINST4("smlatt r0, r1, r2, r3", 2501 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2502TESTINST4("smlatt r0, r1, r2, r3", 2503 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2504TESTINST4("smlatt r0, r1, r2, r3", 2505 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2506TESTINST4("smlatt r0, r1, r2, r3", 2507 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2508TESTINST4("smlatt r0, r1, r2, r3", 2509 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2510TESTINST4("smlatt r0, r1, r2, r3", 2511 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2512TESTINST4("smlatt r0, r1, r2, r3", 2513 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2514TESTINST4("smlatt r0, r1, r2, r3", 2515 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2516TESTINST4("smlatt r0, r1, r2, r3", 2517 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2518TESTINST4("smlatt r0, r1, r2, r3", 2519 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2520TESTINST4("smlatt r0, r1, r2, r3", 2521 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2522TESTINST4("smlatt r0, r1, r2, r3", 2523 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2524TESTINST4("smlatt r0, r1, r2, r3", 2525 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2526TESTINST4("smlatt r0, r1, r2, r3", 2527 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2528TESTINST4("smlatt r0, r1, r2, r3", 2529 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2530TESTINST4("smlatt r0, r1, r2, r3", 2531 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2532TESTINST4("smlatt r0, r1, r2, r3", 2533 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2534TESTINST4("smlatt r0, r1, r2, r3", 2535 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2536TESTINST4("smlatt r0, r1, r2, r3", 2537 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2538TESTINST4("smlatt r0, r1, r2, r3", 2539 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2540TESTINST4("smlatt r0, r1, r2, r3", 2541 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2542TESTINST4("smlatt r0, r1, r2, r3", 2543 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2544TESTINST4("smlatt r0, r1, r2, r3", 2545 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2546TESTINST4("smlatt r0, r1, r2, r3", 2547 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2548TESTINST4("smlatt r0, r1, r2, r3", 2549 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2550TESTINST4("smlatt r0, r1, r2, r3", 2551 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2552TESTINST4("smlatt r0, r1, r2, r3", 2553 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2554TESTINST4("smlatt r0, r1, r2, r3", 2555 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2556 /* smlatb rD, rN, rM, rA */ 2557 TESTINST4("smlatb r0, r1, r2, r3", 2558 0x00000003, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 2559 TESTINST4("smlatb r0, r1, r2, r3", 2560 0x00010003, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 2561 TESTINST4("smlatb r0, r1, r2, r3", 2562 0x80010003, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 2563 TESTINST4("smlatb r0, r1, r2, r3", 2564 0x7fff0003, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 2565 TESTINST4("smlatb r0, r1, r2, r3", 2566 0xffff0003, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 2567 TESTINST4("smlatb r0, r1, r2, r3", 2568 0xfffc0003, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 2569TESTINST4("smlatb r0, r1, r2, r3", 2570 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2571TESTINST4("smlatb r0, r1, r2, r3", 2572 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2573TESTINST4("smlatb r0, r1, r2, r3", 2574 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2575TESTINST4("smlatb r0, r1, r2, r3", 2576 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2577TESTINST4("smlatb r0, r1, r2, r3", 2578 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2579TESTINST4("smlatb r0, r1, r2, r3", 2580 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2581TESTINST4("smlatb r0, r1, r2, r3", 2582 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2583TESTINST4("smlatb r0, r1, r2, r3", 2584 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2585TESTINST4("smlatb r0, r1, r2, r3", 2586 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2587TESTINST4("smlatb r0, r1, r2, r3", 2588 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2589TESTINST4("smlatb r0, r1, r2, r3", 2590 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2591TESTINST4("smlatb r0, r1, r2, r3", 2592 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2593TESTINST4("smlatb r0, r1, r2, r3", 2594 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2595TESTINST4("smlatb r0, r1, r2, r3", 2596 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2597TESTINST4("smlatb r0, r1, r2, r3", 2598 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2599TESTINST4("smlatb r0, r1, r2, r3", 2600 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2601TESTINST4("smlatb r0, r1, r2, r3", 2602 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2603TESTINST4("smlatb r0, r1, r2, r3", 2604 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2605TESTINST4("smlatb r0, r1, r2, r3", 2606 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2607TESTINST4("smlatb r0, r1, r2, r3", 2608 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2609TESTINST4("smlatb r0, r1, r2, r3", 2610 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2611TESTINST4("smlatb r0, r1, r2, r3", 2612 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2613TESTINST4("smlatb r0, r1, r2, r3", 2614 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2615TESTINST4("smlatb r0, r1, r2, r3", 2616 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2617TESTINST4("smlatb r0, r1, r2, r3", 2618 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2619TESTINST4("smlatb r0, r1, r2, r3", 2620 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2621TESTINST4("smlatb r0, r1, r2, r3", 2622 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2623TESTINST4("smlatb r0, r1, r2, r3", 2624 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2625TESTINST4("smlatb r0, r1, r2, r3", 2626 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2627TESTINST4("smlatb r0, r1, r2, r3", 2628 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2629TESTINST4("smlatb r0, r1, r2, r3", 2630 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2631TESTINST4("smlatb r0, r1, r2, r3", 2632 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2633TESTINST4("smlatb r0, r1, r2, r3", 2634 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2635TESTINST4("smlatb r0, r1, r2, r3", 2636 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2637TESTINST4("smlatb r0, r1, r2, r3", 2638 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2639TESTINST4("smlatb r0, r1, r2, r3", 2640 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2641TESTINST4("smlatb r0, r1, r2, r3", 2642 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2643TESTINST4("smlatb r0, r1, r2, r3", 2644 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2645TESTINST4("smlatb r0, r1, r2, r3", 2646 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2647TESTINST4("smlatb r0, r1, r2, r3", 2648 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2649TESTINST4("smlatb r0, r1, r2, r3", 2650 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2651TESTINST4("smlatb r0, r1, r2, r3", 2652 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2653TESTINST4("smlatb r0, r1, r2, r3", 2654 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2655TESTINST4("smlatb r0, r1, r2, r3", 2656 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2657TESTINST4("smlatb r0, r1, r2, r3", 2658 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2659TESTINST4("smlatb r0, r1, r2, r3", 2660 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2661TESTINST4("smlatb r0, r1, r2, r3", 2662 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2663TESTINST4("smlatb r0, r1, r2, r3", 2664 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2665TESTINST4("smlatb r0, r1, r2, r3", 2666 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2667TESTINST4("smlatb r0, r1, r2, r3", 2668 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2669TESTINST4("smlatb r0, r1, r2, r3", 2670 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2671 /* smlabt rD, rN, rM, rA */ 2672 TESTINST4("smlabt r0, r1, r2, r3", 2673 0x00030000, 0x00000004, 0x00000000, r0,r1,r2,r3, 0); 2674 TESTINST4("smlabt r0, r1, r2, r3", 2675 0x00030001, 0x00020004, 0x00007fff, r0,r1,r2,r3, 0); 2676 TESTINST4("smlabt r0, r1, r2, r3", 2677 0x00038001, 0x7fff0004, 0x00005fff, r0,r1,r2,r3, 0); 2678 TESTINST4("smlabt r0, r1, r2, r3", 2679 0x00037fff, 0x7fff0004, 0x00007fff, r0,r1,r2,r3, 0); 2680 TESTINST4("smlabt r0, r1, r2, r3", 2681 0x0003ffff, 0xffff0004, 0x7fff7fff, r0,r1,r2,r3, 0); 2682 TESTINST4("smlabt r0, r1, r2, r3", 2683 0x0003fffc, 0xffff0004, 0xffffffff, r0,r1,r2,r3, 0); 2684TESTINST4("smlabt r0, r1, r2, r3", 2685 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 2686TESTINST4("smlabt r0, r1, r2, r3", 2687 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 2688TESTINST4("smlabt r0, r1, r2, r3", 2689 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 2690TESTINST4("smlabt r0, r1, r2, r3", 2691 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 2692TESTINST4("smlabt r0, r1, r2, r3", 2693 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 2694TESTINST4("smlabt r0, r1, r2, r3", 2695 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 2696TESTINST4("smlabt r0, r1, r2, r3", 2697 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 2698TESTINST4("smlabt r0, r1, r2, r3", 2699 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 2700TESTINST4("smlabt r0, r1, r2, r3", 2701 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 2702TESTINST4("smlabt r0, r1, r2, r3", 2703 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 2704TESTINST4("smlabt r0, r1, r2, r3", 2705 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 2706TESTINST4("smlabt r0, r1, r2, r3", 2707 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 2708TESTINST4("smlabt r0, r1, r2, r3", 2709 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 2710TESTINST4("smlabt r0, r1, r2, r3", 2711 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 2712TESTINST4("smlabt r0, r1, r2, r3", 2713 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 2714TESTINST4("smlabt r0, r1, r2, r3", 2715 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 2716TESTINST4("smlabt r0, r1, r2, r3", 2717 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 2718TESTINST4("smlabt r0, r1, r2, r3", 2719 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 2720TESTINST4("smlabt r0, r1, r2, r3", 2721 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 2722TESTINST4("smlabt r0, r1, r2, r3", 2723 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 2724TESTINST4("smlabt r0, r1, r2, r3", 2725 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 2726TESTINST4("smlabt r0, r1, r2, r3", 2727 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 2728TESTINST4("smlabt r0, r1, r2, r3", 2729 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 2730TESTINST4("smlabt r0, r1, r2, r3", 2731 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 2732TESTINST4("smlabt r0, r1, r2, r3", 2733 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 2734TESTINST4("smlabt r0, r1, r2, r3", 2735 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 2736TESTINST4("smlabt r0, r1, r2, r3", 2737 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 2738TESTINST4("smlabt r0, r1, r2, r3", 2739 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 2740TESTINST4("smlabt r0, r1, r2, r3", 2741 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 2742TESTINST4("smlabt r0, r1, r2, r3", 2743 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 2744TESTINST4("smlabt r0, r1, r2, r3", 2745 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 2746TESTINST4("smlabt r0, r1, r2, r3", 2747 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 2748TESTINST4("smlabt r0, r1, r2, r3", 2749 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 2750TESTINST4("smlabt r0, r1, r2, r3", 2751 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 2752TESTINST4("smlabt r0, r1, r2, r3", 2753 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 2754TESTINST4("smlabt r0, r1, r2, r3", 2755 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 2756TESTINST4("smlabt r0, r1, r2, r3", 2757 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 2758TESTINST4("smlabt r0, r1, r2, r3", 2759 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 2760TESTINST4("smlabt r0, r1, r2, r3", 2761 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 2762TESTINST4("smlabt r0, r1, r2, r3", 2763 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 2764TESTINST4("smlabt r0, r1, r2, r3", 2765 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 2766TESTINST4("smlabt r0, r1, r2, r3", 2767 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 2768TESTINST4("smlabt r0, r1, r2, r3", 2769 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 2770TESTINST4("smlabt r0, r1, r2, r3", 2771 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 2772TESTINST4("smlabt r0, r1, r2, r3", 2773 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 2774TESTINST4("smlabt r0, r1, r2, r3", 2775 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 2776TESTINST4("smlabt r0, r1, r2, r3", 2777 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 2778TESTINST4("smlabt r0, r1, r2, r3", 2779 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 2780TESTINST4("smlabt r0, r1, r2, r3", 2781 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 2782TESTINST4("smlabt r0, r1, r2, r3", 2783 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 2784TESTINST4("smlabt r0, r1, r2, r3", 2785 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 2786 2787 printf("------------ UQSUB8 -----------------------------------\n"); 2788 TESTINST3("uqsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2789 TESTINST3("uqsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2790 TESTINST3("uqsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2791 TESTINST3("uqsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2792 TESTINST3("uqsub8 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0); 2793 TESTINST3("uqsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2794 TESTINST3("uqsub8 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0); 2795 TESTINST3("uqsub8 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0); 2796TESTINST3("uqsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2797TESTINST3("uqsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2798TESTINST3("uqsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2799TESTINST3("uqsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2800TESTINST3("uqsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2801TESTINST3("uqsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2802TESTINST3("uqsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2803TESTINST3("uqsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2804TESTINST3("uqsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2805TESTINST3("uqsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2806TESTINST3("uqsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2807TESTINST3("uqsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2808TESTINST3("uqsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2809TESTINST3("uqsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2810TESTINST3("uqsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2811TESTINST3("uqsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2812TESTINST3("uqsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2813TESTINST3("uqsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2814TESTINST3("uqsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2815TESTINST3("uqsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2816TESTINST3("uqsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2817TESTINST3("uqsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2818TESTINST3("uqsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2819TESTINST3("uqsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2820TESTINST3("uqsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2821TESTINST3("uqsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2822TESTINST3("uqsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2823TESTINST3("uqsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2824TESTINST3("uqsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2825TESTINST3("uqsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2826TESTINST3("uqsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2827TESTINST3("uqsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2828TESTINST3("uqsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2829TESTINST3("uqsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2830TESTINST3("uqsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2831TESTINST3("uqsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2832TESTINST3("uqsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2833TESTINST3("uqsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2834TESTINST3("uqsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2835TESTINST3("uqsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2836TESTINST3("uqsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2837TESTINST3("uqsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2838TESTINST3("uqsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2839TESTINST3("uqsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2840TESTINST3("uqsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2841TESTINST3("uqsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2842TESTINST3("uqsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2843TESTINST3("uqsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2844TESTINST3("uqsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2845TESTINST3("uqsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2846TESTINST3("uqsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2847 2848 printf("------------ UQADD8 -----------------------------------\n"); 2849 TESTINST3("uqadd8 r0, r1, r2", 0x0009ffff, 0x001800aa, r0, r1, r2, 0); 2850 TESTINST3("uqadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2851 TESTINST3("uqadd8 r0, r1, r2", 0x00aa0018, 0xffff0009, r0, r1, r2, 0); 2852 TESTINST3("uqadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2853 TESTINST3("uqadd8 r0, r1, r2", 0x0000aa18, 0xff00ff09, r0, r1, r2, 0); 2854 TESTINST3("uqadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2855 TESTINST3("uqadd8 r0, r1, r2", 0xff9fefcc, 0xff9ffedd, r0, r1, r2, 0); 2856 TESTINST3("uqadd8 r0, r1, r2", 0xff07ff09, 0xaa020318, r0, r1, r2, 0); 2857TESTINST3("uqadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2858TESTINST3("uqadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2859TESTINST3("uqadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2860TESTINST3("uqadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2861TESTINST3("uqadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2862TESTINST3("uqadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2863TESTINST3("uqadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2864TESTINST3("uqadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2865TESTINST3("uqadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2866TESTINST3("uqadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2867TESTINST3("uqadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2868TESTINST3("uqadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2869TESTINST3("uqadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2870TESTINST3("uqadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2871TESTINST3("uqadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2872TESTINST3("uqadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2873TESTINST3("uqadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2874TESTINST3("uqadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2875TESTINST3("uqadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2876TESTINST3("uqadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2877TESTINST3("uqadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2878TESTINST3("uqadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2879TESTINST3("uqadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2880TESTINST3("uqadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2881TESTINST3("uqadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2882TESTINST3("uqadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2883TESTINST3("uqadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2884TESTINST3("uqadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2885TESTINST3("uqadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2886TESTINST3("uqadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2887TESTINST3("uqadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2888TESTINST3("uqadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2889TESTINST3("uqadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2890TESTINST3("uqadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2891TESTINST3("uqadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2892TESTINST3("uqadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2893TESTINST3("uqadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2894TESTINST3("uqadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2895TESTINST3("uqadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2896TESTINST3("uqadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2897TESTINST3("uqadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2898TESTINST3("uqadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2899TESTINST3("uqadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2900TESTINST3("uqadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2901TESTINST3("uqadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2902TESTINST3("uqadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2903TESTINST3("uqadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2904TESTINST3("uqadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2905TESTINST3("uqadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2906TESTINST3("uqadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2907TESTINST3("uqadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2908 2909 printf("------------ SEL --------------------------------------\n"); 2910 TESTINST3("sel r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2911 TESTINST3("sel r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 2912 TESTINST3("sel r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2913 TESTINST3("sel r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 2914 TESTINST3("sel r0, r1, r2", 0xfffcffff, 0xffff0001, r0, r1, r2, 0); 2915 TESTINST3("sel r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 2916TESTINST3("sel r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2917TESTINST3("sel r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2918TESTINST3("sel r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2919TESTINST3("sel r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2920TESTINST3("sel r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2921TESTINST3("sel r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2922TESTINST3("sel r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2923TESTINST3("sel r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2924TESTINST3("sel r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2925TESTINST3("sel r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2926TESTINST3("sel r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2927TESTINST3("sel r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2928TESTINST3("sel r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2929TESTINST3("sel r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2930TESTINST3("sel r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2931TESTINST3("sel r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2932TESTINST3("sel r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2933TESTINST3("sel r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2934TESTINST3("sel r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2935TESTINST3("sel r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2936TESTINST3("sel r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2937TESTINST3("sel r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2938TESTINST3("sel r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 2939TESTINST3("sel r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 2940TESTINST3("sel r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 2941TESTINST3("sel r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 2942TESTINST3("sel r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 2943TESTINST3("sel r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 2944TESTINST3("sel r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 2945TESTINST3("sel r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 2946TESTINST3("sel r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 2947TESTINST3("sel r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 2948TESTINST3("sel r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 2949TESTINST3("sel r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 2950TESTINST3("sel r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 2951TESTINST3("sel r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 2952TESTINST3("sel r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 2953TESTINST3("sel r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 2954TESTINST3("sel r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 2955TESTINST3("sel r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 2956TESTINST3("sel r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 2957TESTINST3("sel r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 2958TESTINST3("sel r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 2959TESTINST3("sel r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 2960TESTINST3("sel r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 2961TESTINST3("sel r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 2962TESTINST3("sel r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 2963TESTINST3("sel r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 2964TESTINST3("sel r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 2965TESTINST3("sel r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 2966TESTINST3("sel r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 2967 2968 printf("------------ QSUB8-------------------------------------\n"); 2969 TESTINST3("qsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 2970 TESTINST3("qsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 2971 TESTINST3("qsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 2972 TESTINST3("qsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 2973 TESTINST3("qsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 2974 TESTINST3("qsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 2975 TESTINST3("qsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 2976 TESTINST3("qsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 2977TESTINST3("qsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 2978TESTINST3("qsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 2979TESTINST3("qsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 2980TESTINST3("qsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 2981TESTINST3("qsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 2982TESTINST3("qsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 2983TESTINST3("qsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 2984TESTINST3("qsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 2985TESTINST3("qsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 2986TESTINST3("qsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 2987TESTINST3("qsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 2988TESTINST3("qsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 2989TESTINST3("qsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 2990TESTINST3("qsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 2991TESTINST3("qsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 2992TESTINST3("qsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 2993TESTINST3("qsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 2994TESTINST3("qsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 2995TESTINST3("qsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 2996TESTINST3("qsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 2997TESTINST3("qsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 2998TESTINST3("qsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 2999TESTINST3("qsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3000TESTINST3("qsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3001TESTINST3("qsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3002TESTINST3("qsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3003TESTINST3("qsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3004TESTINST3("qsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3005TESTINST3("qsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3006TESTINST3("qsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3007TESTINST3("qsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3008TESTINST3("qsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3009TESTINST3("qsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3010TESTINST3("qsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3011TESTINST3("qsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3012TESTINST3("qsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3013TESTINST3("qsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3014TESTINST3("qsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3015TESTINST3("qsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3016TESTINST3("qsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3017TESTINST3("qsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3018TESTINST3("qsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3019TESTINST3("qsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3020TESTINST3("qsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3021TESTINST3("qsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3022TESTINST3("qsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3023TESTINST3("qsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3024TESTINST3("qsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3025TESTINST3("qsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3026TESTINST3("qsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3027TESTINST3("qsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3028 3029 printf("------------ QADD8-------------------------------------\n"); 3030 TESTINST3("qadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 3031 TESTINST3("qadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 3032 TESTINST3("qadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 3033 TESTINST3("qadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 3034 TESTINST3("qadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3035 TESTINST3("qadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 3036 TESTINST3("qadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 3037 TESTINST3("qadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3038TESTINST3("qadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3039TESTINST3("qadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3040TESTINST3("qadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3041TESTINST3("qadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3042TESTINST3("qadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3043TESTINST3("qadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3044TESTINST3("qadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3045TESTINST3("qadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3046TESTINST3("qadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3047TESTINST3("qadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3048TESTINST3("qadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3049TESTINST3("qadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3050TESTINST3("qadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3051TESTINST3("qadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3052TESTINST3("qadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3053TESTINST3("qadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3054TESTINST3("qadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3055TESTINST3("qadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3056TESTINST3("qadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3057TESTINST3("qadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3058TESTINST3("qadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3059TESTINST3("qadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3060TESTINST3("qadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3061TESTINST3("qadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3062TESTINST3("qadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3063TESTINST3("qadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3064TESTINST3("qadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3065TESTINST3("qadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3066TESTINST3("qadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3067TESTINST3("qadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3068TESTINST3("qadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3069TESTINST3("qadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3070TESTINST3("qadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3071TESTINST3("qadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3072TESTINST3("qadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3073TESTINST3("qadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3074TESTINST3("qadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3075TESTINST3("qadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3076TESTINST3("qadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3077TESTINST3("qadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3078TESTINST3("qadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3079TESTINST3("qadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3080TESTINST3("qadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3081TESTINST3("qadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3082TESTINST3("qadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3083TESTINST3("qadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3084TESTINST3("qadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3085TESTINST3("qadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3086TESTINST3("qadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3087TESTINST3("qadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3088TESTINST3("qadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3089 3090 printf("------------ SHADD8 -----------------------------------\n"); 3091 TESTINST3("shadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 3092 TESTINST3("shadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 3093 TESTINST3("shadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 3094 TESTINST3("shadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 3095 TESTINST3("shadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3096 TESTINST3("shadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 3097 TESTINST3("shadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 3098 TESTINST3("shadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3099TESTINST3("shadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3100TESTINST3("shadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3101TESTINST3("shadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3102TESTINST3("shadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3103TESTINST3("shadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3104TESTINST3("shadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3105TESTINST3("shadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3106TESTINST3("shadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3107TESTINST3("shadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3108TESTINST3("shadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3109TESTINST3("shadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3110TESTINST3("shadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3111TESTINST3("shadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3112TESTINST3("shadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3113TESTINST3("shadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3114TESTINST3("shadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3115TESTINST3("shadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3116TESTINST3("shadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3117TESTINST3("shadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3118TESTINST3("shadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3119TESTINST3("shadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3120TESTINST3("shadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3121TESTINST3("shadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3122TESTINST3("shadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3123TESTINST3("shadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3124TESTINST3("shadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3125TESTINST3("shadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3126TESTINST3("shadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3127TESTINST3("shadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3128TESTINST3("shadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3129TESTINST3("shadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3130TESTINST3("shadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3131TESTINST3("shadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3132TESTINST3("shadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3133TESTINST3("shadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3134TESTINST3("shadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3135TESTINST3("shadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3136TESTINST3("shadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3137TESTINST3("shadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3138TESTINST3("shadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3139TESTINST3("shadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3140TESTINST3("shadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3141TESTINST3("shadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3142TESTINST3("shadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3143TESTINST3("shadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3144TESTINST3("shadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3145TESTINST3("shadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3146TESTINST3("shadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3147TESTINST3("shadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3148TESTINST3("shadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3149TESTINST3("shadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3150 3151 printf("------------ SHSUB8 -----------------------------------\n"); 3152 TESTINST3("shsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 3153 TESTINST3("shsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 3154 TESTINST3("shsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 3155 TESTINST3("shsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 3156 TESTINST3("shsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3157 TESTINST3("shsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 3158 TESTINST3("shsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 3159 TESTINST3("shsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3160TESTINST3("shsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3161TESTINST3("shsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3162TESTINST3("shsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3163TESTINST3("shsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3164TESTINST3("shsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3165TESTINST3("shsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3166TESTINST3("shsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3167TESTINST3("shsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3168TESTINST3("shsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3169TESTINST3("shsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3170TESTINST3("shsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3171TESTINST3("shsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3172TESTINST3("shsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3173TESTINST3("shsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3174TESTINST3("shsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3175TESTINST3("shsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3176TESTINST3("shsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3177TESTINST3("shsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3178TESTINST3("shsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3179TESTINST3("shsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3180TESTINST3("shsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3181TESTINST3("shsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3182TESTINST3("shsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3183TESTINST3("shsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3184TESTINST3("shsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3185TESTINST3("shsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3186TESTINST3("shsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3187TESTINST3("shsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3188TESTINST3("shsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3189TESTINST3("shsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3190TESTINST3("shsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3191TESTINST3("shsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3192TESTINST3("shsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3193TESTINST3("shsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3194TESTINST3("shsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3195TESTINST3("shsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3196TESTINST3("shsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3197TESTINST3("shsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3198TESTINST3("shsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3199TESTINST3("shsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3200TESTINST3("shsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3201TESTINST3("shsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3202TESTINST3("shsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3203TESTINST3("shsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3204TESTINST3("shsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3205TESTINST3("shsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3206TESTINST3("shsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3207TESTINST3("shsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3208TESTINST3("shsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3209TESTINST3("shsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3210TESTINST3("shsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3211 3212 printf("------------ UHADD8 -----------------------------------\n"); 3213 TESTINST3("uhadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 3214 TESTINST3("uhadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 3215 TESTINST3("uhadd8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 3216 TESTINST3("uhadd8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 3217 TESTINST3("uhadd8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3218 TESTINST3("uhadd8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 3219 TESTINST3("uhadd8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 3220 TESTINST3("uhadd8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3221TESTINST3("uhadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3222TESTINST3("uhadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3223TESTINST3("uhadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3224TESTINST3("uhadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3225TESTINST3("uhadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3226TESTINST3("uhadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3227TESTINST3("uhadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3228TESTINST3("uhadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3229TESTINST3("uhadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3230TESTINST3("uhadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3231TESTINST3("uhadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3232TESTINST3("uhadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3233TESTINST3("uhadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3234TESTINST3("uhadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3235TESTINST3("uhadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3236TESTINST3("uhadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3237TESTINST3("uhadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3238TESTINST3("uhadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3239TESTINST3("uhadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3240TESTINST3("uhadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3241TESTINST3("uhadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3242TESTINST3("uhadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3243TESTINST3("uhadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3244TESTINST3("uhadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3245TESTINST3("uhadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3246TESTINST3("uhadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3247TESTINST3("uhadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3248TESTINST3("uhadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3249TESTINST3("uhadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3250TESTINST3("uhadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3251TESTINST3("uhadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3252TESTINST3("uhadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3253TESTINST3("uhadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3254TESTINST3("uhadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3255TESTINST3("uhadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3256TESTINST3("uhadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3257TESTINST3("uhadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3258TESTINST3("uhadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3259TESTINST3("uhadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3260TESTINST3("uhadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3261TESTINST3("uhadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3262TESTINST3("uhadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3263TESTINST3("uhadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3264TESTINST3("uhadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3265TESTINST3("uhadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3266TESTINST3("uhadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3267TESTINST3("uhadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3268TESTINST3("uhadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3269TESTINST3("uhadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3270TESTINST3("uhadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3271TESTINST3("uhadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3272 3273 printf("------------ UHADD16 -----------------------------------\n"); 3274 TESTINST3("uhadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 3275 TESTINST3("uhadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 3276 TESTINST3("uhadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 3277 TESTINST3("uhadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 3278 TESTINST3("uhadd16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 3279 TESTINST3("uhadd16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 3280 TESTINST3("uhadd16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 3281 TESTINST3("uhadd16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 3282TESTINST3("uhadd16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3283TESTINST3("uhadd16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3284TESTINST3("uhadd16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3285TESTINST3("uhadd16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3286TESTINST3("uhadd16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3287TESTINST3("uhadd16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3288TESTINST3("uhadd16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3289TESTINST3("uhadd16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3290TESTINST3("uhadd16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3291TESTINST3("uhadd16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3292TESTINST3("uhadd16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3293TESTINST3("uhadd16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3294TESTINST3("uhadd16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3295TESTINST3("uhadd16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3296TESTINST3("uhadd16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3297TESTINST3("uhadd16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3298TESTINST3("uhadd16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3299TESTINST3("uhadd16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3300TESTINST3("uhadd16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3301TESTINST3("uhadd16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3302TESTINST3("uhadd16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3303TESTINST3("uhadd16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3304TESTINST3("uhadd16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3305TESTINST3("uhadd16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3306TESTINST3("uhadd16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3307TESTINST3("uhadd16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3308TESTINST3("uhadd16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3309TESTINST3("uhadd16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3310TESTINST3("uhadd16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3311TESTINST3("uhadd16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3312TESTINST3("uhadd16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3313TESTINST3("uhadd16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3314TESTINST3("uhadd16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3315TESTINST3("uhadd16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3316TESTINST3("uhadd16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3317TESTINST3("uhadd16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3318TESTINST3("uhadd16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3319TESTINST3("uhadd16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3320TESTINST3("uhadd16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3321TESTINST3("uhadd16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3322TESTINST3("uhadd16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3323TESTINST3("uhadd16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3324TESTINST3("uhadd16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3325TESTINST3("uhadd16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3326TESTINST3("uhadd16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3327TESTINST3("uhadd16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3328TESTINST3("uhadd16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3329TESTINST3("uhadd16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3330TESTINST3("uhadd16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3331TESTINST3("uhadd16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3332TESTINST3("uhadd16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3333 3334 printf("----------------- SSAT ----------------- \n"); 3335 TESTINST2("ssat r0, #1, r1, LSL #31", 0x80008000, r0, r1, 0); 3336 TESTINST2("ssat r0, #6, r1, LSL #24", 0x80008000, r0, r1, 0); 3337 TESTINST2("ssat r0, #8, r1, ASR #18", 0x80008000, r0, r1, 0); 3338 TESTINST2("ssat r0, #12, r1, ASR #16", 0x80008000, r0, r1, 0); 3339 TESTINST2("ssat r0, #16, r1, LSL #12", 0xffff0009, r0, r1, 0); 3340 TESTINST2("ssat r0, #18, r1, LSL #8", 0xffff0009, r0, r1, 0); 3341 TESTINST2("ssat r0, #24, r1, ASR #6", 0xffff0009, r0, r1, 0); 3342 TESTINST2("ssat r0, #31, r1, ASR #1", 0xffff0009, r0, r1, 0); 3343TESTINST2("ssat r0, #1, r1", 0x256bfdd6, r0, r1, 0); 3344TESTINST2("ssat r0, #1, r1", 0xc02a0c05, r0, r1, 0); 3345TESTINST2("ssat r0, #1, r1", 0xee2fa46e, r0, r1, 0); 3346TESTINST2("ssat r0, #1, r1", 0x97a7da20, r0, r1, 0); 3347TESTINST2("ssat r0, #32, r1", 0xa231d5e6, r0, r1, 0); 3348TESTINST2("ssat r0, #32, r1", 0x10e1968a, r0, r1, 0); 3349TESTINST2("ssat r0, #32, r1", 0x0e089270, r0, r1, 0); 3350TESTINST2("ssat r0, #32, r1", 0x9e8e0185, r0, r1, 0); 3351TESTINST2("ssat r0, #32, r1", 0x3096f12e, r0, r1, 0); 3352TESTINST2("ssat r0, #32, r1", 0xffc134df, r0, r1, 0); 3353TESTINST2("ssat r0, #1, r1, LSL #31", 0x256bfdd6, r0, r1, 0); 3354TESTINST2("ssat r0, #1, r1, LSL #31", 0xc02a0c05, r0, r1, 0); 3355TESTINST2("ssat r0, #1, r1, LSL #31", 0xee2fa46e, r0, r1, 0); 3356TESTINST2("ssat r0, #1, r1, LSL #31", 0x97a7da20, r0, r1, 0); 3357TESTINST2("ssat r0, #1, r1, LSL #31", 0xa231d5e6, r0, r1, 0); 3358TESTINST2("ssat r0, #1, r1, LSL #31", 0x10e1968a, r0, r1, 0); 3359TESTINST2("ssat r0, #1, r1, LSL #31", 0x0e089270, r0, r1, 0); 3360TESTINST2("ssat r0, #1, r1, LSL #31", 0x9e8e0185, r0, r1, 0); 3361TESTINST2("ssat r0, #1, r1, LSL #31", 0x3096f12e, r0, r1, 0); 3362TESTINST2("ssat r0, #1, r1, LSL #31", 0xffc134df, r0, r1, 0); 3363TESTINST2("ssat r0, #3, r1, LSL #28", 0x256bfdd6, r0, r1, 0); 3364TESTINST2("ssat r0, #3, r1, LSL #28", 0xc02a0c05, r0, r1, 0); 3365TESTINST2("ssat r0, #3, r1, LSL #28", 0xee2fa46e, r0, r1, 0); 3366TESTINST2("ssat r0, #3, r1, LSL #28", 0x97a7da20, r0, r1, 0); 3367TESTINST2("ssat r0, #3, r1, LSL #28", 0xa231d5e6, r0, r1, 0); 3368TESTINST2("ssat r0, #3, r1, LSL #28", 0x10e1968a, r0, r1, 0); 3369TESTINST2("ssat r0, #3, r1, LSL #28", 0x0e089270, r0, r1, 0); 3370TESTINST2("ssat r0, #3, r1, LSL #28", 0x9e8e0185, r0, r1, 0); 3371TESTINST2("ssat r0, #3, r1, LSL #28", 0x3096f12e, r0, r1, 0); 3372TESTINST2("ssat r0, #3, r1, LSL #28", 0xffc134df, r0, r1, 0); 3373TESTINST2("ssat r0, #6, r1, LSL #24", 0x256bfdd6, r0, r1, 0); 3374TESTINST2("ssat r0, #6, r1, LSL #24", 0xc02a0c05, r0, r1, 0); 3375TESTINST2("ssat r0, #6, r1, LSL #24", 0xee2fa46e, r0, r1, 0); 3376TESTINST2("ssat r0, #6, r1, LSL #24", 0x97a7da20, r0, r1, 0); 3377TESTINST2("ssat r0, #6, r1, LSL #24", 0xa231d5e6, r0, r1, 0); 3378TESTINST2("ssat r0, #6, r1, LSL #24", 0x10e1968a, r0, r1, 0); 3379TESTINST2("ssat r0, #6, r1, LSL #24", 0x0e089270, r0, r1, 0); 3380TESTINST2("ssat r0, #6, r1, LSL #24", 0x9e8e0185, r0, r1, 0); 3381TESTINST2("ssat r0, #6, r1, LSL #24", 0x3096f12e, r0, r1, 0); 3382TESTINST2("ssat r0, #6, r1, LSL #24", 0xffc134df, r0, r1, 0); 3383TESTINST2("ssat r0, #8, r1, ASR #18", 0x256bfdd6, r0, r1, 0); 3384TESTINST2("ssat r0, #8, r1, ASR #18", 0xc02a0c05, r0, r1, 0); 3385TESTINST2("ssat r0, #8, r1, ASR #18", 0xee2fa46e, r0, r1, 0); 3386TESTINST2("ssat r0, #8, r1, ASR #18", 0x97a7da20, r0, r1, 0); 3387TESTINST2("ssat r0, #8, r1, ASR #18", 0xa231d5e6, r0, r1, 0); 3388TESTINST2("ssat r0, #8, r1, ASR #18", 0x10e1968a, r0, r1, 0); 3389TESTINST2("ssat r0, #8, r1, ASR #18", 0x0e089270, r0, r1, 0); 3390TESTINST2("ssat r0, #8, r1, ASR #18", 0x9e8e0185, r0, r1, 0); 3391TESTINST2("ssat r0, #8, r1, ASR #18", 0x3096f12e, r0, r1, 0); 3392TESTINST2("ssat r0, #8, r1, ASR #18", 0xffc134df, r0, r1, 0); 3393TESTINST2("ssat r0, #12, r1, ASR #16", 0x256bfdd6, r0, r1, 0); 3394TESTINST2("ssat r0, #12, r1, ASR #16", 0xc02a0c05, r0, r1, 0); 3395TESTINST2("ssat r0, #12, r1, ASR #16", 0xee2fa46e, r0, r1, 0); 3396TESTINST2("ssat r0, #12, r1, ASR #16", 0x97a7da20, r0, r1, 0); 3397TESTINST2("ssat r0, #12, r1, ASR #16", 0xa231d5e6, r0, r1, 0); 3398TESTINST2("ssat r0, #12, r1, ASR #16", 0x10e1968a, r0, r1, 0); 3399TESTINST2("ssat r0, #12, r1, ASR #16", 0x0e089270, r0, r1, 0); 3400TESTINST2("ssat r0, #12, r1, ASR #16", 0x9e8e0185, r0, r1, 0); 3401TESTINST2("ssat r0, #12, r1, ASR #16", 0x3096f12e, r0, r1, 0); 3402TESTINST2("ssat r0, #12, r1, ASR #16", 0xffc134df, r0, r1, 0); 3403TESTINST2("ssat r0, #16, r1, LSL #12", 0x256bfdd6, r0, r1, 0); 3404TESTINST2("ssat r0, #16, r1, LSL #12", 0xc02a0c05, r0, r1, 0); 3405TESTINST2("ssat r0, #16, r1, LSL #12", 0xee2fa46e, r0, r1, 0); 3406TESTINST2("ssat r0, #16, r1, LSL #12", 0x97a7da20, r0, r1, 0); 3407TESTINST2("ssat r0, #16, r1, LSL #12", 0xa231d5e6, r0, r1, 0); 3408TESTINST2("ssat r0, #16, r1, LSL #12", 0x10e1968a, r0, r1, 0); 3409TESTINST2("ssat r0, #16, r1, LSL #12", 0x0e089270, r0, r1, 0); 3410TESTINST2("ssat r0, #16, r1, LSL #12", 0x9e8e0185, r0, r1, 0); 3411TESTINST2("ssat r0, #16, r1, LSL #12", 0x3096f12e, r0, r1, 0); 3412TESTINST2("ssat r0, #16, r1, LSL #12", 0xffc134df, r0, r1, 0); 3413TESTINST2("ssat r0, #18, r1, LSL #8", 0x256bfdd6, r0, r1, 0); 3414TESTINST2("ssat r0, #18, r1, LSL #8", 0xc02a0c05, r0, r1, 0); 3415TESTINST2("ssat r0, #18, r1, LSL #8", 0xee2fa46e, r0, r1, 0); 3416TESTINST2("ssat r0, #18, r1, LSL #8", 0x97a7da20, r0, r1, 0); 3417TESTINST2("ssat r0, #18, r1, LSL #8", 0xa231d5e6, r0, r1, 0); 3418TESTINST2("ssat r0, #18, r1, LSL #8", 0x10e1968a, r0, r1, 0); 3419TESTINST2("ssat r0, #18, r1, LSL #8", 0x0e089270, r0, r1, 0); 3420TESTINST2("ssat r0, #18, r1, LSL #8", 0x9e8e0185, r0, r1, 0); 3421TESTINST2("ssat r0, #18, r1, LSL #8", 0x3096f12e, r0, r1, 0); 3422TESTINST2("ssat r0, #18, r1, LSL #8", 0xffc134df, r0, r1, 0); 3423TESTINST2("ssat r0, #24, r1, ASR #6", 0x256bfdd6, r0, r1, 0); 3424TESTINST2("ssat r0, #24, r1, ASR #6", 0xc02a0c05, r0, r1, 0); 3425TESTINST2("ssat r0, #24, r1, ASR #6", 0xee2fa46e, r0, r1, 0); 3426TESTINST2("ssat r0, #24, r1, ASR #6", 0x97a7da20, r0, r1, 0); 3427TESTINST2("ssat r0, #24, r1, ASR #6", 0xa231d5e6, r0, r1, 0); 3428TESTINST2("ssat r0, #24, r1, ASR #6", 0x10e1968a, r0, r1, 0); 3429TESTINST2("ssat r0, #24, r1, ASR #6", 0x0e089270, r0, r1, 0); 3430TESTINST2("ssat r0, #24, r1, ASR #6", 0x9e8e0185, r0, r1, 0); 3431TESTINST2("ssat r0, #24, r1, ASR #6", 0x3096f12e, r0, r1, 0); 3432TESTINST2("ssat r0, #24, r1, ASR #6", 0xffc134df, r0, r1, 0); 3433TESTINST2("ssat r0, #28, r1, ASR #3", 0x256bfdd6, r0, r1, 0); 3434TESTINST2("ssat r0, #28, r1, ASR #3", 0xc02a0c05, r0, r1, 0); 3435TESTINST2("ssat r0, #28, r1, ASR #3", 0xee2fa46e, r0, r1, 0); 3436TESTINST2("ssat r0, #28, r1, ASR #3", 0x97a7da20, r0, r1, 0); 3437TESTINST2("ssat r0, #28, r1, ASR #3", 0xa231d5e6, r0, r1, 0); 3438TESTINST2("ssat r0, #28, r1, ASR #3", 0x10e1968a, r0, r1, 0); 3439TESTINST2("ssat r0, #28, r1, ASR #3", 0x0e089270, r0, r1, 0); 3440TESTINST2("ssat r0, #28, r1, ASR #3", 0x9e8e0185, r0, r1, 0); 3441TESTINST2("ssat r0, #28, r1, ASR #3", 0x3096f12e, r0, r1, 0); 3442TESTINST2("ssat r0, #28, r1, ASR #3", 0xffc134df, r0, r1, 0); 3443TESTINST2("ssat r0, #31, r1, ASR #1", 0x256bfdd6, r0, r1, 0); 3444TESTINST2("ssat r0, #31, r1, ASR #1", 0xc02a0c05, r0, r1, 0); 3445TESTINST2("ssat r0, #31, r1, ASR #1", 0xee2fa46e, r0, r1, 0); 3446TESTINST2("ssat r0, #31, r1, ASR #1", 0x97a7da20, r0, r1, 0); 3447TESTINST2("ssat r0, #31, r1, ASR #1", 0xa231d5e6, r0, r1, 0); 3448TESTINST2("ssat r0, #31, r1, ASR #1", 0x10e1968a, r0, r1, 0); 3449TESTINST2("ssat r0, #31, r1, ASR #1", 0x0e089270, r0, r1, 0); 3450TESTINST2("ssat r0, #31, r1, ASR #1", 0x9e8e0185, r0, r1, 0); 3451TESTINST2("ssat r0, #31, r1, ASR #1", 0x3096f12e, r0, r1, 0); 3452TESTINST2("ssat r0, #31, r1, ASR #1", 0xffc134df, r0, r1, 0); 3453#ifndef __thumb__ 3454TESTINST2("ssat r0, #1, r1, ASR #32", 0x256bfdd6, r0, r1, 0); 3455TESTINST2("ssat r0, #1, r1, ASR #32", 0xc02a0c05, r0, r1, 0); 3456TESTINST2("ssat r0, #1, r1, ASR #32", 0xee2fa46e, r0, r1, 0); 3457TESTINST2("ssat r0, #1, r1, ASR #32", 0x97a7da20, r0, r1, 0); 3458TESTINST2("ssat r0, #1, r1, ASR #32", 0xa231d5e6, r0, r1, 0); 3459TESTINST2("ssat r0, #1, r1, ASR #32", 0x10e1968a, r0, r1, 0); 3460TESTINST2("ssat r0, #1, r1, ASR #32", 0x0e089270, r0, r1, 0); 3461TESTINST2("ssat r0, #1, r1, ASR #32", 0x9e8e0185, r0, r1, 0); 3462TESTINST2("ssat r0, #1, r1, ASR #32", 0x3096f12e, r0, r1, 0); 3463TESTINST2("ssat r0, #1, r1, ASR #32", 0xffc134df, r0, r1, 0); 3464TESTINST2("ssat r0, #32, r1, ASR #32", 0x256bfdd6, r0, r1, 0); 3465TESTINST2("ssat r0, #32, r1, ASR #32", 0xc02a0c05, r0, r1, 0); 3466TESTINST2("ssat r0, #32, r1, ASR #32", 0xee2fa46e, r0, r1, 0); 3467TESTINST2("ssat r0, #32, r1, ASR #32", 0x97a7da20, r0, r1, 0); 3468TESTINST2("ssat r0, #32, r1, ASR #32", 0xa231d5e6, r0, r1, 0); 3469TESTINST2("ssat r0, #32, r1, ASR #32", 0x10e1968a, r0, r1, 0); 3470TESTINST2("ssat r0, #32, r1, ASR #32", 0x0e089270, r0, r1, 0); 3471TESTINST2("ssat r0, #32, r1, ASR #32", 0x9e8e0185, r0, r1, 0); 3472TESTINST2("ssat r0, #32, r1, ASR #32", 0x3096f12e, r0, r1, 0); 3473TESTINST2("ssat r0, #32, r1, ASR #32", 0xffc134df, r0, r1, 0); 3474#endif 3475 3476 printf("----------------- SSAT16 sat_imm ----------------- \n"); 3477 TESTINST2("ssat16 r0, #1, r1", 0b00000000000000000000000000000001, r0, r1, 0); 3478 TESTINST2("ssat16 r0, #1, r1", 0b00000000000000000000000000000000, r0, r1, 0); 3479 TESTINST2("ssat16 r0, #1, r1", 0b00000000000000001111111111111111, r0, r1, 0); 3480 TESTINST2("ssat16 r0, #1, r1", 0b00000000000000001111111111111110, r0, r1, 0); 3481 TESTINST2("ssat16 r0, #4, r1", 0b00000000000000000000000000000100, r0, r1, 0); 3482 TESTINST2("ssat16 r0, #4, r1", 0b00000000000000000000000000000011, r0, r1, 0); 3483 TESTINST2("ssat16 r0, #4, r1", 0b00000000000000001111111111111000, r0, r1, 0); 3484 TESTINST2("ssat16 r0, #4, r1", 0b00000000000000001111111111110111, r0, r1, 0); 3485TESTINST2("ssat16 r0, #4, r1", 0b00000000000001000000000000000000, r0, r1, 0); 3486TESTINST2("ssat16 r0, #4, r1", 0b00000000000000110000000000000000, r0, r1, 0); 3487TESTINST2("ssat16 r0, #4, r1", 0b11111111111110000000000000000000, r0, r1, 0); 3488TESTINST2("ssat16 r0, #4, r1", 0b11111111111101110000000000000000, r0, r1, 0); 3489TESTINST2("ssat16 r0, #4, r1", 0b11111111111101111111111111110111, r0, r1, 0); 3490TESTINST2("ssat16 r0, #15, r1", 0b00000000000000000111111111111111, r0, r1, 0); 3491TESTINST2("ssat16 r0, #16, r1", 0x0123abcd, r0, r1, 0); 3492TESTINST2("ssat16 r0, #1, r1", 0xffcdabcd, r0, r1, 0); 3493TESTINST2("ssat16 r0, #5, r1", 0x0123feff, r0, r1, 0); 3494TESTINST2("ssat16 r0, #8, r1", 0x0123abcd, r0, r1, 0); 3495TESTINST2("ssat16 r0, #11, r1", 0x11110000, r0, r1, 0); 3496TESTINST2("ssat16 r0, #13, r1", 0x1111f111, r0, r1, 0); 3497TESTINST2("ssat16 r0, #15, r1", 0x00001111, r0, r1, 0); 3498TESTINST2("ssat16 r0, #16, r1", 0xebbff82b, r0, r1, 0); 3499TESTINST2("ssat16 r0, #1, r1", 0xebbff82b, r0, r1, 0); 3500TESTINST2("ssat16 r0, #3, r1", 0x50c28082, r0, r1, 0); 3501TESTINST2("ssat16 r0, #5, r1", 0x17962e8f, r0, r1, 0); 3502TESTINST2("ssat16 r0, #8, r1", 0xc57243b7, r0, r1, 0); 3503TESTINST2("ssat16 r0, #10, r1", 0xf20fb90f, r0, r1, 0); 3504TESTINST2("ssat16 r0, #11, r1", 0xbb151055, r0, r1, 0); 3505TESTINST2("ssat16 r0, #13, r1", 0x957440d2, r0, r1, 0); 3506TESTINST2("ssat16 r0, #14, r1", 0x728b7771, r0, r1, 0); 3507TESTINST2("ssat16 r0, #15, r1", 0xf13c20f3, r0, r1, 0); 3508TESTINST2("ssat16 r0, #16, r1", 0x86398371, r0, r1, 0); 3509TESTINST2("ssat16 r0, #1, r1", 0x03d0fb78, r0, r1, 0); 3510TESTINST2("ssat16 r0, #3, r1", 0xd0d49b7c, r0, r1, 0); 3511TESTINST2("ssat16 r0, #5, r1", 0x76354a58, r0, r1, 0); 3512TESTINST2("ssat16 r0, #8, r1", 0x9fa45fb7, r0, r1, 0); 3513TESTINST2("ssat16 r0, #10, r1", 0x7572bdec, r0, r1, 0); 3514TESTINST2("ssat16 r0, #11, r1", 0xfea59eb6, r0, r1, 0); 3515TESTINST2("ssat16 r0, #13, r1", 0xf2669090, r0, r1, 0); 3516TESTINST2("ssat16 r0, #14, r1", 0xbc1ff573, r0, r1, 0); 3517TESTINST2("ssat16 r0, #15, r1", 0x7eb226ac, r0, r1, 0); 3518TESTINST2("ssat16 r0, #16, r1", 0x22b65db1, r0, r1, 0); 3519TESTINST2("ssat16 r0, #1, r1", 0x776c41c7, r0, r1, 0); 3520TESTINST2("ssat16 r0, #3, r1", 0xe50dd77c, r0, r1, 0); 3521TESTINST2("ssat16 r0, #5, r1", 0xd6f9a698, r0, r1, 0); 3522TESTINST2("ssat16 r0, #8, r1", 0xeda5110c, r0, r1, 0); 3523TESTINST2("ssat16 r0, #10, r1", 0x0be36f70, r0, r1, 0); 3524TESTINST2("ssat16 r0, #11, r1", 0xd759eb72, r0, r1, 0); 3525TESTINST2("ssat16 r0, #13, r1", 0xd9c4b1f4, r0, r1, 0); 3526TESTINST2("ssat16 r0, #14, r1", 0xa29eb320, r0, r1, 0); 3527TESTINST2("ssat16 r0, #15, r1", 0xcf1e4487, r0, r1, 0); 3528TESTINST2("ssat16 r0, #16, r1", 0x2eb68500, r0, r1, 0); 3529TESTINST2("ssat16 r0, #1, r1", 0xcdb7ed11, r0, r1, 0); 3530TESTINST2("ssat16 r0, #3, r1", 0x2eaea305, r0, r1, 0); 3531TESTINST2("ssat16 r0, #5, r1", 0x6ebd04d9, r0, r1, 0); 3532TESTINST2("ssat16 r0, #8, r1", 0xa5ec1aa8, r0, r1, 0); 3533TESTINST2("ssat16 r0, #10, r1", 0x72f33509, r0, r1, 0); 3534TESTINST2("ssat16 r0, #11, r1", 0xa3e6f759, r0, r1, 0); 3535TESTINST2("ssat16 r0, #13, r1", 0xfaceab39, r0, r1, 0); 3536TESTINST2("ssat16 r0, #14, r1", 0x2738f0ff, r0, r1, 0); 3537TESTINST2("ssat16 r0, #15, r1", 0xe79fd570, r0, r1, 0); 3538TESTINST2("ssat16 r0, #16, r1", 0x55ea3e4e, r0, r1, 0); 3539TESTINST2("ssat16 r0, #1, r1", 0x2b62ba5a, r0, r1, 0); 3540TESTINST2("ssat16 r0, #3, r1", 0x9b41bfb1, r0, r1, 0); 3541TESTINST2("ssat16 r0, #5, r1", 0x557c7ba2, r0, r1, 0); 3542TESTINST2("ssat16 r0, #8, r1", 0x2973c051, r0, r1, 0); 3543TESTINST2("ssat16 r0, #10, r1", 0x6a228b19, r0, r1, 0); 3544TESTINST2("ssat16 r0, #11, r1", 0x0cdafabe, r0, r1, 0); 3545TESTINST2("ssat16 r0, #13, r1", 0x50865114, r0, r1, 0); 3546TESTINST2("ssat16 r0, #14, r1", 0xd83b849b, r0, r1, 0); 3547TESTINST2("ssat16 r0, #15, r1", 0xca5e5605, r0, r1, 0); 3548 3549 printf("---------------- SADD8 ----------------- \n"); 3550 TESTINST3("sadd8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0); 3551 TESTINST3("sadd8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0); 3552 TESTINST3("sadd8 r0, r1, r2", 0x00fd00e8, 0xffff00f7, r0, r1, r2, 0); 3553 TESTINST3("sadd8 r0, r1, r2", 0xffff00f7, 0x00fd0018, r0, r1, r2, 0); 3554 TESTINST3("sadd8 r0, r1, r2", 0x0000fd18, 0xff00fff7, r0, r1, r2, 0); 3555 TESTINST3("sadd8 r0, r1, r2", 0xffff00f7, 0x00fd00e8, r0, r1, r2, 0); 3556 TESTINST3("sadd8 r0, r1, r2", 0x00fefd18, 0xff07fff7, r0, r1, r2, 0); 3557 TESTINST3("sadd8 r0, r1, r2", 0xff07fff7, 0x00fefde8, r0, r1, r2, 0); 3558TESTINST3("sadd8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3559TESTINST3("sadd8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3560TESTINST3("sadd8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3561TESTINST3("sadd8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3562TESTINST3("sadd8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3563TESTINST3("sadd8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3564TESTINST3("sadd8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3565TESTINST3("sadd8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3566TESTINST3("sadd8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3567TESTINST3("sadd8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3568TESTINST3("sadd8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3569TESTINST3("sadd8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3570TESTINST3("sadd8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3571TESTINST3("sadd8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3572TESTINST3("sadd8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3573TESTINST3("sadd8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3574TESTINST3("sadd8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3575TESTINST3("sadd8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3576TESTINST3("sadd8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3577TESTINST3("sadd8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3578TESTINST3("sadd8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3579TESTINST3("sadd8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3580TESTINST3("sadd8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3581TESTINST3("sadd8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3582TESTINST3("sadd8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3583TESTINST3("sadd8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3584TESTINST3("sadd8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3585TESTINST3("sadd8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3586TESTINST3("sadd8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3587TESTINST3("sadd8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3588TESTINST3("sadd8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3589TESTINST3("sadd8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3590TESTINST3("sadd8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3591TESTINST3("sadd8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3592TESTINST3("sadd8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3593TESTINST3("sadd8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3594TESTINST3("sadd8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3595TESTINST3("sadd8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3596TESTINST3("sadd8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3597TESTINST3("sadd8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3598TESTINST3("sadd8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3599TESTINST3("sadd8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3600TESTINST3("sadd8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3601TESTINST3("sadd8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3602TESTINST3("sadd8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3603TESTINST3("sadd8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3604TESTINST3("sadd8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3605TESTINST3("sadd8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3606TESTINST3("sadd8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3607TESTINST3("sadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3608TESTINST3("sadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3609 3610 printf("---------------- SSUB8 ----------------- \n"); 3611 TESTINST3("ssub8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0); 3612 TESTINST3("ssub8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0); 3613 TESTINST3("ssub8 r0, r1, r2", 0x00fd00e8, 0xffff00f7, r0, r1, r2, 0); 3614 TESTINST3("ssub8 r0, r1, r2", 0xffff00f7, 0x00fd0018, r0, r1, r2, 0); 3615 TESTINST3("ssub8 r0, r1, r2", 0x0000fd18, 0xff00fff7, r0, r1, r2, 0); 3616 TESTINST3("ssub8 r0, r1, r2", 0xffff00f7, 0x00fd00e8, r0, r1, r2, 0); 3617 TESTINST3("ssub8 r0, r1, r2", 0x00fefd18, 0xff07fff7, r0, r1, r2, 0); 3618 TESTINST3("ssub8 r0, r1, r2", 0xff07fff7, 0x00fefde8, r0, r1, r2, 0); 3619TESTINST3("ssub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 3620TESTINST3("ssub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 3621TESTINST3("ssub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 3622TESTINST3("ssub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 3623TESTINST3("ssub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 3624TESTINST3("ssub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 3625TESTINST3("ssub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 3626TESTINST3("ssub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 3627TESTINST3("ssub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 3628TESTINST3("ssub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 3629TESTINST3("ssub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 3630TESTINST3("ssub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 3631TESTINST3("ssub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 3632TESTINST3("ssub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 3633TESTINST3("ssub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 3634TESTINST3("ssub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 3635TESTINST3("ssub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 3636TESTINST3("ssub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 3637TESTINST3("ssub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 3638TESTINST3("ssub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 3639TESTINST3("ssub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 3640TESTINST3("ssub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 3641TESTINST3("ssub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 3642TESTINST3("ssub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 3643TESTINST3("ssub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 3644TESTINST3("ssub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 3645TESTINST3("ssub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 3646TESTINST3("ssub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 3647TESTINST3("ssub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 3648TESTINST3("ssub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 3649TESTINST3("ssub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 3650TESTINST3("ssub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 3651TESTINST3("ssub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 3652TESTINST3("ssub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 3653TESTINST3("ssub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 3654TESTINST3("ssub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 3655TESTINST3("ssub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 3656TESTINST3("ssub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 3657TESTINST3("ssub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 3658TESTINST3("ssub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 3659TESTINST3("ssub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 3660TESTINST3("ssub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3661TESTINST3("ssub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3662TESTINST3("ssub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3663TESTINST3("ssub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3664TESTINST3("ssub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3665TESTINST3("ssub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3666TESTINST3("ssub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3667TESTINST3("ssub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3668TESTINST3("ssub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3669TESTINST3("ssub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3670 3671 printf("------------ SXTAB ------------\n"); 3672 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3673 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3674 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3675 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3676 3677 TESTINST3("sxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3678 TESTINST3("sxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3679 TESTINST3("sxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3680 TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3681 3682TESTINST3("sxtab r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3683TESTINST3("sxtab r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3684TESTINST3("sxtab r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3685TESTINST3("sxtab r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3686TESTINST3("sxtab r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3687TESTINST3("sxtab r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3688TESTINST3("sxtab r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3689TESTINST3("sxtab r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3690TESTINST3("sxtab r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3691TESTINST3("sxtab r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3692 3693TESTINST3("sxtab r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3694TESTINST3("sxtab r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3695TESTINST3("sxtab r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3696TESTINST3("sxtab r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3697TESTINST3("sxtab r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3698TESTINST3("sxtab r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3699TESTINST3("sxtab r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3700TESTINST3("sxtab r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3701TESTINST3("sxtab r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3702TESTINST3("sxtab r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3703 3704TESTINST3("sxtab r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3705TESTINST3("sxtab r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3706TESTINST3("sxtab r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3707TESTINST3("sxtab r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3708TESTINST3("sxtab r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3709TESTINST3("sxtab r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3710TESTINST3("sxtab r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3711TESTINST3("sxtab r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3712TESTINST3("sxtab r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3713TESTINST3("sxtab r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3714 3715TESTINST3("sxtab r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3716TESTINST3("sxtab r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3717TESTINST3("sxtab r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3718TESTINST3("sxtab r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3719TESTINST3("sxtab r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3720TESTINST3("sxtab r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3721TESTINST3("sxtab r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3722TESTINST3("sxtab r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3723TESTINST3("sxtab r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3724TESTINST3("sxtab r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3725 3726 printf("------------ UXTAB ------------\n"); 3727 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3728 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3729 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3730 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3731 3732 TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3733 TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3734 TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3735 TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3736 3737TESTINST3("uxtab r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3738TESTINST3("uxtab r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3739TESTINST3("uxtab r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3740TESTINST3("uxtab r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3741TESTINST3("uxtab r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3742TESTINST3("uxtab r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3743TESTINST3("uxtab r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3744TESTINST3("uxtab r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3745TESTINST3("uxtab r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3746TESTINST3("uxtab r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3747 3748TESTINST3("uxtab r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3749TESTINST3("uxtab r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3750TESTINST3("uxtab r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3751TESTINST3("uxtab r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3752TESTINST3("uxtab r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3753TESTINST3("uxtab r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3754TESTINST3("uxtab r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3755TESTINST3("uxtab r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3756TESTINST3("uxtab r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3757TESTINST3("uxtab r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3758 3759TESTINST3("uxtab r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3760TESTINST3("uxtab r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3761TESTINST3("uxtab r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3762TESTINST3("uxtab r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3763TESTINST3("uxtab r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3764TESTINST3("uxtab r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3765TESTINST3("uxtab r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3766TESTINST3("uxtab r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3767TESTINST3("uxtab r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3768TESTINST3("uxtab r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3769 3770TESTINST3("uxtab r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3771TESTINST3("uxtab r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3772TESTINST3("uxtab r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3773TESTINST3("uxtab r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3774TESTINST3("uxtab r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3775TESTINST3("uxtab r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3776TESTINST3("uxtab r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3777TESTINST3("uxtab r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3778TESTINST3("uxtab r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3779TESTINST3("uxtab r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3780 3781 printf("----------- UXTAB16 -----------\n"); 3782 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3783 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3784 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3785 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3786 3787 TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3788 TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3789 TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3790 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3791 TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x3141FFFF, 0x27182899, r0, r1, r2, 0); 3792 3793TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3794TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3795TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3796TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3797TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3798TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3799TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3800TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3801TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3802TESTINST3("uxtab16 r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3803 3804TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3805TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3806TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3807TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3808TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3809TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3810TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3811TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3812TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3813TESTINST3("uxtab16 r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3814 3815TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3816TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3817TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3818TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3819TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3820TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3821TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3822TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3823TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3824TESTINST3("uxtab16 r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3825 3826TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3827TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3828TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3829TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3830TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3831TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3832TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3833TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3834TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3835TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3836 3837 printf("----------- SXTAB16 -----------\n"); 3838 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3839 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3840 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0); 3841 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0); 3842 3843 TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0); 3844 TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0); 3845 TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0); 3846 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0); 3847 TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x3141FFFF, 0x27182899, r0, r1, r2, 0); 3848 3849TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3850TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3851TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3852TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3853TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3854TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3855TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3856TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3857TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3858TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3859 3860TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3861TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3862TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3863TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3864TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3865TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3866TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3867TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3868TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3869TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3870 3871TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3872TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3873TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3874TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3875TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3876TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3877TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3878TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3879TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3880TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3881 3882TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3883TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3884TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3885TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3886TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3887TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3888TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3889TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3890TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3891TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3892 3893 printf("------------ SXTAH ------------\n"); 3894 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3895 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3896 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3897 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3898 3899 TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0); 3900 TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0); 3901 TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3902 TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3903 3904TESTINST3("sxtah r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3905TESTINST3("sxtah r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3906TESTINST3("sxtah r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3907TESTINST3("sxtah r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3908TESTINST3("sxtah r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3909TESTINST3("sxtah r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3910TESTINST3("sxtah r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3911TESTINST3("sxtah r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3912TESTINST3("sxtah r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3913TESTINST3("sxtah r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3914 3915TESTINST3("sxtah r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3916TESTINST3("sxtah r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3917TESTINST3("sxtah r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3918TESTINST3("sxtah r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3919TESTINST3("sxtah r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3920TESTINST3("sxtah r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3921TESTINST3("sxtah r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3922TESTINST3("sxtah r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3923TESTINST3("sxtah r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3924TESTINST3("sxtah r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3925 3926TESTINST3("sxtah r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3927TESTINST3("sxtah r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3928TESTINST3("sxtah r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3929TESTINST3("sxtah r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3930TESTINST3("sxtah r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3931TESTINST3("sxtah r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3932TESTINST3("sxtah r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3933TESTINST3("sxtah r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3934TESTINST3("sxtah r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3935TESTINST3("sxtah r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3936 3937TESTINST3("sxtah r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3938TESTINST3("sxtah r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3939TESTINST3("sxtah r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3940TESTINST3("sxtah r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3941TESTINST3("sxtah r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3942TESTINST3("sxtah r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3943TESTINST3("sxtah r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3944TESTINST3("sxtah r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3945TESTINST3("sxtah r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3946TESTINST3("sxtah r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3947 3948 printf("------------ UXTAH ------------\n"); 3949 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0); 3950 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0); 3951 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3952 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819, r0, r1, r2, 0); 3953 3954 TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819, r0, r1, r2, 0); 3955 TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819, r0, r1, r2, 0); 3956 TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3957 TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819, r0, r1, r2, 0); 3958 3959TESTINST3("uxtah r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3960TESTINST3("uxtah r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3961TESTINST3("uxtah r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3962TESTINST3("uxtah r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3963TESTINST3("uxtah r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3964TESTINST3("uxtah r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3965TESTINST3("uxtah r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3966TESTINST3("uxtah r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3967TESTINST3("uxtah r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3968TESTINST3("uxtah r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3969 3970TESTINST3("uxtah r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3971TESTINST3("uxtah r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3972TESTINST3("uxtah r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3973TESTINST3("uxtah r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3974TESTINST3("uxtah r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3975TESTINST3("uxtah r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3976TESTINST3("uxtah r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3977TESTINST3("uxtah r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3978TESTINST3("uxtah r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3979TESTINST3("uxtah r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3980 3981TESTINST3("uxtah r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3982TESTINST3("uxtah r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3983TESTINST3("uxtah r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3984TESTINST3("uxtah r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3985TESTINST3("uxtah r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3986TESTINST3("uxtah r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3987TESTINST3("uxtah r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3988TESTINST3("uxtah r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 3989TESTINST3("uxtah r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 3990TESTINST3("uxtah r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 3991 3992TESTINST3("uxtah r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 3993TESTINST3("uxtah r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 3994TESTINST3("uxtah r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 3995TESTINST3("uxtah r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 3996TESTINST3("uxtah r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 3997TESTINST3("uxtah r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 3998TESTINST3("uxtah r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 3999TESTINST3("uxtah r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 4000TESTINST3("uxtah r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 4001TESTINST3("uxtah r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 4002 4003 printf("------------ SMLAWB ------------\n"); 4004 /* smlawb rD, rN, rM, rA */ 4005 TESTINST4("smlawb r0, r1, r2, r3", 4006 0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 4007 TESTINST4("smlawb r0, r1, r2, r3", 4008 0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 4009 TESTINST4("smlawb r0, r1, r2, r3", 4010 0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 4011 TESTINST4("smlawb r0, r1, r2, r3", 4012 0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 4013 TESTINST4("smlawb r0, r1, r2, r3", 4014 0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 4015 TESTINST4("smlawb r0, r1, r2, r3", 4016 0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 4017TESTINST4("smlawb r0, r1, r2, r3", 4018 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 4019TESTINST4("smlawb r0, r1, r2, r3", 4020 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 4021TESTINST4("smlawb r0, r1, r2, r3", 4022 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 4023TESTINST4("smlawb r0, r1, r2, r3", 4024 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 4025TESTINST4("smlawb r0, r1, r2, r3", 4026 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 4027TESTINST4("smlawb r0, r1, r2, r3", 4028 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 4029TESTINST4("smlawb r0, r1, r2, r3", 4030 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 4031TESTINST4("smlawb r0, r1, r2, r3", 4032 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 4033TESTINST4("smlawb r0, r1, r2, r3", 4034 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 4035TESTINST4("smlawb r0, r1, r2, r3", 4036 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 4037TESTINST4("smlawb r0, r1, r2, r3", 4038 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 4039TESTINST4("smlawb r0, r1, r2, r3", 4040 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 4041TESTINST4("smlawb r0, r1, r2, r3", 4042 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 4043TESTINST4("smlawb r0, r1, r2, r3", 4044 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 4045TESTINST4("smlawb r0, r1, r2, r3", 4046 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 4047TESTINST4("smlawb r0, r1, r2, r3", 4048 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 4049TESTINST4("smlawb r0, r1, r2, r3", 4050 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 4051TESTINST4("smlawb r0, r1, r2, r3", 4052 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 4053TESTINST4("smlawb r0, r1, r2, r3", 4054 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 4055TESTINST4("smlawb r0, r1, r2, r3", 4056 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 4057TESTINST4("smlawb r0, r1, r2, r3", 4058 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 4059TESTINST4("smlawb r0, r1, r2, r3", 4060 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 4061TESTINST4("smlawb r0, r1, r2, r3", 4062 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 4063TESTINST4("smlawb r0, r1, r2, r3", 4064 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 4065TESTINST4("smlawb r0, r1, r2, r3", 4066 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 4067TESTINST4("smlawb r0, r1, r2, r3", 4068 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 4069TESTINST4("smlawb r0, r1, r2, r3", 4070 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 4071TESTINST4("smlawb r0, r1, r2, r3", 4072 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 4073TESTINST4("smlawb r0, r1, r2, r3", 4074 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 4075TESTINST4("smlawb r0, r1, r2, r3", 4076 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 4077TESTINST4("smlawb r0, r1, r2, r3", 4078 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 4079TESTINST4("smlawb r0, r1, r2, r3", 4080 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 4081TESTINST4("smlawb r0, r1, r2, r3", 4082 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 4083TESTINST4("smlawb r0, r1, r2, r3", 4084 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 4085TESTINST4("smlawb r0, r1, r2, r3", 4086 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 4087TESTINST4("smlawb r0, r1, r2, r3", 4088 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 4089TESTINST4("smlawb r0, r1, r2, r3", 4090 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 4091TESTINST4("smlawb r0, r1, r2, r3", 4092 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 4093TESTINST4("smlawb r0, r1, r2, r3", 4094 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 4095TESTINST4("smlawb r0, r1, r2, r3", 4096 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 4097TESTINST4("smlawb r0, r1, r2, r3", 4098 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 4099TESTINST4("smlawb r0, r1, r2, r3", 4100 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 4101TESTINST4("smlawb r0, r1, r2, r3", 4102 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 4103TESTINST4("smlawb r0, r1, r2, r3", 4104 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 4105TESTINST4("smlawb r0, r1, r2, r3", 4106 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 4107TESTINST4("smlawb r0, r1, r2, r3", 4108 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 4109TESTINST4("smlawb r0, r1, r2, r3", 4110 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 4111TESTINST4("smlawb r0, r1, r2, r3", 4112 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 4113TESTINST4("smlawb r0, r1, r2, r3", 4114 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 4115TESTINST4("smlawb r0, r1, r2, r3", 4116 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 4117TESTINST4("smlawb r0, r1, r2, r3", 4118 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 4119 4120 printf("------------ SMLAWT ------------\n"); 4121 /* smlawt rD, rN, rM, rA */ 4122 TESTINST4("smlawt r0, r1, r2, r3", 4123 0x00030000, 0x00040000, 0x00000000, r0,r1,r2,r3, 0); 4124 TESTINST4("smlawt r0, r1, r2, r3", 4125 0x00030001, 0x00040002, 0x00007fff, r0,r1,r2,r3, 0); 4126 TESTINST4("smlawt r0, r1, r2, r3", 4127 0x00038001, 0x00047fff, 0x00005fff, r0,r1,r2,r3, 0); 4128 TESTINST4("smlawt r0, r1, r2, r3", 4129 0x00037fff, 0x00047fff, 0x00007fff, r0,r1,r2,r3, 0); 4130 TESTINST4("smlawt r0, r1, r2, r3", 4131 0x0003ffff, 0x0004ffff, 0x7fff7fff, r0,r1,r2,r3, 0); 4132 TESTINST4("smlawt r0, r1, r2, r3", 4133 0x0003fffc, 0x0004ffff, 0xffffffff, r0,r1,r2,r3, 0); 4134TESTINST4("smlawt r0, r1, r2, r3", 4135 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 4136TESTINST4("smlawt r0, r1, r2, r3", 4137 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 4138TESTINST4("smlawt r0, r1, r2, r3", 4139 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 4140TESTINST4("smlawt r0, r1, r2, r3", 4141 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 4142TESTINST4("smlawt r0, r1, r2, r3", 4143 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 4144TESTINST4("smlawt r0, r1, r2, r3", 4145 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 4146TESTINST4("smlawt r0, r1, r2, r3", 4147 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 4148TESTINST4("smlawt r0, r1, r2, r3", 4149 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 4150TESTINST4("smlawt r0, r1, r2, r3", 4151 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 4152TESTINST4("smlawt r0, r1, r2, r3", 4153 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 4154TESTINST4("smlawt r0, r1, r2, r3", 4155 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 4156TESTINST4("smlawt r0, r1, r2, r3", 4157 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 4158TESTINST4("smlawt r0, r1, r2, r3", 4159 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 4160TESTINST4("smlawt r0, r1, r2, r3", 4161 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 4162TESTINST4("smlawt r0, r1, r2, r3", 4163 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 4164TESTINST4("smlawt r0, r1, r2, r3", 4165 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 4166TESTINST4("smlawt r0, r1, r2, r3", 4167 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 4168TESTINST4("smlawt r0, r1, r2, r3", 4169 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 4170TESTINST4("smlawt r0, r1, r2, r3", 4171 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 4172TESTINST4("smlawt r0, r1, r2, r3", 4173 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 4174TESTINST4("smlawt r0, r1, r2, r3", 4175 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 4176TESTINST4("smlawt r0, r1, r2, r3", 4177 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 4178TESTINST4("smlawt r0, r1, r2, r3", 4179 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 4180TESTINST4("smlawt r0, r1, r2, r3", 4181 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 4182TESTINST4("smlawt r0, r1, r2, r3", 4183 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 4184TESTINST4("smlawt r0, r1, r2, r3", 4185 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 4186TESTINST4("smlawt r0, r1, r2, r3", 4187 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 4188TESTINST4("smlawt r0, r1, r2, r3", 4189 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 4190TESTINST4("smlawt r0, r1, r2, r3", 4191 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 4192TESTINST4("smlawt r0, r1, r2, r3", 4193 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 4194TESTINST4("smlawt r0, r1, r2, r3", 4195 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 4196TESTINST4("smlawt r0, r1, r2, r3", 4197 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 4198TESTINST4("smlawt r0, r1, r2, r3", 4199 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 4200TESTINST4("smlawt r0, r1, r2, r3", 4201 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 4202TESTINST4("smlawt r0, r1, r2, r3", 4203 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 4204TESTINST4("smlawt r0, r1, r2, r3", 4205 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 4206TESTINST4("smlawt r0, r1, r2, r3", 4207 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 4208TESTINST4("smlawt r0, r1, r2, r3", 4209 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 4210TESTINST4("smlawt r0, r1, r2, r3", 4211 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 4212TESTINST4("smlawt r0, r1, r2, r3", 4213 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 4214TESTINST4("smlawt r0, r1, r2, r3", 4215 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 4216TESTINST4("smlawt r0, r1, r2, r3", 4217 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 4218TESTINST4("smlawt r0, r1, r2, r3", 4219 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 4220TESTINST4("smlawt r0, r1, r2, r3", 4221 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 4222TESTINST4("smlawt r0, r1, r2, r3", 4223 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 4224TESTINST4("smlawt r0, r1, r2, r3", 4225 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 4226TESTINST4("smlawt r0, r1, r2, r3", 4227 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 4228TESTINST4("smlawt r0, r1, r2, r3", 4229 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 4230TESTINST4("smlawt r0, r1, r2, r3", 4231 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 4232TESTINST4("smlawt r0, r1, r2, r3", 4233 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 4234TESTINST4("smlawt r0, r1, r2, r3", 4235 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 4236 4237 4238 printf("----------------- SMLSD ----------------- \n"); 4239 TESTINST4("smlsd r0, r1, r2, r3", 4240 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 4241 TESTINST4("smlsd r0, r1, r2, r3", 4242 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 4243 TESTINST4("smlsd r0, r1, r2, r3", 4244 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 4245 TESTINST4("smlsd r0, r1, r2, r3", 4246 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 4247 TESTINST4("smlsd r0, r1, r2, r3", 4248 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 4249 TESTINST4("smlsd r0, r1, r2, r3", 4250 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 4251 TESTINST4("smlsd r0, r1, r2, r3", 4252 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 4253TESTINST4("smlsd r0, r1, r2, r3", 4254 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 4255TESTINST4("smlsd r0, r1, r2, r3", 4256 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 4257TESTINST4("smlsd r0, r1, r2, r3", 4258 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 4259TESTINST4("smlsd r0, r1, r2, r3", 4260 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 4261TESTINST4("smlsd r0, r1, r2, r3", 4262 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 4263TESTINST4("smlsd r0, r1, r2, r3", 4264 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 4265TESTINST4("smlsd r0, r1, r2, r3", 4266 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 4267TESTINST4("smlsd r0, r1, r2, r3", 4268 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 4269TESTINST4("smlsd r0, r1, r2, r3", 4270 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 4271TESTINST4("smlsd r0, r1, r2, r3", 4272 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 4273TESTINST4("smlsd r0, r1, r2, r3", 4274 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 4275TESTINST4("smlsd r0, r1, r2, r3", 4276 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 4277TESTINST4("smlsd r0, r1, r2, r3", 4278 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 4279TESTINST4("smlsd r0, r1, r2, r3", 4280 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 4281TESTINST4("smlsd r0, r1, r2, r3", 4282 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 4283TESTINST4("smlsd r0, r1, r2, r3", 4284 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 4285TESTINST4("smlsd r0, r1, r2, r3", 4286 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 4287TESTINST4("smlsd r0, r1, r2, r3", 4288 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 4289TESTINST4("smlsd r0, r1, r2, r3", 4290 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 4291TESTINST4("smlsd r0, r1, r2, r3", 4292 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 4293TESTINST4("smlsd r0, r1, r2, r3", 4294 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 4295TESTINST4("smlsd r0, r1, r2, r3", 4296 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 4297TESTINST4("smlsd r0, r1, r2, r3", 4298 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 4299TESTINST4("smlsd r0, r1, r2, r3", 4300 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 4301TESTINST4("smlsd r0, r1, r2, r3", 4302 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 4303TESTINST4("smlsd r0, r1, r2, r3", 4304 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 4305TESTINST4("smlsd r0, r1, r2, r3", 4306 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 4307TESTINST4("smlsd r0, r1, r2, r3", 4308 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 4309TESTINST4("smlsd r0, r1, r2, r3", 4310 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 4311TESTINST4("smlsd r0, r1, r2, r3", 4312 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 4313TESTINST4("smlsd r0, r1, r2, r3", 4314 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 4315TESTINST4("smlsd r0, r1, r2, r3", 4316 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 4317TESTINST4("smlsd r0, r1, r2, r3", 4318 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 4319TESTINST4("smlsd r0, r1, r2, r3", 4320 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 4321TESTINST4("smlsd r0, r1, r2, r3", 4322 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 4323TESTINST4("smlsd r0, r1, r2, r3", 4324 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 4325TESTINST4("smlsd r0, r1, r2, r3", 4326 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 4327TESTINST4("smlsd r0, r1, r2, r3", 4328 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 4329TESTINST4("smlsd r0, r1, r2, r3", 4330 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 4331TESTINST4("smlsd r0, r1, r2, r3", 4332 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 4333TESTINST4("smlsd r0, r1, r2, r3", 4334 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 4335TESTINST4("smlsd r0, r1, r2, r3", 4336 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 4337TESTINST4("smlsd r0, r1, r2, r3", 4338 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 4339TESTINST4("smlsd r0, r1, r2, r3", 4340 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 4341TESTINST4("smlsd r0, r1, r2, r3", 4342 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 4343TESTINST4("smlsd r0, r1, r2, r3", 4344 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 4345TESTINST4("smlsd r0, r1, r2, r3", 4346 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 4347TESTINST4("smlsd r0, r1, r2, r3", 4348 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 4349TESTINST4("smlsd r0, r1, r2, r3", 4350 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 4351TESTINST4("smlsd r0, r1, r2, r3", 4352 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 4353TESTINST4("smlsd r0, r1, r2, r3", 4354 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 4355 4356 printf("----------------- SMLSDX ----------------- \n"); 4357 TESTINST4("smlsdx r0, r1, r2, r3", 4358 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 4359 TESTINST4("smlsdx r0, r1, r2, r3", 4360 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 4361 TESTINST4("smlsdx r0, r1, r2, r3", 4362 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 4363 TESTINST4("smlsdx r0, r1, r2, r3", 4364 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 4365 TESTINST4("smlsdx r0, r1, r2, r3", 4366 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 4367 TESTINST4("smlsdx r0, r1, r2, r3", 4368 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 4369 TESTINST4("smlsdx r0, r1, r2, r3", 4370 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 4371TESTINST4("smlsdx r0, r1, r2, r3", 4372 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 4373TESTINST4("smlsdx r0, r1, r2, r3", 4374 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 4375TESTINST4("smlsdx r0, r1, r2, r3", 4376 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 4377 4378 4379 printf("----------------- SMUSD ----------------- \n"); 4380 TESTINST3("smusd r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 4381 TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 4382 TESTINST3("smusd r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 4383 TESTINST3("smusd r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 4384 TESTINST3("smusd r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 4385 TESTINST3("smusd r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 4386 TESTINST3("smusd r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 4387TESTINST3("smusd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4388TESTINST3("smusd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4389TESTINST3("smusd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4390TESTINST3("smusd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4391TESTINST3("smusd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4392TESTINST3("smusd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4393TESTINST3("smusd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4394TESTINST3("smusd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4395TESTINST3("smusd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4396TESTINST3("smusd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4397TESTINST3("smusd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4398TESTINST3("smusd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4399TESTINST3("smusd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4400TESTINST3("smusd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4401TESTINST3("smusd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4402TESTINST3("smusd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4403TESTINST3("smusd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4404TESTINST3("smusd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4405TESTINST3("smusd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4406TESTINST3("smusd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4407TESTINST3("smusd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4408TESTINST3("smusd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4409TESTINST3("smusd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4410TESTINST3("smusd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4411TESTINST3("smusd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4412TESTINST3("smusd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4413TESTINST3("smusd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4414TESTINST3("smusd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4415TESTINST3("smusd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4416TESTINST3("smusd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4417TESTINST3("smusd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4418TESTINST3("smusd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4419TESTINST3("smusd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4420TESTINST3("smusd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4421TESTINST3("smusd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4422TESTINST3("smusd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4423TESTINST3("smusd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4424TESTINST3("smusd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4425TESTINST3("smusd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4426TESTINST3("smusd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4427TESTINST3("smusd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4428TESTINST3("smusd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4429TESTINST3("smusd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4430TESTINST3("smusd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4431TESTINST3("smusd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4432TESTINST3("smusd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4433TESTINST3("smusd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4434TESTINST3("smusd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4435TESTINST3("smusd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4436TESTINST3("smusd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4437 printf("----------------- SMUSDX ---------------- \n"); 4438 TESTINST3("smusdx r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 4439 TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 4440 TESTINST3("smusdx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 4441 TESTINST3("smusdx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 4442 TESTINST3("smusdx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 4443 TESTINST3("smusdx r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 4444 TESTINST3("smusdx r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 4445TESTINST3("smusdx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4446TESTINST3("smusdx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4447TESTINST3("smusdx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4448TESTINST3("smusdx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4449TESTINST3("smusdx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4450TESTINST3("smusdx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4451TESTINST3("smusdx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4452TESTINST3("smusdx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4453TESTINST3("smusdx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4454TESTINST3("smusdx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4455TESTINST3("smusdx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4456TESTINST3("smusdx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4457TESTINST3("smusdx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4458TESTINST3("smusdx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4459TESTINST3("smusdx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4460TESTINST3("smusdx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4461TESTINST3("smusdx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4462TESTINST3("smusdx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4463TESTINST3("smusdx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4464TESTINST3("smusdx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4465TESTINST3("smusdx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4466TESTINST3("smusdx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4467TESTINST3("smusdx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4468TESTINST3("smusdx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4469TESTINST3("smusdx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4470TESTINST3("smusdx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4471TESTINST3("smusdx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4472TESTINST3("smusdx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4473TESTINST3("smusdx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4474TESTINST3("smusdx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4475TESTINST3("smusdx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4476TESTINST3("smusdx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4477TESTINST3("smusdx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4478TESTINST3("smusdx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4479TESTINST3("smusdx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4480TESTINST3("smusdx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4481TESTINST3("smusdx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4482TESTINST3("smusdx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4483TESTINST3("smusdx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4484TESTINST3("smusdx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4485TESTINST3("smusdx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4486TESTINST3("smusdx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4487TESTINST3("smusdx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4488TESTINST3("smusdx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4489TESTINST3("smusdx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4490TESTINST3("smusdx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4491TESTINST3("smusdx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4492TESTINST3("smusdx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4493TESTINST3("smusdx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4494TESTINST3("smusdx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4495 4496 printf("----------------- USAD8 ---------------- \n"); 4497 TESTINST3("usad8 r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0); 4498 TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 4499 TESTINST3("usad8 r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0); 4500 TESTINST3("usad8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 4501 TESTINST3("usad8 r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0); 4502 TESTINST3("usad8 r0, r1, r2", 0xffffffff, 0xfffc0001, r0, r1, r2, 0); 4503 TESTINST3("usad8 r0, r1, r2", 0xfff70fff, 0x00030003, r0, r1, r2, 0); 4504TESTINST3("usad8 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4505TESTINST3("usad8 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4506TESTINST3("usad8 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4507TESTINST3("usad8 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4508TESTINST3("usad8 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4509TESTINST3("usad8 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4510TESTINST3("usad8 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4511TESTINST3("usad8 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4512TESTINST3("usad8 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4513TESTINST3("usad8 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4514TESTINST3("usad8 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4515TESTINST3("usad8 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4516TESTINST3("usad8 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4517TESTINST3("usad8 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4518TESTINST3("usad8 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4519TESTINST3("usad8 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4520TESTINST3("usad8 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4521TESTINST3("usad8 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4522TESTINST3("usad8 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4523TESTINST3("usad8 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4524TESTINST3("usad8 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4525TESTINST3("usad8 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4526TESTINST3("usad8 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4527TESTINST3("usad8 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4528TESTINST3("usad8 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4529TESTINST3("usad8 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4530TESTINST3("usad8 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4531TESTINST3("usad8 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4532TESTINST3("usad8 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4533TESTINST3("usad8 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4534TESTINST3("usad8 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4535TESTINST3("usad8 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4536TESTINST3("usad8 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4537TESTINST3("usad8 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4538TESTINST3("usad8 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4539TESTINST3("usad8 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4540TESTINST3("usad8 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4541TESTINST3("usad8 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4542TESTINST3("usad8 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4543TESTINST3("usad8 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4544TESTINST3("usad8 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4545TESTINST3("usad8 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4546TESTINST3("usad8 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4547TESTINST3("usad8 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4548TESTINST3("usad8 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4549TESTINST3("usad8 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4550TESTINST3("usad8 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4551TESTINST3("usad8 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4552TESTINST3("usad8 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4553TESTINST3("usad8 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4554 4555 printf("----------------- USADA8 ----------------- \n"); 4556 TESTINST4("usada8 r0, r1, r2, r3", 4557 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 4558 TESTINST4("usada8 r0, r1, r2, r3", 4559 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 4560 TESTINST4("usada8 r0, r1, r2, r3", 4561 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 4562 TESTINST4("usada8 r0, r1, r2, r3", 4563 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 4564 TESTINST4("usada8 r0, r1, r2, r3", 4565 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 4566 TESTINST4("usada8 r0, r1, r2, r3", 4567 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 4568 TESTINST4("usada8 r0, r1, r2, r3", 4569 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 4570TESTINST4("usada8 r0, r1, r2, r3", 4571 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 4572TESTINST4("usada8 r0, r1, r2, r3", 4573 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 4574TESTINST4("usada8 r0, r1, r2, r3", 4575 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 4576TESTINST4("usada8 r0, r1, r2, r3", 4577 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 4578TESTINST4("usada8 r0, r1, r2, r3", 4579 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 4580TESTINST4("usada8 r0, r1, r2, r3", 4581 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 4582TESTINST4("usada8 r0, r1, r2, r3", 4583 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 4584TESTINST4("usada8 r0, r1, r2, r3", 4585 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 4586TESTINST4("usada8 r0, r1, r2, r3", 4587 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 4588TESTINST4("usada8 r0, r1, r2, r3", 4589 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 4590TESTINST4("usada8 r0, r1, r2, r3", 4591 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 4592TESTINST4("usada8 r0, r1, r2, r3", 4593 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 4594TESTINST4("usada8 r0, r1, r2, r3", 4595 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 4596TESTINST4("usada8 r0, r1, r2, r3", 4597 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 4598TESTINST4("usada8 r0, r1, r2, r3", 4599 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 4600TESTINST4("usada8 r0, r1, r2, r3", 4601 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 4602TESTINST4("usada8 r0, r1, r2, r3", 4603 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 4604TESTINST4("usada8 r0, r1, r2, r3", 4605 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 4606TESTINST4("usada8 r0, r1, r2, r3", 4607 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 4608TESTINST4("usada8 r0, r1, r2, r3", 4609 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 4610TESTINST4("usada8 r0, r1, r2, r3", 4611 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 4612TESTINST4("usada8 r0, r1, r2, r3", 4613 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 4614TESTINST4("usada8 r0, r1, r2, r3", 4615 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 4616TESTINST4("usada8 r0, r1, r2, r3", 4617 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 4618TESTINST4("usada8 r0, r1, r2, r3", 4619 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 4620TESTINST4("usada8 r0, r1, r2, r3", 4621 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 4622TESTINST4("usada8 r0, r1, r2, r3", 4623 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 4624TESTINST4("usada8 r0, r1, r2, r3", 4625 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 4626TESTINST4("usada8 r0, r1, r2, r3", 4627 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 4628TESTINST4("usada8 r0, r1, r2, r3", 4629 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 4630TESTINST4("usada8 r0, r1, r2, r3", 4631 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 4632TESTINST4("usada8 r0, r1, r2, r3", 4633 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 4634TESTINST4("usada8 r0, r1, r2, r3", 4635 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 4636TESTINST4("usada8 r0, r1, r2, r3", 4637 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 4638TESTINST4("usada8 r0, r1, r2, r3", 4639 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 4640TESTINST4("usada8 r0, r1, r2, r3", 4641 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 4642TESTINST4("usada8 r0, r1, r2, r3", 4643 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 4644TESTINST4("usada8 r0, r1, r2, r3", 4645 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 4646TESTINST4("usada8 r0, r1, r2, r3", 4647 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 4648TESTINST4("usada8 r0, r1, r2, r3", 4649 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 4650TESTINST4("usada8 r0, r1, r2, r3", 4651 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 4652TESTINST4("usada8 r0, r1, r2, r3", 4653 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 4654TESTINST4("usada8 r0, r1, r2, r3", 4655 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 4656TESTINST4("usada8 r0, r1, r2, r3", 4657 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 4658TESTINST4("usada8 r0, r1, r2, r3", 4659 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 4660TESTINST4("usada8 r0, r1, r2, r3", 4661 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 4662TESTINST4("usada8 r0, r1, r2, r3", 4663 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 4664TESTINST4("usada8 r0, r1, r2, r3", 4665 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 4666TESTINST4("usada8 r0, r1, r2, r3", 4667 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 4668TESTINST4("usada8 r0, r1, r2, r3", 4669 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 4670TESTINST4("usada8 r0, r1, r2, r3", 4671 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 4672 4673 printf("---------------- QADD ---------------- \n"); 4674 TESTINST3("qadd r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0); 4675 TESTINST3("qadd r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0); 4676 TESTINST3("qadd r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 4677 TESTINST3("qadd r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 4678TESTINST3("qadd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4679TESTINST3("qadd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4680TESTINST3("qadd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4681TESTINST3("qadd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4682TESTINST3("qadd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4683TESTINST3("qadd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4684TESTINST3("qadd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4685TESTINST3("qadd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4686TESTINST3("qadd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4687TESTINST3("qadd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4688TESTINST3("qadd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4689TESTINST3("qadd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4690TESTINST3("qadd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4691TESTINST3("qadd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4692TESTINST3("qadd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4693TESTINST3("qadd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4694TESTINST3("qadd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4695TESTINST3("qadd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4696TESTINST3("qadd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4697TESTINST3("qadd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4698TESTINST3("qadd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4699TESTINST3("qadd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4700TESTINST3("qadd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4701TESTINST3("qadd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4702TESTINST3("qadd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4703TESTINST3("qadd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4704TESTINST3("qadd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4705TESTINST3("qadd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4706TESTINST3("qadd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4707TESTINST3("qadd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4708TESTINST3("qadd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4709TESTINST3("qadd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4710TESTINST3("qadd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4711TESTINST3("qadd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4712TESTINST3("qadd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4713TESTINST3("qadd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4714TESTINST3("qadd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4715TESTINST3("qadd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4716TESTINST3("qadd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4717TESTINST3("qadd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4718TESTINST3("qadd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4719TESTINST3("qadd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4720TESTINST3("qadd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4721TESTINST3("qadd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4722TESTINST3("qadd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4723TESTINST3("qadd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4724TESTINST3("qadd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4725TESTINST3("qadd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4726TESTINST3("qadd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4727TESTINST3("qadd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4728 4729 printf("---------------- QDADD ---------------- \n"); 4730 TESTINST3("qdadd r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0); 4731 TESTINST3("qdadd r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0); 4732 TESTINST3("qdadd r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 4733 TESTINST3("qdadd r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 4734TESTINST3("qdadd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4735TESTINST3("qdadd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4736TESTINST3("qdadd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4737TESTINST3("qdadd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4738TESTINST3("qdadd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4739TESTINST3("qdadd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4740TESTINST3("qdadd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4741TESTINST3("qdadd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4742TESTINST3("qdadd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4743TESTINST3("qdadd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4744TESTINST3("qdadd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4745TESTINST3("qdadd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4746TESTINST3("qdadd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4747TESTINST3("qdadd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4748TESTINST3("qdadd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4749TESTINST3("qdadd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4750TESTINST3("qdadd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4751TESTINST3("qdadd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4752TESTINST3("qdadd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4753TESTINST3("qdadd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4754TESTINST3("qdadd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4755TESTINST3("qdadd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4756TESTINST3("qdadd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4757TESTINST3("qdadd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4758TESTINST3("qdadd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4759TESTINST3("qdadd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4760TESTINST3("qdadd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4761TESTINST3("qdadd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4762TESTINST3("qdadd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4763TESTINST3("qdadd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4764TESTINST3("qdadd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4765TESTINST3("qdadd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4766TESTINST3("qdadd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4767TESTINST3("qdadd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4768TESTINST3("qdadd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4769TESTINST3("qdadd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4770TESTINST3("qdadd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4771TESTINST3("qdadd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4772TESTINST3("qdadd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4773TESTINST3("qdadd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4774TESTINST3("qdadd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4775TESTINST3("qdadd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4776TESTINST3("qdadd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4777TESTINST3("qdadd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4778TESTINST3("qdadd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4779TESTINST3("qdadd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4780TESTINST3("qdadd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4781TESTINST3("qdadd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4782TESTINST3("qdadd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4783TESTINST3("qdadd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4784 4785 printf("---------------- QSUB ---------------- \n"); 4786 TESTINST3("qsub r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0); 4787 TESTINST3("qsub r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0); 4788 TESTINST3("qsub r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 4789 TESTINST3("qsub r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 4790 TESTINST3("qsub r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 4791 TESTINST3("qsub r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 4792 TESTINST3("qsub r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 4793 TESTINST3("qsub r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 4794TESTINST3("qsub r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4795TESTINST3("qsub r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4796TESTINST3("qsub r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4797TESTINST3("qsub r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4798TESTINST3("qsub r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4799TESTINST3("qsub r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4800TESTINST3("qsub r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4801TESTINST3("qsub r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4802TESTINST3("qsub r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4803TESTINST3("qsub r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4804TESTINST3("qsub r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4805TESTINST3("qsub r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4806TESTINST3("qsub r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4807TESTINST3("qsub r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4808TESTINST3("qsub r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4809TESTINST3("qsub r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4810TESTINST3("qsub r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4811TESTINST3("qsub r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4812TESTINST3("qsub r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4813TESTINST3("qsub r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4814TESTINST3("qsub r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4815TESTINST3("qsub r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4816TESTINST3("qsub r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4817TESTINST3("qsub r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4818TESTINST3("qsub r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4819TESTINST3("qsub r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4820TESTINST3("qsub r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4821TESTINST3("qsub r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4822TESTINST3("qsub r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4823TESTINST3("qsub r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4824TESTINST3("qsub r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4825TESTINST3("qsub r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4826TESTINST3("qsub r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4827TESTINST3("qsub r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4828TESTINST3("qsub r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4829TESTINST3("qsub r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4830TESTINST3("qsub r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4831TESTINST3("qsub r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4832TESTINST3("qsub r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4833TESTINST3("qsub r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4834TESTINST3("qsub r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4835TESTINST3("qsub r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4836TESTINST3("qsub r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4837TESTINST3("qsub r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4838TESTINST3("qsub r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4839TESTINST3("qsub r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4840TESTINST3("qsub r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4841TESTINST3("qsub r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4842TESTINST3("qsub r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4843TESTINST3("qsub r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4844 4845 printf("---------------- QDSUB ---------------- \n"); 4846 TESTINST3("qdsub r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0); 4847 TESTINST3("qdsub r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0); 4848 TESTINST3("qdsub r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0); 4849 TESTINST3("qdsub r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0); 4850 TESTINST3("qdsub r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 4851 TESTINST3("qdsub r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 4852 TESTINST3("qdsub r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 4853 TESTINST3("qdsub r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 4854TESTINST3("qdsub r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0); 4855TESTINST3("qdsub r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0); 4856TESTINST3("qdsub r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0); 4857TESTINST3("qdsub r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0); 4858TESTINST3("qdsub r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0); 4859TESTINST3("qdsub r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0); 4860TESTINST3("qdsub r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0); 4861TESTINST3("qdsub r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0); 4862TESTINST3("qdsub r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0); 4863TESTINST3("qdsub r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0); 4864TESTINST3("qdsub r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0); 4865TESTINST3("qdsub r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0); 4866TESTINST3("qdsub r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0); 4867TESTINST3("qdsub r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0); 4868TESTINST3("qdsub r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0); 4869TESTINST3("qdsub r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0); 4870TESTINST3("qdsub r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0); 4871TESTINST3("qdsub r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0); 4872TESTINST3("qdsub r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0); 4873TESTINST3("qdsub r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0); 4874TESTINST3("qdsub r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0); 4875TESTINST3("qdsub r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0); 4876TESTINST3("qdsub r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0); 4877TESTINST3("qdsub r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0); 4878TESTINST3("qdsub r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0); 4879TESTINST3("qdsub r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0); 4880TESTINST3("qdsub r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0); 4881TESTINST3("qdsub r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0); 4882TESTINST3("qdsub r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0); 4883TESTINST3("qdsub r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0); 4884TESTINST3("qdsub r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0); 4885TESTINST3("qdsub r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0); 4886TESTINST3("qdsub r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0); 4887TESTINST3("qdsub r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0); 4888TESTINST3("qdsub r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0); 4889TESTINST3("qdsub r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0); 4890TESTINST3("qdsub r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0); 4891TESTINST3("qdsub r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0); 4892TESTINST3("qdsub r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0); 4893TESTINST3("qdsub r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0); 4894TESTINST3("qdsub r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0); 4895TESTINST3("qdsub r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0); 4896TESTINST3("qdsub r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0); 4897TESTINST3("qdsub r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0); 4898TESTINST3("qdsub r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0); 4899TESTINST3("qdsub r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0); 4900TESTINST3("qdsub r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0); 4901TESTINST3("qdsub r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0); 4902TESTINST3("qdsub r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0); 4903TESTINST3("qdsub r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0); 4904 4905 printf("------------ UQSUB16 -----------------------------------\n"); 4906 TESTINST3("uqsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 4907 TESTINST3("uqsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 4908 TESTINST3("uqsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 4909 TESTINST3("uqsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 4910 TESTINST3("uqsub16 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0); 4911 TESTINST3("uqsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 4912 TESTINST3("uqsub16 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0); 4913 TESTINST3("uqsub16 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0); 4914TESTINST3("uqsub16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 4915TESTINST3("uqsub16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 4916TESTINST3("uqsub16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 4917TESTINST3("uqsub16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 4918TESTINST3("uqsub16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 4919TESTINST3("uqsub16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 4920TESTINST3("uqsub16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 4921TESTINST3("uqsub16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 4922TESTINST3("uqsub16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 4923TESTINST3("uqsub16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 4924TESTINST3("uqsub16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 4925TESTINST3("uqsub16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 4926TESTINST3("uqsub16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 4927TESTINST3("uqsub16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 4928TESTINST3("uqsub16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 4929TESTINST3("uqsub16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 4930TESTINST3("uqsub16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 4931TESTINST3("uqsub16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 4932TESTINST3("uqsub16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 4933TESTINST3("uqsub16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 4934TESTINST3("uqsub16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 4935TESTINST3("uqsub16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 4936TESTINST3("uqsub16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 4937TESTINST3("uqsub16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 4938TESTINST3("uqsub16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 4939TESTINST3("uqsub16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 4940TESTINST3("uqsub16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 4941TESTINST3("uqsub16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 4942TESTINST3("uqsub16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 4943TESTINST3("uqsub16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 4944TESTINST3("uqsub16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 4945TESTINST3("uqsub16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 4946TESTINST3("uqsub16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 4947TESTINST3("uqsub16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 4948TESTINST3("uqsub16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 4949TESTINST3("uqsub16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 4950TESTINST3("uqsub16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 4951TESTINST3("uqsub16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 4952TESTINST3("uqsub16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 4953TESTINST3("uqsub16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 4954TESTINST3("uqsub16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 4955TESTINST3("uqsub16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 4956TESTINST3("uqsub16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 4957TESTINST3("uqsub16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 4958TESTINST3("uqsub16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 4959TESTINST3("uqsub16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 4960TESTINST3("uqsub16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 4961TESTINST3("uqsub16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 4962TESTINST3("uqsub16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 4963TESTINST3("uqsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 4964TESTINST3("uqsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 4965 4966 printf("------------ SHADD16 -----------------------------------\n"); 4967 TESTINST3("shadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 4968 TESTINST3("shadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 4969 TESTINST3("shadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 4970 TESTINST3("shadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 4971 TESTINST3("shadd16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 4972 TESTINST3("shadd16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 4973 TESTINST3("shadd16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 4974 TESTINST3("shadd16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 4975TESTINST3("shadd16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 4976TESTINST3("shadd16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 4977TESTINST3("shadd16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 4978TESTINST3("shadd16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 4979TESTINST3("shadd16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 4980TESTINST3("shadd16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 4981TESTINST3("shadd16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 4982TESTINST3("shadd16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 4983TESTINST3("shadd16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 4984TESTINST3("shadd16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 4985TESTINST3("shadd16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 4986TESTINST3("shadd16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 4987TESTINST3("shadd16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 4988TESTINST3("shadd16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 4989TESTINST3("shadd16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 4990TESTINST3("shadd16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 4991TESTINST3("shadd16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 4992TESTINST3("shadd16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 4993TESTINST3("shadd16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 4994TESTINST3("shadd16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 4995TESTINST3("shadd16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 4996TESTINST3("shadd16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 4997TESTINST3("shadd16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 4998TESTINST3("shadd16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 4999TESTINST3("shadd16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5000TESTINST3("shadd16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5001TESTINST3("shadd16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5002TESTINST3("shadd16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5003TESTINST3("shadd16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5004TESTINST3("shadd16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5005TESTINST3("shadd16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5006TESTINST3("shadd16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5007TESTINST3("shadd16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5008TESTINST3("shadd16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5009TESTINST3("shadd16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5010TESTINST3("shadd16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5011TESTINST3("shadd16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5012TESTINST3("shadd16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5013TESTINST3("shadd16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5014TESTINST3("shadd16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5015TESTINST3("shadd16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5016TESTINST3("shadd16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5017TESTINST3("shadd16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5018TESTINST3("shadd16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5019TESTINST3("shadd16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5020TESTINST3("shadd16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5021TESTINST3("shadd16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5022TESTINST3("shadd16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5023TESTINST3("shadd16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5024TESTINST3("shadd16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5025TESTINST3("shadd16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5026 5027 printf("------------ SHASX -----------------------------------\n"); 5028 TESTINST3("shasx r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5029 TESTINST3("shasx r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5030 TESTINST3("shasx r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5031 TESTINST3("shasx r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5032 TESTINST3("shasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5033 TESTINST3("shasx r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5034 TESTINST3("shasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5035 TESTINST3("shasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5036TESTINST3("shasx r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5037TESTINST3("shasx r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5038TESTINST3("shasx r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5039TESTINST3("shasx r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5040TESTINST3("shasx r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5041TESTINST3("shasx r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5042TESTINST3("shasx r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5043TESTINST3("shasx r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5044TESTINST3("shasx r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5045TESTINST3("shasx r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5046TESTINST3("shasx r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5047TESTINST3("shasx r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5048TESTINST3("shasx r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5049TESTINST3("shasx r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5050TESTINST3("shasx r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5051TESTINST3("shasx r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5052TESTINST3("shasx r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5053TESTINST3("shasx r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5054TESTINST3("shasx r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5055TESTINST3("shasx r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5056TESTINST3("shasx r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5057TESTINST3("shasx r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5058TESTINST3("shasx r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5059TESTINST3("shasx r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5060TESTINST3("shasx r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5061TESTINST3("shasx r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5062TESTINST3("shasx r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5063TESTINST3("shasx r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5064TESTINST3("shasx r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5065TESTINST3("shasx r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5066TESTINST3("shasx r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5067TESTINST3("shasx r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5068TESTINST3("shasx r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5069TESTINST3("shasx r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5070TESTINST3("shasx r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5071TESTINST3("shasx r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5072TESTINST3("shasx r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5073TESTINST3("shasx r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5074TESTINST3("shasx r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5075TESTINST3("shasx r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5076TESTINST3("shasx r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5077TESTINST3("shasx r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5078TESTINST3("shasx r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5079TESTINST3("shasx r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5080TESTINST3("shasx r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5081TESTINST3("shasx r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5082TESTINST3("shasx r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5083TESTINST3("shasx r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5084TESTINST3("shasx r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5085TESTINST3("shasx r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5086TESTINST3("shasx r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5087 5088 printf("------------ UHASX -----------------------------------\n"); 5089 TESTINST3("uhasx r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5090 TESTINST3("uhasx r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5091 TESTINST3("uhasx r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5092 TESTINST3("uhasx r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5093 TESTINST3("uhasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5094 TESTINST3("uhasx r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5095 TESTINST3("uhasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5096 TESTINST3("uhasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5097TESTINST3("uhasx r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5098TESTINST3("uhasx r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5099TESTINST3("uhasx r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5100TESTINST3("uhasx r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5101TESTINST3("uhasx r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5102TESTINST3("uhasx r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5103TESTINST3("uhasx r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5104TESTINST3("uhasx r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5105TESTINST3("uhasx r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5106TESTINST3("uhasx r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5107TESTINST3("uhasx r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5108TESTINST3("uhasx r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5109TESTINST3("uhasx r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5110TESTINST3("uhasx r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5111TESTINST3("uhasx r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5112TESTINST3("uhasx r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5113TESTINST3("uhasx r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5114TESTINST3("uhasx r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5115TESTINST3("uhasx r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5116TESTINST3("uhasx r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5117TESTINST3("uhasx r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5118TESTINST3("uhasx r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5119TESTINST3("uhasx r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5120TESTINST3("uhasx r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5121TESTINST3("uhasx r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5122TESTINST3("uhasx r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5123TESTINST3("uhasx r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5124TESTINST3("uhasx r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5125TESTINST3("uhasx r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5126TESTINST3("uhasx r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5127TESTINST3("uhasx r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5128TESTINST3("uhasx r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5129TESTINST3("uhasx r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5130TESTINST3("uhasx r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5131TESTINST3("uhasx r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5132TESTINST3("uhasx r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5133TESTINST3("uhasx r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5134TESTINST3("uhasx r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5135TESTINST3("uhasx r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5136TESTINST3("uhasx r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5137TESTINST3("uhasx r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5138TESTINST3("uhasx r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5139TESTINST3("uhasx r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5140TESTINST3("uhasx r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5141TESTINST3("uhasx r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5142TESTINST3("uhasx r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5143TESTINST3("uhasx r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5144TESTINST3("uhasx r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5145TESTINST3("uhasx r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5146TESTINST3("uhasx r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5147TESTINST3("uhasx r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5148 5149 printf("------------ SHSAX -----------------------------------\n"); 5150 TESTINST3("shsax r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5151 TESTINST3("shsax r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5152 TESTINST3("shsax r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5153 TESTINST3("shsax r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5154 TESTINST3("shsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5155 TESTINST3("shsax r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5156 TESTINST3("shsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5157 TESTINST3("shsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5158TESTINST3("shsax r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5159TESTINST3("shsax r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5160TESTINST3("shsax r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5161TESTINST3("shsax r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5162TESTINST3("shsax r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5163TESTINST3("shsax r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5164TESTINST3("shsax r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5165TESTINST3("shsax r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5166TESTINST3("shsax r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5167TESTINST3("shsax r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5168TESTINST3("shsax r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5169TESTINST3("shsax r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5170TESTINST3("shsax r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5171TESTINST3("shsax r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5172TESTINST3("shsax r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5173TESTINST3("shsax r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5174TESTINST3("shsax r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5175TESTINST3("shsax r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5176TESTINST3("shsax r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5177TESTINST3("shsax r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5178TESTINST3("shsax r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5179TESTINST3("shsax r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5180TESTINST3("shsax r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5181TESTINST3("shsax r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5182TESTINST3("shsax r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5183TESTINST3("shsax r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5184TESTINST3("shsax r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5185TESTINST3("shsax r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5186TESTINST3("shsax r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5187TESTINST3("shsax r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5188TESTINST3("shsax r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5189TESTINST3("shsax r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5190TESTINST3("shsax r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5191TESTINST3("shsax r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5192TESTINST3("shsax r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5193TESTINST3("shsax r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5194TESTINST3("shsax r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5195TESTINST3("shsax r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5196TESTINST3("shsax r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5197TESTINST3("shsax r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5198TESTINST3("shsax r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5199TESTINST3("shsax r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5200TESTINST3("shsax r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5201TESTINST3("shsax r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5202TESTINST3("shsax r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5203TESTINST3("shsax r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5204TESTINST3("shsax r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5205TESTINST3("shsax r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5206TESTINST3("shsax r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5207TESTINST3("shsax r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5208TESTINST3("shsax r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5209 5210 printf("------------ UHSAX -----------------------------------\n"); 5211 TESTINST3("uhsax r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5212 TESTINST3("uhsax r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5213 TESTINST3("uhsax r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5214 TESTINST3("uhsax r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5215 TESTINST3("uhsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5216 TESTINST3("uhsax r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5217 TESTINST3("uhsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5218 TESTINST3("uhsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5219TESTINST3("uhsax r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5220TESTINST3("uhsax r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5221TESTINST3("uhsax r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5222TESTINST3("uhsax r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5223TESTINST3("uhsax r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5224TESTINST3("uhsax r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5225TESTINST3("uhsax r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5226TESTINST3("uhsax r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5227TESTINST3("uhsax r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5228TESTINST3("uhsax r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5229TESTINST3("uhsax r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5230TESTINST3("uhsax r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5231TESTINST3("uhsax r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5232TESTINST3("uhsax r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5233TESTINST3("uhsax r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5234TESTINST3("uhsax r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5235TESTINST3("uhsax r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5236TESTINST3("uhsax r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5237TESTINST3("uhsax r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5238TESTINST3("uhsax r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5239TESTINST3("uhsax r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5240TESTINST3("uhsax r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5241TESTINST3("uhsax r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5242TESTINST3("uhsax r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5243TESTINST3("uhsax r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5244TESTINST3("uhsax r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5245TESTINST3("uhsax r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5246TESTINST3("uhsax r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5247TESTINST3("uhsax r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5248TESTINST3("uhsax r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5249TESTINST3("uhsax r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5250TESTINST3("uhsax r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5251TESTINST3("uhsax r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5252TESTINST3("uhsax r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5253TESTINST3("uhsax r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5254TESTINST3("uhsax r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5255TESTINST3("uhsax r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5256TESTINST3("uhsax r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5257TESTINST3("uhsax r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5258TESTINST3("uhsax r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5259TESTINST3("uhsax r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5260TESTINST3("uhsax r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5261TESTINST3("uhsax r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5262TESTINST3("uhsax r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5263TESTINST3("uhsax r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5264TESTINST3("uhsax r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5265TESTINST3("uhsax r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5266TESTINST3("uhsax r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5267TESTINST3("uhsax r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5268TESTINST3("uhsax r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5269TESTINST3("uhsax r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5270 5271 printf("------------ UHSUB8 -----------------------------------\n"); 5272 TESTINST3("uhsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5273 TESTINST3("uhsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5274 TESTINST3("uhsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5275 TESTINST3("uhsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5276 TESTINST3("uhsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5277 TESTINST3("uhsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5278 TESTINST3("uhsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5279 TESTINST3("uhsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5280TESTINST3("uhsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5281TESTINST3("uhsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5282TESTINST3("uhsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5283TESTINST3("uhsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5284TESTINST3("uhsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5285TESTINST3("uhsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5286TESTINST3("uhsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5287TESTINST3("uhsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5288TESTINST3("uhsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5289TESTINST3("uhsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5290TESTINST3("uhsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5291TESTINST3("uhsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5292TESTINST3("uhsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5293TESTINST3("uhsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5294TESTINST3("uhsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5295TESTINST3("uhsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5296TESTINST3("uhsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5297TESTINST3("uhsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5298TESTINST3("uhsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5299TESTINST3("uhsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5300TESTINST3("uhsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5301TESTINST3("uhsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5302TESTINST3("uhsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5303TESTINST3("uhsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5304TESTINST3("uhsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5305TESTINST3("uhsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5306TESTINST3("uhsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5307TESTINST3("uhsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5308TESTINST3("uhsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5309TESTINST3("uhsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5310TESTINST3("uhsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5311TESTINST3("uhsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5312TESTINST3("uhsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5313TESTINST3("uhsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5314TESTINST3("uhsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5315TESTINST3("uhsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5316TESTINST3("uhsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5317TESTINST3("uhsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5318TESTINST3("uhsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5319TESTINST3("uhsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5320TESTINST3("uhsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5321TESTINST3("uhsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5322TESTINST3("uhsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5323TESTINST3("uhsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5324TESTINST3("uhsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5325TESTINST3("uhsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5326TESTINST3("uhsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5327TESTINST3("uhsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5328TESTINST3("uhsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5329TESTINST3("uhsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5330TESTINST3("uhsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5331 5332 printf("------------ UHSUB16 -----------------------------------\n"); 5333 TESTINST3("uhsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5334 TESTINST3("uhsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5335 TESTINST3("uhsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5336 TESTINST3("uhsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5337 TESTINST3("uhsub16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5338 TESTINST3("uhsub16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5339 TESTINST3("uhsub16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5340 TESTINST3("uhsub16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5341TESTINST3("uhsub16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5342TESTINST3("uhsub16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5343TESTINST3("uhsub16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5344TESTINST3("uhsub16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5345TESTINST3("uhsub16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5346TESTINST3("uhsub16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5347TESTINST3("uhsub16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5348TESTINST3("uhsub16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5349TESTINST3("uhsub16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5350TESTINST3("uhsub16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5351TESTINST3("uhsub16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5352TESTINST3("uhsub16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5353TESTINST3("uhsub16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5354TESTINST3("uhsub16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5355TESTINST3("uhsub16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5356TESTINST3("uhsub16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5357TESTINST3("uhsub16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5358TESTINST3("uhsub16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5359TESTINST3("uhsub16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5360TESTINST3("uhsub16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5361TESTINST3("uhsub16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5362TESTINST3("uhsub16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5363TESTINST3("uhsub16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5364TESTINST3("uhsub16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5365TESTINST3("uhsub16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5366TESTINST3("uhsub16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5367TESTINST3("uhsub16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5368TESTINST3("uhsub16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5369TESTINST3("uhsub16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5370TESTINST3("uhsub16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5371TESTINST3("uhsub16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5372TESTINST3("uhsub16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5373TESTINST3("uhsub16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5374TESTINST3("uhsub16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5375TESTINST3("uhsub16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5376TESTINST3("uhsub16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5377TESTINST3("uhsub16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5378TESTINST3("uhsub16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5379TESTINST3("uhsub16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5380TESTINST3("uhsub16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5381TESTINST3("uhsub16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5382TESTINST3("uhsub16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5383TESTINST3("uhsub16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5384TESTINST3("uhsub16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5385TESTINST3("uhsub16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5386TESTINST3("uhsub16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5387TESTINST3("uhsub16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5388TESTINST3("uhsub16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5389TESTINST3("uhsub16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5390TESTINST3("uhsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5391TESTINST3("uhsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5392 5393 printf("------------ SHSUB16 -----------------------------------\n"); 5394 TESTINST3("shsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0); 5395 TESTINST3("shsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0); 5396 TESTINST3("shsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0); 5397 TESTINST3("shsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0); 5398 TESTINST3("shsub16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0); 5399 TESTINST3("shsub16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0); 5400 TESTINST3("shsub16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0); 5401 TESTINST3("shsub16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0); 5402TESTINST3("shsub16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0); 5403TESTINST3("shsub16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0); 5404TESTINST3("shsub16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0); 5405TESTINST3("shsub16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0); 5406TESTINST3("shsub16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0); 5407TESTINST3("shsub16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0); 5408TESTINST3("shsub16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0); 5409TESTINST3("shsub16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0); 5410TESTINST3("shsub16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0); 5411TESTINST3("shsub16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0); 5412TESTINST3("shsub16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0); 5413TESTINST3("shsub16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0); 5414TESTINST3("shsub16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0); 5415TESTINST3("shsub16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0); 5416TESTINST3("shsub16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0); 5417TESTINST3("shsub16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0); 5418TESTINST3("shsub16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0); 5419TESTINST3("shsub16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0); 5420TESTINST3("shsub16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0); 5421TESTINST3("shsub16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0); 5422TESTINST3("shsub16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0); 5423TESTINST3("shsub16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0); 5424TESTINST3("shsub16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0); 5425TESTINST3("shsub16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0); 5426TESTINST3("shsub16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0); 5427TESTINST3("shsub16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0); 5428TESTINST3("shsub16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0); 5429TESTINST3("shsub16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0); 5430TESTINST3("shsub16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0); 5431TESTINST3("shsub16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0); 5432TESTINST3("shsub16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0); 5433TESTINST3("shsub16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0); 5434TESTINST3("shsub16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0); 5435TESTINST3("shsub16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0); 5436TESTINST3("shsub16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0); 5437TESTINST3("shsub16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0); 5438TESTINST3("shsub16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0); 5439TESTINST3("shsub16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0); 5440TESTINST3("shsub16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0); 5441TESTINST3("shsub16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0); 5442TESTINST3("shsub16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0); 5443TESTINST3("shsub16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5444TESTINST3("shsub16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5445TESTINST3("shsub16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5446TESTINST3("shsub16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5447TESTINST3("shsub16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5448TESTINST3("shsub16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5449TESTINST3("shsub16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5450TESTINST3("shsub16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5451TESTINST3("shsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5452TESTINST3("shsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5453 5454 printf("----------------- SMLALBB ----------------- \n"); 5455 TESTINST4("smlalbb r0, r1, r2, r3", 5456 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 5457 TESTINST4("smlalbb r0, r1, r2, r3", 5458 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 5459 TESTINST4("smlalbb r0, r1, r2, r3", 5460 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 5461 TESTINST4("smlalbb r0, r1, r2, r3", 5462 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 5463 TESTINST4("smlalbb r0, r1, r2, r3", 5464 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 5465 TESTINST4("smlalbb r0, r1, r2, r3", 5466 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 5467 TESTINST4("smlalbb r0, r1, r2, r3", 5468 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 5469TESTINST4("smlalbb r0, r1, r2, r3", 5470 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 5471TESTINST4("smlalbb r0, r1, r2, r3", 5472 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 5473TESTINST4("smlalbb r0, r1, r2, r3", 5474 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 5475TESTINST4("smlalbb r0, r1, r2, r3", 5476 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 5477TESTINST4("smlalbb r0, r1, r2, r3", 5478 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 5479TESTINST4("smlalbb r0, r1, r2, r3", 5480 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 5481TESTINST4("smlalbb r0, r1, r2, r3", 5482 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 5483TESTINST4("smlalbb r0, r1, r2, r3", 5484 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 5485TESTINST4("smlalbb r0, r1, r2, r3", 5486 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 5487TESTINST4("smlalbb r0, r1, r2, r3", 5488 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 5489TESTINST4("smlalbb r0, r1, r2, r3", 5490 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 5491TESTINST4("smlalbb r0, r1, r2, r3", 5492 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 5493TESTINST4("smlalbb r0, r1, r2, r3", 5494 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 5495TESTINST4("smlalbb r0, r1, r2, r3", 5496 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 5497TESTINST4("smlalbb r0, r1, r2, r3", 5498 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 5499TESTINST4("smlalbb r0, r1, r2, r3", 5500 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 5501TESTINST4("smlalbb r0, r1, r2, r3", 5502 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 5503TESTINST4("smlalbb r0, r1, r2, r3", 5504 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 5505TESTINST4("smlalbb r0, r1, r2, r3", 5506 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 5507TESTINST4("smlalbb r0, r1, r2, r3", 5508 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 5509TESTINST4("smlalbb r0, r1, r2, r3", 5510 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 5511TESTINST4("smlalbb r0, r1, r2, r3", 5512 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 5513TESTINST4("smlalbb r0, r1, r2, r3", 5514 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 5515TESTINST4("smlalbb r0, r1, r2, r3", 5516 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 5517TESTINST4("smlalbb r0, r1, r2, r3", 5518 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 5519TESTINST4("smlalbb r0, r1, r2, r3", 5520 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 5521TESTINST4("smlalbb r0, r1, r2, r3", 5522 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 5523TESTINST4("smlalbb r0, r1, r2, r3", 5524 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 5525TESTINST4("smlalbb r0, r1, r2, r3", 5526 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 5527TESTINST4("smlalbb r0, r1, r2, r3", 5528 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 5529TESTINST4("smlalbb r0, r1, r2, r3", 5530 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 5531TESTINST4("smlalbb r0, r1, r2, r3", 5532 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 5533TESTINST4("smlalbb r0, r1, r2, r3", 5534 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 5535TESTINST4("smlalbb r0, r1, r2, r3", 5536 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 5537TESTINST4("smlalbb r0, r1, r2, r3", 5538 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 5539TESTINST4("smlalbb r0, r1, r2, r3", 5540 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 5541TESTINST4("smlalbb r0, r1, r2, r3", 5542 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 5543TESTINST4("smlalbb r0, r1, r2, r3", 5544 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 5545TESTINST4("smlalbb r0, r1, r2, r3", 5546 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 5547TESTINST4("smlalbb r0, r1, r2, r3", 5548 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 5549TESTINST4("smlalbb r0, r1, r2, r3", 5550 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 5551TESTINST4("smlalbb r0, r1, r2, r3", 5552 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 5553TESTINST4("smlalbb r0, r1, r2, r3", 5554 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 5555TESTINST4("smlalbb r0, r1, r2, r3", 5556 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 5557TESTINST4("smlalbb r0, r1, r2, r3", 5558 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 5559TESTINST4("smlalbb r0, r1, r2, r3", 5560 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 5561TESTINST4("smlalbb r0, r1, r2, r3", 5562 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 5563TESTINST4("smlalbb r0, r1, r2, r3", 5564 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 5565TESTINST4("smlalbb r0, r1, r2, r3", 5566 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 5567TESTINST4("smlalbb r0, r1, r2, r3", 5568 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 5569TESTINST4("smlalbb r0, r1, r2, r3", 5570 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 5571 5572 printf("----------------- SMLALBT ----------------- \n"); 5573 TESTINST4("smlalbt r0, r1, r2, r3", 5574 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 5575 TESTINST4("smlalbt r0, r1, r2, r3", 5576 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 5577 TESTINST4("smlalbt r0, r1, r2, r3", 5578 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 5579 TESTINST4("smlalbt r0, r1, r2, r3", 5580 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 5581 TESTINST4("smlalbt r0, r1, r2, r3", 5582 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 5583 TESTINST4("smlalbt r0, r1, r2, r3", 5584 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 5585 TESTINST4("smlalbt r0, r1, r2, r3", 5586 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 5587TESTINST4("smlalbt r0, r1, r2, r3", 5588 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 5589TESTINST4("smlalbt r0, r1, r2, r3", 5590 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 5591TESTINST4("smlalbt r0, r1, r2, r3", 5592 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 5593TESTINST4("smlalbt r0, r1, r2, r3", 5594 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 5595TESTINST4("smlalbt r0, r1, r2, r3", 5596 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 5597TESTINST4("smlalbt r0, r1, r2, r3", 5598 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 5599TESTINST4("smlalbt r0, r1, r2, r3", 5600 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 5601TESTINST4("smlalbt r0, r1, r2, r3", 5602 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 5603TESTINST4("smlalbt r0, r1, r2, r3", 5604 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 5605TESTINST4("smlalbt r0, r1, r2, r3", 5606 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 5607TESTINST4("smlalbt r0, r1, r2, r3", 5608 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 5609TESTINST4("smlalbt r0, r1, r2, r3", 5610 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 5611TESTINST4("smlalbt r0, r1, r2, r3", 5612 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 5613TESTINST4("smlalbt r0, r1, r2, r3", 5614 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 5615TESTINST4("smlalbt r0, r1, r2, r3", 5616 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 5617TESTINST4("smlalbt r0, r1, r2, r3", 5618 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 5619TESTINST4("smlalbt r0, r1, r2, r3", 5620 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 5621TESTINST4("smlalbt r0, r1, r2, r3", 5622 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 5623TESTINST4("smlalbt r0, r1, r2, r3", 5624 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 5625TESTINST4("smlalbt r0, r1, r2, r3", 5626 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 5627TESTINST4("smlalbt r0, r1, r2, r3", 5628 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 5629TESTINST4("smlalbt r0, r1, r2, r3", 5630 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 5631TESTINST4("smlalbt r0, r1, r2, r3", 5632 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 5633TESTINST4("smlalbt r0, r1, r2, r3", 5634 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 5635TESTINST4("smlalbt r0, r1, r2, r3", 5636 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 5637TESTINST4("smlalbt r0, r1, r2, r3", 5638 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 5639TESTINST4("smlalbt r0, r1, r2, r3", 5640 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 5641TESTINST4("smlalbt r0, r1, r2, r3", 5642 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 5643TESTINST4("smlalbt r0, r1, r2, r3", 5644 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 5645TESTINST4("smlalbt r0, r1, r2, r3", 5646 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 5647TESTINST4("smlalbt r0, r1, r2, r3", 5648 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 5649TESTINST4("smlalbt r0, r1, r2, r3", 5650 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 5651TESTINST4("smlalbt r0, r1, r2, r3", 5652 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 5653TESTINST4("smlalbt r0, r1, r2, r3", 5654 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 5655TESTINST4("smlalbt r0, r1, r2, r3", 5656 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 5657TESTINST4("smlalbt r0, r1, r2, r3", 5658 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 5659TESTINST4("smlalbt r0, r1, r2, r3", 5660 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 5661TESTINST4("smlalbt r0, r1, r2, r3", 5662 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 5663TESTINST4("smlalbt r0, r1, r2, r3", 5664 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 5665TESTINST4("smlalbt r0, r1, r2, r3", 5666 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 5667TESTINST4("smlalbt r0, r1, r2, r3", 5668 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 5669TESTINST4("smlalbt r0, r1, r2, r3", 5670 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 5671TESTINST4("smlalbt r0, r1, r2, r3", 5672 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 5673TESTINST4("smlalbt r0, r1, r2, r3", 5674 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 5675TESTINST4("smlalbt r0, r1, r2, r3", 5676 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 5677TESTINST4("smlalbt r0, r1, r2, r3", 5678 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 5679TESTINST4("smlalbt r0, r1, r2, r3", 5680 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 5681TESTINST4("smlalbt r0, r1, r2, r3", 5682 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 5683TESTINST4("smlalbt r0, r1, r2, r3", 5684 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 5685TESTINST4("smlalbt r0, r1, r2, r3", 5686 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 5687TESTINST4("smlalbt r0, r1, r2, r3", 5688 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 5689 5690 printf("----------------- SMLALTB ----------------- \n"); 5691 TESTINST4("smlaltb r0, r1, r2, r3", 5692 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 5693 TESTINST4("smlaltb r0, r1, r2, r3", 5694 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 5695 TESTINST4("smlaltb r0, r1, r2, r3", 5696 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 5697 TESTINST4("smlaltb r0, r1, r2, r3", 5698 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 5699 TESTINST4("smlaltb r0, r1, r2, r3", 5700 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 5701 TESTINST4("smlaltb r0, r1, r2, r3", 5702 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 5703 TESTINST4("smlaltb r0, r1, r2, r3", 5704 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 5705TESTINST4("smlaltb r0, r1, r2, r3", 5706 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 5707TESTINST4("smlaltb r0, r1, r2, r3", 5708 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 5709TESTINST4("smlaltb r0, r1, r2, r3", 5710 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 5711TESTINST4("smlaltb r0, r1, r2, r3", 5712 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 5713TESTINST4("smlaltb r0, r1, r2, r3", 5714 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 5715TESTINST4("smlaltb r0, r1, r2, r3", 5716 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 5717TESTINST4("smlaltb r0, r1, r2, r3", 5718 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 5719TESTINST4("smlaltb r0, r1, r2, r3", 5720 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 5721TESTINST4("smlaltb r0, r1, r2, r3", 5722 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 5723TESTINST4("smlaltb r0, r1, r2, r3", 5724 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 5725TESTINST4("smlaltb r0, r1, r2, r3", 5726 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 5727TESTINST4("smlaltb r0, r1, r2, r3", 5728 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 5729TESTINST4("smlaltb r0, r1, r2, r3", 5730 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 5731TESTINST4("smlaltb r0, r1, r2, r3", 5732 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 5733TESTINST4("smlaltb r0, r1, r2, r3", 5734 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 5735TESTINST4("smlaltb r0, r1, r2, r3", 5736 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 5737TESTINST4("smlaltb r0, r1, r2, r3", 5738 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 5739TESTINST4("smlaltb r0, r1, r2, r3", 5740 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 5741TESTINST4("smlaltb r0, r1, r2, r3", 5742 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 5743TESTINST4("smlaltb r0, r1, r2, r3", 5744 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 5745TESTINST4("smlaltb r0, r1, r2, r3", 5746 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 5747TESTINST4("smlaltb r0, r1, r2, r3", 5748 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 5749TESTINST4("smlaltb r0, r1, r2, r3", 5750 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 5751TESTINST4("smlaltb r0, r1, r2, r3", 5752 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 5753TESTINST4("smlaltb r0, r1, r2, r3", 5754 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 5755TESTINST4("smlaltb r0, r1, r2, r3", 5756 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 5757TESTINST4("smlaltb r0, r1, r2, r3", 5758 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 5759TESTINST4("smlaltb r0, r1, r2, r3", 5760 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 5761TESTINST4("smlaltb r0, r1, r2, r3", 5762 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 5763TESTINST4("smlaltb r0, r1, r2, r3", 5764 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 5765TESTINST4("smlaltb r0, r1, r2, r3", 5766 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 5767TESTINST4("smlaltb r0, r1, r2, r3", 5768 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 5769TESTINST4("smlaltb r0, r1, r2, r3", 5770 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 5771TESTINST4("smlaltb r0, r1, r2, r3", 5772 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 5773TESTINST4("smlaltb r0, r1, r2, r3", 5774 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 5775TESTINST4("smlaltb r0, r1, r2, r3", 5776 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 5777TESTINST4("smlaltb r0, r1, r2, r3", 5778 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 5779TESTINST4("smlaltb r0, r1, r2, r3", 5780 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 5781TESTINST4("smlaltb r0, r1, r2, r3", 5782 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 5783TESTINST4("smlaltb r0, r1, r2, r3", 5784 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 5785TESTINST4("smlaltb r0, r1, r2, r3", 5786 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 5787TESTINST4("smlaltb r0, r1, r2, r3", 5788 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 5789TESTINST4("smlaltb r0, r1, r2, r3", 5790 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 5791TESTINST4("smlaltb r0, r1, r2, r3", 5792 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 5793TESTINST4("smlaltb r0, r1, r2, r3", 5794 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 5795TESTINST4("smlaltb r0, r1, r2, r3", 5796 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 5797TESTINST4("smlaltb r0, r1, r2, r3", 5798 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 5799TESTINST4("smlaltb r0, r1, r2, r3", 5800 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 5801TESTINST4("smlaltb r0, r1, r2, r3", 5802 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 5803TESTINST4("smlaltb r0, r1, r2, r3", 5804 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 5805TESTINST4("smlaltb r0, r1, r2, r3", 5806 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 5807 5808 printf("----------------- SMLALTT ----------------- \n"); 5809 TESTINST4("smlaltt r0, r1, r2, r3", 5810 0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0); 5811 TESTINST4("smlaltt r0, r1, r2, r3", 5812 0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0); 5813 TESTINST4("smlaltt r0, r1, r2, r3", 5814 0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0); 5815 TESTINST4("smlaltt r0, r1, r2, r3", 5816 0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0); 5817 TESTINST4("smlaltt r0, r1, r2, r3", 5818 0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0); 5819 TESTINST4("smlaltt r0, r1, r2, r3", 5820 0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0); 5821 TESTINST4("smlaltt r0, r1, r2, r3", 5822 0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0); 5823TESTINST4("smlaltt r0, r1, r2, r3", 5824 0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0); 5825TESTINST4("smlaltt r0, r1, r2, r3", 5826 0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0); 5827TESTINST4("smlaltt r0, r1, r2, r3", 5828 0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0); 5829TESTINST4("smlaltt r0, r1, r2, r3", 5830 0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0); 5831TESTINST4("smlaltt r0, r1, r2, r3", 5832 0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0); 5833TESTINST4("smlaltt r0, r1, r2, r3", 5834 0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0); 5835TESTINST4("smlaltt r0, r1, r2, r3", 5836 0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0); 5837TESTINST4("smlaltt r0, r1, r2, r3", 5838 0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0); 5839TESTINST4("smlaltt r0, r1, r2, r3", 5840 0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0); 5841TESTINST4("smlaltt r0, r1, r2, r3", 5842 0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0); 5843TESTINST4("smlaltt r0, r1, r2, r3", 5844 0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0); 5845TESTINST4("smlaltt r0, r1, r2, r3", 5846 0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0); 5847TESTINST4("smlaltt r0, r1, r2, r3", 5848 0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0); 5849TESTINST4("smlaltt r0, r1, r2, r3", 5850 0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0); 5851TESTINST4("smlaltt r0, r1, r2, r3", 5852 0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0); 5853TESTINST4("smlaltt r0, r1, r2, r3", 5854 0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0); 5855TESTINST4("smlaltt r0, r1, r2, r3", 5856 0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0); 5857TESTINST4("smlaltt r0, r1, r2, r3", 5858 0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0); 5859TESTINST4("smlaltt r0, r1, r2, r3", 5860 0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0); 5861TESTINST4("smlaltt r0, r1, r2, r3", 5862 0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0); 5863TESTINST4("smlaltt r0, r1, r2, r3", 5864 0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0); 5865TESTINST4("smlaltt r0, r1, r2, r3", 5866 0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0); 5867TESTINST4("smlaltt r0, r1, r2, r3", 5868 0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0); 5869TESTINST4("smlaltt r0, r1, r2, r3", 5870 0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0); 5871TESTINST4("smlaltt r0, r1, r2, r3", 5872 0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0); 5873TESTINST4("smlaltt r0, r1, r2, r3", 5874 0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0); 5875TESTINST4("smlaltt r0, r1, r2, r3", 5876 0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0); 5877TESTINST4("smlaltt r0, r1, r2, r3", 5878 0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0); 5879TESTINST4("smlaltt r0, r1, r2, r3", 5880 0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0); 5881TESTINST4("smlaltt r0, r1, r2, r3", 5882 0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0); 5883TESTINST4("smlaltt r0, r1, r2, r3", 5884 0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0); 5885TESTINST4("smlaltt r0, r1, r2, r3", 5886 0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0); 5887TESTINST4("smlaltt r0, r1, r2, r3", 5888 0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0); 5889TESTINST4("smlaltt r0, r1, r2, r3", 5890 0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0); 5891TESTINST4("smlaltt r0, r1, r2, r3", 5892 0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0); 5893TESTINST4("smlaltt r0, r1, r2, r3", 5894 0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0); 5895TESTINST4("smlaltt r0, r1, r2, r3", 5896 0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0); 5897TESTINST4("smlaltt r0, r1, r2, r3", 5898 0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0); 5899TESTINST4("smlaltt r0, r1, r2, r3", 5900 0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0); 5901TESTINST4("smlaltt r0, r1, r2, r3", 5902 0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0); 5903TESTINST4("smlaltt r0, r1, r2, r3", 5904 0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0); 5905TESTINST4("smlaltt r0, r1, r2, r3", 5906 0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0); 5907TESTINST4("smlaltt r0, r1, r2, r3", 5908 0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0); 5909TESTINST4("smlaltt r0, r1, r2, r3", 5910 0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0); 5911TESTINST4("smlaltt r0, r1, r2, r3", 5912 0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0); 5913TESTINST4("smlaltt r0, r1, r2, r3", 5914 0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0); 5915TESTINST4("smlaltt r0, r1, r2, r3", 5916 0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0); 5917TESTINST4("smlaltt r0, r1, r2, r3", 5918 0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0); 5919TESTINST4("smlaltt r0, r1, r2, r3", 5920 0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0); 5921TESTINST4("smlaltt r0, r1, r2, r3", 5922 0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0); 5923TESTINST4("smlaltt r0, r1, r2, r3", 5924 0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0); 5925 5926/* 5927TESTINST3("theinsn", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0); 5928TESTINST3("theinsn", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0); 5929TESTINST3("theinsn", 0x299da970, 0xe8108f1b, r0, r1, r2, 0); 5930TESTINST3("theinsn", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0); 5931TESTINST3("theinsn", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0); 5932TESTINST3("theinsn", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0); 5933TESTINST3("theinsn", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0); 5934TESTINST3("theinsn", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0); 5935TESTINST3("theinsn", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0); 5936TESTINST3("theinsn", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0); 5937*/ 5938 5939 return 0; 5940} 5941