asmjit_test_assembler_a64.cpp (241305B)
1 // This file is part of AsmJit project <https://asmjit.com> 2 // 3 // See <asmjit/core.h> or LICENSE.md for license and copyright information 4 // SPDX-License-Identifier: Zlib 5 6 #include <asmjit/core.h> 7 #if !defined(ASMJIT_NO_AARCH64) 8 9 #include <asmjit/a64.h> 10 #include <stdio.h> 11 #include <stdlib.h> 12 #include <string.h> 13 14 #include "asmjit_test_assembler.h" 15 16 using namespace asmjit; 17 18 #define TEST_INSTRUCTION(OPCODE, ...) \ 19 tester.test_valid_instruction(#__VA_ARGS__, OPCODE, tester.assembler.__VA_ARGS__) 20 21 static void ASMJIT_NOINLINE test_aarch64_assembler_base(AssemblerTester<a64::Assembler>& tester) noexcept { 22 using namespace a64; 23 24 TEST_INSTRUCTION("4120C05A", abs(w1, w2)); 25 TEST_INSTRUCTION("4120C0DA", abs(x1, x2)); 26 TEST_INSTRUCTION("4100031A", adc(w1, w2, w3)); 27 TEST_INSTRUCTION("4100039A", adc(x1, x2, x3)); 28 TEST_INSTRUCTION("E103031A", adc(w1, wzr, w3)); 29 TEST_INSTRUCTION("E103039A", adc(x1, xzr, x3)); 30 TEST_INSTRUCTION("5F00031A", adc(wzr, w2, w3)); 31 TEST_INSTRUCTION("5F00039A", adc(xzr, x2, x3)); 32 TEST_INSTRUCTION("4100033A", adcs(w1, w2, w3)); 33 TEST_INSTRUCTION("410003BA", adcs(x1, x2, x3)); 34 TEST_INSTRUCTION("4100030B", add(w1, w2, w3)); 35 TEST_INSTRUCTION("4100038B", add(x1, x2, x3)); 36 TEST_INSTRUCTION("410C030B", add(w1, w2, w3, lsl(3))); 37 TEST_INSTRUCTION("410C038B", add(x1, x2, x3, lsl(3))); 38 TEST_INSTRUCTION("FF030411", add(wsp, wsp, 256)); 39 TEST_INSTRUCTION("FFFF3F11", add(wsp, wsp, 0xFFF)); 40 TEST_INSTRUCTION("FF030491", add(sp, sp, 256)); 41 TEST_INSTRUCTION("FFFF3F91", add(sp, sp, 0xFFF)); 42 TEST_INSTRUCTION("E103030B", add(w1, wzr, w3)); 43 TEST_INSTRUCTION("E103038B", add(x1, xzr, x3)); 44 TEST_INSTRUCTION("5F00030B", add(wzr, w2, w3)); 45 TEST_INSTRUCTION("5F00038B", add(xzr, x2, x3)); 46 TEST_INSTRUCTION("4140238B", add(x1, x2, w3, uxtw(0))); 47 TEST_INSTRUCTION("83004011", add(w3, w4, 0, lsl(12))); 48 TEST_INSTRUCTION("83004091", add(x3, x4, 0, lsl(12))); 49 TEST_INSTRUCTION("83005011", add(w3, w4, 1024, lsl(12))); 50 TEST_INSTRUCTION("83005091", add(x3, x4, 1024, lsl(12))); 51 TEST_INSTRUCTION("83005011", add(w3, w4, 1024, lsl(12))); 52 TEST_INSTRUCTION("83005091", add(x3, x4, 1024, lsl(12))); 53 TEST_INSTRUCTION("FF830091", add(sp, sp, 32)); 54 TEST_INSTRUCTION("412C8291", addg(x1, x2, 32, 11)); 55 TEST_INSTRUCTION("5F2C8291", addg(sp, x2, 32, 11)); 56 TEST_INSTRUCTION("E12F8291", addg(x1, sp, 32, 11)); 57 TEST_INSTRUCTION("4100032B", adds(w1, w2, w3)); 58 TEST_INSTRUCTION("410003AB", adds(x1, x2, x3)); 59 TEST_INSTRUCTION("01000010", adr(x1, 0)); 60 TEST_INSTRUCTION("01080010", adr(x1, 256)); 61 TEST_INSTRUCTION("010000B0", adrp(x1, 4096)); 62 TEST_INSTRUCTION("4100030A", and_(w1, w2, w3)); 63 TEST_INSTRUCTION("4100038A", and_(x1, x2, x3)); 64 TEST_INSTRUCTION("41000012", and_(w1, w2, 1)); 65 TEST_INSTRUCTION("41004092", and_(x1, x2, 1)); 66 TEST_INSTRUCTION("410C0012", and_(w1, w2, 15)); 67 TEST_INSTRUCTION("410C4092", and_(x1, x2, 15)); 68 TEST_INSTRUCTION("3F1C0012", and_(wsp, w1, 0xFF)); 69 TEST_INSTRUCTION("3F1C4092", and_(sp, x1, 0xFF)); 70 TEST_INSTRUCTION("E103030A", and_(w1, wzr, w3)); 71 TEST_INSTRUCTION("E103038A", and_(x1, xzr, x3)); 72 TEST_INSTRUCTION("5F00030A", and_(wzr, w2, w3)); 73 TEST_INSTRUCTION("5F00038A", and_(xzr, x2, x3)); 74 TEST_INSTRUCTION("00000012", and_(w0, w0, 0x1)); 75 TEST_INSTRUCTION("00004092", and_(x0, x0, 0x1)); 76 TEST_INSTRUCTION("410C0012", and_(w1, w2, 0xf)); 77 TEST_INSTRUCTION("410C4092", and_(x1, x2, 0xf)); 78 TEST_INSTRUCTION("BFEC7C92", and_(sp, x5, 0xfffffffffffffff0)); 79 TEST_INSTRUCTION("4100036A", ands(w1, w2, w3)); 80 TEST_INSTRUCTION("410003EA", ands(x1, x2, x3)); 81 TEST_INSTRUCTION("E103036A", ands(w1, wzr, w3)); 82 TEST_INSTRUCTION("E10303EA", ands(x1, xzr, x3)); 83 TEST_INSTRUCTION("5F00036A", ands(wzr, w2, w3)); 84 TEST_INSTRUCTION("5F0003EA", ands(xzr, x2, x3)); 85 TEST_INSTRUCTION("00000072", ands(w0, w0, 0x1)); 86 TEST_INSTRUCTION("000040F2", ands(x0, x0, 0x1)); 87 TEST_INSTRUCTION("410C0072", ands(w1, w2, 0xf)); 88 TEST_INSTRUCTION("410C40F2", ands(x1, x2, 0xf)); 89 TEST_INSTRUCTION("417C0F13", asr(w1, w2, 15)); 90 TEST_INSTRUCTION("41FC4F93", asr(x1, x2, 15)); 91 TEST_INSTRUCTION("4128C31A", asrv(w1, w2, w3)); 92 TEST_INSTRUCTION("4128C39A", asrv(x1, x2, x3)); 93 TEST_INSTRUCTION("4F7808D5", at(Predicate::AT::kS1E0R, x15)); 94 TEST_INSTRUCTION("4118C1DA", autda(x1, x2)); 95 TEST_INSTRUCTION("E11BC1DA", autda(x1, sp)); 96 TEST_INSTRUCTION("411CC1DA", autdb(x1, x2)); 97 TEST_INSTRUCTION("E11FC1DA", autdb(x1, sp)); 98 TEST_INSTRUCTION("E13BC1DA", autdza(x1)); 99 TEST_INSTRUCTION("F43BC1DA", autdza(x20)); 100 TEST_INSTRUCTION("E13FC1DA", autdzb(x1)); 101 TEST_INSTRUCTION("F43FC1DA", autdzb(x20)); 102 TEST_INSTRUCTION("4110C1DA", autia(x1, x2)); 103 TEST_INSTRUCTION("E113C1DA", autia(x1, sp)); 104 TEST_INSTRUCTION("9F2103D5", autia1716()); 105 TEST_INSTRUCTION("BF2303D5", autiasp()); 106 TEST_INSTRUCTION("9F2303D5", autiaz()); 107 TEST_INSTRUCTION("4114C1DA", autib(x1, x2)); 108 TEST_INSTRUCTION("E117C1DA", autib(x1, sp)); 109 TEST_INSTRUCTION("DF2103D5", autib1716()); 110 TEST_INSTRUCTION("FF2303D5", autibsp()); 111 TEST_INSTRUCTION("DF2303D5", autibz()); 112 TEST_INSTRUCTION("E133C1DA", autiza(x1)); 113 TEST_INSTRUCTION("F433C1DA", autiza(x20)); 114 TEST_INSTRUCTION("E137C1DA", autizb(x1)); 115 TEST_INSTRUCTION("F437C1DA", autizb(x20)); 116 TEST_INSTRUCTION("5F4000D5", axflag()); 117 TEST_INSTRUCTION("E13F1833", bfc(w1, 8, 16)); 118 TEST_INSTRUCTION("E13F78B3", bfc(x1, 8, 16)); 119 TEST_INSTRUCTION("413C1833", bfi(w1, w2, 8, 16)); 120 TEST_INSTRUCTION("413C78B3", bfi(x1, x2, 8, 16)); 121 TEST_INSTRUCTION("41400833", bfm(w1, w2, 8, 16)); 122 TEST_INSTRUCTION("414048B3", bfm(x1, x2, 8, 16)); 123 TEST_INSTRUCTION("415C0833", bfxil(w1, w2, 8, 16)); 124 TEST_INSTRUCTION("415C48B3", bfxil(x1, x2, 8, 16)); 125 TEST_INSTRUCTION("41781F12", bic(w1, w2, 1)); 126 TEST_INSTRUCTION("41F87F92", bic(x1, x2, 1)); 127 TEST_INSTRUCTION("416C1C12", bic(w1, w2, 15)); 128 TEST_INSTRUCTION("41EC7C92", bic(x1, x2, 15)); 129 TEST_INSTRUCTION("4110230A", bic(w1, w2, w3, lsl(4))); 130 TEST_INSTRUCTION("4110238A", bic(x1, x2, x3, lsl(4))); 131 TEST_INSTRUCTION("E103230A", bic(w1, wzr, w3)); 132 TEST_INSTRUCTION("E103238A", bic(x1, xzr, x3)); 133 TEST_INSTRUCTION("41781F72", bics(w1, w2, 1)); 134 TEST_INSTRUCTION("41F87FF2", bics(x1, x2, 1)); 135 TEST_INSTRUCTION("416C1C72", bics(w1, w2, 15)); 136 TEST_INSTRUCTION("41EC7CF2", bics(x1, x2, 15)); 137 TEST_INSTRUCTION("4110236A", bics(w1, w2, w3, lsl(4))); 138 TEST_INSTRUCTION("411023EA", bics(x1, x2, x3, lsl(4))); 139 TEST_INSTRUCTION("E103236A", bics(w1, wzr, w3)); 140 TEST_INSTRUCTION("E10323EA", bics(x1, xzr, x3)); 141 TEST_INSTRUCTION("60031FD6", br(x27)); 142 TEST_INSTRUCTION("E0031FD6", br(xzr)); 143 TEST_INSTRUCTION("200020D4", brk(1)); 144 TEST_INSTRUCTION("DF2403D5", bti(Predicate::BTI::kJC)); 145 TEST_INSTRUCTION("627CA188", cas(w1, w2, ptr(x3))); 146 TEST_INSTRUCTION("627CA1C8", cas(x1, x2, ptr(x3))); 147 TEST_INSTRUCTION("627CE188", casa(w1, w2, ptr(x3))); 148 TEST_INSTRUCTION("627CE1C8", casa(x1, x2, ptr(x3))); 149 TEST_INSTRUCTION("627CE108", casab(w1, w2, ptr(x3))); 150 TEST_INSTRUCTION("627CE148", casah(w1, w2, ptr(x3))); 151 TEST_INSTRUCTION("62FCE188", casal(w1, w2, ptr(x3))); 152 TEST_INSTRUCTION("62FCE1C8", casal(x1, x2, ptr(x3))); 153 TEST_INSTRUCTION("62FCE108", casalb(w1, w2, ptr(x3))); 154 TEST_INSTRUCTION("62FCE148", casalh(w1, w2, ptr(x3))); 155 TEST_INSTRUCTION("627CA108", casb(w1, w2, ptr(x3))); 156 TEST_INSTRUCTION("627CA148", cash(w1, w2, ptr(x3))); 157 TEST_INSTRUCTION("62FCA188", casl(w1, w2, ptr(x3))); 158 TEST_INSTRUCTION("62FCA1C8", casl(x1, x2, ptr(x3))); 159 TEST_INSTRUCTION("62FCA108", caslb(w1, w2, ptr(x3))); 160 TEST_INSTRUCTION("62FCA148", caslh(w1, w2, ptr(x3))); 161 TEST_INSTRUCTION("687C2208", casp(w2, w3, w8, w9, ptr(x3))); 162 TEST_INSTRUCTION("687C2248", casp(x2, x3, x8, x9, ptr(x3))); 163 TEST_INSTRUCTION("687C6208", caspa(w2, w3, w8, w9, ptr(x3))); 164 TEST_INSTRUCTION("687C6248", caspa(x2, x3, x8, x9, ptr(x3))); 165 TEST_INSTRUCTION("68FC6208", caspal(w2, w3, w8, w9, ptr(x3))); 166 TEST_INSTRUCTION("68FC6248", caspal(x2, x3, x8, x9, ptr(x3))); 167 TEST_INSTRUCTION("68FC2208", caspl(w2, w3, w8, w9, ptr(x3))); 168 TEST_INSTRUCTION("68FC2248", caspl(x2, x3, x8, x9, ptr(x3))); 169 TEST_INSTRUCTION("2300423A", ccmn(w1, w2, 3, CondCode::kEQ)); 170 TEST_INSTRUCTION("230042BA", ccmn(x1, x2, 3, CondCode::kEQ)); 171 TEST_INSTRUCTION("2308423A", ccmn(w1, 2, 3, CondCode::kEQ)); 172 TEST_INSTRUCTION("230842BA", ccmn(x1, 2, 3, CondCode::kEQ)); 173 TEST_INSTRUCTION("23005F3A", ccmn(w1, wzr, 3, CondCode::kEQ)); 174 TEST_INSTRUCTION("23005FBA", ccmn(x1, xzr, 3, CondCode::kEQ)); 175 TEST_INSTRUCTION("2300427A", ccmp(w1, w2, 3, CondCode::kEQ)); 176 TEST_INSTRUCTION("230042FA", ccmp(x1, x2, 3, CondCode::kEQ)); 177 TEST_INSTRUCTION("2308427A", ccmp(w1, 2, 3, CondCode::kEQ)); 178 TEST_INSTRUCTION("230842FA", ccmp(x1, 2, 3, CondCode::kEQ)); 179 TEST_INSTRUCTION("23005F7A", ccmp(w1, wzr, 3, CondCode::kEQ)); 180 TEST_INSTRUCTION("23005FFA", ccmp(x1, xzr, 3, CondCode::kEQ)); 181 TEST_INSTRUCTION("1F4000D5", cfinv()); 182 TEST_INSTRUCTION("4114821A", cinc(w1, w2, CondCode::kEQ)); 183 TEST_INSTRUCTION("4114829A", cinc(x1, x2, CondCode::kEQ)); 184 TEST_INSTRUCTION("5F14821A", cinc(wzr, w2, CondCode::kEQ)); 185 TEST_INSTRUCTION("E1179F1A", cinc(w1, wzr, CondCode::kEQ)); 186 TEST_INSTRUCTION("5F14829A", cinc(xzr, x2, CondCode::kEQ)); 187 TEST_INSTRUCTION("E1179F9A", cinc(x1, xzr, CondCode::kEQ)); 188 TEST_INSTRUCTION("4110825A", cinv(w1, w2, CondCode::kEQ)); 189 TEST_INSTRUCTION("411082DA", cinv(x1, x2, CondCode::kEQ)); 190 TEST_INSTRUCTION("5F10825A", cinv(wzr, w2, CondCode::kEQ)); 191 TEST_INSTRUCTION("E1139F5A", cinv(w1, wzr, CondCode::kEQ)); 192 TEST_INSTRUCTION("5F1082DA", cinv(xzr, x2, CondCode::kEQ)); 193 TEST_INSTRUCTION("E1139FDA", cinv(x1, xzr, CondCode::kEQ)); 194 TEST_INSTRUCTION("DF2203D5", clrbhb()); 195 TEST_INSTRUCTION("1F2503D5", chkfeat(x16)); 196 TEST_INSTRUCTION("5F3B03D5", clrex(11)); 197 TEST_INSTRUCTION("4114C05A", cls(w1, w2)); 198 TEST_INSTRUCTION("4114C0DA", cls(x1, x2)); 199 TEST_INSTRUCTION("E117C05A", cls(w1, wzr)); 200 TEST_INSTRUCTION("E117C0DA", cls(x1, xzr)); 201 TEST_INSTRUCTION("5F14C05A", cls(wzr, w2)); 202 TEST_INSTRUCTION("5F14C0DA", cls(xzr, x2)); 203 TEST_INSTRUCTION("4110C05A", clz(w1, w2)); 204 TEST_INSTRUCTION("4110C0DA", clz(x1, x2)); 205 TEST_INSTRUCTION("E113C05A", clz(w1, wzr)); 206 TEST_INSTRUCTION("E113C0DA", clz(x1, xzr)); 207 TEST_INSTRUCTION("5F10C05A", clz(wzr, w2)); 208 TEST_INSTRUCTION("5F10C0DA", clz(xzr, x2)); 209 TEST_INSTRUCTION("3F840031", cmn(w1, 33)); 210 TEST_INSTRUCTION("3FFC4331", cmn(w1, 0xFF000)); 211 TEST_INSTRUCTION("FF030231", cmn(wsp, 128)); 212 TEST_INSTRUCTION("3F8400B1", cmn(x1, 33)); 213 TEST_INSTRUCTION("3FFC43B1", cmn(x1, 0xFF000)); 214 TEST_INSTRUCTION("FF0302B1", cmn(sp, 128)); 215 TEST_INSTRUCTION("3F00022B", cmn(w1, w2)); 216 TEST_INSTRUCTION("3F0002AB", cmn(x1, x2)); 217 TEST_INSTRUCTION("3F08222B", cmn(w1, w2, uxtb(2))); 218 TEST_INSTRUCTION("3F0822AB", cmn(x1, w2, uxtb(2))); 219 TEST_INSTRUCTION("5F4023AB", cmn(x2, w3, uxtw(0))); 220 TEST_INSTRUCTION("FF43212B", cmn(wsp, w1)); 221 TEST_INSTRUCTION("FF07212B", cmn(wsp, w1, uxtb(1))); 222 TEST_INSTRUCTION("FF6321AB", cmn(sp, x1)); 223 TEST_INSTRUCTION("FF6721AB", cmn(sp, x1, uxtx(1))); 224 TEST_INSTRUCTION("3F840071", cmp(w1, 33)); 225 TEST_INSTRUCTION("3FFC4371", cmp(w1, 0xFF000)); 226 TEST_INSTRUCTION("FF030271", cmp(wsp, 128)); 227 TEST_INSTRUCTION("3F8400F1", cmp(x1, 33)); 228 TEST_INSTRUCTION("3FFC43F1", cmp(x1, 0xFF000)); 229 TEST_INSTRUCTION("FF0302F1", cmp(sp, 128)); 230 TEST_INSTRUCTION("3F00026B", cmp(w1, w2)); 231 TEST_INSTRUCTION("3F0002EB", cmp(x1, x2)); 232 TEST_INSTRUCTION("3F08226B", cmp(w1, w2, uxtb(2))); 233 TEST_INSTRUCTION("3F0822EB", cmp(x1, w2, uxtb(2))); 234 TEST_INSTRUCTION("5F4023EB", cmp(x2, w3, uxtw(0))); 235 TEST_INSTRUCTION("FF43216B", cmp(wsp, w1)); 236 TEST_INSTRUCTION("FF07216B", cmp(wsp, w1, uxtb(1))); 237 TEST_INSTRUCTION("FF6321EB", cmp(sp, x1)); 238 TEST_INSTRUCTION("FF6721EB", cmp(sp, x1, uxtx(1))); 239 TEST_INSTRUCTION("3F00C2BA", cmpp(x1, x2)); 240 TEST_INSTRUCTION("3F00DFBA", cmpp(x1, sp)); 241 TEST_INSTRUCTION("FF03C2BA", cmpp(sp, x2)); 242 TEST_INSTRUCTION("FF03DFBA", cmpp(sp, sp)); 243 TEST_INSTRUCTION("411CC05A", cnt(w1, w2)); 244 TEST_INSTRUCTION("411CC0DA", cnt(x1, x2)); 245 TEST_INSTRUCTION("4140C31A", crc32b(w1, w2, w3)); 246 TEST_INSTRUCTION("5F40C31A", crc32b(wzr, w2, w3)); 247 TEST_INSTRUCTION("E143C31A", crc32b(w1, wzr, w3)); 248 TEST_INSTRUCTION("4140DF1A", crc32b(w1, w2, wzr)); 249 TEST_INSTRUCTION("4150C31A", crc32cb(w1, w2, w3)); 250 TEST_INSTRUCTION("5F50C31A", crc32cb(wzr, w2, w3)); 251 TEST_INSTRUCTION("E153C31A", crc32cb(w1, wzr, w3)); 252 TEST_INSTRUCTION("4150DF1A", crc32cb(w1, w2, wzr)); 253 TEST_INSTRUCTION("4154C31A", crc32ch(w1, w2, w3)); 254 TEST_INSTRUCTION("5F54C31A", crc32ch(wzr, w2, w3)); 255 TEST_INSTRUCTION("E157C31A", crc32ch(w1, wzr, w3)); 256 TEST_INSTRUCTION("4154DF1A", crc32ch(w1, w2, wzr)); 257 TEST_INSTRUCTION("4158C31A", crc32cw(w1, w2, w3)); 258 TEST_INSTRUCTION("5F58C31A", crc32cw(wzr, w2, w3)); 259 TEST_INSTRUCTION("E15BC31A", crc32cw(w1, wzr, w3)); 260 TEST_INSTRUCTION("4158DF1A", crc32cw(w1, w2, wzr)); 261 TEST_INSTRUCTION("415CC39A", crc32cx(w1, w2, x3)); 262 TEST_INSTRUCTION("5F5CC39A", crc32cx(wzr, w2, x3)); 263 TEST_INSTRUCTION("E15FC39A", crc32cx(w1, wzr, x3)); 264 TEST_INSTRUCTION("415CDF9A", crc32cx(w1, w2, xzr)); 265 TEST_INSTRUCTION("4144C31A", crc32h(w1, w2, w3)); 266 TEST_INSTRUCTION("5F44C31A", crc32h(wzr, w2, w3)); 267 TEST_INSTRUCTION("E147C31A", crc32h(w1, wzr, w3)); 268 TEST_INSTRUCTION("4144DF1A", crc32h(w1, w2, wzr)); 269 TEST_INSTRUCTION("4148C31A", crc32w(w1, w2, w3)); 270 TEST_INSTRUCTION("5F48C31A", crc32w(wzr, w2, w3)); 271 TEST_INSTRUCTION("E14BC31A", crc32w(w1, wzr, w3)); 272 TEST_INSTRUCTION("4148DF1A", crc32w(w1, w2, wzr)); 273 TEST_INSTRUCTION("414CC39A", crc32x(w1, w2, x3)); 274 TEST_INSTRUCTION("5F4CC39A", crc32x(wzr, w2, x3)); 275 TEST_INSTRUCTION("E14FC39A", crc32x(w1, wzr, x3)); 276 TEST_INSTRUCTION("414CDF9A", crc32x(w1, w2, xzr)); 277 TEST_INSTRUCTION("9F2203D5", csdb()); 278 TEST_INSTRUCTION("4100831A", csel(w1, w2, w3, CondCode::kEQ)); 279 TEST_INSTRUCTION("4100839A", csel(x1, x2, x3, CondCode::kEQ)); 280 TEST_INSTRUCTION("E1179F1A", cset(w1, CondCode::kEQ)); 281 TEST_INSTRUCTION("E1179F9A", cset(x1, CondCode::kEQ)); 282 TEST_INSTRUCTION("E1179F1A", cset(w1, CondCode::kEQ)); 283 TEST_INSTRUCTION("E1179F9A", cset(x1, CondCode::kEQ)); 284 TEST_INSTRUCTION("E1139F5A", csetm(w1, CondCode::kEQ)); 285 TEST_INSTRUCTION("E1139FDA", csetm(x1, CondCode::kEQ)); 286 TEST_INSTRUCTION("4104831A", csinc(w1, w2, w3, CondCode::kEQ)); 287 TEST_INSTRUCTION("4104839A", csinc(x1, x2, x3, CondCode::kEQ)); 288 TEST_INSTRUCTION("4100835A", csinv(w1, w2, w3, CondCode::kEQ)); 289 TEST_INSTRUCTION("410083DA", csinv(x1, x2, x3, CondCode::kEQ)); 290 TEST_INSTRUCTION("4104835A", csneg(w1, w2, w3, CondCode::kEQ)); 291 TEST_INSTRUCTION("410483DA", csneg(x1, x2, x3, CondCode::kEQ)); 292 TEST_INSTRUCTION("4118C05A", ctz(w1, w2)); 293 TEST_INSTRUCTION("4118C0DA", ctz(x1, x2)); 294 TEST_INSTRUCTION("2F740BD5", dc(Predicate::DC::kZVA, x15)); 295 TEST_INSTRUCTION("2100B0D4", dcps1(0x8001)); 296 TEST_INSTRUCTION("2200B0D4", dcps2(0x8001)); 297 TEST_INSTRUCTION("2300B0D4", dcps3(0x8001)); 298 TEST_INSTRUCTION("DF2003D5", dgh()); 299 TEST_INSTRUCTION("BF3103D5", dmb(1)); 300 TEST_INSTRUCTION("E003BFD6", drps()); 301 TEST_INSTRUCTION("9F3103D5", dsb(1)); 302 TEST_INSTRUCTION("4100234A", eon(w1, w2, w3)); 303 TEST_INSTRUCTION("5F00234A", eon(wzr, w2, w3)); 304 TEST_INSTRUCTION("E103234A", eon(w1, wzr, w3)); 305 TEST_INSTRUCTION("41003F4A", eon(w1, w2, wzr)); 306 TEST_INSTRUCTION("4110234A", eon(w1, w2, w3, lsl(4))); 307 TEST_INSTRUCTION("410023CA", eon(x1, x2, x3)); 308 TEST_INSTRUCTION("5F0023CA", eon(xzr, x2, x3)); 309 TEST_INSTRUCTION("E10323CA", eon(x1, xzr, x3)); 310 TEST_INSTRUCTION("41003FCA", eon(x1, x2, xzr)); 311 TEST_INSTRUCTION("411023CA", eon(x1, x2, x3, lsl(4))); 312 TEST_INSTRUCTION("4100034A", eor(w1, w2, w3)); 313 TEST_INSTRUCTION("5F00034A", eor(wzr, w2, w3)); 314 TEST_INSTRUCTION("E103034A", eor(w1, wzr, w3)); 315 TEST_INSTRUCTION("41001F4A", eor(w1, w2, wzr)); 316 TEST_INSTRUCTION("410003CA", eor(x1, x2, x3)); 317 TEST_INSTRUCTION("5F0003CA", eor(xzr, x2, x3)); 318 TEST_INSTRUCTION("E10303CA", eor(x1, xzr, x3)); 319 TEST_INSTRUCTION("41001FCA", eor(x1, x2, xzr)); 320 TEST_INSTRUCTION("4110034A", eor(w1, w2, w3, lsl(4))); 321 TEST_INSTRUCTION("411003CA", eor(x1, x2, x3, lsl(4))); 322 TEST_INSTRUCTION("3F1C0052", eor(wsp, w1, 0xFF)); 323 TEST_INSTRUCTION("FF1F0052", eor(wsp, wzr, 0xFF)); 324 TEST_INSTRUCTION("3F1C40D2", eor(sp, x1, 0xFF)); 325 TEST_INSTRUCTION("FF1F40D2", eor(sp, xzr, 0xFF)); 326 TEST_INSTRUCTION("41001252", eor(w1, w2, 0x4000)); 327 TEST_INSTRUCTION("410071D2", eor(x1, x2, 0x8000)); 328 TEST_INSTRUCTION("E0039FD6", eret()); 329 TEST_INSTRUCTION("1F2203D5", esb()); 330 TEST_INSTRUCTION("413C8313", extr(w1, w2, w3, 15)); 331 TEST_INSTRUCTION("5F3C8313", extr(wzr, w2, w3, 15)); 332 TEST_INSTRUCTION("E13F8313", extr(w1, wzr, w3, 15)); 333 TEST_INSTRUCTION("413C9F13", extr(w1, w2, wzr, 15)); 334 TEST_INSTRUCTION("413CC393", extr(x1, x2, x3, 15)); 335 TEST_INSTRUCTION("5F3CC393", extr(xzr, x2, x3, 15)); 336 TEST_INSTRUCTION("E13FC393", extr(x1, xzr, x3, 15)); 337 TEST_INSTRUCTION("413CDF93", extr(x1, x2, xzr, 15)); 338 TEST_INSTRUCTION("4114C39A", gmi(x1, x2, x3)); 339 TEST_INSTRUCTION("E117C39A", gmi(x1, sp, x3)); 340 TEST_INSTRUCTION("200040D4", hlt(1)); 341 TEST_INSTRUCTION("220000D4", hvc(1)); 342 TEST_INSTRUCTION("2F750BD5", ic(Predicate::IC::kIVAU, x15)); 343 TEST_INSTRUCTION("DF3103D5", isb(1)); 344 TEST_INSTRUCTION("620021B8", ldadd(w1, w2, ptr(x3))); 345 TEST_INSTRUCTION("E20321B8", ldadd(w1, w2, ptr(sp))); 346 TEST_INSTRUCTION("620021F8", ldadd(x1, x2, ptr(x3))); 347 TEST_INSTRUCTION("E20321F8", ldadd(x1, x2, ptr(sp))); 348 TEST_INSTRUCTION("6200A1B8", ldadda(w1, w2, ptr(x3))); 349 TEST_INSTRUCTION("E203A1B8", ldadda(w1, w2, ptr(sp))); 350 TEST_INSTRUCTION("6200A1F8", ldadda(x1, x2, ptr(x3))); 351 TEST_INSTRUCTION("E203A1F8", ldadda(x1, x2, ptr(sp))); 352 TEST_INSTRUCTION("6200A138", ldaddab(w1, w2, ptr(x3))); 353 TEST_INSTRUCTION("E203A138", ldaddab(w1, w2, ptr(sp))); 354 TEST_INSTRUCTION("6200A178", ldaddah(w1, w2, ptr(x3))); 355 TEST_INSTRUCTION("E203A178", ldaddah(w1, w2, ptr(sp))); 356 TEST_INSTRUCTION("6200E1B8", ldaddal(w1, w2, ptr(x3))); 357 TEST_INSTRUCTION("E203E1B8", ldaddal(w1, w2, ptr(sp))); 358 TEST_INSTRUCTION("6200E1F8", ldaddal(x1, x2, ptr(x3))); 359 TEST_INSTRUCTION("E203E1F8", ldaddal(x1, x2, ptr(sp))); 360 TEST_INSTRUCTION("6200E138", ldaddalb(w1, w2, ptr(x3))); 361 TEST_INSTRUCTION("E203E138", ldaddalb(w1, w2, ptr(sp))); 362 TEST_INSTRUCTION("6200E178", ldaddalh(w1, w2, ptr(x3))); 363 TEST_INSTRUCTION("E203E178", ldaddalh(w1, w2, ptr(sp))); 364 TEST_INSTRUCTION("62002138", ldaddb(w1, w2, ptr(x3))); 365 TEST_INSTRUCTION("E2032138", ldaddb(w1, w2, ptr(sp))); 366 TEST_INSTRUCTION("62002178", ldaddh(w1, w2, ptr(x3))); 367 TEST_INSTRUCTION("E2032178", ldaddh(w1, w2, ptr(sp))); 368 TEST_INSTRUCTION("620061B8", ldaddl(w1, w2, ptr(x3))); 369 TEST_INSTRUCTION("E20361B8", ldaddl(w1, w2, ptr(sp))); 370 TEST_INSTRUCTION("620061F8", ldaddl(x1, x2, ptr(x3))); 371 TEST_INSTRUCTION("E20361F8", ldaddl(x1, x2, ptr(sp))); 372 TEST_INSTRUCTION("62006138", ldaddlb(w1, w2, ptr(x3))); 373 TEST_INSTRUCTION("E2036138", ldaddlb(w1, w2, ptr(sp))); 374 TEST_INSTRUCTION("62006178", ldaddlh(w1, w2, ptr(x3))); 375 TEST_INSTRUCTION("E2036178", ldaddlh(w1, w2, ptr(sp))); 376 TEST_INSTRUCTION("621021B8", ldclr(w1, w2, ptr(x3))); 377 TEST_INSTRUCTION("E21321B8", ldclr(w1, w2, ptr(sp))); 378 TEST_INSTRUCTION("621021F8", ldclr(x1, x2, ptr(x3))); 379 TEST_INSTRUCTION("E21321F8", ldclr(x1, x2, ptr(sp))); 380 TEST_INSTRUCTION("6210A1B8", ldclra(w1, w2, ptr(x3))); 381 TEST_INSTRUCTION("E213A1B8", ldclra(w1, w2, ptr(sp))); 382 TEST_INSTRUCTION("6210A1F8", ldclra(x1, x2, ptr(x3))); 383 TEST_INSTRUCTION("E213A1F8", ldclra(x1, x2, ptr(sp))); 384 TEST_INSTRUCTION("6210A138", ldclrab(w1, w2, ptr(x3))); 385 TEST_INSTRUCTION("E213A138", ldclrab(w1, w2, ptr(sp))); 386 TEST_INSTRUCTION("6210A178", ldclrah(w1, w2, ptr(x3))); 387 TEST_INSTRUCTION("E213A178", ldclrah(w1, w2, ptr(sp))); 388 TEST_INSTRUCTION("6210E1B8", ldclral(w1, w2, ptr(x3))); 389 TEST_INSTRUCTION("E213E1B8", ldclral(w1, w2, ptr(sp))); 390 TEST_INSTRUCTION("6210E1F8", ldclral(x1, x2, ptr(x3))); 391 TEST_INSTRUCTION("E213E1F8", ldclral(x1, x2, ptr(sp))); 392 TEST_INSTRUCTION("6210E138", ldclralb(w1, w2, ptr(x3))); 393 TEST_INSTRUCTION("E213E138", ldclralb(w1, w2, ptr(sp))); 394 TEST_INSTRUCTION("6210E178", ldclralh(w1, w2, ptr(x3))); 395 TEST_INSTRUCTION("E213E178", ldclralh(w1, w2, ptr(sp))); 396 TEST_INSTRUCTION("62102138", ldclrb(w1, w2, ptr(x3))); 397 TEST_INSTRUCTION("E2132138", ldclrb(w1, w2, ptr(sp))); 398 TEST_INSTRUCTION("62102178", ldclrh(w1, w2, ptr(x3))); 399 TEST_INSTRUCTION("E2132178", ldclrh(w1, w2, ptr(sp))); 400 TEST_INSTRUCTION("621061B8", ldclrl(w1, w2, ptr(x3))); 401 TEST_INSTRUCTION("E21361B8", ldclrl(w1, w2, ptr(sp))); 402 TEST_INSTRUCTION("621061F8", ldclrl(x1, x2, ptr(x3))); 403 TEST_INSTRUCTION("E21361F8", ldclrl(x1, x2, ptr(sp))); 404 TEST_INSTRUCTION("62106138", ldclrlb(w1, w2, ptr(x3))); 405 TEST_INSTRUCTION("E2136138", ldclrlb(w1, w2, ptr(sp))); 406 TEST_INSTRUCTION("62106178", ldclrlh(w1, w2, ptr(x3))); 407 TEST_INSTRUCTION("E2136178", ldclrlh(w1, w2, ptr(sp))); 408 TEST_INSTRUCTION("622021B8", ldeor(w1, w2, ptr(x3))); 409 TEST_INSTRUCTION("E22321B8", ldeor(w1, w2, ptr(sp))); 410 TEST_INSTRUCTION("622021F8", ldeor(x1, x2, ptr(x3))); 411 TEST_INSTRUCTION("E22321F8", ldeor(x1, x2, ptr(sp))); 412 TEST_INSTRUCTION("6220A1B8", ldeora(w1, w2, ptr(x3))); 413 TEST_INSTRUCTION("E223A1B8", ldeora(w1, w2, ptr(sp))); 414 TEST_INSTRUCTION("6220A1F8", ldeora(x1, x2, ptr(x3))); 415 TEST_INSTRUCTION("E223A1F8", ldeora(x1, x2, ptr(sp))); 416 TEST_INSTRUCTION("6220A138", ldeorab(w1, w2, ptr(x3))); 417 TEST_INSTRUCTION("E223A138", ldeorab(w1, w2, ptr(sp))); 418 TEST_INSTRUCTION("6220A178", ldeorah(w1, w2, ptr(x3))); 419 TEST_INSTRUCTION("E223A178", ldeorah(w1, w2, ptr(sp))); 420 TEST_INSTRUCTION("6220E1B8", ldeoral(w1, w2, ptr(x3))); 421 TEST_INSTRUCTION("E223E1B8", ldeoral(w1, w2, ptr(sp))); 422 TEST_INSTRUCTION("6220E1F8", ldeoral(x1, x2, ptr(x3))); 423 TEST_INSTRUCTION("E223E1F8", ldeoral(x1, x2, ptr(sp))); 424 TEST_INSTRUCTION("6220E138", ldeoralb(w1, w2, ptr(x3))); 425 TEST_INSTRUCTION("E223E138", ldeoralb(w1, w2, ptr(sp))); 426 TEST_INSTRUCTION("6220E178", ldeoralh(w1, w2, ptr(x3))); 427 TEST_INSTRUCTION("E223E178", ldeoralh(w1, w2, ptr(sp))); 428 TEST_INSTRUCTION("62202138", ldeorb(w1, w2, ptr(x3))); 429 TEST_INSTRUCTION("E2232138", ldeorb(w1, w2, ptr(sp))); 430 TEST_INSTRUCTION("62202178", ldeorh(w1, w2, ptr(x3))); 431 TEST_INSTRUCTION("E2232178", ldeorh(w1, w2, ptr(sp))); 432 TEST_INSTRUCTION("622061B8", ldeorl(w1, w2, ptr(x3))); 433 TEST_INSTRUCTION("E22361B8", ldeorl(w1, w2, ptr(sp))); 434 TEST_INSTRUCTION("622061F8", ldeorl(x1, x2, ptr(x3))); 435 TEST_INSTRUCTION("E22361F8", ldeorl(x1, x2, ptr(sp))); 436 TEST_INSTRUCTION("62206138", ldeorlb(w1, w2, ptr(x3))); 437 TEST_INSTRUCTION("E2236138", ldeorlb(w1, w2, ptr(sp))); 438 TEST_INSTRUCTION("62206178", ldeorlh(w1, w2, ptr(x3))); 439 TEST_INSTRUCTION("E2236178", ldeorlh(w1, w2, ptr(sp))); 440 TEST_INSTRUCTION("410060D9", ldg(x1, ptr(x2))); 441 TEST_INSTRUCTION("418060D9", ldg(x1, ptr(x2, 128))); 442 TEST_INSTRUCTION("E10360D9", ldg(x1, ptr(sp))); 443 TEST_INSTRUCTION("E18360D9", ldg(x1, ptr(sp, 128))); 444 TEST_INSTRUCTION("4100E0D9", ldgm(x1, ptr(x2))); 445 TEST_INSTRUCTION("E103E0D9", ldgm(x1, ptr(sp))); 446 TEST_INSTRUCTION("417CDF88", ldlar(w1, ptr(x2))); 447 TEST_INSTRUCTION("E17FDF88", ldlar(w1, ptr(sp))); 448 TEST_INSTRUCTION("417CDFC8", ldlar(x1, ptr(x2))); 449 TEST_INSTRUCTION("E17FDFC8", ldlar(x1, ptr(sp))); 450 TEST_INSTRUCTION("417CDF08", ldlarb(w1, ptr(x2))); 451 TEST_INSTRUCTION("E17FDF08", ldlarb(w1, ptr(sp))); 452 TEST_INSTRUCTION("417CDF48", ldlarh(w1, ptr(x2))); 453 TEST_INSTRUCTION("E17FDF48", ldlarh(w1, ptr(sp))); 454 TEST_INSTRUCTION("41084028", ldnp(w1, w2, ptr(x2))); 455 TEST_INSTRUCTION("41086028", ldnp(w1, w2, ptr(x2, -256))); 456 TEST_INSTRUCTION("41885F28", ldnp(w1, w2, ptr(x2, 252))); 457 TEST_INSTRUCTION("410840A8", ldnp(x1, x2, ptr(x2))); 458 TEST_INSTRUCTION("410860A8", ldnp(x1, x2, ptr(x2, -512))); 459 TEST_INSTRUCTION("41885FA8", ldnp(x1, x2, ptr(x2, 504))); 460 TEST_INSTRUCTION("41084029", ldp(w1, w2, ptr(x2))); 461 TEST_INSTRUCTION("41086029", ldp(w1, w2, ptr(x2, -256))); 462 TEST_INSTRUCTION("41885F29", ldp(w1, w2, ptr(x2, 252))); 463 TEST_INSTRUCTION("410840A9", ldp(x1, x2, ptr(x2))); 464 TEST_INSTRUCTION("410860A9", ldp(x1, x2, ptr(x2, -512))); 465 TEST_INSTRUCTION("41885FA9", ldp(x1, x2, ptr(x2, 504))); 466 TEST_INSTRUCTION("41084069", ldpsw(x1, x2, ptr(x2))); 467 TEST_INSTRUCTION("41086069", ldpsw(x1, x2, ptr(x2, -256))); 468 TEST_INSTRUCTION("41885F69", ldpsw(x1, x2, ptr(x2, 252))); 469 TEST_INSTRUCTION("410040B9", ldr(w1, ptr(x2))); 470 TEST_INSTRUCTION("413040B9", ldr(w1, ptr(x2, 48))); 471 TEST_INSTRUCTION("410C43B8", ldr(w1, ptr_pre(x2, 48))); 472 TEST_INSTRUCTION("416863B8", ldr(w1, ptr(x2, x3))); 473 TEST_INSTRUCTION("410040F9", ldr(x1, ptr(x2))); 474 TEST_INSTRUCTION("411840F9", ldr(x1, ptr(x2, 48))); 475 TEST_INSTRUCTION("410C43F8", ldr(x1, ptr_pre(x2, 48))); 476 TEST_INSTRUCTION("416863F8", ldr(x1, ptr(x2, x3))); 477 TEST_INSTRUCTION("FB0F5FF8", ldr(x27, ptr_pre(sp, -16))); 478 TEST_INSTRUCTION("FB0741F8", ldr(x27, ptr_post(sp, 16))); 479 TEST_INSTRUCTION("411040B8", ldr(w1, ptr(x2, 1))); // LDUR 480 TEST_INSTRUCTION("41D05FB8", ldr(w1, ptr(x2, -3))); // LDUR 481 TEST_INSTRUCTION("41705FB8", ldr(w1, ptr(x2, -9))); // LDUR 482 TEST_INSTRUCTION("411040F8", ldr(x1, ptr(x2, 1))); // LDUR 483 TEST_INSTRUCTION("413040F8", ldr(x1, ptr(x2, 3))); // LDUR 484 TEST_INSTRUCTION("41705FF8", ldr(x1, ptr(x2, -9))); // LDUR 485 TEST_INSTRUCTION("41004039", ldrb(w1, ptr(x2))); 486 TEST_INSTRUCTION("41C04039", ldrb(w1, ptr(x2, 48))); 487 TEST_INSTRUCTION("410C4338", ldrb(w1, ptr_pre(x2, 48))); 488 TEST_INSTRUCTION("41686338", ldrb(w1, ptr(x2, x3))); 489 TEST_INSTRUCTION("41044039", ldrb(w1, ptr(x2, 1))); 490 TEST_INSTRUCTION("41D05F38", ldrb(w1, ptr(x2, -3))); // LDURB 491 TEST_INSTRUCTION("41705F38", ldrb(w1, ptr(x2, -9))); // LDURB 492 TEST_INSTRUCTION("41004079", ldrh(w1, ptr(x2))); 493 TEST_INSTRUCTION("41604079", ldrh(w1, ptr(x2, 48))); 494 TEST_INSTRUCTION("410C4378", ldrh(w1, ptr_pre(x2, 48))); 495 TEST_INSTRUCTION("41686378", ldrh(w1, ptr(x2, x3))); 496 TEST_INSTRUCTION("41104078", ldrh(w1, ptr(x2, 1))); // LDURH 497 TEST_INSTRUCTION("41D05F78", ldrh(w1, ptr(x2, -3))); // LDURH 498 TEST_INSTRUCTION("41705F78", ldrh(w1, ptr(x2, -9))); // LDURH 499 TEST_INSTRUCTION("4168E338", ldrsb(w1, ptr(x2, x3))); 500 TEST_INSTRUCTION("4104C039", ldrsb(w1, ptr(x2, 1))); 501 TEST_INSTRUCTION("4120C039", ldrsb(w1, ptr(x2, 8))); 502 TEST_INSTRUCTION("41D0DF38", ldrsb(w1, ptr(x2, -3))); // LDURSB 503 TEST_INSTRUCTION("4170DF38", ldrsb(w1, ptr(x2, -9))); // LDURSB 504 TEST_INSTRUCTION("4168A338", ldrsb(x1, ptr(x2, x3))); 505 TEST_INSTRUCTION("41048039", ldrsb(x1, ptr(x2, 1))); 506 TEST_INSTRUCTION("41208039", ldrsb(x1, ptr(x2, 8))); 507 TEST_INSTRUCTION("41D09F38", ldrsb(x1, ptr(x2, -3))); // LDURSB 508 TEST_INSTRUCTION("41709F38", ldrsb(x1, ptr(x2, -9))); // LDURSB 509 TEST_INSTRUCTION("4168E378", ldrsh(w1, ptr(x2, x3))); 510 TEST_INSTRUCTION("4110C078", ldrsh(w1, ptr(x2, 1))); // LDURSH 511 TEST_INSTRUCTION("4110C079", ldrsh(w1, ptr(x2, 8))); 512 TEST_INSTRUCTION("41D0DF78", ldrsh(w1, ptr(x2, -3))); // LDURSH 513 TEST_INSTRUCTION("4170DF78", ldrsh(w1, ptr(x2, -9))); // LDURSH 514 TEST_INSTRUCTION("4168A378", ldrsh(x1, ptr(x2, x3))); 515 TEST_INSTRUCTION("41108078", ldrsh(x1, ptr(x2, 1))); // LDURSH 516 TEST_INSTRUCTION("41108079", ldrsh(x1, ptr(x2, 8))); 517 TEST_INSTRUCTION("41D09F78", ldrsh(x1, ptr(x2, -3))); // LDURSH 518 TEST_INSTRUCTION("41709F78", ldrsh(x1, ptr(x2, -9))); // LDURSH 519 TEST_INSTRUCTION("410080B9", ldrsw(x1, ptr(x2))); 520 TEST_INSTRUCTION("413080B9", ldrsw(x1, ptr(x2, 48))); 521 TEST_INSTRUCTION("410C83B8", ldrsw(x1, ptr_pre(x2, 48))); 522 TEST_INSTRUCTION("410483B8", ldrsw(x1, ptr_post(x2, 48))); 523 TEST_INSTRUCTION("4168A3B8", ldrsw(x1, ptr(x2, x3))); 524 TEST_INSTRUCTION("411080B8", ldrsw(x1, ptr(x2, 1))); // LDURSW 525 TEST_INSTRUCTION("413080B8", ldrsw(x1, ptr(x2, 3))); // LDURSW 526 TEST_INSTRUCTION("41709FB8", ldrsw(x1, ptr(x2, -9))); // LDURSW 527 TEST_INSTRUCTION("410420F8", ldraa(x1, ptr(x2))); 528 TEST_INSTRUCTION("410460F8", ldraa(x1, ptr(x2, -4096))); 529 TEST_INSTRUCTION("410C60F8", ldraa(x1, ptr_pre(x2, -4096))); 530 TEST_INSTRUCTION("41FC3FF8", ldraa(x1, ptr_pre(x2, 4088))); 531 TEST_INSTRUCTION("E10720F8", ldraa(x1, ptr(sp))); 532 TEST_INSTRUCTION("E10760F8", ldraa(x1, ptr(sp, -4096))); 533 TEST_INSTRUCTION("E10F60F8", ldraa(x1, ptr_pre(sp, -4096))); 534 TEST_INSTRUCTION("E1FF3FF8", ldraa(x1, ptr_pre(sp, 4088))); 535 TEST_INSTRUCTION("4104A0F8", ldrab(x1, ptr(x2))); 536 TEST_INSTRUCTION("4104E0F8", ldrab(x1, ptr(x2, -4096))); 537 TEST_INSTRUCTION("410CE0F8", ldrab(x1, ptr_pre(x2, -4096))); 538 TEST_INSTRUCTION("41FCBFF8", ldrab(x1, ptr_pre(x2, 4088))); 539 TEST_INSTRUCTION("E107A0F8", ldrab(x1, ptr(sp))); 540 TEST_INSTRUCTION("E107E0F8", ldrab(x1, ptr(sp, -4096))); 541 TEST_INSTRUCTION("E10FE0F8", ldrab(x1, ptr_pre(sp, -4096))); 542 TEST_INSTRUCTION("E1FFBFF8", ldrab(x1, ptr_pre(sp, 4088))); 543 TEST_INSTRUCTION("60DBA0B8", ldrsw(x0, ptr(x27, w0, sxtw(2)))); 544 TEST_INSTRUCTION("623021B8", ldset(w1, w2, ptr(x3))); 545 TEST_INSTRUCTION("E23321B8", ldset(w1, w2, ptr(sp))); 546 TEST_INSTRUCTION("623021F8", ldset(x1, x2, ptr(x3))); 547 TEST_INSTRUCTION("E23321F8", ldset(x1, x2, ptr(sp))); 548 TEST_INSTRUCTION("6230A1B8", ldseta(w1, w2, ptr(x3))); 549 TEST_INSTRUCTION("E233A1B8", ldseta(w1, w2, ptr(sp))); 550 TEST_INSTRUCTION("6230A1F8", ldseta(x1, x2, ptr(x3))); 551 TEST_INSTRUCTION("E233A1F8", ldseta(x1, x2, ptr(sp))); 552 TEST_INSTRUCTION("6230A138", ldsetab(w1, w2, ptr(x3))); 553 TEST_INSTRUCTION("E233A138", ldsetab(w1, w2, ptr(sp))); 554 TEST_INSTRUCTION("6230A178", ldsetah(w1, w2, ptr(x3))); 555 TEST_INSTRUCTION("E233A178", ldsetah(w1, w2, ptr(sp))); 556 TEST_INSTRUCTION("6230E1B8", ldsetal(w1, w2, ptr(x3))); 557 TEST_INSTRUCTION("E233E1B8", ldsetal(w1, w2, ptr(sp))); 558 TEST_INSTRUCTION("6230E1F8", ldsetal(x1, x2, ptr(x3))); 559 TEST_INSTRUCTION("E233E1F8", ldsetal(x1, x2, ptr(sp))); 560 TEST_INSTRUCTION("6230E178", ldsetalh(w1, w2, ptr(x3))); 561 TEST_INSTRUCTION("E233E178", ldsetalh(w1, w2, ptr(sp))); 562 TEST_INSTRUCTION("6230E138", ldsetalb(w1, w2, ptr(x3))); 563 TEST_INSTRUCTION("E233E138", ldsetalb(w1, w2, ptr(sp))); 564 TEST_INSTRUCTION("62302138", ldsetb(w1, w2, ptr(x3))); 565 TEST_INSTRUCTION("E2332138", ldsetb(w1, w2, ptr(sp))); 566 TEST_INSTRUCTION("62302178", ldseth(w1, w2, ptr(x3))); 567 TEST_INSTRUCTION("E2332178", ldseth(w1, w2, ptr(sp))); 568 TEST_INSTRUCTION("623061B8", ldsetl(w1, w2, ptr(x3))); 569 TEST_INSTRUCTION("E23361B8", ldsetl(w1, w2, ptr(sp))); 570 TEST_INSTRUCTION("623061F8", ldsetl(x1, x2, ptr(x3))); 571 TEST_INSTRUCTION("E23361F8", ldsetl(x1, x2, ptr(sp))); 572 TEST_INSTRUCTION("62306138", ldsetlb(w1, w2, ptr(x3))); 573 TEST_INSTRUCTION("E2336138", ldsetlb(w1, w2, ptr(sp))); 574 TEST_INSTRUCTION("62306178", ldsetlh(w1, w2, ptr(x3))); 575 TEST_INSTRUCTION("E2336178", ldsetlh(w1, w2, ptr(sp))); 576 TEST_INSTRUCTION("624021B8", ldsmax(w1, w2, ptr(x3))); 577 TEST_INSTRUCTION("E24321B8", ldsmax(w1, w2, ptr(sp))); 578 TEST_INSTRUCTION("624021F8", ldsmax(x1, x2, ptr(x3))); 579 TEST_INSTRUCTION("E24321F8", ldsmax(x1, x2, ptr(sp))); 580 TEST_INSTRUCTION("6240A1B8", ldsmaxa(w1, w2, ptr(x3))); 581 TEST_INSTRUCTION("E243A1B8", ldsmaxa(w1, w2, ptr(sp))); 582 TEST_INSTRUCTION("6240A1F8", ldsmaxa(x1, x2, ptr(x3))); 583 TEST_INSTRUCTION("E243A1F8", ldsmaxa(x1, x2, ptr(sp))); 584 TEST_INSTRUCTION("6240A138", ldsmaxab(w1, w2, ptr(x3))); 585 TEST_INSTRUCTION("E243A138", ldsmaxab(w1, w2, ptr(sp))); 586 TEST_INSTRUCTION("6240A178", ldsmaxah(w1, w2, ptr(x3))); 587 TEST_INSTRUCTION("E243A178", ldsmaxah(w1, w2, ptr(sp))); 588 TEST_INSTRUCTION("6240E1B8", ldsmaxal(w1, w2, ptr(x3))); 589 TEST_INSTRUCTION("E243E1B8", ldsmaxal(w1, w2, ptr(sp))); 590 TEST_INSTRUCTION("6240E1F8", ldsmaxal(x1, x2, ptr(x3))); 591 TEST_INSTRUCTION("E243E1F8", ldsmaxal(x1, x2, ptr(sp))); 592 TEST_INSTRUCTION("6240E138", ldsmaxalb(w1, w2, ptr(x3))); 593 TEST_INSTRUCTION("E243E138", ldsmaxalb(w1, w2, ptr(sp))); 594 TEST_INSTRUCTION("6240E178", ldsmaxalh(w1, w2, ptr(x3))); 595 TEST_INSTRUCTION("E243E178", ldsmaxalh(w1, w2, ptr(sp))); 596 TEST_INSTRUCTION("62402138", ldsmaxb(w1, w2, ptr(x3))); 597 TEST_INSTRUCTION("E2432138", ldsmaxb(w1, w2, ptr(sp))); 598 TEST_INSTRUCTION("62402178", ldsmaxh(w1, w2, ptr(x3))); 599 TEST_INSTRUCTION("E2432178", ldsmaxh(w1, w2, ptr(sp))); 600 TEST_INSTRUCTION("624061B8", ldsmaxl(w1, w2, ptr(x3))); 601 TEST_INSTRUCTION("E24361B8", ldsmaxl(w1, w2, ptr(sp))); 602 TEST_INSTRUCTION("624061F8", ldsmaxl(x1, x2, ptr(x3))); 603 TEST_INSTRUCTION("E24361F8", ldsmaxl(x1, x2, ptr(sp))); 604 TEST_INSTRUCTION("62406138", ldsmaxlb(w1, w2, ptr(x3))); 605 TEST_INSTRUCTION("E2436138", ldsmaxlb(w1, w2, ptr(sp))); 606 TEST_INSTRUCTION("62406178", ldsmaxlh(w1, w2, ptr(x3))); 607 TEST_INSTRUCTION("E2436178", ldsmaxlh(w1, w2, ptr(sp))); 608 TEST_INSTRUCTION("625021B8", ldsmin(w1, w2, ptr(x3))); 609 TEST_INSTRUCTION("E25321B8", ldsmin(w1, w2, ptr(sp))); 610 TEST_INSTRUCTION("625021F8", ldsmin(x1, x2, ptr(x3))); 611 TEST_INSTRUCTION("E25321F8", ldsmin(x1, x2, ptr(sp))); 612 TEST_INSTRUCTION("6250A1B8", ldsmina(w1, w2, ptr(x3))); 613 TEST_INSTRUCTION("E253A1B8", ldsmina(w1, w2, ptr(sp))); 614 TEST_INSTRUCTION("6250A1F8", ldsmina(x1, x2, ptr(x3))); 615 TEST_INSTRUCTION("E253A1F8", ldsmina(x1, x2, ptr(sp))); 616 TEST_INSTRUCTION("6250A138", ldsminab(w1, w2, ptr(x3))); 617 TEST_INSTRUCTION("E253A138", ldsminab(w1, w2, ptr(sp))); 618 TEST_INSTRUCTION("6250A178", ldsminah(w1, w2, ptr(x3))); 619 TEST_INSTRUCTION("E253A178", ldsminah(w1, w2, ptr(sp))); 620 TEST_INSTRUCTION("6250E1B8", ldsminal(w1, w2, ptr(x3))); 621 TEST_INSTRUCTION("E253E1B8", ldsminal(w1, w2, ptr(sp))); 622 TEST_INSTRUCTION("6250E1F8", ldsminal(x1, x2, ptr(x3))); 623 TEST_INSTRUCTION("E253E1F8", ldsminal(x1, x2, ptr(sp))); 624 TEST_INSTRUCTION("6250E138", ldsminalb(w1, w2, ptr(x3))); 625 TEST_INSTRUCTION("E253E138", ldsminalb(w1, w2, ptr(sp))); 626 TEST_INSTRUCTION("6250E178", ldsminalh(w1, w2, ptr(x3))); 627 TEST_INSTRUCTION("E253E178", ldsminalh(w1, w2, ptr(sp))); 628 TEST_INSTRUCTION("62502138", ldsminb(w1, w2, ptr(x3))); 629 TEST_INSTRUCTION("E2532138", ldsminb(w1, w2, ptr(sp))); 630 TEST_INSTRUCTION("62502178", ldsminh(w1, w2, ptr(x3))); 631 TEST_INSTRUCTION("E2532178", ldsminh(w1, w2, ptr(sp))); 632 TEST_INSTRUCTION("625061B8", ldsminl(w1, w2, ptr(x3))); 633 TEST_INSTRUCTION("E25361B8", ldsminl(w1, w2, ptr(sp))); 634 TEST_INSTRUCTION("625061F8", ldsminl(x1, x2, ptr(x3))); 635 TEST_INSTRUCTION("E25361F8", ldsminl(x1, x2, ptr(sp))); 636 TEST_INSTRUCTION("62506138", ldsminlb(w1, w2, ptr(x3))); 637 TEST_INSTRUCTION("E2536138", ldsminlb(w1, w2, ptr(sp))); 638 TEST_INSTRUCTION("62506178", ldsminlh(w1, w2, ptr(x3))); 639 TEST_INSTRUCTION("E2536178", ldsminlh(w1, w2, ptr(sp))); 640 TEST_INSTRUCTION("410840B8", ldtr(w1, ptr(x2))); 641 TEST_INSTRUCTION("411848B8", ldtr(w1, ptr(x2, 129))); 642 TEST_INSTRUCTION("E10B40B8", ldtr(w1, ptr(sp))); 643 TEST_INSTRUCTION("E11B48B8", ldtr(w1, ptr(sp, 129))); 644 TEST_INSTRUCTION("410840F8", ldtr(x1, ptr(x2))); 645 TEST_INSTRUCTION("411848F8", ldtr(x1, ptr(x2, 129))); 646 TEST_INSTRUCTION("E10B40F8", ldtr(x1, ptr(sp))); 647 TEST_INSTRUCTION("E11B48F8", ldtr(x1, ptr(sp, 129))); 648 TEST_INSTRUCTION("41084038", ldtrb(w1, ptr(x2))); 649 TEST_INSTRUCTION("41184838", ldtrb(w1, ptr(x2, 129))); 650 TEST_INSTRUCTION("E10B4038", ldtrb(w1, ptr(sp))); 651 TEST_INSTRUCTION("E11B4838", ldtrb(w1, ptr(sp, 129))); 652 TEST_INSTRUCTION("41084078", ldtrh(w1, ptr(x2))); 653 TEST_INSTRUCTION("41184878", ldtrh(w1, ptr(x2, 129))); 654 TEST_INSTRUCTION("E10B4078", ldtrh(w1, ptr(sp))); 655 TEST_INSTRUCTION("E11B4878", ldtrh(w1, ptr(sp, 129))); 656 TEST_INSTRUCTION("4108C038", ldtrsb(w1, ptr(x2))); 657 TEST_INSTRUCTION("4118C838", ldtrsb(w1, ptr(x2, 129))); 658 TEST_INSTRUCTION("E10BC038", ldtrsb(w1, ptr(sp))); 659 TEST_INSTRUCTION("E11BC838", ldtrsb(w1, ptr(sp, 129))); 660 TEST_INSTRUCTION("4108C078", ldtrsh(w1, ptr(x2))); 661 TEST_INSTRUCTION("4118C878", ldtrsh(w1, ptr(x2, 129))); 662 TEST_INSTRUCTION("E10BC078", ldtrsh(w1, ptr(sp))); 663 TEST_INSTRUCTION("E11BC878", ldtrsh(w1, ptr(sp, 129))); 664 TEST_INSTRUCTION("410880B8", ldtrsw(x1, ptr(x2))); 665 TEST_INSTRUCTION("411888B8", ldtrsw(x1, ptr(x2, 129))); 666 TEST_INSTRUCTION("E10B80B8", ldtrsw(x1, ptr(sp))); 667 TEST_INSTRUCTION("E11B88B8", ldtrsw(x1, ptr(sp, 129))); 668 TEST_INSTRUCTION("626021B8", ldumax(w1, w2, ptr(x3))); 669 TEST_INSTRUCTION("E26321B8", ldumax(w1, w2, ptr(sp))); 670 TEST_INSTRUCTION("626021F8", ldumax(x1, x2, ptr(x3))); 671 TEST_INSTRUCTION("E26321F8", ldumax(x1, x2, ptr(sp))); 672 TEST_INSTRUCTION("6260A1B8", ldumaxa(w1, w2, ptr(x3))); 673 TEST_INSTRUCTION("E263A1B8", ldumaxa(w1, w2, ptr(sp))); 674 TEST_INSTRUCTION("6260A1F8", ldumaxa(x1, x2, ptr(x3))); 675 TEST_INSTRUCTION("E263A1F8", ldumaxa(x1, x2, ptr(sp))); 676 TEST_INSTRUCTION("6260A138", ldumaxab(w1, w2, ptr(x3))); 677 TEST_INSTRUCTION("E263A138", ldumaxab(w1, w2, ptr(sp))); 678 TEST_INSTRUCTION("6260A178", ldumaxah(w1, w2, ptr(x3))); 679 TEST_INSTRUCTION("E263A178", ldumaxah(w1, w2, ptr(sp))); 680 TEST_INSTRUCTION("6260E1B8", ldumaxal(w1, w2, ptr(x3))); 681 TEST_INSTRUCTION("E263E1B8", ldumaxal(w1, w2, ptr(sp))); 682 TEST_INSTRUCTION("6260E1F8", ldumaxal(x1, x2, ptr(x3))); 683 TEST_INSTRUCTION("E263E1F8", ldumaxal(x1, x2, ptr(sp))); 684 TEST_INSTRUCTION("6260E138", ldumaxalb(w1, w2, ptr(x3))); 685 TEST_INSTRUCTION("E263E138", ldumaxalb(w1, w2, ptr(sp))); 686 TEST_INSTRUCTION("6260E178", ldumaxalh(w1, w2, ptr(x3))); 687 TEST_INSTRUCTION("E263E178", ldumaxalh(w1, w2, ptr(sp))); 688 TEST_INSTRUCTION("62602138", ldumaxb(w1, w2, ptr(x3))); 689 TEST_INSTRUCTION("E2632138", ldumaxb(w1, w2, ptr(sp))); 690 TEST_INSTRUCTION("62602178", ldumaxh(w1, w2, ptr(x3))); 691 TEST_INSTRUCTION("E2632178", ldumaxh(w1, w2, ptr(sp))); 692 TEST_INSTRUCTION("626061B8", ldumaxl(w1, w2, ptr(x3))); 693 TEST_INSTRUCTION("E26361B8", ldumaxl(w1, w2, ptr(sp))); 694 TEST_INSTRUCTION("626061F8", ldumaxl(x1, x2, ptr(x3))); 695 TEST_INSTRUCTION("E26361F8", ldumaxl(x1, x2, ptr(sp))); 696 TEST_INSTRUCTION("62606138", ldumaxlb(w1, w2, ptr(x3))); 697 TEST_INSTRUCTION("E2636138", ldumaxlb(w1, w2, ptr(sp))); 698 TEST_INSTRUCTION("62606178", ldumaxlh(w1, w2, ptr(x3))); 699 TEST_INSTRUCTION("E2636178", ldumaxlh(w1, w2, ptr(sp))); 700 TEST_INSTRUCTION("627021B8", ldumin(w1, w2, ptr(x3))); 701 TEST_INSTRUCTION("E27321B8", ldumin(w1, w2, ptr(sp))); 702 TEST_INSTRUCTION("627021F8", ldumin(x1, x2, ptr(x3))); 703 TEST_INSTRUCTION("E27321F8", ldumin(x1, x2, ptr(sp))); 704 TEST_INSTRUCTION("6270A1B8", ldumina(w1, w2, ptr(x3))); 705 TEST_INSTRUCTION("E273A1B8", ldumina(w1, w2, ptr(sp))); 706 TEST_INSTRUCTION("6270A1F8", ldumina(x1, x2, ptr(x3))); 707 TEST_INSTRUCTION("E273A1F8", ldumina(x1, x2, ptr(sp))); 708 TEST_INSTRUCTION("6270A138", lduminab(w1, w2, ptr(x3))); 709 TEST_INSTRUCTION("E273A138", lduminab(w1, w2, ptr(sp))); 710 TEST_INSTRUCTION("6270A178", lduminah(w1, w2, ptr(x3))); 711 TEST_INSTRUCTION("E273A178", lduminah(w1, w2, ptr(sp))); 712 TEST_INSTRUCTION("6270E1B8", lduminal(w1, w2, ptr(x3))); 713 TEST_INSTRUCTION("E273E1B8", lduminal(w1, w2, ptr(sp))); 714 TEST_INSTRUCTION("6270E1F8", lduminal(x1, x2, ptr(x3))); 715 TEST_INSTRUCTION("E273E1F8", lduminal(x1, x2, ptr(sp))); 716 TEST_INSTRUCTION("6270E138", lduminalb(w1, w2, ptr(x3))); 717 TEST_INSTRUCTION("E273E138", lduminalb(w1, w2, ptr(sp))); 718 TEST_INSTRUCTION("6270E178", lduminalh(w1, w2, ptr(x3))); 719 TEST_INSTRUCTION("E273E178", lduminalh(w1, w2, ptr(sp))); 720 TEST_INSTRUCTION("62702138", lduminb(w1, w2, ptr(x3))); 721 TEST_INSTRUCTION("E2732138", lduminb(w1, w2, ptr(sp))); 722 TEST_INSTRUCTION("62702178", lduminh(w1, w2, ptr(x3))); 723 TEST_INSTRUCTION("E2732178", lduminh(w1, w2, ptr(sp))); 724 TEST_INSTRUCTION("627061B8", lduminl(w1, w2, ptr(x3))); 725 TEST_INSTRUCTION("E27361B8", lduminl(w1, w2, ptr(sp))); 726 TEST_INSTRUCTION("627061F8", lduminl(x1, x2, ptr(x3))); 727 TEST_INSTRUCTION("E27361F8", lduminl(x1, x2, ptr(sp))); 728 TEST_INSTRUCTION("62706138", lduminlb(w1, w2, ptr(x3))); 729 TEST_INSTRUCTION("E2736138", lduminlb(w1, w2, ptr(sp))); 730 TEST_INSTRUCTION("62706178", lduminlh(w1, w2, ptr(x3))); 731 TEST_INSTRUCTION("E2736178", lduminlh(w1, w2, ptr(sp))); 732 TEST_INSTRUCTION("410040B8", ldur(w1, ptr(x2))); 733 TEST_INSTRUCTION("411048B8", ldur(w1, ptr(x2, 129))); 734 TEST_INSTRUCTION("E10340B8", ldur(w1, ptr(sp))); 735 TEST_INSTRUCTION("E11348B8", ldur(w1, ptr(sp, 129))); 736 TEST_INSTRUCTION("410040F8", ldur(x1, ptr(x2))); 737 TEST_INSTRUCTION("411048F8", ldur(x1, ptr(x2, 129))); 738 TEST_INSTRUCTION("E10340F8", ldur(x1, ptr(sp))); 739 TEST_INSTRUCTION("E11348F8", ldur(x1, ptr(sp, 129))); 740 TEST_INSTRUCTION("41004038", ldurb(w1, ptr(x2))); 741 TEST_INSTRUCTION("41104838", ldurb(w1, ptr(x2, 129))); 742 TEST_INSTRUCTION("E1034038", ldurb(w1, ptr(sp))); 743 TEST_INSTRUCTION("E1134838", ldurb(w1, ptr(sp, 129))); 744 TEST_INSTRUCTION("41004078", ldurh(w1, ptr(x2))); 745 TEST_INSTRUCTION("41104878", ldurh(w1, ptr(x2, 129))); 746 TEST_INSTRUCTION("E1034078", ldurh(w1, ptr(sp))); 747 TEST_INSTRUCTION("E1134878", ldurh(w1, ptr(sp, 129))); 748 TEST_INSTRUCTION("4100C038", ldursb(w1, ptr(x2))); 749 TEST_INSTRUCTION("4110C838", ldursb(w1, ptr(x2, 129))); 750 TEST_INSTRUCTION("E103C038", ldursb(w1, ptr(sp))); 751 TEST_INSTRUCTION("E113C838", ldursb(w1, ptr(sp, 129))); 752 TEST_INSTRUCTION("4100C078", ldursh(w1, ptr(x2))); 753 TEST_INSTRUCTION("4110C878", ldursh(w1, ptr(x2, 129))); 754 TEST_INSTRUCTION("E103C078", ldursh(w1, ptr(sp))); 755 TEST_INSTRUCTION("E113C878", ldursh(w1, ptr(sp, 129))); 756 TEST_INSTRUCTION("410080B8", ldursw(x1, ptr(x2))); 757 TEST_INSTRUCTION("411088B8", ldursw(x1, ptr(x2, 129))); 758 TEST_INSTRUCTION("E10380B8", ldursw(x1, ptr(sp))); 759 TEST_INSTRUCTION("E11388B8", ldursw(x1, ptr(sp, 129))); 760 TEST_INSTRUCTION("420080B8", ldursw(x2, ptr(x2))); 761 TEST_INSTRUCTION("421088B8", ldursw(x2, ptr(x2, 129))); 762 TEST_INSTRUCTION("E20380B8", ldursw(x2, ptr(sp))); 763 TEST_INSTRUCTION("E21388B8", ldursw(x2, ptr(sp, 129))); 764 TEST_INSTRUCTION("61087F88", ldxp(w1, w2, ptr(x3))); 765 TEST_INSTRUCTION("E10B7F88", ldxp(w1, w2, ptr(sp))); 766 TEST_INSTRUCTION("61087FC8", ldxp(x1, x2, ptr(x3))); 767 TEST_INSTRUCTION("E10B7FC8", ldxp(x1, x2, ptr(sp))); 768 TEST_INSTRUCTION("417C5F88", ldxr(w1, ptr(x2))); 769 TEST_INSTRUCTION("E17F5F88", ldxr(w1, ptr(sp))); 770 TEST_INSTRUCTION("417C5FC8", ldxr(x1, ptr(x2))); 771 TEST_INSTRUCTION("E17F5FC8", ldxr(x1, ptr(sp))); 772 TEST_INSTRUCTION("417C5F08", ldxrb(w1, ptr(x2))); 773 TEST_INSTRUCTION("E17F5F08", ldxrb(w1, ptr(sp))); 774 TEST_INSTRUCTION("417C5F48", ldxrh(w1, ptr(x2))); 775 TEST_INSTRUCTION("E17F5F48", ldxrh(w1, ptr(sp))); 776 TEST_INSTRUCTION("4120C31A", lsl(w1, w2, w3)); 777 TEST_INSTRUCTION("4120C39A", lsl(x1, x2, x3)); 778 TEST_INSTRUCTION("41401153", lsl(w1, w2, 15)); 779 TEST_INSTRUCTION("41C071D3", lsl(x1, x2, 15)); 780 TEST_INSTRUCTION("4120C31A", lslv(w1, w2, w3)); 781 TEST_INSTRUCTION("4120C39A", lslv(x1, x2, x3)); 782 TEST_INSTRUCTION("4124C31A", lsr(w1, w2, w3)); 783 TEST_INSTRUCTION("4124C39A", lsr(x1, x2, x3)); 784 TEST_INSTRUCTION("417C0F53", lsr(w1, w2, 15)); 785 TEST_INSTRUCTION("41FC4FD3", lsr(x1, x2, 15)); 786 TEST_INSTRUCTION("4124C31A", lsrv(w1, w2, w3)); 787 TEST_INSTRUCTION("4124C39A", lsrv(x1, x2, x3)); 788 TEST_INSTRUCTION("4110031B", madd(w1, w2, w3, w4)); 789 TEST_INSTRUCTION("4110039B", madd(x1, x2, x3, x4)); 790 TEST_INSTRUCTION("41FC031B", mneg(w1, w2, w3)); 791 TEST_INSTRUCTION("41FC039B", mneg(x1, x2, x3)); 792 TEST_INSTRUCTION("E103022A", mov(w1, w2)); 793 TEST_INSTRUCTION("E10302AA", mov(x1, x2)); 794 TEST_INSTRUCTION("01008052", mov(w1, 0)); 795 TEST_INSTRUCTION("01008012", mov(w1, -1)); 796 TEST_INSTRUCTION("21008052", mov(w1, 1)); 797 TEST_INSTRUCTION("41008052", mov(w1, 2)); 798 TEST_INSTRUCTION("61008052", mov(w1, 3)); 799 TEST_INSTRUCTION("81008052", mov(w1, 4)); 800 TEST_INSTRUCTION("A1008052", mov(w1, 5)); 801 TEST_INSTRUCTION("C1008052", mov(w1, 6)); 802 TEST_INSTRUCTION("E1008052", mov(w1, 7)); 803 TEST_INSTRUCTION("01018052", mov(w1, 8)); 804 TEST_INSTRUCTION("21018052", mov(w1, 9)); 805 TEST_INSTRUCTION("41018052", mov(w1, 10)); 806 TEST_INSTRUCTION("8146A252", mov(w1, 0x12340000)); 807 TEST_INSTRUCTION("81468252", mov(w1, 0x00001234)); 808 TEST_INSTRUCTION("61B9BD12", mov(w1, 0x1234FFFF)); 809 TEST_INSTRUCTION("61B99D12", mov(w1, 0xFFFF1234)); 810 TEST_INSTRUCTION("010080D2", mov(x1, 0)); 811 TEST_INSTRUCTION("01008092", mov(x1, -1)); 812 TEST_INSTRUCTION("8146E2D2", mov(x1, 0x1234000000000000)); 813 TEST_INSTRUCTION("8146C2D2", mov(x1, 0x0000123400000000)); 814 TEST_INSTRUCTION("8146A2D2", mov(x1, 0x0000000012340000)); 815 TEST_INSTRUCTION("814682D2", mov(x1, 0x0000000000001234)); 816 TEST_INSTRUCTION("61B9FD92", mov(x1, 0x1234FFFFFFFFFFFF)); 817 TEST_INSTRUCTION("61B9DD92", mov(x1, 0xFFFF1234FFFFFFFF)); 818 TEST_INSTRUCTION("61B9BD92", mov(x1, 0xFFFFFFFF1234FFFF)); 819 TEST_INSTRUCTION("61B99D92", mov(x1, 0xFFFFFFFFFFFF1234)); 820 TEST_INSTRUCTION("E1030011", mov(w1, wsp)); 821 TEST_INSTRUCTION("E1030091", mov(x1, sp)); 822 TEST_INSTRUCTION("3F000011", mov(wsp, w1)); 823 TEST_INSTRUCTION("FF3F0032", mov(wsp, 0xFFFF)); 824 TEST_INSTRUCTION("3F000091", mov(sp, x1)); 825 TEST_INSTRUCTION("FF3F40B2", mov(sp, 0xFFFF)); 826 TEST_INSTRUCTION("FF030011", mov(wsp, wsp)); 827 TEST_INSTRUCTION("FF030091", mov(sp, sp)); 828 TEST_INSTRUCTION("015138D5", mrs(x1, Predicate::SysReg::kAFSR0_EL1)); 829 TEST_INSTRUCTION("01423BD5", mrs(x1, Predicate::SysReg::kNZCV)); 830 TEST_INSTRUCTION("015118D5", msr(Predicate::SysReg::kAFSR0_EL1, x1)); 831 TEST_INSTRUCTION("01421BD5", msr(Predicate::SysReg::kNZCV, x1)); 832 TEST_INSTRUCTION("4190031B", msub(w1, w2, w3, w4)); 833 TEST_INSTRUCTION("4190039B", msub(x1, x2, x3, x4)); 834 TEST_INSTRUCTION("417C031B", mul(w1, w2, w3)); 835 TEST_INSTRUCTION("417C039B", mul(x1, x2, x3)); 836 TEST_INSTRUCTION("E103222A", mvn_(w1, w2)); 837 TEST_INSTRUCTION("E10322AA", mvn_(x1, x2)); 838 TEST_INSTRUCTION("E113222A", mvn_(w1, w2, lsl(4))); 839 TEST_INSTRUCTION("E11322AA", mvn_(x1, x2, lsl(4))); 840 TEST_INSTRUCTION("E103024B", neg(w1, w2)); 841 TEST_INSTRUCTION("E10302CB", neg(x1, x2)); 842 TEST_INSTRUCTION("E113024B", neg(w1, w2, lsl(4))); 843 TEST_INSTRUCTION("E11302CB", neg(x1, x2, lsl(4))); 844 TEST_INSTRUCTION("E103026B", negs(w1, w2)); 845 TEST_INSTRUCTION("E10302EB", negs(x1, x2)); 846 TEST_INSTRUCTION("E113026B", negs(w1, w2, lsl(4))); 847 TEST_INSTRUCTION("E11302EB", negs(x1, x2, lsl(4))); 848 TEST_INSTRUCTION("E103025A", ngc(w1, w2)); 849 TEST_INSTRUCTION("E10302DA", ngc(x1, x2)); 850 TEST_INSTRUCTION("E103027A", ngcs(w1, w2)); 851 TEST_INSTRUCTION("E10302FA", ngcs(x1, x2)); 852 TEST_INSTRUCTION("4100232A", orn(w1, w2, w3)); 853 TEST_INSTRUCTION("410023AA", orn(x1, x2, x3)); 854 TEST_INSTRUCTION("4110232A", orn(w1, w2, w3, lsl(4))); 855 TEST_INSTRUCTION("411023AA", orn(x1, x2, x3, lsl(4))); 856 TEST_INSTRUCTION("4100032A", orr(w1, w2, w3)); 857 TEST_INSTRUCTION("410003AA", orr(x1, x2, x3)); 858 TEST_INSTRUCTION("4110032A", orr(w1, w2, w3, lsl(4))); 859 TEST_INSTRUCTION("411003AA", orr(x1, x2, x3, lsl(4))); 860 TEST_INSTRUCTION("3F1C0032", orr(wsp, w1, 0xFF)); 861 TEST_INSTRUCTION("3F1C40B2", orr(sp, x1, 0xFF)); 862 TEST_INSTRUCTION("41001232", orr(w1, w2, 0x4000)); 863 TEST_INSTRUCTION("410071B2", orr(x1, x2, 0x8000)); 864 TEST_INSTRUCTION("E8030032", orr(w8, wzr, 0x1)); 865 TEST_INSTRUCTION("E80340B2", orr(x8, xzr, 0x1)); 866 TEST_INSTRUCTION("4108C1DA", pacda(x1, x2)); 867 TEST_INSTRUCTION("E10BC1DA", pacda(x1, sp)); 868 TEST_INSTRUCTION("410CC1DA", pacdb(x1, x2)); 869 TEST_INSTRUCTION("E10FC1DA", pacdb(x1, sp)); 870 TEST_INSTRUCTION("E12BC1DA", pacdza(x1)); 871 TEST_INSTRUCTION("F42BC1DA", pacdza(x20)); 872 TEST_INSTRUCTION("E12FC1DA", pacdzb(x1)); 873 TEST_INSTRUCTION("F42FC1DA", pacdzb(x20)); 874 TEST_INSTRUCTION("4130C39A", pacga(x1, x2, x3)); 875 TEST_INSTRUCTION("4130DF9A", pacga(x1, x2, sp)); 876 TEST_INSTRUCTION("204080F9", prfm(Predicate::PRFOp::kPLDL1KEEP, ptr(x1, 128))); 877 TEST_INSTRUCTION("401098F8", prfm(Predicate::PRFOp::kPLDL1KEEP, ptr(x2, -127))); 878 TEST_INSTRUCTION("601088F8", prfm(Predicate::PRFOp::kPLDL1KEEP, ptr(x3, 129))); 879 TEST_INSTRUCTION("6068A4F8", prfm(Predicate::PRFOp::kPLDL1KEEP, ptr(x3, x4))); 880 TEST_INSTRUCTION("6078A4F8", prfm(Predicate::PRFOp::kPLDL1KEEP, ptr(x3, x4, lsl(3)))); 881 TEST_INSTRUCTION("60C8A4F8", prfm(Predicate::PRFOp::kPLDL1KEEP, ptr(x3, x4, sxtw(0)))); 882 TEST_INSTRUCTION("73D8A4F8", prfm(Predicate::PRFOp::kPSTL2STRM, ptr(x3, x4, sxtw(3)))); 883 TEST_INSTRUCTION("9F3403D5", pssbb()); 884 TEST_INSTRUCTION("4100C05A", rbit(w1, w2)); 885 TEST_INSTRUCTION("4100C0DA", rbit(x1, x2)); 886 TEST_INSTRUCTION("4108C05A", rev(w1, w2)); 887 TEST_INSTRUCTION("410CC0DA", rev(x1, x2)); 888 TEST_INSTRUCTION("4104C05A", rev16(w1, w2)); 889 TEST_INSTRUCTION("4104C0DA", rev16(x1, x2)); 890 TEST_INSTRUCTION("4108C0DA", rev32(x1, x2)); 891 TEST_INSTRUCTION("410CC0DA", rev64(x1, x2)); 892 TEST_INSTRUCTION("412CC31A", ror(w1, w2, w3)); 893 TEST_INSTRUCTION("412CC39A", ror(x1, x2, x3)); 894 TEST_INSTRUCTION("413C8213", ror(w1, w2, 15)); 895 TEST_INSTRUCTION("413CC293", ror(x1, x2, 15)); 896 TEST_INSTRUCTION("412CC31A", rorv(w1, w2, w3)); 897 TEST_INSTRUCTION("412CC39A", rorv(x1, x2, x3)); 898 TEST_INSTRUCTION("4100035A", sbc(w1, w2, w3)); 899 TEST_INSTRUCTION("410003DA", sbc(x1, x2, x3)); 900 TEST_INSTRUCTION("4100037A", sbcs(w1, w2, w3)); 901 TEST_INSTRUCTION("410003FA", sbcs(x1, x2, x3)); 902 TEST_INSTRUCTION("41241B13", sbfiz(w1, w2, 5, 10)); 903 TEST_INSTRUCTION("41247B93", sbfiz(x1, x2, 5, 10)); 904 TEST_INSTRUCTION("41280513", sbfm(w1, w2, 5, 10)); 905 TEST_INSTRUCTION("41284593", sbfm(x1, x2, 5, 10)); 906 TEST_INSTRUCTION("41380513", sbfx(w1, w2, 5, 10)); 907 TEST_INSTRUCTION("41384593", sbfx(x1, x2, 5, 10)); 908 TEST_INSTRUCTION("410CC31A", sdiv(w1, w2, w3)); 909 TEST_INSTRUCTION("410CC39A", sdiv(x1, x2, x3)); 910 TEST_INSTRUCTION("2D08003A", setf8(w1)); 911 TEST_INSTRUCTION("2D48003A", setf16(w1)); 912 TEST_INSTRUCTION("4110239B", smaddl(x1, w2, w3, x4)); 913 TEST_INSTRUCTION("4160C31A", smax(w1, w2, w3)); 914 TEST_INSTRUCTION("4160C39A", smax(x1, x2, x3)); 915 TEST_INSTRUCTION("4134C011", smax(w1, w2, 13)); 916 TEST_INSTRUCTION("4134C091", smax(x1, x2, 13)); 917 TEST_INSTRUCTION("230000D4", smc(1)); 918 TEST_INSTRUCTION("4168C31A", smin(w1, w2, w3)); 919 TEST_INSTRUCTION("4168C39A", smin(x1, x2, x3)); 920 TEST_INSTRUCTION("4134C811", smin(w1, w2, 13)); 921 TEST_INSTRUCTION("4134C891", smin(x1, x2, 13)); 922 TEST_INSTRUCTION("41FC239B", smnegl(x1, w2, w3)); 923 TEST_INSTRUCTION("4190239B", smsubl(x1, w2, w3, x4)); 924 TEST_INSTRUCTION("417C439B", smulh(x1, x2, x3)); 925 TEST_INSTRUCTION("417C239B", smull(x1, w2, w3)); 926 TEST_INSTRUCTION("9F3003D5", ssbb()); 927 TEST_INSTRUCTION("4108A0D9", st2g(x1, ptr(x2))); 928 TEST_INSTRUCTION("4188A0D9", st2g(x1, ptr(x2, 128))); 929 TEST_INSTRUCTION("418CA0D9", st2g(x1, ptr_pre(x2, 128))); 930 TEST_INSTRUCTION("4184A0D9", st2g(x1, ptr_post(x2, 128))); 931 TEST_INSTRUCTION("E10BA0D9", st2g(x1, ptr(sp))); 932 TEST_INSTRUCTION("E18BA0D9", st2g(x1, ptr(sp, 128))); 933 TEST_INSTRUCTION("E18FA0D9", st2g(x1, ptr_pre(sp, 128))); 934 TEST_INSTRUCTION("E187A0D9", st2g(x1, ptr_post(sp, 128))); 935 TEST_INSTRUCTION("5F08A0D9", st2g(sp, ptr(x2))); 936 TEST_INSTRUCTION("5F88A0D9", st2g(sp, ptr(x2, 128))); 937 TEST_INSTRUCTION("5F8CA0D9", st2g(sp, ptr_pre(x2, 128))); 938 TEST_INSTRUCTION("5F84A0D9", st2g(sp, ptr_post(x2, 128))); 939 TEST_INSTRUCTION("FF0BA0D9", st2g(sp, ptr(sp))); 940 TEST_INSTRUCTION("FF8BA0D9", st2g(sp, ptr(sp, 128))); 941 TEST_INSTRUCTION("FF8FA0D9", st2g(sp, ptr_pre(sp, 128))); 942 TEST_INSTRUCTION("FF87A0D9", st2g(sp, ptr_post(sp, 128))); 943 TEST_INSTRUCTION("410820D9", stg(x1, ptr(x2))); 944 TEST_INSTRUCTION("418820D9", stg(x1, ptr(x2, 128))); 945 TEST_INSTRUCTION("418C20D9", stg(x1, ptr_pre(x2, 128))); 946 TEST_INSTRUCTION("418420D9", stg(x1, ptr_post(x2, 128))); 947 TEST_INSTRUCTION("E10B20D9", stg(x1, ptr(sp))); 948 TEST_INSTRUCTION("E18B20D9", stg(x1, ptr(sp, 128))); 949 TEST_INSTRUCTION("E18F20D9", stg(x1, ptr_pre(sp, 128))); 950 TEST_INSTRUCTION("E18720D9", stg(x1, ptr_post(sp, 128))); 951 TEST_INSTRUCTION("5F0820D9", stg(sp, ptr(x2))); 952 TEST_INSTRUCTION("5F8820D9", stg(sp, ptr(x2, 128))); 953 TEST_INSTRUCTION("5F8C20D9", stg(sp, ptr_pre(x2, 128))); 954 TEST_INSTRUCTION("5F8420D9", stg(sp, ptr_post(x2, 128))); 955 TEST_INSTRUCTION("FF0B20D9", stg(sp, ptr(sp))); 956 TEST_INSTRUCTION("FF8B20D9", stg(sp, ptr(sp, 128))); 957 TEST_INSTRUCTION("FF8F20D9", stg(sp, ptr_pre(sp, 128))); 958 TEST_INSTRUCTION("FF8720D9", stg(sp, ptr_post(sp, 128))); 959 TEST_INSTRUCTION("4100A0D9", stgm(x1, ptr(x2))); 960 TEST_INSTRUCTION("E103A0D9", stgm(x1, ptr(sp))); 961 TEST_INSTRUCTION("FF03A0D9", stgm(xzr, ptr(sp))); 962 TEST_INSTRUCTION("61080069", stgp(x1, x2, ptr(x3))); 963 TEST_INSTRUCTION("61082069", stgp(x1, x2, ptr(x3, -1024))); 964 TEST_INSTRUCTION("6108A069", stgp(x1, x2, ptr_pre(x3, -1024))); 965 TEST_INSTRUCTION("6108A068", stgp(x1, x2, ptr_post(x3, -1024))); 966 TEST_INSTRUCTION("61881F69", stgp(x1, x2, ptr(x3, 1008))); 967 TEST_INSTRUCTION("61889F69", stgp(x1, x2, ptr_pre(x3, 1008))); 968 TEST_INSTRUCTION("61889F68", stgp(x1, x2, ptr_post(x3, 1008))); 969 TEST_INSTRUCTION("E10B0069", stgp(x1, x2, ptr(sp))); 970 TEST_INSTRUCTION("E10B2069", stgp(x1, x2, ptr(sp, -1024))); 971 TEST_INSTRUCTION("E10BA069", stgp(x1, x2, ptr_pre(sp, -1024))); 972 TEST_INSTRUCTION("E10BA068", stgp(x1, x2, ptr_post(sp, -1024))); 973 TEST_INSTRUCTION("E18B1F69", stgp(x1, x2, ptr(sp, 1008))); 974 TEST_INSTRUCTION("E18B9F69", stgp(x1, x2, ptr_pre(sp, 1008))); 975 TEST_INSTRUCTION("E18B9F68", stgp(x1, x2, ptr_post(sp, 1008))); 976 TEST_INSTRUCTION("41080029", stp(w1, w2, ptr(x2))); 977 TEST_INSTRUCTION("41082029", stp(w1, w2, ptr(x2, -256))); 978 TEST_INSTRUCTION("41881F29", stp(w1, w2, ptr(x2, 252))); 979 TEST_INSTRUCTION("410800A9", stp(x1, x2, ptr(x2))); 980 TEST_INSTRUCTION("410820A9", stp(x1, x2, ptr(x2, -512))); 981 TEST_INSTRUCTION("41881FA9", stp(x1, x2, ptr(x2, 504))); 982 TEST_INSTRUCTION("FB0F1FF8", str(x27, ptr_pre(sp, -16))); 983 TEST_INSTRUCTION("411000B8", str(w1, ptr(x2, 1))); // STUR 984 TEST_INSTRUCTION("41D01FB8", str(w1, ptr(x2, -3))); // STUR 985 TEST_INSTRUCTION("41701FB8", str(w1, ptr(x2, -9))); // STUR 986 TEST_INSTRUCTION("411000F8", str(x1, ptr(x2, 1))); // STUR 987 TEST_INSTRUCTION("413000F8", str(x1, ptr(x2, 3))); // STUR 988 TEST_INSTRUCTION("41701FF8", str(x1, ptr(x2, -9))); // STUR 989 TEST_INSTRUCTION("41040039", strb(w1, ptr(x2, 1))); 990 TEST_INSTRUCTION("41D01F38", strb(w1, ptr(x2, -3))); // STURB 991 TEST_INSTRUCTION("41701F38", strb(w1, ptr(x2, -9))); // STURB 992 TEST_INSTRUCTION("41100078", strh(w1, ptr(x2, 1))); // STURH 993 TEST_INSTRUCTION("41D01F78", strh(w1, ptr(x2, -3))); // STURH 994 TEST_INSTRUCTION("41701F78", strh(w1, ptr(x2, -9))); // STURH 995 TEST_INSTRUCTION("410800B8", sttr(w1, ptr(x2))); 996 TEST_INSTRUCTION("411808B8", sttr(w1, ptr(x2, 129))); 997 TEST_INSTRUCTION("E10B00B8", sttr(w1, ptr(sp))); 998 TEST_INSTRUCTION("E11B08B8", sttr(w1, ptr(sp, 129))); 999 TEST_INSTRUCTION("410800F8", sttr(x1, ptr(x2))); 1000 TEST_INSTRUCTION("411808F8", sttr(x1, ptr(x2, 129))); 1001 TEST_INSTRUCTION("E10B00F8", sttr(x1, ptr(sp))); 1002 TEST_INSTRUCTION("E11B08F8", sttr(x1, ptr(sp, 129))); 1003 TEST_INSTRUCTION("41080038", sttrb(w1, ptr(x2))); 1004 TEST_INSTRUCTION("41180838", sttrb(w1, ptr(x2, 129))); 1005 TEST_INSTRUCTION("E10B0038", sttrb(w1, ptr(sp))); 1006 TEST_INSTRUCTION("E11B0838", sttrb(w1, ptr(sp, 129))); 1007 TEST_INSTRUCTION("41080078", sttrh(w1, ptr(x2))); 1008 TEST_INSTRUCTION("41180878", sttrh(w1, ptr(x2, 129))); 1009 TEST_INSTRUCTION("E10B0078", sttrh(w1, ptr(sp))); 1010 TEST_INSTRUCTION("E11B0878", sttrh(w1, ptr(sp, 129))); 1011 TEST_INSTRUCTION("410000B8", stur(w1, ptr(x2))); 1012 TEST_INSTRUCTION("411008B8", stur(w1, ptr(x2, 129))); 1013 TEST_INSTRUCTION("E10300B8", stur(w1, ptr(sp))); 1014 TEST_INSTRUCTION("E11308B8", stur(w1, ptr(sp, 129))); 1015 TEST_INSTRUCTION("410000F8", stur(x1, ptr(x2))); 1016 TEST_INSTRUCTION("411008F8", stur(x1, ptr(x2, 129))); 1017 TEST_INSTRUCTION("E10300F8", stur(x1, ptr(sp))); 1018 TEST_INSTRUCTION("E11308F8", stur(x1, ptr(sp, 129))); 1019 TEST_INSTRUCTION("41000038", sturb(w1, ptr(x2))); 1020 TEST_INSTRUCTION("41100838", sturb(w1, ptr(x2, 129))); 1021 TEST_INSTRUCTION("E1030038", sturb(w1, ptr(sp))); 1022 TEST_INSTRUCTION("E1130838", sturb(w1, ptr(sp, 129))); 1023 TEST_INSTRUCTION("41000078", sturh(w1, ptr(x2))); 1024 TEST_INSTRUCTION("41100878", sturh(w1, ptr(x2, 129))); 1025 TEST_INSTRUCTION("E1030078", sturh(w1, ptr(sp))); 1026 TEST_INSTRUCTION("E1130878", sturh(w1, ptr(sp, 129))); 1027 TEST_INSTRUCTION("820C2188", stxp(w1, w2, w3, ptr(x4))); 1028 TEST_INSTRUCTION("E20F2188", stxp(w1, w2, w3, ptr(sp))); 1029 TEST_INSTRUCTION("820C21C8", stxp(w1, x2, x3, ptr(x4))); 1030 TEST_INSTRUCTION("E20F21C8", stxp(w1, x2, x3, ptr(sp))); 1031 TEST_INSTRUCTION("627C0188", stxr(w1, w2, ptr(x3))); 1032 TEST_INSTRUCTION("E27F0188", stxr(w1, w2, ptr(sp))); 1033 TEST_INSTRUCTION("627C01C8", stxr(w1, x2, ptr(x3))); 1034 TEST_INSTRUCTION("E27F01C8", stxr(w1, x2, ptr(sp))); 1035 TEST_INSTRUCTION("627C0108", stxrb(w1, w2, ptr(x3))); 1036 TEST_INSTRUCTION("E27F0108", stxrb(w1, w2, ptr(sp))); 1037 TEST_INSTRUCTION("627C0148", stxrh(w1, w2, ptr(x3))); 1038 TEST_INSTRUCTION("E27F0148", stxrh(w1, w2, ptr(sp))); 1039 TEST_INSTRUCTION("4108E0D9", stz2g(x1, ptr(x2))); 1040 TEST_INSTRUCTION("4108F0D9", stz2g(x1, ptr(x2, -4096))); 1041 TEST_INSTRUCTION("410CF0D9", stz2g(x1, ptr_pre(x2, -4096))); 1042 TEST_INSTRUCTION("4104F0D9", stz2g(x1, ptr_post(x2, -4096))); 1043 TEST_INSTRUCTION("41F8EFD9", stz2g(x1, ptr(x2, 4080))); 1044 TEST_INSTRUCTION("41FCEFD9", stz2g(x1, ptr_pre(x2, 4080))); 1045 TEST_INSTRUCTION("41F4EFD9", stz2g(x1, ptr_post(x2, 4080))); 1046 TEST_INSTRUCTION("E10BE0D9", stz2g(x1, ptr(sp))); 1047 TEST_INSTRUCTION("E10BF0D9", stz2g(x1, ptr(sp, -4096))); 1048 TEST_INSTRUCTION("E10FF0D9", stz2g(x1, ptr_pre(sp, -4096))); 1049 TEST_INSTRUCTION("E107F0D9", stz2g(x1, ptr_post(sp, -4096))); 1050 TEST_INSTRUCTION("E1FBEFD9", stz2g(x1, ptr(sp, 4080))); 1051 TEST_INSTRUCTION("E1FFEFD9", stz2g(x1, ptr_pre(sp, 4080))); 1052 TEST_INSTRUCTION("E1F7EFD9", stz2g(x1, ptr_post(sp, 4080))); 1053 TEST_INSTRUCTION("410860D9", stzg(x1, ptr(x2))); 1054 TEST_INSTRUCTION("418860D9", stzg(x1, ptr(x2, 128))); 1055 TEST_INSTRUCTION("418C60D9", stzg(x1, ptr_pre(x2, 128))); 1056 TEST_INSTRUCTION("418460D9", stzg(x1, ptr_post(x2, 128))); 1057 TEST_INSTRUCTION("E10B60D9", stzg(x1, ptr(sp))); 1058 TEST_INSTRUCTION("E18B60D9", stzg(x1, ptr(sp, 128))); 1059 TEST_INSTRUCTION("E18F60D9", stzg(x1, ptr_pre(sp, 128))); 1060 TEST_INSTRUCTION("E18760D9", stzg(x1, ptr_post(sp, 128))); 1061 TEST_INSTRUCTION("5F0860D9", stzg(sp, ptr(x2))); 1062 TEST_INSTRUCTION("5F8860D9", stzg(sp, ptr(x2, 128))); 1063 TEST_INSTRUCTION("5F8C60D9", stzg(sp, ptr_pre(x2, 128))); 1064 TEST_INSTRUCTION("5F8460D9", stzg(sp, ptr_post(x2, 128))); 1065 TEST_INSTRUCTION("FF0B60D9", stzg(sp, ptr(sp))); 1066 TEST_INSTRUCTION("FF8B60D9", stzg(sp, ptr(sp, 128))); 1067 TEST_INSTRUCTION("FF8F60D9", stzg(sp, ptr_pre(sp, 128))); 1068 TEST_INSTRUCTION("FF8760D9", stzg(sp, ptr_post(sp, 128))); 1069 TEST_INSTRUCTION("410020D9", stzgm(x1, ptr(x2))); 1070 TEST_INSTRUCTION("E10320D9", stzgm(x1, ptr(sp))); 1071 TEST_INSTRUCTION("4100034B", sub(w1, w2, w3)); 1072 TEST_INSTRUCTION("410003CB", sub(x1, x2, x3)); 1073 TEST_INSTRUCTION("410C034B", sub(w1, w2, w3, lsl(3))); 1074 TEST_INSTRUCTION("410C03CB", sub(x1, x2, x3, lsl(3))); 1075 TEST_INSTRUCTION("FF030451", sub(wsp, wsp, 256)); 1076 TEST_INSTRUCTION("FFFF3F51", sub(wsp, wsp, 0xFFF)); 1077 TEST_INSTRUCTION("FF0304D1", sub(sp, sp, 256)); 1078 TEST_INSTRUCTION("FFFF3FD1", sub(sp, sp, 0xFFF)); 1079 TEST_INSTRUCTION("412C82D1", subg(x1, x2, 32, 11)); 1080 TEST_INSTRUCTION("5F2C82D1", subg(sp, x2, 32, 11)); 1081 TEST_INSTRUCTION("E12F82D1", subg(x1, sp, 32, 11)); 1082 TEST_INSTRUCTION("4100C39A", subp(x1, x2, x3)); 1083 TEST_INSTRUCTION("E103C39A", subp(x1, sp, x3)); 1084 TEST_INSTRUCTION("4100DF9A", subp(x1, x2, sp)); 1085 TEST_INSTRUCTION("4100C3BA", subps(x1, x2, x3)); 1086 TEST_INSTRUCTION("E103C3BA", subps(x1, sp, x3)); 1087 TEST_INSTRUCTION("4100DFBA", subps(x1, x2, sp)); 1088 TEST_INSTRUCTION("4100036B", subs(w1, w2, w3)); 1089 TEST_INSTRUCTION("410003EB", subs(x1, x2, x3)); 1090 TEST_INSTRUCTION("410C036B", subs(w1, w2, w3, lsl(3))); 1091 TEST_INSTRUCTION("410C03EB", subs(x1, x2, x3, lsl(3))); 1092 TEST_INSTRUCTION("210000D4", svc(1)); 1093 TEST_INSTRUCTION("411C0013", sxtb(w1, w2)); 1094 TEST_INSTRUCTION("411C4093", sxtb(x1, w2)); 1095 TEST_INSTRUCTION("413C0013", sxth(w1, w2)); 1096 TEST_INSTRUCTION("413C4093", sxth(x1, w2)); 1097 TEST_INSTRUCTION("417C4093", sxtw(x1, w2)); 1098 TEST_INSTRUCTION("932309D5", sys(1, 2, 3, 4, x19)); 1099 TEST_INSTRUCTION("AF8708D5", tlbi(Predicate::TLBI::kVALE1, x15)); 1100 TEST_INSTRUCTION("3F000072", tst(w1, 1)); 1101 TEST_INSTRUCTION("3F0040F2", tst(x1, 1)); 1102 TEST_INSTRUCTION("3F00026A", tst(w1, w2)); 1103 TEST_INSTRUCTION("3F0002EA", tst(x1, x2)); 1104 TEST_INSTRUCTION("3F10026A", tst(w1, w2, lsl(4))); 1105 TEST_INSTRUCTION("3F1002EA", tst(x1, x2, lsl(4))); 1106 TEST_INSTRUCTION("00000000", udf(0)); 1107 TEST_INSTRUCTION("01800000", udf(0x8001)); 1108 TEST_INSTRUCTION("4108C31A", udiv(w1, w2, w3)); 1109 TEST_INSTRUCTION("4108C39A", udiv(x1, x2, x3)); 1110 TEST_INSTRUCTION("41241B53", ubfiz(w1, w2, 5, 10)); 1111 TEST_INSTRUCTION("41247BD3", ubfiz(x1, x2, 5, 10)); 1112 TEST_INSTRUCTION("41280553", ubfm(w1, w2, 5, 10)); 1113 TEST_INSTRUCTION("412845D3", ubfm(x1, x2, 5, 10)); 1114 TEST_INSTRUCTION("41380553", ubfx(w1, w2, 5, 10)); 1115 TEST_INSTRUCTION("413845D3", ubfx(x1, x2, 5, 10)); 1116 TEST_INSTRUCTION("4110A39B", umaddl(x1, w2, w3, x4)); 1117 TEST_INSTRUCTION("4164C31A", umax(w1, w2, w3)); 1118 TEST_INSTRUCTION("4164C39A", umax(x1, x2, x3)); 1119 TEST_INSTRUCTION("4134C411", umax(w1, w2, 13)); 1120 TEST_INSTRUCTION("4134C491", umax(x1, x2, 13)); 1121 TEST_INSTRUCTION("416CC31A", umin(w1, w2, w3)); 1122 TEST_INSTRUCTION("416CC39A", umin(x1, x2, x3)); 1123 TEST_INSTRUCTION("4134CC11", umin(w1, w2, 13)); 1124 TEST_INSTRUCTION("4134CC91", umin(x1, x2, 13)); 1125 TEST_INSTRUCTION("41FCA39B", umnegl(x1, w2, w3)); 1126 TEST_INSTRUCTION("4190A39B", umsubl(x1, w2, w3, x4)); 1127 TEST_INSTRUCTION("417CC39B", umulh(x1, x2, x3)); 1128 TEST_INSTRUCTION("417CA39B", umull(x1, w2, w3)); 1129 TEST_INSTRUCTION("411C0053", uxtb(w1, w2)); 1130 TEST_INSTRUCTION("413C0053", uxth(w1, w2)); 1131 TEST_INSTRUCTION("3F4000D5", xaflag()); 1132 TEST_INSTRUCTION("E147C1DA", xpacd(x1)); 1133 TEST_INSTRUCTION("E143C1DA", xpaci(x1)); 1134 TEST_INSTRUCTION("FF2003D5", xpaclri()); 1135 } 1136 1137 static void ASMJIT_NOINLINE test_aarch64_assembler_rel(AssemblerTester<a64::Assembler>& tester) noexcept { 1138 using namespace a64; 1139 1140 // Must be a reference, because it's recreated after every `TEST_INSTRUCTION()`. 1141 const Label& L0 = tester.L0; 1142 1143 TEST_INSTRUCTION("01000010", adr(x1, L0)); 1144 TEST_INSTRUCTION("00000014", b(L0)); 1145 TEST_INSTRUCTION("00000014", b_al(L0)); 1146 TEST_INSTRUCTION("00000054", b_eq(L0)); 1147 TEST_INSTRUCTION("01000054", b_ne(L0)); 1148 TEST_INSTRUCTION("02000054", b_hs(L0)); 1149 TEST_INSTRUCTION("03000054", b_lo(L0)); 1150 TEST_INSTRUCTION("04000054", b_mi(L0)); 1151 TEST_INSTRUCTION("05000054", b_pl(L0)); 1152 TEST_INSTRUCTION("06000054", b_vs(L0)); 1153 TEST_INSTRUCTION("07000054", b_vc(L0)); 1154 TEST_INSTRUCTION("08000054", b_hi(L0)); 1155 TEST_INSTRUCTION("09000054", b_ls(L0)); 1156 TEST_INSTRUCTION("0A000054", b_ge(L0)); 1157 TEST_INSTRUCTION("0B000054", b_lt(L0)); 1158 TEST_INSTRUCTION("0C000054", b_gt(L0)); 1159 TEST_INSTRUCTION("0D000054", b_le(L0)); 1160 TEST_INSTRUCTION("00000014", b(CondCode::kAL, L0)); 1161 TEST_INSTRUCTION("00000054", b(CondCode::kEQ, L0)); 1162 TEST_INSTRUCTION("01000054", b(CondCode::kNE, L0)); 1163 TEST_INSTRUCTION("02000054", b(CondCode::kHS, L0)); 1164 TEST_INSTRUCTION("03000054", b(CondCode::kLO, L0)); 1165 TEST_INSTRUCTION("04000054", b(CondCode::kMI, L0)); 1166 TEST_INSTRUCTION("05000054", b(CondCode::kPL, L0)); 1167 TEST_INSTRUCTION("06000054", b(CondCode::kVS, L0)); 1168 TEST_INSTRUCTION("07000054", b(CondCode::kVC, L0)); 1169 TEST_INSTRUCTION("08000054", b(CondCode::kHI, L0)); 1170 TEST_INSTRUCTION("09000054", b(CondCode::kLS, L0)); 1171 TEST_INSTRUCTION("0A000054", b(CondCode::kGE, L0)); 1172 TEST_INSTRUCTION("0B000054", b(CondCode::kLT, L0)); 1173 TEST_INSTRUCTION("0C000054", b(CondCode::kGT, L0)); 1174 TEST_INSTRUCTION("0D000054", b(CondCode::kLE, L0)); 1175 1176 TEST_INSTRUCTION("00000094", bl(L0)); 1177 TEST_INSTRUCTION("01000034", cbz(w1, L0)); 1178 TEST_INSTRUCTION("010000B4", cbz(x1, L0)); 1179 TEST_INSTRUCTION("01000035", cbnz(w1, L0)); 1180 TEST_INSTRUCTION("010000B5", cbnz(x1, L0)); 1181 TEST_INSTRUCTION("01001837", tbnz(w1, 3, L0)); 1182 TEST_INSTRUCTION("010008B7", tbnz(x1, 33, L0)); 1183 TEST_INSTRUCTION("01001836", tbz(w1, 3, L0)); 1184 TEST_INSTRUCTION("010008B6", tbz(x1, 33, L0)); 1185 } 1186 1187 static void ASMJIT_NOINLINE test_aarch64_assembler_simd(AssemblerTester<a64::Assembler>& tester) noexcept { 1188 using namespace a64; 1189 1190 TEST_INSTRUCTION("41B8200E", abs(v1.b8(), v2.b8())); 1191 TEST_INSTRUCTION("41B8600E", abs(v1.h4(), v2.h4())); 1192 TEST_INSTRUCTION("41B8A00E", abs(v1.s2(), v2.s2())); 1193 TEST_INSTRUCTION("41B8E05E", abs(d1, d2)); 1194 TEST_INSTRUCTION("41B8204E", abs(v1.b16(), v2.b16())); 1195 TEST_INSTRUCTION("41B8604E", abs(v1.h8(), v2.h8())); 1196 TEST_INSTRUCTION("41B8A04E", abs(v1.s4(), v2.s4())); 1197 TEST_INSTRUCTION("41B8E04E", abs(v1.d2(), v2.d2())); 1198 TEST_INSTRUCTION("4184230E", add(v1.b8(), v2.b8(), v3.b8())); 1199 TEST_INSTRUCTION("4184630E", add(v1.h4(), v2.h4(), v3.h4())); 1200 TEST_INSTRUCTION("4184A30E", add(v1.s2(), v2.s2(), v3.s2())); 1201 TEST_INSTRUCTION("4184E35E", add(d1, d2, d3)); 1202 TEST_INSTRUCTION("4184234E", add(v1.b16(), v2.b16(), v3.b16())); 1203 TEST_INSTRUCTION("4184634E", add(v1.h8(), v2.h8(), v3.h8())); 1204 TEST_INSTRUCTION("4184A34E", add(v1.s4(), v2.s4(), v3.s4())); 1205 TEST_INSTRUCTION("4184E34E", add(v1.d2(), v2.d2(), v3.d2())); 1206 TEST_INSTRUCTION("4140230E", addhn(v1.b8(), v2.h8(), v3.h8())); 1207 TEST_INSTRUCTION("4140630E", addhn(v1.h4(), v2.s4(), v3.s4())); 1208 TEST_INSTRUCTION("4140A30E", addhn(v1.s2(), v2.d2(), v3.d2())); 1209 TEST_INSTRUCTION("4140234E", addhn2(v1.b16(), v2.h8(), v3.h8())); 1210 TEST_INSTRUCTION("4140634E", addhn2(v1.h8(), v2.s4(), v3.s4())); 1211 TEST_INSTRUCTION("4140A34E", addhn2(v1.s4(), v2.d2(), v3.d2())); 1212 TEST_INSTRUCTION("41BC230E", addp(v1.b8(), v2.b8(), v3.b8())); 1213 TEST_INSTRUCTION("41BC630E", addp(v1.h4(), v2.h4(), v3.h4())); 1214 TEST_INSTRUCTION("41BCA30E", addp(v1.s2(), v2.s2(), v3.s2())); 1215 TEST_INSTRUCTION("41B8F15E", addp(d1, v2.d2())); 1216 TEST_INSTRUCTION("41BC234E", addp(v1.b16(), v2.b16(), v3.b16())); 1217 TEST_INSTRUCTION("41BC634E", addp(v1.h8(), v2.h8(), v3.h8())); 1218 TEST_INSTRUCTION("41BCA34E", addp(v1.s4(), v2.s4(), v3.s4())); 1219 TEST_INSTRUCTION("41BCE34E", addp(v1.d2(), v2.d2(), v3.d2())); 1220 TEST_INSTRUCTION("41B8310E", addv(b1, v2.b8())); 1221 TEST_INSTRUCTION("41B8314E", addv(b1, v2.b16())); 1222 TEST_INSTRUCTION("41B8710E", addv(h1, v2.h4())); 1223 TEST_INSTRUCTION("41B8714E", addv(h1, v2.h8())); 1224 TEST_INSTRUCTION("41B8B14E", addv(s1, v2.s4())); 1225 TEST_INSTRUCTION("4158284E", aesd(v1.b16(), v2.b16())); 1226 TEST_INSTRUCTION("4148284E", aese(v1.b16(), v2.b16())); 1227 TEST_INSTRUCTION("4178284E", aesimc(v1.b16(), v2.b16())); 1228 TEST_INSTRUCTION("4168284E", aesmc(v1.b16(), v2.b16())); 1229 TEST_INSTRUCTION("411C230E", and_(v1.b8(), v2.b8(), v3.b8())); 1230 TEST_INSTRUCTION("411C234E", and_(v1.b16(), v2.b16(), v3.b16())); 1231 TEST_INSTRUCTION("411023CE", bcax(v1.b16(), v2.b16(), v3.b16(), v4.b16())); 1232 TEST_INSTRUCTION("4140631E", bfcvt(h1, s2)); 1233 TEST_INSTRUCTION("4168A10E", bfcvtn(v1.h4(), v2.s4())); 1234 TEST_INSTRUCTION("4168A14E", bfcvtn2(v1.h8(), v2.s4())); 1235 TEST_INSTRUCTION("41FC432E", bfdot(v1.s2(), v2.h4(), v3.h4())); 1236 TEST_INSTRUCTION("41FC436E", bfdot(v1.s4(), v2.h8(), v3.h8())); 1237 TEST_INSTRUCTION("41F0430F", bfdot(v1.s2(), v2.h4(), v3.h2(0))); 1238 TEST_INSTRUCTION("41F8634F", bfdot(v1.s4(), v2.h8(), v3.h2(3))); 1239 TEST_INSTRUCTION("41FCC32E", bfmlalb(v1.s4(), v2.h8(), v3.h8())); 1240 TEST_INSTRUCTION("41F0C30F", bfmlalb(v1.s4(), v2.h8(), v3.h(0))); 1241 TEST_INSTRUCTION("41F8F30F", bfmlalb(v1.s4(), v2.h8(), v3.h(7))); 1242 TEST_INSTRUCTION("41FCC36E", bfmlalt(v1.s4(), v2.h8(), v3.h8())); 1243 TEST_INSTRUCTION("41F0C34F", bfmlalt(v1.s4(), v2.h8(), v3.h(0))); 1244 TEST_INSTRUCTION("41F8F34F", bfmlalt(v1.s4(), v2.h8(), v3.h(7))); 1245 TEST_INSTRUCTION("41EC436E", bfmmla(v1.s4(), v2.h8(), v3.h8())); 1246 TEST_INSTRUCTION("411C630E", bic(v1.b8(), v2.b8(), v3.b8())); 1247 TEST_INSTRUCTION("411C634E", bic(v1.b16(), v2.b16(), v3.b16())); 1248 TEST_INSTRUCTION("E197072F", bic(v1.h4(), 255)); 1249 TEST_INSTRUCTION("E1B7072F", bic(v1.h4(), 255, lsl(8))); 1250 TEST_INSTRUCTION("E197076F", bic(v1.h8(), 255)); 1251 TEST_INSTRUCTION("E1B7076F", bic(v1.h8(), 255, lsl(8))); 1252 TEST_INSTRUCTION("E117072F", bic(v1.s2(), 255)); 1253 TEST_INSTRUCTION("E137072F", bic(v1.s2(), 255, lsl(8))); 1254 TEST_INSTRUCTION("E117076F", bic(v1.s4(), 255)); 1255 TEST_INSTRUCTION("E177076F", bic(v1.s4(), 255, lsl(24))); 1256 TEST_INSTRUCTION("411CE32E", bif(v1.b8(), v2.b8(), v3.b8())); 1257 TEST_INSTRUCTION("411CE36E", bif(v1.b16(), v2.b16(), v3.b16())); 1258 TEST_INSTRUCTION("411CA32E", bit(v1.b8(), v2.b8(), v3.b8())); 1259 TEST_INSTRUCTION("411CA36E", bit(v1.b16(), v2.b16(), v3.b16())); 1260 TEST_INSTRUCTION("411C632E", bsl(v1.b8(), v2.b8(), v3.b8())); 1261 TEST_INSTRUCTION("411C636E", bsl(v1.b16(), v2.b16(), v3.b16())); 1262 TEST_INSTRUCTION("4148200E", cls(v1.b8(), v2.b8())); 1263 TEST_INSTRUCTION("4148600E", cls(v1.h4(), v2.h4())); 1264 TEST_INSTRUCTION("4148A00E", cls(v1.s2(), v2.s2())); 1265 TEST_INSTRUCTION("4148204E", cls(v1.b16(), v2.b16())); 1266 TEST_INSTRUCTION("4148604E", cls(v1.h8(), v2.h8())); 1267 TEST_INSTRUCTION("4148A04E", cls(v1.s4(), v2.s4())); 1268 TEST_INSTRUCTION("4148202E", clz(v1.b8(), v2.b8())); 1269 TEST_INSTRUCTION("4148602E", clz(v1.h4(), v2.h4())); 1270 TEST_INSTRUCTION("4148A02E", clz(v1.s2(), v2.s2())); 1271 TEST_INSTRUCTION("4148206E", clz(v1.b16(), v2.b16())); 1272 TEST_INSTRUCTION("4148606E", clz(v1.h8(), v2.h8())); 1273 TEST_INSTRUCTION("4148A06E", clz(v1.s4(), v2.s4())); 1274 TEST_INSTRUCTION("418C232E", cmeq(v1.b8(), v2.b8(), v3.b8())); 1275 TEST_INSTRUCTION("418C632E", cmeq(v1.h4(), v2.h4(), v3.h4())); 1276 TEST_INSTRUCTION("418CA32E", cmeq(v1.s2(), v2.s2(), v3.s2())); 1277 TEST_INSTRUCTION("418CE37E", cmeq(d1, d2, d3)); 1278 TEST_INSTRUCTION("418C236E", cmeq(v1.b16(), v2.b16(), v3.b16())); 1279 TEST_INSTRUCTION("418C636E", cmeq(v1.h8(), v2.h8(), v3.h8())); 1280 TEST_INSTRUCTION("418CA36E", cmeq(v1.s4(), v2.s4(), v3.s4())); 1281 TEST_INSTRUCTION("418CE36E", cmeq(v1.d2(), v2.d2(), v3.d2())); 1282 TEST_INSTRUCTION("4198200E", cmeq(v1.b8(), v2.b8(), 0)); 1283 TEST_INSTRUCTION("4198600E", cmeq(v1.h4(), v2.h4(), 0)); 1284 TEST_INSTRUCTION("4198A00E", cmeq(v1.s2(), v2.s2(), 0)); 1285 TEST_INSTRUCTION("4198E05E", cmeq(d1, d2, 0)); 1286 TEST_INSTRUCTION("4198204E", cmeq(v1.b16(), v2.b16(), 0)); 1287 TEST_INSTRUCTION("4198604E", cmeq(v1.h8(), v2.h8(), 0)); 1288 TEST_INSTRUCTION("4198A04E", cmeq(v1.s4(), v2.s4(), 0)); 1289 TEST_INSTRUCTION("4198E04E", cmeq(v1.d2(), v2.d2(), 0)); 1290 TEST_INSTRUCTION("413C230E", cmge(v1.b8(), v2.b8(), v3.b8())); 1291 TEST_INSTRUCTION("413C630E", cmge(v1.h4(), v2.h4(), v3.h4())); 1292 TEST_INSTRUCTION("413CA30E", cmge(v1.s2(), v2.s2(), v3.s2())); 1293 TEST_INSTRUCTION("413CE35E", cmge(d1, d2, d3)); 1294 TEST_INSTRUCTION("413C234E", cmge(v1.b16(), v2.b16(), v3.b16())); 1295 TEST_INSTRUCTION("413C634E", cmge(v1.h8(), v2.h8(), v3.h8())); 1296 TEST_INSTRUCTION("413CA34E", cmge(v1.s4(), v2.s4(), v3.s4())); 1297 TEST_INSTRUCTION("413CE34E", cmge(v1.d2(), v2.d2(), v3.d2())); 1298 TEST_INSTRUCTION("4188202E", cmge(v1.b8(), v2.b8(), 0)); 1299 TEST_INSTRUCTION("4188602E", cmge(v1.h4(), v2.h4(), 0)); 1300 TEST_INSTRUCTION("4188A02E", cmge(v1.s2(), v2.s2(), 0)); 1301 TEST_INSTRUCTION("4188E07E", cmge(d1, d2, 0)); 1302 TEST_INSTRUCTION("4188206E", cmge(v1.b16(), v2.b16(), 0)); 1303 TEST_INSTRUCTION("4188606E", cmge(v1.h8(), v2.h8(), 0)); 1304 TEST_INSTRUCTION("4188A06E", cmge(v1.s4(), v2.s4(), 0)); 1305 TEST_INSTRUCTION("4188E06E", cmge(v1.d2(), v2.d2(), 0)); 1306 TEST_INSTRUCTION("4134230E", cmgt(v1.b8(), v2.b8(), v3.b8())); 1307 TEST_INSTRUCTION("4134630E", cmgt(v1.h4(), v2.h4(), v3.h4())); 1308 TEST_INSTRUCTION("4134A30E", cmgt(v1.s2(), v2.s2(), v3.s2())); 1309 TEST_INSTRUCTION("4134E35E", cmgt(d1, d2, d3)); 1310 TEST_INSTRUCTION("4134234E", cmgt(v1.b16(), v2.b16(), v3.b16())); 1311 TEST_INSTRUCTION("4134634E", cmgt(v1.h8(), v2.h8(), v3.h8())); 1312 TEST_INSTRUCTION("4134A34E", cmgt(v1.s4(), v2.s4(), v3.s4())); 1313 TEST_INSTRUCTION("4134E34E", cmgt(v1.d2(), v2.d2(), v3.d2())); 1314 TEST_INSTRUCTION("4188200E", cmgt(v1.b8(), v2.b8(), 0)); 1315 TEST_INSTRUCTION("4188600E", cmgt(v1.h4(), v2.h4(), 0)); 1316 TEST_INSTRUCTION("4188A00E", cmgt(v1.s2(), v2.s2(), 0)); 1317 TEST_INSTRUCTION("4188E05E", cmgt(d1, d2, 0)); 1318 TEST_INSTRUCTION("4188204E", cmgt(v1.b16(), v2.b16(), 0)); 1319 TEST_INSTRUCTION("4188604E", cmgt(v1.h8(), v2.h8(), 0)); 1320 TEST_INSTRUCTION("4188A04E", cmgt(v1.s4(), v2.s4(), 0)); 1321 TEST_INSTRUCTION("4188E04E", cmgt(v1.d2(), v2.d2(), 0)); 1322 TEST_INSTRUCTION("4134232E", cmhi(v1.b8(), v2.b8(), v3.b8())); 1323 TEST_INSTRUCTION("4134632E", cmhi(v1.h4(), v2.h4(), v3.h4())); 1324 TEST_INSTRUCTION("4134A32E", cmhi(v1.s2(), v2.s2(), v3.s2())); 1325 TEST_INSTRUCTION("4134E37E", cmhi(d1, d2, d3)); 1326 TEST_INSTRUCTION("4134236E", cmhi(v1.b16(), v2.b16(), v3.b16())); 1327 TEST_INSTRUCTION("4134636E", cmhi(v1.h8(), v2.h8(), v3.h8())); 1328 TEST_INSTRUCTION("4134A36E", cmhi(v1.s4(), v2.s4(), v3.s4())); 1329 TEST_INSTRUCTION("4134E36E", cmhi(v1.d2(), v2.d2(), v3.d2())); 1330 TEST_INSTRUCTION("413C232E", cmhs(v1.b8(), v2.b8(), v3.b8())); 1331 TEST_INSTRUCTION("413C632E", cmhs(v1.h4(), v2.h4(), v3.h4())); 1332 TEST_INSTRUCTION("413CA32E", cmhs(v1.s2(), v2.s2(), v3.s2())); 1333 TEST_INSTRUCTION("413CE37E", cmhs(d1, d2, d3)); 1334 TEST_INSTRUCTION("413C236E", cmhs(v1.b16(), v2.b16(), v3.b16())); 1335 TEST_INSTRUCTION("413C636E", cmhs(v1.h8(), v2.h8(), v3.h8())); 1336 TEST_INSTRUCTION("413CA36E", cmhs(v1.s4(), v2.s4(), v3.s4())); 1337 TEST_INSTRUCTION("413CE36E", cmhs(v1.d2(), v2.d2(), v3.d2())); 1338 TEST_INSTRUCTION("4198202E", cmle(v1.b8(), v2.b8(), 0)); 1339 TEST_INSTRUCTION("4198602E", cmle(v1.h4(), v2.h4(), 0)); 1340 TEST_INSTRUCTION("4198A02E", cmle(v1.s2(), v2.s2(), 0)); 1341 TEST_INSTRUCTION("4198E07E", cmle(d1, d2, 0)); 1342 TEST_INSTRUCTION("4198206E", cmle(v1.b16(), v2.b16(), 0)); 1343 TEST_INSTRUCTION("4198606E", cmle(v1.h8(), v2.h8(), 0)); 1344 TEST_INSTRUCTION("4198A06E", cmle(v1.s4(), v2.s4(), 0)); 1345 TEST_INSTRUCTION("4198E06E", cmle(v1.d2(), v2.d2(), 0)); 1346 TEST_INSTRUCTION("41A8200E", cmlt(v1.b8(), v2.b8(), 0)); 1347 TEST_INSTRUCTION("41A8600E", cmlt(v1.h4(), v2.h4(), 0)); 1348 TEST_INSTRUCTION("41A8A00E", cmlt(v1.s2(), v2.s2(), 0)); 1349 TEST_INSTRUCTION("41A8E05E", cmlt(d1, d2, 0)); 1350 TEST_INSTRUCTION("41A8204E", cmlt(v1.b16(), v2.b16(), 0)); 1351 TEST_INSTRUCTION("41A8604E", cmlt(v1.h8(), v2.h8(), 0)); 1352 TEST_INSTRUCTION("41A8A04E", cmlt(v1.s4(), v2.s4(), 0)); 1353 TEST_INSTRUCTION("41A8E04E", cmlt(v1.d2(), v2.d2(), 0)); 1354 TEST_INSTRUCTION("418C230E", cmtst(v1.b8(), v2.b8(), v3.b8())); 1355 TEST_INSTRUCTION("418C630E", cmtst(v1.h4(), v2.h4(), v3.h4())); 1356 TEST_INSTRUCTION("418CA30E", cmtst(v1.s2(), v2.s2(), v3.s2())); 1357 TEST_INSTRUCTION("418CE35E", cmtst(d1, d2, d3)); 1358 TEST_INSTRUCTION("418C234E", cmtst(v1.b16(), v2.b16(), v3.b16())); 1359 TEST_INSTRUCTION("418C634E", cmtst(v1.h8(), v2.h8(), v3.h8())); 1360 TEST_INSTRUCTION("418CA34E", cmtst(v1.s4(), v2.s4(), v3.s4())); 1361 TEST_INSTRUCTION("418CE34E", cmtst(v1.d2(), v2.d2(), v3.d2())); 1362 TEST_INSTRUCTION("4158200E", cnt(v1.b8(), v2.b8())); 1363 TEST_INSTRUCTION("4158204E", cnt(v1.b16(), v2.b16())); 1364 TEST_INSTRUCTION("410C010E", dup(v1.b8(), w2)); 1365 TEST_INSTRUCTION("410C020E", dup(v1.h4(), w2)); 1366 TEST_INSTRUCTION("410C040E", dup(v1.s2(), w2)); 1367 TEST_INSTRUCTION("410C014E", dup(v1.b16(), w2)); 1368 TEST_INSTRUCTION("410C024E", dup(v1.h8(), w2)); 1369 TEST_INSTRUCTION("410C044E", dup(v1.s4(), w2)); 1370 TEST_INSTRUCTION("410C084E", dup(v1.d2(), x2)); 1371 TEST_INSTRUCTION("4F04035E", dup(b15, v2.b(1))); 1372 TEST_INSTRUCTION("4F04065E", dup(h15, v2.h(1))); 1373 TEST_INSTRUCTION("4F040C5E", dup(s15, v2.s(1))); 1374 TEST_INSTRUCTION("4F04185E", dup(d15, v2.d(1))); 1375 TEST_INSTRUCTION("4F04030E", dup(v15.b8(), v2.b(1))); 1376 TEST_INSTRUCTION("4F04060E", dup(v15.h4(), v2.h(1))); 1377 TEST_INSTRUCTION("4F040C0E", dup(v15.s2(), v2.s(1))); 1378 TEST_INSTRUCTION("4F04034E", dup(v15.b16(), v2.b(1))); 1379 TEST_INSTRUCTION("4F04064E", dup(v15.h8(), v2.h(1))); 1380 TEST_INSTRUCTION("4F040C4E", dup(v15.s4(), v2.s(1))); 1381 TEST_INSTRUCTION("4F04184E", dup(v15.d2(), v2.d(1))); 1382 TEST_INSTRUCTION("411C232E", eor(v1.b8(), v2.b8(), v3.b8())); 1383 TEST_INSTRUCTION("411C236E", eor(v1.b16(), v2.b16(), v3.b16())); 1384 TEST_INSTRUCTION("411003CE", eor3(v1.b16(), v2.b16(), v3.b16(), v4.b16())); 1385 TEST_INSTRUCTION("4128032E", ext(v1.b8(), v2.b8(), v3.b8(), 5)); 1386 TEST_INSTRUCTION("4128036E", ext(v1.b16(), v2.b16(), v3.b16(), 5)); 1387 TEST_INSTRUCTION("4114C37E", fabd(h1, h2, h3)); 1388 TEST_INSTRUCTION("41D4A37E", fabd(s1, s2, s3)); 1389 TEST_INSTRUCTION("41D4E37E", fabd(d1, d2, d3)); 1390 TEST_INSTRUCTION("4114C32E", fabd(v1.h4(), v2.h4(), v3.h4())); 1391 TEST_INSTRUCTION("41D4A32E", fabd(v1.s2(), v2.s2(), v3.s2())); 1392 TEST_INSTRUCTION("4114C36E", fabd(v1.h8(), v2.h8(), v3.h8())); 1393 TEST_INSTRUCTION("41D4A36E", fabd(v1.s4(), v2.s4(), v3.s4())); 1394 TEST_INSTRUCTION("41D4E36E", fabd(v1.d2(), v2.d2(), v3.d2())); 1395 TEST_INSTRUCTION("41C0E01E", fabs(h1, h2)); 1396 TEST_INSTRUCTION("41C0201E", fabs(s1, s2)); 1397 TEST_INSTRUCTION("41C0601E", fabs(d1, d2)); 1398 TEST_INSTRUCTION("41F8F80E", fabs(v1.h4(), v2.h4())); 1399 TEST_INSTRUCTION("41F8A00E", fabs(v1.s2(), v2.s2())); 1400 TEST_INSTRUCTION("41F8F84E", fabs(v1.h8(), v2.h8())); 1401 TEST_INSTRUCTION("41F8A04E", fabs(v1.s4(), v2.s4())); 1402 TEST_INSTRUCTION("41F8E04E", fabs(v1.d2(), v2.d2())); 1403 TEST_INSTRUCTION("412C437E", facge(h1, h2, h3)); 1404 TEST_INSTRUCTION("41EC237E", facge(s1, s2, s3)); 1405 TEST_INSTRUCTION("41EC637E", facge(d1, d2, d3)); 1406 TEST_INSTRUCTION("412C432E", facge(v1.h4(), v2.h4(), v3.h4())); 1407 TEST_INSTRUCTION("41EC232E", facge(v1.s2(), v2.s2(), v3.s2())); 1408 TEST_INSTRUCTION("412C436E", facge(v1.h8(), v2.h8(), v3.h8())); 1409 TEST_INSTRUCTION("41EC236E", facge(v1.s4(), v2.s4(), v3.s4())); 1410 TEST_INSTRUCTION("41EC636E", facge(v1.d2(), v2.d2(), v3.d2())); 1411 TEST_INSTRUCTION("412CC37E", facgt(h1, h2, h3)); 1412 TEST_INSTRUCTION("41ECA37E", facgt(s1, s2, s3)); 1413 TEST_INSTRUCTION("41ECE37E", facgt(d1, d2, d3)); 1414 TEST_INSTRUCTION("412CC32E", facgt(v1.h4(), v2.h4(), v3.h4())); 1415 TEST_INSTRUCTION("41ECA32E", facgt(v1.s2(), v2.s2(), v3.s2())); 1416 TEST_INSTRUCTION("412CC36E", facgt(v1.h8(), v2.h8(), v3.h8())); 1417 TEST_INSTRUCTION("41ECA36E", facgt(v1.s4(), v2.s4(), v3.s4())); 1418 TEST_INSTRUCTION("41ECE36E", facgt(v1.d2(), v2.d2(), v3.d2())); 1419 TEST_INSTRUCTION("4128E31E", fadd(h1, h2, h3)); 1420 TEST_INSTRUCTION("4128231E", fadd(s1, s2, s3)); 1421 TEST_INSTRUCTION("4128631E", fadd(d1, d2, d3)); 1422 TEST_INSTRUCTION("4114430E", fadd(v1.h4(), v2.h4(), v3.h4())); 1423 TEST_INSTRUCTION("41D4230E", fadd(v1.s2(), v2.s2(), v3.s2())); 1424 TEST_INSTRUCTION("4114434E", fadd(v1.h8(), v2.h8(), v3.h8())); 1425 TEST_INSTRUCTION("41D4234E", fadd(v1.s4(), v2.s4(), v3.s4())); 1426 TEST_INSTRUCTION("41D4634E", fadd(v1.d2(), v2.d2(), v3.d2())); 1427 TEST_INSTRUCTION("41D8305E", faddp(h1, v2.h2())); 1428 TEST_INSTRUCTION("41D8307E", faddp(s1, v2.s2())); 1429 TEST_INSTRUCTION("41D8707E", faddp(d1, v2.d2())); 1430 TEST_INSTRUCTION("4114432E", faddp(v1.h4(), v2.h4(), v3.h4())); 1431 TEST_INSTRUCTION("41D4232E", faddp(v1.s2(), v2.s2(), v3.s2())); 1432 TEST_INSTRUCTION("4114436E", faddp(v1.h8(), v2.h8(), v3.h8())); 1433 TEST_INSTRUCTION("41D4236E", faddp(v1.s4(), v2.s4(), v3.s4())); 1434 TEST_INSTRUCTION("41D4636E", faddp(v1.d2(), v2.d2(), v3.d2())); 1435 TEST_INSTRUCTION("41E4432E", fcadd(v1.h4(), v2.h4(), v3.h4(), 90)); 1436 TEST_INSTRUCTION("41E4832E", fcadd(v1.s2(), v2.s2(), v3.s2(), 90)); 1437 TEST_INSTRUCTION("41E4436E", fcadd(v1.h8(), v2.h8(), v3.h8(), 90)); 1438 TEST_INSTRUCTION("41E4836E", fcadd(v1.s4(), v2.s4(), v3.s4(), 90)); 1439 TEST_INSTRUCTION("41E4C36E", fcadd(v1.d2(), v2.d2(), v3.d2(), 90)); 1440 TEST_INSTRUCTION("41F4432E", fcadd(v1.h4(), v2.h4(), v3.h4(), 270)); 1441 TEST_INSTRUCTION("41F4832E", fcadd(v1.s2(), v2.s2(), v3.s2(), 270)); 1442 TEST_INSTRUCTION("41F4436E", fcadd(v1.h8(), v2.h8(), v3.h8(), 270)); 1443 TEST_INSTRUCTION("41F4836E", fcadd(v1.s4(), v2.s4(), v3.s4(), 270)); 1444 TEST_INSTRUCTION("41F4C36E", fcadd(v1.d2(), v2.d2(), v3.d2(), 270)); 1445 TEST_INSTRUCTION("2404E21E", fccmp(h1, h2, 4, CondCode::kEQ)); 1446 TEST_INSTRUCTION("2404221E", fccmp(s1, s2, 4, CondCode::kEQ)); 1447 TEST_INSTRUCTION("2404621E", fccmp(d1, d2, 4, CondCode::kEQ)); 1448 TEST_INSTRUCTION("3404E21E", fccmpe(h1, h2, 4, CondCode::kEQ)); 1449 TEST_INSTRUCTION("3404221E", fccmpe(s1, s2, 4, CondCode::kEQ)); 1450 TEST_INSTRUCTION("3404621E", fccmpe(d1, d2, 4, CondCode::kEQ)); 1451 TEST_INSTRUCTION("4124435E", fcmeq(h1, h2, h3)); 1452 TEST_INSTRUCTION("41E4235E", fcmeq(s1, s2, s3)); 1453 TEST_INSTRUCTION("41E4635E", fcmeq(d1, d2, d3)); 1454 TEST_INSTRUCTION("4124430E", fcmeq(v1.h4(), v2.h4(), v3.h4())); 1455 TEST_INSTRUCTION("41E4230E", fcmeq(v1.s2(), v2.s2(), v3.s2())); 1456 TEST_INSTRUCTION("4124434E", fcmeq(v1.h8(), v2.h8(), v3.h8())); 1457 TEST_INSTRUCTION("41E4234E", fcmeq(v1.s4(), v2.s4(), v3.s4())); 1458 TEST_INSTRUCTION("41E4634E", fcmeq(v1.d2(), v2.d2(), v3.d2())); 1459 TEST_INSTRUCTION("41D8F85E", fcmeq(h1, h2, 0)); 1460 TEST_INSTRUCTION("41D8A05E", fcmeq(s1, s2, 0)); 1461 TEST_INSTRUCTION("41D8E05E", fcmeq(d1, d2, 0)); 1462 TEST_INSTRUCTION("41D8F80E", fcmeq(v1.h4(), v2.h4(), 0)); 1463 TEST_INSTRUCTION("41D8A00E", fcmeq(v1.s2(), v2.s2(), 0)); 1464 TEST_INSTRUCTION("41D8F84E", fcmeq(v1.h8(), v2.h8(), 0)); 1465 TEST_INSTRUCTION("41D8A04E", fcmeq(v1.s4(), v2.s4(), 0)); 1466 TEST_INSTRUCTION("41D8E04E", fcmeq(v1.d2(), v2.d2(), 0)); 1467 TEST_INSTRUCTION("4124437E", fcmge(h1, h2, h3)); 1468 TEST_INSTRUCTION("41E4237E", fcmge(s1, s2, s3)); 1469 TEST_INSTRUCTION("41E4637E", fcmge(d1, d2, d3)); 1470 TEST_INSTRUCTION("4124432E", fcmge(v1.h4(), v2.h4(), v3.h4())); 1471 TEST_INSTRUCTION("41E4232E", fcmge(v1.s2(), v2.s2(), v3.s2())); 1472 TEST_INSTRUCTION("4124436E", fcmge(v1.h8(), v2.h8(), v3.h8())); 1473 TEST_INSTRUCTION("41E4236E", fcmge(v1.s4(), v2.s4(), v3.s4())); 1474 TEST_INSTRUCTION("41E4636E", fcmge(v1.d2(), v2.d2(), v3.d2())); 1475 TEST_INSTRUCTION("41C8F87E", fcmge(h1, h2, 0)); 1476 TEST_INSTRUCTION("41C8A07E", fcmge(s1, s2, 0)); 1477 TEST_INSTRUCTION("41C8E07E", fcmge(d1, d2, 0)); 1478 TEST_INSTRUCTION("41C8F82E", fcmge(v1.h4(), v2.h4(), 0)); 1479 TEST_INSTRUCTION("41C8A02E", fcmge(v1.s2(), v2.s2(), 0)); 1480 TEST_INSTRUCTION("41C8F86E", fcmge(v1.h8(), v2.h8(), 0)); 1481 TEST_INSTRUCTION("41C8A06E", fcmge(v1.s4(), v2.s4(), 0)); 1482 TEST_INSTRUCTION("41C8E06E", fcmge(v1.d2(), v2.d2(), 0)); 1483 TEST_INSTRUCTION("4124C37E", fcmgt(h1, h2, h3)); 1484 TEST_INSTRUCTION("41E4A37E", fcmgt(s1, s2, s3)); 1485 TEST_INSTRUCTION("41E4E37E", fcmgt(d1, d2, d3)); 1486 TEST_INSTRUCTION("4124C32E", fcmgt(v1.h4(), v2.h4(), v3.h4())); 1487 TEST_INSTRUCTION("41E4A32E", fcmgt(v1.s2(), v2.s2(), v3.s2())); 1488 TEST_INSTRUCTION("4124C36E", fcmgt(v1.h8(), v2.h8(), v3.h8())); 1489 TEST_INSTRUCTION("41E4A36E", fcmgt(v1.s4(), v2.s4(), v3.s4())); 1490 TEST_INSTRUCTION("41E4E36E", fcmgt(v1.d2(), v2.d2(), v3.d2())); 1491 TEST_INSTRUCTION("41C8F85E", fcmgt(h1, h2, 0)); 1492 TEST_INSTRUCTION("41C8A05E", fcmgt(s1, s2, 0)); 1493 TEST_INSTRUCTION("41C8E05E", fcmgt(d1, d2, 0)); 1494 TEST_INSTRUCTION("41C8F80E", fcmgt(v1.h4(), v2.h4(), 0)); 1495 TEST_INSTRUCTION("41C8A00E", fcmgt(v1.s2(), v2.s2(), 0)); 1496 TEST_INSTRUCTION("41C8F84E", fcmgt(v1.h8(), v2.h8(), 0)); 1497 TEST_INSTRUCTION("41C8A04E", fcmgt(v1.s4(), v2.s4(), 0)); 1498 TEST_INSTRUCTION("41C8E04E", fcmgt(v1.d2(), v2.d2(), 0)); 1499 TEST_INSTRUCTION("41CC432E", fcmla(v1.h4(), v2.h4(), v3.h4(), 90)); 1500 TEST_INSTRUCTION("41CC832E", fcmla(v1.s2(), v2.s2(), v3.s2(), 90)); 1501 TEST_INSTRUCTION("41CC436E", fcmla(v1.h8(), v2.h8(), v3.h8(), 90)); 1502 TEST_INSTRUCTION("41CC836E", fcmla(v1.s4(), v2.s4(), v3.s4(), 90)); 1503 TEST_INSTRUCTION("41CCC36E", fcmla(v1.d2(), v2.d2(), v3.d2(), 90)); 1504 TEST_INSTRUCTION("41DC432E", fcmla(v1.h4(), v2.h4(), v3.h4(), 270)); 1505 TEST_INSTRUCTION("41DC832E", fcmla(v1.s2(), v2.s2(), v3.s2(), 270)); 1506 TEST_INSTRUCTION("41DC436E", fcmla(v1.h8(), v2.h8(), v3.h8(), 270)); 1507 TEST_INSTRUCTION("41DC836E", fcmla(v1.s4(), v2.s4(), v3.s4(), 270)); 1508 TEST_INSTRUCTION("41DCC36E", fcmla(v1.d2(), v2.d2(), v3.d2(), 270)); 1509 TEST_INSTRUCTION("4130432F", fcmla(v1.h4(), v2.h4(), v3.h(0), 90)); 1510 TEST_INSTRUCTION("4130632F", fcmla(v1.h4(), v2.h4(), v3.h(1), 90)); 1511 TEST_INSTRUCTION("4130436F", fcmla(v1.h8(), v2.h8(), v3.h(0), 90)); 1512 TEST_INSTRUCTION("4138636F", fcmla(v1.h8(), v2.h8(), v3.h(3), 90)); 1513 TEST_INSTRUCTION("4130836F", fcmla(v1.s4(), v2.s4(), v3.s(0), 90)); 1514 TEST_INSTRUCTION("4138836F", fcmla(v1.s4(), v2.s4(), v3.s(1), 90)); 1515 TEST_INSTRUCTION("4170432F", fcmla(v1.h4(), v2.h4(), v3.h(0), 270)); 1516 TEST_INSTRUCTION("4170632F", fcmla(v1.h4(), v2.h4(), v3.h(1), 270)); 1517 TEST_INSTRUCTION("4170436F", fcmla(v1.h8(), v2.h8(), v3.h(0), 270)); 1518 TEST_INSTRUCTION("4178636F", fcmla(v1.h8(), v2.h8(), v3.h(3), 270)); 1519 TEST_INSTRUCTION("4170836F", fcmla(v1.s4(), v2.s4(), v3.s(0), 270)); 1520 TEST_INSTRUCTION("4178836F", fcmla(v1.s4(), v2.s4(), v3.s(1), 270)); 1521 TEST_INSTRUCTION("41D8F87E", fcmle(h1, h2, 0)); 1522 TEST_INSTRUCTION("41D8A07E", fcmle(s1, s2, 0)); 1523 TEST_INSTRUCTION("41D8E07E", fcmle(d1, d2, 0)); 1524 TEST_INSTRUCTION("41D8F82E", fcmle(v1.h4(), v2.h4(), 0)); 1525 TEST_INSTRUCTION("41D8A02E", fcmle(v1.s2(), v2.s2(), 0)); 1526 TEST_INSTRUCTION("41D8F86E", fcmle(v1.h8(), v2.h8(), 0)); 1527 TEST_INSTRUCTION("41D8A06E", fcmle(v1.s4(), v2.s4(), 0)); 1528 TEST_INSTRUCTION("41D8E06E", fcmle(v1.d2(), v2.d2(), 0)); 1529 TEST_INSTRUCTION("41E8F85E", fcmlt(h1, h2, 0)); 1530 TEST_INSTRUCTION("41E8A05E", fcmlt(s1, s2, 0)); 1531 TEST_INSTRUCTION("41E8E05E", fcmlt(d1, d2, 0)); 1532 TEST_INSTRUCTION("41E8F80E", fcmlt(v1.h4(), v2.h4(), 0)); 1533 TEST_INSTRUCTION("41E8A00E", fcmlt(v1.s2(), v2.s2(), 0)); 1534 TEST_INSTRUCTION("41E8F84E", fcmlt(v1.h8(), v2.h8(), 0)); 1535 TEST_INSTRUCTION("41E8A04E", fcmlt(v1.s4(), v2.s4(), 0)); 1536 TEST_INSTRUCTION("41E8E04E", fcmlt(v1.d2(), v2.d2(), 0)); 1537 TEST_INSTRUCTION("2020E21E", fcmp(h1, h2)); 1538 TEST_INSTRUCTION("2020221E", fcmp(s1, s2)); 1539 TEST_INSTRUCTION("2020621E", fcmp(d1, d2)); 1540 TEST_INSTRUCTION("2820E01E", fcmp(h1, 0)); 1541 TEST_INSTRUCTION("2820201E", fcmp(s1, 0)); 1542 TEST_INSTRUCTION("2820601E", fcmp(d1, 0)); 1543 TEST_INSTRUCTION("3020E21E", fcmpe(h1, h2)); 1544 TEST_INSTRUCTION("3020221E", fcmpe(s1, s2)); 1545 TEST_INSTRUCTION("3020621E", fcmpe(d1, d2)); 1546 TEST_INSTRUCTION("3820E01E", fcmpe(h1, 0)); 1547 TEST_INSTRUCTION("3820201E", fcmpe(s1, 0)); 1548 TEST_INSTRUCTION("3820601E", fcmpe(d1, 0)); 1549 TEST_INSTRUCTION("410CE31E", fcsel(h1, h2, h3, CondCode::kEQ)); 1550 TEST_INSTRUCTION("410C231E", fcsel(s1, s2, s3, CondCode::kEQ)); 1551 TEST_INSTRUCTION("410C631E", fcsel(d1, d2, d3, CondCode::kEQ)); 1552 TEST_INSTRUCTION("41C0231E", fcvt(h1, s2)); 1553 TEST_INSTRUCTION("41C0631E", fcvt(h1, d2)); 1554 TEST_INSTRUCTION("4140E21E", fcvt(s1, h2)); 1555 TEST_INSTRUCTION("4140621E", fcvt(s1, d2)); 1556 TEST_INSTRUCTION("41C0E21E", fcvt(d1, h2)); 1557 TEST_INSTRUCTION("41C0221E", fcvt(d1, s2)); 1558 TEST_INSTRUCTION("4100E41E", fcvtas(w1, h2)); 1559 TEST_INSTRUCTION("4100241E", fcvtas(w1, s2)); 1560 TEST_INSTRUCTION("4100641E", fcvtas(w1, d2)); 1561 TEST_INSTRUCTION("4100E49E", fcvtas(x1, h2)); 1562 TEST_INSTRUCTION("4100249E", fcvtas(x1, s2)); 1563 TEST_INSTRUCTION("4100649E", fcvtas(x1, d2)); 1564 TEST_INSTRUCTION("41C8795E", fcvtas(h1, h2)); 1565 TEST_INSTRUCTION("41C8215E", fcvtas(s1, s2)); 1566 TEST_INSTRUCTION("41C8615E", fcvtas(d1, d2)); 1567 TEST_INSTRUCTION("41C8790E", fcvtas(v1.h4(), v2.h4())); 1568 TEST_INSTRUCTION("41C8210E", fcvtas(v1.s2(), v2.s2())); 1569 TEST_INSTRUCTION("41C8794E", fcvtas(v1.h8(), v2.h8())); 1570 TEST_INSTRUCTION("41C8214E", fcvtas(v1.s4(), v2.s4())); 1571 TEST_INSTRUCTION("41C8614E", fcvtas(v1.d2(), v2.d2())); 1572 TEST_INSTRUCTION("4100E51E", fcvtau(w1, h2)); 1573 TEST_INSTRUCTION("4100251E", fcvtau(w1, s2)); 1574 TEST_INSTRUCTION("4100651E", fcvtau(w1, d2)); 1575 TEST_INSTRUCTION("4100E59E", fcvtau(x1, h2)); 1576 TEST_INSTRUCTION("4100259E", fcvtau(x1, s2)); 1577 TEST_INSTRUCTION("4100659E", fcvtau(x1, d2)); 1578 TEST_INSTRUCTION("41C8797E", fcvtau(h1, h2)); 1579 TEST_INSTRUCTION("41C8217E", fcvtau(s1, s2)); 1580 TEST_INSTRUCTION("41C8617E", fcvtau(d1, d2)); 1581 TEST_INSTRUCTION("41C8792E", fcvtau(v1.h4(), v2.h4())); 1582 TEST_INSTRUCTION("41C8212E", fcvtau(v1.s2(), v2.s2())); 1583 TEST_INSTRUCTION("41C8796E", fcvtau(v1.h8(), v2.h8())); 1584 TEST_INSTRUCTION("41C8216E", fcvtau(v1.s4(), v2.s4())); 1585 TEST_INSTRUCTION("41C8616E", fcvtau(v1.d2(), v2.d2())); 1586 TEST_INSTRUCTION("4178210E", fcvtl(v1.s4(), v2.h4())); 1587 TEST_INSTRUCTION("4178214E", fcvtl2(v1.s4(), v2.h8())); 1588 TEST_INSTRUCTION("4178610E", fcvtl(v1.d2(), v2.s2())); 1589 TEST_INSTRUCTION("4178614E", fcvtl2(v1.d2(), v2.s4())); 1590 TEST_INSTRUCTION("4100F01E", fcvtms(w1, h2)); 1591 TEST_INSTRUCTION("4100301E", fcvtms(w1, s2)); 1592 TEST_INSTRUCTION("4100701E", fcvtms(w1, d2)); 1593 TEST_INSTRUCTION("4100F09E", fcvtms(x1, h2)); 1594 TEST_INSTRUCTION("4100309E", fcvtms(x1, s2)); 1595 TEST_INSTRUCTION("4100709E", fcvtms(x1, d2)); 1596 TEST_INSTRUCTION("41B8795E", fcvtms(h1, h2)); 1597 TEST_INSTRUCTION("41B8215E", fcvtms(s1, s2)); 1598 TEST_INSTRUCTION("41B8615E", fcvtms(d1, d2)); 1599 TEST_INSTRUCTION("41B8790E", fcvtms(v1.h4(), v2.h4())); 1600 TEST_INSTRUCTION("41B8210E", fcvtms(v1.s2(), v2.s2())); 1601 TEST_INSTRUCTION("41B8794E", fcvtms(v1.h8(), v2.h8())); 1602 TEST_INSTRUCTION("41B8214E", fcvtms(v1.s4(), v2.s4())); 1603 TEST_INSTRUCTION("41B8614E", fcvtms(v1.d2(), v2.d2())); 1604 TEST_INSTRUCTION("4100F11E", fcvtmu(w1, h2)); 1605 TEST_INSTRUCTION("4100311E", fcvtmu(w1, s2)); 1606 TEST_INSTRUCTION("4100711E", fcvtmu(w1, d2)); 1607 TEST_INSTRUCTION("4100F19E", fcvtmu(x1, h2)); 1608 TEST_INSTRUCTION("4100319E", fcvtmu(x1, s2)); 1609 TEST_INSTRUCTION("4100719E", fcvtmu(x1, d2)); 1610 TEST_INSTRUCTION("41B8797E", fcvtmu(h1, h2)); 1611 TEST_INSTRUCTION("41B8217E", fcvtmu(s1, s2)); 1612 TEST_INSTRUCTION("41B8617E", fcvtmu(d1, d2)); 1613 TEST_INSTRUCTION("41B8792E", fcvtmu(v1.h4(), v2.h4())); 1614 TEST_INSTRUCTION("41B8212E", fcvtmu(v1.s2(), v2.s2())); 1615 TEST_INSTRUCTION("41B8796E", fcvtmu(v1.h8(), v2.h8())); 1616 TEST_INSTRUCTION("41B8216E", fcvtmu(v1.s4(), v2.s4())); 1617 TEST_INSTRUCTION("41B8616E", fcvtmu(v1.d2(), v2.d2())); 1618 TEST_INSTRUCTION("4168210E", fcvtn(v1.h4(), v2.s4())); 1619 TEST_INSTRUCTION("4168214E", fcvtn2(v1.h8(), v2.s4())); 1620 TEST_INSTRUCTION("4168610E", fcvtn(v1.s2(), v2.d2())); 1621 TEST_INSTRUCTION("4168614E", fcvtn2(v1.s4(), v2.d2())); 1622 TEST_INSTRUCTION("4100E01E", fcvtns(w1, h2)); 1623 TEST_INSTRUCTION("4100201E", fcvtns(w1, s2)); 1624 TEST_INSTRUCTION("4100601E", fcvtns(w1, d2)); 1625 TEST_INSTRUCTION("4100E09E", fcvtns(x1, h2)); 1626 TEST_INSTRUCTION("4100209E", fcvtns(x1, s2)); 1627 TEST_INSTRUCTION("4100609E", fcvtns(x1, d2)); 1628 TEST_INSTRUCTION("41A8795E", fcvtns(h1, h2)); 1629 TEST_INSTRUCTION("41A8215E", fcvtns(s1, s2)); 1630 TEST_INSTRUCTION("41A8615E", fcvtns(d1, d2)); 1631 TEST_INSTRUCTION("41A8790E", fcvtns(v1.h4(), v2.h4())); 1632 TEST_INSTRUCTION("41A8210E", fcvtns(v1.s2(), v2.s2())); 1633 TEST_INSTRUCTION("41A8794E", fcvtns(v1.h8(), v2.h8())); 1634 TEST_INSTRUCTION("41A8214E", fcvtns(v1.s4(), v2.s4())); 1635 TEST_INSTRUCTION("41A8614E", fcvtns(v1.d2(), v2.d2())); 1636 TEST_INSTRUCTION("4100E11E", fcvtnu(w1, h2)); 1637 TEST_INSTRUCTION("4100211E", fcvtnu(w1, s2)); 1638 TEST_INSTRUCTION("4100611E", fcvtnu(w1, d2)); 1639 TEST_INSTRUCTION("4100E19E", fcvtnu(x1, h2)); 1640 TEST_INSTRUCTION("4100219E", fcvtnu(x1, s2)); 1641 TEST_INSTRUCTION("4100619E", fcvtnu(x1, d2)); 1642 TEST_INSTRUCTION("41A8797E", fcvtnu(h1, h2)); 1643 TEST_INSTRUCTION("41A8217E", fcvtnu(s1, s2)); 1644 TEST_INSTRUCTION("41A8617E", fcvtnu(d1, d2)); 1645 TEST_INSTRUCTION("41A8792E", fcvtnu(v1.h4(), v2.h4())); 1646 TEST_INSTRUCTION("41A8212E", fcvtnu(v1.s2(), v2.s2())); 1647 TEST_INSTRUCTION("41A8796E", fcvtnu(v1.h8(), v2.h8())); 1648 TEST_INSTRUCTION("41A8216E", fcvtnu(v1.s4(), v2.s4())); 1649 TEST_INSTRUCTION("41A8616E", fcvtnu(v1.d2(), v2.d2())); 1650 TEST_INSTRUCTION("4100E81E", fcvtps(w1, h2)); 1651 TEST_INSTRUCTION("4100281E", fcvtps(w1, s2)); 1652 TEST_INSTRUCTION("4100681E", fcvtps(w1, d2)); 1653 TEST_INSTRUCTION("4100E89E", fcvtps(x1, h2)); 1654 TEST_INSTRUCTION("4100289E", fcvtps(x1, s2)); 1655 TEST_INSTRUCTION("4100689E", fcvtps(x1, d2)); 1656 TEST_INSTRUCTION("41A8F95E", fcvtps(h1, h2)); 1657 TEST_INSTRUCTION("41A8A15E", fcvtps(s1, s2)); 1658 TEST_INSTRUCTION("41A8E15E", fcvtps(d1, d2)); 1659 TEST_INSTRUCTION("41A8F90E", fcvtps(v1.h4(), v2.h4())); 1660 TEST_INSTRUCTION("41A8A10E", fcvtps(v1.s2(), v2.s2())); 1661 TEST_INSTRUCTION("41A8F94E", fcvtps(v1.h8(), v2.h8())); 1662 TEST_INSTRUCTION("41A8A14E", fcvtps(v1.s4(), v2.s4())); 1663 TEST_INSTRUCTION("41A8E14E", fcvtps(v1.d2(), v2.d2())); 1664 TEST_INSTRUCTION("4100E91E", fcvtpu(w1, h2)); 1665 TEST_INSTRUCTION("4100291E", fcvtpu(w1, s2)); 1666 TEST_INSTRUCTION("4100691E", fcvtpu(w1, d2)); 1667 TEST_INSTRUCTION("4100E99E", fcvtpu(x1, h2)); 1668 TEST_INSTRUCTION("4100299E", fcvtpu(x1, s2)); 1669 TEST_INSTRUCTION("4100699E", fcvtpu(x1, d2)); 1670 TEST_INSTRUCTION("41A8F97E", fcvtpu(h1, h2)); 1671 TEST_INSTRUCTION("41A8A17E", fcvtpu(s1, s2)); 1672 TEST_INSTRUCTION("41A8E17E", fcvtpu(d1, d2)); 1673 TEST_INSTRUCTION("41A8F92E", fcvtpu(v1.h4(), v2.h4())); 1674 TEST_INSTRUCTION("41A8A12E", fcvtpu(v1.s2(), v2.s2())); 1675 TEST_INSTRUCTION("41A8F96E", fcvtpu(v1.h8(), v2.h8())); 1676 TEST_INSTRUCTION("41A8A16E", fcvtpu(v1.s4(), v2.s4())); 1677 TEST_INSTRUCTION("41A8E16E", fcvtpu(v1.d2(), v2.d2())); 1678 TEST_INSTRUCTION("2168617E", fcvtxn(s1, d1)); 1679 TEST_INSTRUCTION("4168612E", fcvtxn(v1.s2(), v2.d2())); 1680 TEST_INSTRUCTION("4168616E", fcvtxn2(v1.s4(), v2.d2())); 1681 TEST_INSTRUCTION("4100F81E", fcvtzs(w1, h2)); 1682 TEST_INSTRUCTION("4100381E", fcvtzs(w1, s2)); 1683 TEST_INSTRUCTION("4100781E", fcvtzs(w1, d2)); 1684 TEST_INSTRUCTION("4100F89E", fcvtzs(x1, h2)); 1685 TEST_INSTRUCTION("4100389E", fcvtzs(x1, s2)); 1686 TEST_INSTRUCTION("4100789E", fcvtzs(x1, d2)); 1687 TEST_INSTRUCTION("41B8F95E", fcvtzs(h1, h2)); 1688 TEST_INSTRUCTION("41B8A15E", fcvtzs(s1, s2)); 1689 TEST_INSTRUCTION("41B8E15E", fcvtzs(d1, d2)); 1690 TEST_INSTRUCTION("41B8F90E", fcvtzs(v1.h4(), v2.h4())); 1691 TEST_INSTRUCTION("41B8A10E", fcvtzs(v1.s2(), v2.s2())); 1692 TEST_INSTRUCTION("41B8F94E", fcvtzs(v1.h8(), v2.h8())); 1693 TEST_INSTRUCTION("41B8A14E", fcvtzs(v1.s4(), v2.s4())); 1694 TEST_INSTRUCTION("41B8E14E", fcvtzs(v1.d2(), v2.d2())); 1695 TEST_INSTRUCTION("41E0D81E", fcvtzs(w1, h2, 8)); 1696 TEST_INSTRUCTION("41E0181E", fcvtzs(w1, s2, 8)); 1697 TEST_INSTRUCTION("41E0581E", fcvtzs(w1, d2, 8)); 1698 TEST_INSTRUCTION("41E0D89E", fcvtzs(x1, h2, 8)); 1699 TEST_INSTRUCTION("41E0189E", fcvtzs(x1, s2, 8)); 1700 TEST_INSTRUCTION("41E0589E", fcvtzs(x1, d2, 8)); 1701 TEST_INSTRUCTION("41FC185F", fcvtzs(h1, h2, 8)); 1702 TEST_INSTRUCTION("41FC385F", fcvtzs(s1, s2, 8)); 1703 TEST_INSTRUCTION("41FC785F", fcvtzs(d1, d2, 8)); 1704 TEST_INSTRUCTION("41FC180F", fcvtzs(v1.h4(), v2.h4(), 8)); 1705 TEST_INSTRUCTION("41FC380F", fcvtzs(v1.s2(), v2.s2(), 8)); 1706 TEST_INSTRUCTION("41FC184F", fcvtzs(v1.h8(), v2.h8(), 8)); 1707 TEST_INSTRUCTION("41FC384F", fcvtzs(v1.s4(), v2.s4(), 8)); 1708 TEST_INSTRUCTION("41FC784F", fcvtzs(v1.d2(), v2.d2(), 8)); 1709 TEST_INSTRUCTION("4100F91E", fcvtzu(w1, h2)); 1710 TEST_INSTRUCTION("4100391E", fcvtzu(w1, s2)); 1711 TEST_INSTRUCTION("4100791E", fcvtzu(w1, d2)); 1712 TEST_INSTRUCTION("4100F99E", fcvtzu(x1, h2)); 1713 TEST_INSTRUCTION("4100399E", fcvtzu(x1, s2)); 1714 TEST_INSTRUCTION("4100799E", fcvtzu(x1, d2)); 1715 TEST_INSTRUCTION("41B8F97E", fcvtzu(h1, h2)); 1716 TEST_INSTRUCTION("41B8A17E", fcvtzu(s1, s2)); 1717 TEST_INSTRUCTION("41B8E17E", fcvtzu(d1, d2)); 1718 TEST_INSTRUCTION("41B8F92E", fcvtzu(v1.h4(), v2.h4())); 1719 TEST_INSTRUCTION("41B8A12E", fcvtzu(v1.s2(), v2.s2())); 1720 TEST_INSTRUCTION("41B8F96E", fcvtzu(v1.h8(), v2.h8())); 1721 TEST_INSTRUCTION("41B8A16E", fcvtzu(v1.s4(), v2.s4())); 1722 TEST_INSTRUCTION("41B8E16E", fcvtzu(v1.d2(), v2.d2())); 1723 TEST_INSTRUCTION("41E0D91E", fcvtzu(w1, h2, 8)); 1724 TEST_INSTRUCTION("41E0191E", fcvtzu(w1, s2, 8)); 1725 TEST_INSTRUCTION("41E0591E", fcvtzu(w1, d2, 8)); 1726 TEST_INSTRUCTION("41E0D99E", fcvtzu(x1, h2, 8)); 1727 TEST_INSTRUCTION("41E0199E", fcvtzu(x1, s2, 8)); 1728 TEST_INSTRUCTION("41E0599E", fcvtzu(x1, d2, 8)); 1729 TEST_INSTRUCTION("41FC187F", fcvtzu(h1, h2, 8)); 1730 TEST_INSTRUCTION("41FC387F", fcvtzu(s1, s2, 8)); 1731 TEST_INSTRUCTION("41FC787F", fcvtzu(d1, d2, 8)); 1732 TEST_INSTRUCTION("41FC182F", fcvtzu(v1.h4(), v2.h4(), 8)); 1733 TEST_INSTRUCTION("41FC382F", fcvtzu(v1.s2(), v2.s2(), 8)); 1734 TEST_INSTRUCTION("41FC186F", fcvtzu(v1.h8(), v2.h8(), 8)); 1735 TEST_INSTRUCTION("41FC386F", fcvtzu(v1.s4(), v2.s4(), 8)); 1736 TEST_INSTRUCTION("41FC786F", fcvtzu(v1.d2(), v2.d2(), 8)); 1737 TEST_INSTRUCTION("4118E31E", fdiv(h1, h2, h3)); 1738 TEST_INSTRUCTION("4118231E", fdiv(s1, s2, s3)); 1739 TEST_INSTRUCTION("4118631E", fdiv(d1, d2, d3)); 1740 TEST_INSTRUCTION("413C432E", fdiv(v1.h4(), v2.h4(), v3.h4())); 1741 TEST_INSTRUCTION("41FC232E", fdiv(v1.s2(), v2.s2(), v3.s2())); 1742 TEST_INSTRUCTION("413C436E", fdiv(v1.h8(), v2.h8(), v3.h8())); 1743 TEST_INSTRUCTION("41FC236E", fdiv(v1.s4(), v2.s4(), v3.s4())); 1744 TEST_INSTRUCTION("41FC636E", fdiv(v1.d2(), v2.d2(), v3.d2())); 1745 TEST_INSTRUCTION("41007E1E", fjcvtzs(w1, d2)); 1746 TEST_INSTRUCTION("4110C31F", fmadd(h1, h2, h3, h4)); 1747 TEST_INSTRUCTION("4110031F", fmadd(s1, s2, s3, s4)); 1748 TEST_INSTRUCTION("4110431F", fmadd(d1, d2, d3, d4)); 1749 TEST_INSTRUCTION("4148E31E", fmax(h1, h2, h3)); 1750 TEST_INSTRUCTION("4148231E", fmax(s1, s2, s3)); 1751 TEST_INSTRUCTION("4148631E", fmax(d1, d2, d3)); 1752 TEST_INSTRUCTION("4134430E", fmax(v1.h4(), v2.h4(), v3.h4())); 1753 TEST_INSTRUCTION("41F4230E", fmax(v1.s2(), v2.s2(), v3.s2())); 1754 TEST_INSTRUCTION("4134434E", fmax(v1.h8(), v2.h8(), v3.h8())); 1755 TEST_INSTRUCTION("41F4234E", fmax(v1.s4(), v2.s4(), v3.s4())); 1756 TEST_INSTRUCTION("41F4634E", fmax(v1.d2(), v2.d2(), v3.d2())); 1757 TEST_INSTRUCTION("4168E31E", fmaxnm(h1, h2, h3)); 1758 TEST_INSTRUCTION("4168231E", fmaxnm(s1, s2, s3)); 1759 TEST_INSTRUCTION("4168631E", fmaxnm(d1, d2, d3)); 1760 TEST_INSTRUCTION("4104430E", fmaxnm(v1.h4(), v2.h4(), v3.h4())); 1761 TEST_INSTRUCTION("41C4230E", fmaxnm(v1.s2(), v2.s2(), v3.s2())); 1762 TEST_INSTRUCTION("4104434E", fmaxnm(v1.h8(), v2.h8(), v3.h8())); 1763 TEST_INSTRUCTION("41C4234E", fmaxnm(v1.s4(), v2.s4(), v3.s4())); 1764 TEST_INSTRUCTION("41C4634E", fmaxnm(v1.d2(), v2.d2(), v3.d2())); 1765 TEST_INSTRUCTION("41C8305E", fmaxnmp(h1, v2.h2())); 1766 TEST_INSTRUCTION("41C8307E", fmaxnmp(s1, v2.s2())); 1767 TEST_INSTRUCTION("41C8707E", fmaxnmp(d1, v2.d2())); 1768 TEST_INSTRUCTION("4104432E", fmaxnmp(v1.h4(), v2.h4(), v3.h4())); 1769 TEST_INSTRUCTION("41C4232E", fmaxnmp(v1.s2(), v2.s2(), v3.s2())); 1770 TEST_INSTRUCTION("4104436E", fmaxnmp(v1.h8(), v2.h8(), v3.h8())); 1771 TEST_INSTRUCTION("41C4236E", fmaxnmp(v1.s4(), v2.s4(), v3.s4())); 1772 TEST_INSTRUCTION("41C4636E", fmaxnmp(v1.d2(), v2.d2(), v3.d2())); 1773 TEST_INSTRUCTION("41C8300E", fmaxnmv(h1, v2.h4())); 1774 TEST_INSTRUCTION("41C8304E", fmaxnmv(h1, v2.h8())); 1775 TEST_INSTRUCTION("41C8306E", fmaxnmv(s1, v2.s4())); 1776 TEST_INSTRUCTION("41F8305E", fmaxp(h1, v2.h2())); 1777 TEST_INSTRUCTION("41F8307E", fmaxp(s1, v2.s2())); 1778 TEST_INSTRUCTION("41F8707E", fmaxp(d1, v2.d2())); 1779 TEST_INSTRUCTION("4134432E", fmaxp(v1.h4(), v2.h4(), v3.h4())); 1780 TEST_INSTRUCTION("41F4232E", fmaxp(v1.s2(), v2.s2(), v3.s2())); 1781 TEST_INSTRUCTION("4134436E", fmaxp(v1.h8(), v2.h8(), v3.h8())); 1782 TEST_INSTRUCTION("41F4236E", fmaxp(v1.s4(), v2.s4(), v3.s4())); 1783 TEST_INSTRUCTION("41F4636E", fmaxp(v1.d2(), v2.d2(), v3.d2())); 1784 TEST_INSTRUCTION("41F8300E", fmaxv(h1, v2.h4())); 1785 TEST_INSTRUCTION("41F8304E", fmaxv(h1, v2.h8())); 1786 TEST_INSTRUCTION("41F8306E", fmaxv(s1, v2.s4())); 1787 TEST_INSTRUCTION("4158E31E", fmin(h1, h2, h3)); 1788 TEST_INSTRUCTION("4158231E", fmin(s1, s2, s3)); 1789 TEST_INSTRUCTION("4158631E", fmin(d1, d2, d3)); 1790 TEST_INSTRUCTION("4134C30E", fmin(v1.h4(), v2.h4(), v3.h4())); 1791 TEST_INSTRUCTION("41F4A30E", fmin(v1.s2(), v2.s2(), v3.s2())); 1792 TEST_INSTRUCTION("4134C34E", fmin(v1.h8(), v2.h8(), v3.h8())); 1793 TEST_INSTRUCTION("41F4A34E", fmin(v1.s4(), v2.s4(), v3.s4())); 1794 TEST_INSTRUCTION("41F4E34E", fmin(v1.d2(), v2.d2(), v3.d2())); 1795 TEST_INSTRUCTION("4178E31E", fminnm(h1, h2, h3)); 1796 TEST_INSTRUCTION("4178231E", fminnm(s1, s2, s3)); 1797 TEST_INSTRUCTION("4178631E", fminnm(d1, d2, d3)); 1798 TEST_INSTRUCTION("4104C30E", fminnm(v1.h4(), v2.h4(), v3.h4())); 1799 TEST_INSTRUCTION("41C4A30E", fminnm(v1.s2(), v2.s2(), v3.s2())); 1800 TEST_INSTRUCTION("4104C34E", fminnm(v1.h8(), v2.h8(), v3.h8())); 1801 TEST_INSTRUCTION("41C4A34E", fminnm(v1.s4(), v2.s4(), v3.s4())); 1802 TEST_INSTRUCTION("41C4E34E", fminnm(v1.d2(), v2.d2(), v3.d2())); 1803 TEST_INSTRUCTION("41C8B05E", fminnmp(h1, v2.h2())); 1804 TEST_INSTRUCTION("41C8B07E", fminnmp(s1, v2.s2())); 1805 TEST_INSTRUCTION("41C8F07E", fminnmp(d1, v2.d2())); 1806 TEST_INSTRUCTION("4104C32E", fminnmp(v1.h4(), v2.h4(), v3.h4())); 1807 TEST_INSTRUCTION("41C4A32E", fminnmp(v1.s2(), v2.s2(), v3.s2())); 1808 TEST_INSTRUCTION("4104C36E", fminnmp(v1.h8(), v2.h8(), v3.h8())); 1809 TEST_INSTRUCTION("41C4A36E", fminnmp(v1.s4(), v2.s4(), v3.s4())); 1810 TEST_INSTRUCTION("41C4E36E", fminnmp(v1.d2(), v2.d2(), v3.d2())); 1811 TEST_INSTRUCTION("41C8B00E", fminnmv(h1, v2.h4())); 1812 TEST_INSTRUCTION("41C8B04E", fminnmv(h1, v2.h8())); 1813 TEST_INSTRUCTION("41C8B06E", fminnmv(s1, v2.s4())); 1814 TEST_INSTRUCTION("41F8B05E", fminp(h1, v2.h2())); 1815 TEST_INSTRUCTION("41F8B07E", fminp(s1, v2.s2())); 1816 TEST_INSTRUCTION("41F8F07E", fminp(d1, v2.d2())); 1817 TEST_INSTRUCTION("4134C32E", fminp(v1.h4(), v2.h4(), v3.h4())); 1818 TEST_INSTRUCTION("41F4A32E", fminp(v1.s2(), v2.s2(), v3.s2())); 1819 TEST_INSTRUCTION("4134C36E", fminp(v1.h8(), v2.h8(), v3.h8())); 1820 TEST_INSTRUCTION("41F4A36E", fminp(v1.s4(), v2.s4(), v3.s4())); 1821 TEST_INSTRUCTION("41F4E36E", fminp(v1.d2(), v2.d2(), v3.d2())); 1822 TEST_INSTRUCTION("41F8B00E", fminv(h1, v2.h4())); 1823 TEST_INSTRUCTION("41F8B04E", fminv(h1, v2.h8())); 1824 TEST_INSTRUCTION("41F8B06E", fminv(s1, v2.s4())); 1825 TEST_INSTRUCTION("410C430E", fmla(v1.h4(), v2.h4(), v3.h4())); 1826 TEST_INSTRUCTION("41CC230E", fmla(v1.s2(), v2.s2(), v3.s2())); 1827 TEST_INSTRUCTION("410C434E", fmla(v1.h8(), v2.h8(), v3.h8())); 1828 TEST_INSTRUCTION("41CC234E", fmla(v1.s4(), v2.s4(), v3.s4())); 1829 TEST_INSTRUCTION("41CC634E", fmla(v1.d2(), v2.d2(), v3.d2())); 1830 TEST_INSTRUCTION("4118335F", fmla(h1, h2, v3.h(7))); 1831 TEST_INSTRUCTION("4118A35F", fmla(s1, s2, v3.s(3))); 1832 TEST_INSTRUCTION("4118C35F", fmla(d1, d2, v3.d(1))); 1833 TEST_INSTRUCTION("4118330F", fmla(v1.h4(), v2.h4(), v3.h(7))); 1834 TEST_INSTRUCTION("4118A30F", fmla(v1.s2(), v2.s2(), v3.s(3))); 1835 TEST_INSTRUCTION("4118334F", fmla(v1.h8(), v2.h8(), v3.h(7))); 1836 TEST_INSTRUCTION("4118A34F", fmla(v1.s4(), v2.s4(), v3.s(3))); 1837 TEST_INSTRUCTION("4118C34F", fmla(v1.d2(), v2.d2(), v3.d(1))); 1838 TEST_INSTRUCTION("41EC230E", fmlal(v1.s2(), v2.h2(), v3.h2())); 1839 TEST_INSTRUCTION("41EC234E", fmlal(v1.s4(), v2.h4(), v3.h4())); 1840 TEST_INSTRUCTION("4100830F", fmlal(v1.s2(), v2.h2(), v3.h(0))); 1841 TEST_INSTRUCTION("4108B30F", fmlal(v1.s2(), v2.h2(), v3.h(7))); 1842 TEST_INSTRUCTION("4100834F", fmlal(v1.s4(), v2.h4(), v3.h(0))); 1843 TEST_INSTRUCTION("4108B34F", fmlal(v1.s4(), v2.h4(), v3.h(7))); 1844 TEST_INSTRUCTION("41CC232E", fmlal2(v1.s2(), v2.h2(), v3.h2())); 1845 TEST_INSTRUCTION("41CC236E", fmlal2(v1.s4(), v2.h4(), v3.h4())); 1846 TEST_INSTRUCTION("4180832F", fmlal2(v1.s2(), v2.h2(), v3.h(0))); 1847 TEST_INSTRUCTION("4188B32F", fmlal2(v1.s2(), v2.h2(), v3.h(7))); 1848 TEST_INSTRUCTION("4180836F", fmlal2(v1.s4(), v2.h4(), v3.h(0))); 1849 TEST_INSTRUCTION("4188B36F", fmlal2(v1.s4(), v2.h4(), v3.h(7))); 1850 TEST_INSTRUCTION("410CC30E", fmls(v1.h4(), v2.h4(), v3.h4())); 1851 TEST_INSTRUCTION("41CCA30E", fmls(v1.s2(), v2.s2(), v3.s2())); 1852 TEST_INSTRUCTION("410CC34E", fmls(v1.h8(), v2.h8(), v3.h8())); 1853 TEST_INSTRUCTION("41CCA34E", fmls(v1.s4(), v2.s4(), v3.s4())); 1854 TEST_INSTRUCTION("41CCE34E", fmls(v1.d2(), v2.d2(), v3.d2())); 1855 TEST_INSTRUCTION("4158335F", fmls(h1, h2, v3.h(7))); 1856 TEST_INSTRUCTION("4158A35F", fmls(s1, s2, v3.s(3))); 1857 TEST_INSTRUCTION("4158C35F", fmls(d1, d2, v3.d(1))); 1858 TEST_INSTRUCTION("4158330F", fmls(v1.h4(), v2.h4(), v3.h(7))); 1859 TEST_INSTRUCTION("4158A30F", fmls(v1.s2(), v2.s2(), v3.s(3))); 1860 TEST_INSTRUCTION("4158334F", fmls(v1.h8(), v2.h8(), v3.h(7))); 1861 TEST_INSTRUCTION("4158A34F", fmls(v1.s4(), v2.s4(), v3.s(3))); 1862 TEST_INSTRUCTION("4158C34F", fmls(v1.d2(), v2.d2(), v3.d(1))); 1863 TEST_INSTRUCTION("41ECA30E", fmlsl(v1.s2(), v2.h2(), v3.h2())); 1864 TEST_INSTRUCTION("41ECA34E", fmlsl(v1.s4(), v2.h4(), v3.h4())); 1865 TEST_INSTRUCTION("4140830F", fmlsl(v1.s2(), v2.h2(), v3.h(0))); 1866 TEST_INSTRUCTION("4148B30F", fmlsl(v1.s2(), v2.h2(), v3.h(7))); 1867 TEST_INSTRUCTION("4140834F", fmlsl(v1.s4(), v2.h4(), v3.h(0))); 1868 TEST_INSTRUCTION("4148B34F", fmlsl(v1.s4(), v2.h4(), v3.h(7))); 1869 TEST_INSTRUCTION("41CCA32E", fmlsl2(v1.s2(), v2.h2(), v3.h2())); 1870 TEST_INSTRUCTION("41CCA36E", fmlsl2(v1.s4(), v2.h4(), v3.h4())); 1871 TEST_INSTRUCTION("41C0832F", fmlsl2(v1.s2(), v2.h2(), v3.h(0))); 1872 TEST_INSTRUCTION("41C8B32F", fmlsl2(v1.s2(), v2.h2(), v3.h(7))); 1873 TEST_INSTRUCTION("41C0836F", fmlsl2(v1.s4(), v2.h4(), v3.h(0))); 1874 TEST_INSTRUCTION("41C8B36F", fmlsl2(v1.s4(), v2.h4(), v3.h(7))); 1875 TEST_INSTRUCTION("4100E71E", fmov(h1, w2)); 1876 TEST_INSTRUCTION("4100E79E", fmov(h1, x2)); 1877 TEST_INSTRUCTION("4100271E", fmov(s1, w2)); 1878 TEST_INSTRUCTION("4100679E", fmov(d1, x2)); 1879 TEST_INSTRUCTION("4100AF9E", fmov(v1.d(1), x2)); 1880 TEST_INSTRUCTION("4100E61E", fmov(w1, h2)); 1881 TEST_INSTRUCTION("4100E69E", fmov(x1, h2)); 1882 TEST_INSTRUCTION("4100261E", fmov(w1, s2)); 1883 TEST_INSTRUCTION("4100669E", fmov(x1, d2)); 1884 TEST_INSTRUCTION("4100AE9E", fmov(x1, v2.d(1))); 1885 TEST_INSTRUCTION("0110EA1E", fmov(h1, 0.25)); 1886 TEST_INSTRUCTION("0110EC1E", fmov(h1, 0.5)); 1887 TEST_INSTRUCTION("0110EF1E", fmov(h1, 1.5)); 1888 TEST_INSTRUCTION("0110E01E", fmov(h1, 2.0)); 1889 TEST_INSTRUCTION("01D0E51E", fmov(h1, 15.0)); 1890 TEST_INSTRUCTION("01102A1E", fmov(s1, 0.25)); 1891 TEST_INSTRUCTION("01102C1E", fmov(s1, 0.5)); 1892 TEST_INSTRUCTION("01102F1E", fmov(s1, 1.5)); 1893 TEST_INSTRUCTION("0110201E", fmov(s1, 2.0)); 1894 TEST_INSTRUCTION("01D0251E", fmov(s1, 15.0)); 1895 TEST_INSTRUCTION("01106A1E", fmov(d1, 0.25)); 1896 TEST_INSTRUCTION("01106C1E", fmov(d1, 0.5)); 1897 TEST_INSTRUCTION("01106F1E", fmov(d1, 1.5)); 1898 TEST_INSTRUCTION("0110601E", fmov(d1, 2.0)); 1899 TEST_INSTRUCTION("01D0651E", fmov(d1, 15.0)); 1900 TEST_INSTRUCTION("01FC030F", fmov(v1.h4(), 0.5)); 1901 TEST_INSTRUCTION("01FC000F", fmov(v1.h4(), 2.0)); 1902 TEST_INSTRUCTION("01FC034F", fmov(v1.h8(), 0.5)); 1903 TEST_INSTRUCTION("01FC004F", fmov(v1.h8(), 2.0)); 1904 TEST_INSTRUCTION("01F4030F", fmov(v1.s2(), 0.5)); 1905 TEST_INSTRUCTION("01F4000F", fmov(v1.s2(), 2.0)); 1906 TEST_INSTRUCTION("01F4034F", fmov(v1.s4(), 0.5)); 1907 TEST_INSTRUCTION("01F4004F", fmov(v1.s4(), 2.0)); 1908 TEST_INSTRUCTION("01F4036F", fmov(v1.d2(), 0.5)); 1909 TEST_INSTRUCTION("01F4006F", fmov(v1.d2(), 2.0)); 1910 TEST_INSTRUCTION("4190C31F", fmsub(h1, h2, h3, h4)); 1911 TEST_INSTRUCTION("4190031F", fmsub(s1, s2, s3, s4)); 1912 TEST_INSTRUCTION("4190431F", fmsub(d1, d2, d3, d4)); 1913 TEST_INSTRUCTION("4108E31E", fmul(h1, h2, h3)); 1914 TEST_INSTRUCTION("4108231E", fmul(s1, s2, s3)); 1915 TEST_INSTRUCTION("4108631E", fmul(d1, d2, d3)); 1916 TEST_INSTRUCTION("411C432E", fmul(v1.h4(), v2.h4(), v3.h4())); 1917 TEST_INSTRUCTION("41DC232E", fmul(v1.s2(), v2.s2(), v3.s2())); 1918 TEST_INSTRUCTION("411C436E", fmul(v1.h8(), v2.h8(), v3.h8())); 1919 TEST_INSTRUCTION("41DC236E", fmul(v1.s4(), v2.s4(), v3.s4())); 1920 TEST_INSTRUCTION("41DC636E", fmul(v1.d2(), v2.d2(), v3.d2())); 1921 TEST_INSTRUCTION("4198335F", fmul(h1, h2, v3.h(7))); 1922 TEST_INSTRUCTION("4198A35F", fmul(s1, s2, v3.s(3))); 1923 TEST_INSTRUCTION("4198C35F", fmul(d1, d2, v3.d(1))); 1924 TEST_INSTRUCTION("4198330F", fmul(v1.h4(), v2.h4(), v3.h(7))); 1925 TEST_INSTRUCTION("4198A30F", fmul(v1.s2(), v2.s2(), v3.s(3))); 1926 TEST_INSTRUCTION("4198334F", fmul(v1.h8(), v2.h8(), v3.h(7))); 1927 TEST_INSTRUCTION("4198A34F", fmul(v1.s4(), v2.s4(), v3.s(3))); 1928 TEST_INSTRUCTION("4198C34F", fmul(v1.d2(), v2.d2(), v3.d(1))); 1929 TEST_INSTRUCTION("411C435E", fmulx(h1, h2, h3)); 1930 TEST_INSTRUCTION("41DC235E", fmulx(s1, s2, s3)); 1931 TEST_INSTRUCTION("41DC635E", fmulx(d1, d2, d3)); 1932 TEST_INSTRUCTION("411C430E", fmulx(v1.h4(), v2.h4(), v3.h4())); 1933 TEST_INSTRUCTION("41DC230E", fmulx(v1.s2(), v2.s2(), v3.s2())); 1934 TEST_INSTRUCTION("411C434E", fmulx(v1.h8(), v2.h8(), v3.h8())); 1935 TEST_INSTRUCTION("41DC234E", fmulx(v1.s4(), v2.s4(), v3.s4())); 1936 TEST_INSTRUCTION("41DC634E", fmulx(v1.d2(), v2.d2(), v3.d2())); 1937 TEST_INSTRUCTION("4198337F", fmulx(h1, h2, v3.h(7))); 1938 TEST_INSTRUCTION("4198A37F", fmulx(s1, s2, v3.s(3))); 1939 TEST_INSTRUCTION("4198C37F", fmulx(d1, d2, v3.d(1))); 1940 TEST_INSTRUCTION("4198332F", fmulx(v1.h4(), v2.h4(), v3.h(7))); 1941 TEST_INSTRUCTION("4198A32F", fmulx(v1.s2(), v2.s2(), v3.s(3))); 1942 TEST_INSTRUCTION("4198336F", fmulx(v1.h8(), v2.h8(), v3.h(7))); 1943 TEST_INSTRUCTION("4198A36F", fmulx(v1.s4(), v2.s4(), v3.s(3))); 1944 TEST_INSTRUCTION("4198C36F", fmulx(v1.d2(), v2.d2(), v3.d(1))); 1945 TEST_INSTRUCTION("4140E11E", fneg(h1, h2)); 1946 TEST_INSTRUCTION("4140211E", fneg(s1, s2)); 1947 TEST_INSTRUCTION("4140611E", fneg(d1, d2)); 1948 TEST_INSTRUCTION("41F8F82E", fneg(v1.h4(), v2.h4())); 1949 TEST_INSTRUCTION("41F8A02E", fneg(v1.s2(), v2.s2())); 1950 TEST_INSTRUCTION("41F8F86E", fneg(v1.h8(), v2.h8())); 1951 TEST_INSTRUCTION("41F8A06E", fneg(v1.s4(), v2.s4())); 1952 TEST_INSTRUCTION("41F8E06E", fneg(v1.d2(), v2.d2())); 1953 TEST_INSTRUCTION("4110E31F", fnmadd(h1, h2, h3, h4)); 1954 TEST_INSTRUCTION("4110231F", fnmadd(s1, s2, s3, s4)); 1955 TEST_INSTRUCTION("4110631F", fnmadd(d1, d2, d3, d4)); 1956 TEST_INSTRUCTION("4190E31F", fnmsub(h1, h2, h3, h4)); 1957 TEST_INSTRUCTION("4190231F", fnmsub(s1, s2, s3, s4)); 1958 TEST_INSTRUCTION("4190631F", fnmsub(d1, d2, d3, d4)); 1959 TEST_INSTRUCTION("4188E31E", fnmul(h1, h2, h3)); 1960 TEST_INSTRUCTION("4188231E", fnmul(s1, s2, s3)); 1961 TEST_INSTRUCTION("4188631E", fnmul(d1, d2, d3)); 1962 TEST_INSTRUCTION("41D8F95E", frecpe(h1, h2)); 1963 TEST_INSTRUCTION("41D8A15E", frecpe(s1, s2)); 1964 TEST_INSTRUCTION("41D8E15E", frecpe(d1, d2)); 1965 TEST_INSTRUCTION("41D8F90E", frecpe(v1.h4(), v2.h4())); 1966 TEST_INSTRUCTION("41D8A10E", frecpe(v1.s2(), v2.s2())); 1967 TEST_INSTRUCTION("41D8F94E", frecpe(v1.h8(), v2.h8())); 1968 TEST_INSTRUCTION("41D8A14E", frecpe(v1.s4(), v2.s4())); 1969 TEST_INSTRUCTION("41D8E14E", frecpe(v1.d2(), v2.d2())); 1970 TEST_INSTRUCTION("413C435E", frecps(h1, h2, h3)); 1971 TEST_INSTRUCTION("41FC235E", frecps(s1, s2, s3)); 1972 TEST_INSTRUCTION("41FC635E", frecps(d1, d2, d3)); 1973 TEST_INSTRUCTION("413C430E", frecps(v1.h4(), v2.h4(), v3.h4())); 1974 TEST_INSTRUCTION("41FC230E", frecps(v1.s2(), v2.s2(), v3.s2())); 1975 TEST_INSTRUCTION("413C434E", frecps(v1.h8(), v2.h8(), v3.h8())); 1976 TEST_INSTRUCTION("41FC234E", frecps(v1.s4(), v2.s4(), v3.s4())); 1977 TEST_INSTRUCTION("41FC634E", frecps(v1.d2(), v2.d2(), v3.d2())); 1978 TEST_INSTRUCTION("41F8F95E", frecpx(h1, h2)); 1979 TEST_INSTRUCTION("41F8A15E", frecpx(s1, s2)); 1980 TEST_INSTRUCTION("41F8E15E", frecpx(d1, d2)); 1981 TEST_INSTRUCTION("41C0281E", frint32x(s1, s2)); 1982 TEST_INSTRUCTION("41C0681E", frint32x(d1, d2)); 1983 TEST_INSTRUCTION("41E8212E", frint32x(v1.s2(), v2.s2())); 1984 TEST_INSTRUCTION("41E8216E", frint32x(v1.s4(), v2.s4())); 1985 TEST_INSTRUCTION("41E8616E", frint32x(v1.d2(), v2.d2())); 1986 TEST_INSTRUCTION("4140281E", frint32z(s1, s2)); 1987 TEST_INSTRUCTION("4140681E", frint32z(d1, d2)); 1988 TEST_INSTRUCTION("41E8210E", frint32z(v1.s2(), v2.s2())); 1989 TEST_INSTRUCTION("41E8214E", frint32z(v1.s4(), v2.s4())); 1990 TEST_INSTRUCTION("41E8614E", frint32z(v1.d2(), v2.d2())); 1991 TEST_INSTRUCTION("41C0291E", frint64x(s1, s2)); 1992 TEST_INSTRUCTION("41C0691E", frint64x(d1, d2)); 1993 TEST_INSTRUCTION("41F8212E", frint64x(v1.s2(), v2.s2())); 1994 TEST_INSTRUCTION("41F8216E", frint64x(v1.s4(), v2.s4())); 1995 TEST_INSTRUCTION("41F8616E", frint64x(v1.d2(), v2.d2())); 1996 TEST_INSTRUCTION("4140291E", frint64z(s1, s2)); 1997 TEST_INSTRUCTION("4140691E", frint64z(d1, d2)); 1998 TEST_INSTRUCTION("41F8210E", frint64z(v1.s2(), v2.s2())); 1999 TEST_INSTRUCTION("41F8214E", frint64z(v1.s4(), v2.s4())); 2000 TEST_INSTRUCTION("41F8614E", frint64z(v1.d2(), v2.d2())); 2001 TEST_INSTRUCTION("4140E61E", frinta(h1, h2)); 2002 TEST_INSTRUCTION("4140261E", frinta(s1, s2)); 2003 TEST_INSTRUCTION("4140661E", frinta(d1, d2)); 2004 TEST_INSTRUCTION("4188792E", frinta(v1.h4(), v2.h4())); 2005 TEST_INSTRUCTION("4188212E", frinta(v1.s2(), v2.s2())); 2006 TEST_INSTRUCTION("4188796E", frinta(v1.h8(), v2.h8())); 2007 TEST_INSTRUCTION("4188216E", frinta(v1.s4(), v2.s4())); 2008 TEST_INSTRUCTION("4188616E", frinta(v1.d2(), v2.d2())); 2009 TEST_INSTRUCTION("41C0E71E", frinti(h1, h2)); 2010 TEST_INSTRUCTION("41C0271E", frinti(s1, s2)); 2011 TEST_INSTRUCTION("41C0671E", frinti(d1, d2)); 2012 TEST_INSTRUCTION("4198F92E", frinti(v1.h4(), v2.h4())); 2013 TEST_INSTRUCTION("4198A12E", frinti(v1.s2(), v2.s2())); 2014 TEST_INSTRUCTION("4198F96E", frinti(v1.h8(), v2.h8())); 2015 TEST_INSTRUCTION("4198A16E", frinti(v1.s4(), v2.s4())); 2016 TEST_INSTRUCTION("4198E16E", frinti(v1.d2(), v2.d2())); 2017 TEST_INSTRUCTION("4140E51E", frintm(h1, h2)); 2018 TEST_INSTRUCTION("4140251E", frintm(s1, s2)); 2019 TEST_INSTRUCTION("4140651E", frintm(d1, d2)); 2020 TEST_INSTRUCTION("4198790E", frintm(v1.h4(), v2.h4())); 2021 TEST_INSTRUCTION("4198210E", frintm(v1.s2(), v2.s2())); 2022 TEST_INSTRUCTION("4198794E", frintm(v1.h8(), v2.h8())); 2023 TEST_INSTRUCTION("4198214E", frintm(v1.s4(), v2.s4())); 2024 TEST_INSTRUCTION("4198614E", frintm(v1.d2(), v2.d2())); 2025 TEST_INSTRUCTION("4140E41E", frintn(h1, h2)); 2026 TEST_INSTRUCTION("4140241E", frintn(s1, s2)); 2027 TEST_INSTRUCTION("4140641E", frintn(d1, d2)); 2028 TEST_INSTRUCTION("4188790E", frintn(v1.h4(), v2.h4())); 2029 TEST_INSTRUCTION("4188210E", frintn(v1.s2(), v2.s2())); 2030 TEST_INSTRUCTION("4188794E", frintn(v1.h8(), v2.h8())); 2031 TEST_INSTRUCTION("4188214E", frintn(v1.s4(), v2.s4())); 2032 TEST_INSTRUCTION("4188614E", frintn(v1.d2(), v2.d2())); 2033 TEST_INSTRUCTION("41C0E41E", frintp(h1, h2)); 2034 TEST_INSTRUCTION("41C0241E", frintp(s1, s2)); 2035 TEST_INSTRUCTION("41C0641E", frintp(d1, d2)); 2036 TEST_INSTRUCTION("4188F90E", frintp(v1.h4(), v2.h4())); 2037 TEST_INSTRUCTION("4188A10E", frintp(v1.s2(), v2.s2())); 2038 TEST_INSTRUCTION("4188F94E", frintp(v1.h8(), v2.h8())); 2039 TEST_INSTRUCTION("4188A14E", frintp(v1.s4(), v2.s4())); 2040 TEST_INSTRUCTION("4188E14E", frintp(v1.d2(), v2.d2())); 2041 TEST_INSTRUCTION("4140E71E", frintx(h1, h2)); 2042 TEST_INSTRUCTION("4140271E", frintx(s1, s2)); 2043 TEST_INSTRUCTION("4140671E", frintx(d1, d2)); 2044 TEST_INSTRUCTION("4198792E", frintx(v1.h4(), v2.h4())); 2045 TEST_INSTRUCTION("4198212E", frintx(v1.s2(), v2.s2())); 2046 TEST_INSTRUCTION("4198796E", frintx(v1.h8(), v2.h8())); 2047 TEST_INSTRUCTION("4198216E", frintx(v1.s4(), v2.s4())); 2048 TEST_INSTRUCTION("4198616E", frintx(v1.d2(), v2.d2())); 2049 TEST_INSTRUCTION("41C0E51E", frintz(h1, h2)); 2050 TEST_INSTRUCTION("41C0251E", frintz(s1, s2)); 2051 TEST_INSTRUCTION("41C0651E", frintz(d1, d2)); 2052 TEST_INSTRUCTION("4198F90E", frintz(v1.h4(), v2.h4())); 2053 TEST_INSTRUCTION("4198A10E", frintz(v1.s2(), v2.s2())); 2054 TEST_INSTRUCTION("4198F94E", frintz(v1.h8(), v2.h8())); 2055 TEST_INSTRUCTION("4198A14E", frintz(v1.s4(), v2.s4())); 2056 TEST_INSTRUCTION("4198E14E", frintz(v1.d2(), v2.d2())); 2057 TEST_INSTRUCTION("41D8F97E", frsqrte(h1, h2)); 2058 TEST_INSTRUCTION("41D8A17E", frsqrte(s1, s2)); 2059 TEST_INSTRUCTION("41D8E17E", frsqrte(d1, d2)); 2060 TEST_INSTRUCTION("41D8F92E", frsqrte(v1.h4(), v2.h4())); 2061 TEST_INSTRUCTION("41D8A12E", frsqrte(v1.s2(), v2.s2())); 2062 TEST_INSTRUCTION("41D8F96E", frsqrte(v1.h8(), v2.h8())); 2063 TEST_INSTRUCTION("41D8A16E", frsqrte(v1.s4(), v2.s4())); 2064 TEST_INSTRUCTION("41D8E16E", frsqrte(v1.d2(), v2.d2())); 2065 TEST_INSTRUCTION("413CC35E", frsqrts(h1, h2, h3)); 2066 TEST_INSTRUCTION("41FCA35E", frsqrts(s1, s2, s3)); 2067 TEST_INSTRUCTION("41FCE35E", frsqrts(d1, d2, d3)); 2068 TEST_INSTRUCTION("413CC30E", frsqrts(v1.h4(), v2.h4(), v3.h4())); 2069 TEST_INSTRUCTION("41FCA30E", frsqrts(v1.s2(), v2.s2(), v3.s2())); 2070 TEST_INSTRUCTION("413CC34E", frsqrts(v1.h8(), v2.h8(), v3.h8())); 2071 TEST_INSTRUCTION("41FCA34E", frsqrts(v1.s4(), v2.s4(), v3.s4())); 2072 TEST_INSTRUCTION("41FCE34E", frsqrts(v1.d2(), v2.d2(), v3.d2())); 2073 TEST_INSTRUCTION("41C0E11E", fsqrt(h1, h2)); 2074 TEST_INSTRUCTION("41C0211E", fsqrt(s1, s2)); 2075 TEST_INSTRUCTION("41C0611E", fsqrt(d1, d2)); 2076 TEST_INSTRUCTION("41F8F92E", fsqrt(v1.h4(), v2.h4())); 2077 TEST_INSTRUCTION("41F8A12E", fsqrt(v1.s2(), v2.s2())); 2078 TEST_INSTRUCTION("41F8F96E", fsqrt(v1.h8(), v2.h8())); 2079 TEST_INSTRUCTION("41F8A16E", fsqrt(v1.s4(), v2.s4())); 2080 TEST_INSTRUCTION("41F8E16E", fsqrt(v1.d2(), v2.d2())); 2081 TEST_INSTRUCTION("4138E31E", fsub(h1, h2, h3)); 2082 TEST_INSTRUCTION("4138231E", fsub(s1, s2, s3)); 2083 TEST_INSTRUCTION("4138631E", fsub(d1, d2, d3)); 2084 TEST_INSTRUCTION("4114C30E", fsub(v1.h4(), v2.h4(), v3.h4())); 2085 TEST_INSTRUCTION("41D4A30E", fsub(v1.s2(), v2.s2(), v3.s2())); 2086 TEST_INSTRUCTION("4114C34E", fsub(v1.h8(), v2.h8(), v3.h8())); 2087 TEST_INSTRUCTION("41D4A34E", fsub(v1.s4(), v2.s4(), v3.s4())); 2088 TEST_INSTRUCTION("41D4E34E", fsub(v1.d2(), v2.d2(), v3.d2())); 2089 TEST_INSTRUCTION("411C014E", ins(v1.b(0), w2)); 2090 TEST_INSTRUCTION("411C074E", ins(v1.b(3), w2)); 2091 TEST_INSTRUCTION("411C0D4E", ins(v1.b(6), w2)); 2092 TEST_INSTRUCTION("411C134E", ins(v1.b(9), w2)); 2093 TEST_INSTRUCTION("411C1F4E", ins(v1.b(15), w2)); 2094 TEST_INSTRUCTION("411C024E", ins(v1.h(0), w2)); 2095 TEST_INSTRUCTION("411C0E4E", ins(v1.h(3), w2)); 2096 TEST_INSTRUCTION("411C1E4E", ins(v1.h(7), w2)); 2097 TEST_INSTRUCTION("411C044E", ins(v1.s(0), w2)); 2098 TEST_INSTRUCTION("411C0C4E", ins(v1.s(1), w2)); 2099 TEST_INSTRUCTION("411C144E", ins(v1.s(2), w2)); 2100 TEST_INSTRUCTION("411C1C4E", ins(v1.s(3), w2)); 2101 TEST_INSTRUCTION("411C084E", ins(v1.d(0), x2)); 2102 TEST_INSTRUCTION("411C184E", ins(v1.d(1), x2)); 2103 TEST_INSTRUCTION("417C016E", ins(v1.b(0), v2.b(15))); 2104 TEST_INSTRUCTION("4174036E", ins(v1.b(1), v2.b(14))); 2105 TEST_INSTRUCTION("4174026E", ins(v1.h(0), v2.h(7))); 2106 TEST_INSTRUCTION("4164066E", ins(v1.h(1), v2.h(6))); 2107 TEST_INSTRUCTION("4164046E", ins(v1.s(0), v2.s(3))); 2108 TEST_INSTRUCTION("41440C6E", ins(v1.s(1), v2.s(2))); 2109 TEST_INSTRUCTION("4144086E", ins(v1.d(0), v2.d(1))); 2110 TEST_INSTRUCTION("4104186E", ins(v1.d(1), v2.d(0))); 2111 TEST_INSTRUCTION("4100400D", ld1(v1.b(0), ptr(x2))); 2112 TEST_INSTRUCTION("4100DF0D", ld1(v1.b(0), ptr_post(x2, 1))); 2113 TEST_INSTRUCTION("4100CB0D", ld1(v1.b(0), ptr_post(x2, x11))); 2114 TEST_INSTRUCTION("4140400D", ld1(v1.h(0), ptr(x2))); 2115 TEST_INSTRUCTION("4140DF0D", ld1(v1.h(0), ptr_post(x2, 2))); 2116 TEST_INSTRUCTION("4140CB0D", ld1(v1.h(0), ptr_post(x2, x11))); 2117 TEST_INSTRUCTION("4180400D", ld1(v1.s(0), ptr(x2))); 2118 TEST_INSTRUCTION("4180DF0D", ld1(v1.s(0), ptr_post(x2, 4))); 2119 TEST_INSTRUCTION("4180CB0D", ld1(v1.s(0), ptr_post(x2, x11))); 2120 TEST_INSTRUCTION("4184400D", ld1(v1.d(0), ptr(x2))); 2121 TEST_INSTRUCTION("4184DF0D", ld1(v1.d(0), ptr_post(x2, 8))); 2122 TEST_INSTRUCTION("4184CB0D", ld1(v1.d(0), ptr_post(x2, x11))); 2123 TEST_INSTRUCTION("411C404D", ld1(v1.b(15), ptr(x2))); 2124 TEST_INSTRUCTION("411CDF4D", ld1(v1.b(15), ptr_post(x2, 1))); 2125 TEST_INSTRUCTION("411CCB4D", ld1(v1.b(15), ptr_post(x2, x11))); 2126 TEST_INSTRUCTION("4158404D", ld1(v1.h(7), ptr(x2))); 2127 TEST_INSTRUCTION("4158DF4D", ld1(v1.h(7), ptr_post(x2, 2))); 2128 TEST_INSTRUCTION("4158CB4D", ld1(v1.h(7), ptr_post(x2, x11))); 2129 TEST_INSTRUCTION("4190404D", ld1(v1.s(3), ptr(x2))); 2130 TEST_INSTRUCTION("4190DF4D", ld1(v1.s(3), ptr_post(x2, 4))); 2131 TEST_INSTRUCTION("4190CB4D", ld1(v1.s(3), ptr_post(x2, x11))); 2132 TEST_INSTRUCTION("4184404D", ld1(v1.d(1), ptr(x2))); 2133 TEST_INSTRUCTION("4184DF4D", ld1(v1.d(1), ptr_post(x2, 8))); 2134 TEST_INSTRUCTION("4184CB4D", ld1(v1.d(1), ptr_post(x2, x11))); 2135 TEST_INSTRUCTION("4170400C", ld1(v1.b8(), ptr(x2))); 2136 TEST_INSTRUCTION("4170DF0C", ld1(v1.b8(), ptr_post(x2, 8))); 2137 TEST_INSTRUCTION("4170404C", ld1(v1.b16(), ptr(x2))); 2138 TEST_INSTRUCTION("4170DF4C", ld1(v1.b16(), ptr_post(x2, 16))); 2139 TEST_INSTRUCTION("61A0400C", ld1(v1.b8(), v2.b8(), ptr(x3))); 2140 TEST_INSTRUCTION("61A0DF0C", ld1(v1.b8(), v2.b8(), ptr_post(x3, 16))); 2141 TEST_INSTRUCTION("61A0404C", ld1(v1.b16(), v2.b16(), ptr(x3))); 2142 TEST_INSTRUCTION("61A0DF4C", ld1(v1.b16(), v2.b16(), ptr_post(x3, 32))); 2143 TEST_INSTRUCTION("8160400C", ld1(v1.b8(), v2.b8(), v3.b8(), ptr(x4))); 2144 TEST_INSTRUCTION("8160DF0C", ld1(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, 24))); 2145 TEST_INSTRUCTION("8160404C", ld1(v1.b16(), v2.b16(), v3.b16(), ptr(x4))); 2146 TEST_INSTRUCTION("8160DF4C", ld1(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, 48))); 2147 TEST_INSTRUCTION("A120400C", ld1(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr(x5))); 2148 TEST_INSTRUCTION("A120DF0C", ld1(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, 32))); 2149 TEST_INSTRUCTION("A120404C", ld1(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr(x5))); 2150 TEST_INSTRUCTION("A120DF4C", ld1(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, 64))); 2151 TEST_INSTRUCTION("4174400C", ld1(v1.h4(), ptr(x2))); 2152 TEST_INSTRUCTION("4174DF0C", ld1(v1.h4(), ptr_post(x2, 8))); 2153 TEST_INSTRUCTION("4174404C", ld1(v1.h8(), ptr(x2))); 2154 TEST_INSTRUCTION("4174DF4C", ld1(v1.h8(), ptr_post(x2, 16))); 2155 TEST_INSTRUCTION("61A4400C", ld1(v1.h4(), v2.h4(), ptr(x3))); 2156 TEST_INSTRUCTION("61A4DF0C", ld1(v1.h4(), v2.h4(), ptr_post(x3, 16))); 2157 TEST_INSTRUCTION("61A4404C", ld1(v1.h8(), v2.h8(), ptr(x3))); 2158 TEST_INSTRUCTION("61A4DF4C", ld1(v1.h8(), v2.h8(), ptr_post(x3, 32))); 2159 TEST_INSTRUCTION("8164400C", ld1(v1.h4(), v2.h4(), v3.h4(), ptr(x4))); 2160 TEST_INSTRUCTION("8164DF0C", ld1(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, 24))); 2161 TEST_INSTRUCTION("8164404C", ld1(v1.h8(), v2.h8(), v3.h8(), ptr(x4))); 2162 TEST_INSTRUCTION("8164DF4C", ld1(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, 48))); 2163 TEST_INSTRUCTION("A124400C", ld1(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr(x5))); 2164 TEST_INSTRUCTION("A124DF0C", ld1(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, 32))); 2165 TEST_INSTRUCTION("A124404C", ld1(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr(x5))); 2166 TEST_INSTRUCTION("A124DF4C", ld1(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, 64))); 2167 TEST_INSTRUCTION("4178400C", ld1(v1.s2(), ptr(x2))); 2168 TEST_INSTRUCTION("4178DF0C", ld1(v1.s2(), ptr_post(x2, 8))); 2169 TEST_INSTRUCTION("4178404C", ld1(v1.s4(), ptr(x2))); 2170 TEST_INSTRUCTION("4178DF4C", ld1(v1.s4(), ptr_post(x2, 16))); 2171 TEST_INSTRUCTION("61A8400C", ld1(v1.s2(), v2.s2(), ptr(x3))); 2172 TEST_INSTRUCTION("61A8DF0C", ld1(v1.s2(), v2.s2(), ptr_post(x3, 16))); 2173 TEST_INSTRUCTION("61A8404C", ld1(v1.s4(), v2.s4(), ptr(x3))); 2174 TEST_INSTRUCTION("61A8DF4C", ld1(v1.s4(), v2.s4(), ptr_post(x3, 32))); 2175 TEST_INSTRUCTION("8168400C", ld1(v1.s2(), v2.s2(), v3.s2(), ptr(x4))); 2176 TEST_INSTRUCTION("8168DF0C", ld1(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, 24))); 2177 TEST_INSTRUCTION("8168404C", ld1(v1.s4(), v2.s4(), v3.s4(), ptr(x4))); 2178 TEST_INSTRUCTION("8168DF4C", ld1(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, 48))); 2179 TEST_INSTRUCTION("A128400C", ld1(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr(x5))); 2180 TEST_INSTRUCTION("A128DF0C", ld1(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, 32))); 2181 TEST_INSTRUCTION("A128404C", ld1(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr(x5))); 2182 TEST_INSTRUCTION("A128DF4C", ld1(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, 64))); 2183 TEST_INSTRUCTION("417C404C", ld1(v1.d2(), ptr(x2))); 2184 TEST_INSTRUCTION("417CDF4C", ld1(v1.d2(), ptr_post(x2, 16))); 2185 TEST_INSTRUCTION("61AC404C", ld1(v1.d2(), v2.d2(), ptr(x3))); 2186 TEST_INSTRUCTION("61ACDF4C", ld1(v1.d2(), v2.d2(), ptr_post(x3, 32))); 2187 TEST_INSTRUCTION("816C404C", ld1(v1.d2(), v2.d2(), v3.d2(), ptr(x4))); 2188 TEST_INSTRUCTION("816CDF4C", ld1(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, 48))); 2189 TEST_INSTRUCTION("A12C404C", ld1(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr(x5))); 2190 TEST_INSTRUCTION("A12CDF4C", ld1(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, 64))); 2191 TEST_INSTRUCTION("41C0400D", ld1r(v1.b8(), ptr(x2))); 2192 TEST_INSTRUCTION("41C0DF0D", ld1r(v1.b8(), ptr_post(x2, 1))); 2193 TEST_INSTRUCTION("41C0CB0D", ld1r(v1.b8(), ptr_post(x2, x11))); 2194 TEST_INSTRUCTION("41C0404D", ld1r(v1.b16(), ptr(x2))); 2195 TEST_INSTRUCTION("41C0DF4D", ld1r(v1.b16(), ptr_post(x2, 1))); 2196 TEST_INSTRUCTION("41C0CB4D", ld1r(v1.b16(), ptr_post(x2, x11))); 2197 TEST_INSTRUCTION("41C4400D", ld1r(v1.h4(), ptr(x2))); 2198 TEST_INSTRUCTION("41C4DF0D", ld1r(v1.h4(), ptr_post(x2, 2))); 2199 TEST_INSTRUCTION("41C4CB0D", ld1r(v1.h4(), ptr_post(x2, x11))); 2200 TEST_INSTRUCTION("41C4404D", ld1r(v1.h8(), ptr(x2))); 2201 TEST_INSTRUCTION("41C4DF4D", ld1r(v1.h8(), ptr_post(x2, 2))); 2202 TEST_INSTRUCTION("41C4CB4D", ld1r(v1.h8(), ptr_post(x2, x11))); 2203 TEST_INSTRUCTION("41C8400D", ld1r(v1.s2(), ptr(x2))); 2204 TEST_INSTRUCTION("41C8DF0D", ld1r(v1.s2(), ptr_post(x2, 4))); 2205 TEST_INSTRUCTION("41C8CB0D", ld1r(v1.s2(), ptr_post(x2, x11))); 2206 TEST_INSTRUCTION("41C8404D", ld1r(v1.s4(), ptr(x2))); 2207 TEST_INSTRUCTION("41C8DF4D", ld1r(v1.s4(), ptr_post(x2, 4))); 2208 TEST_INSTRUCTION("41C8CB4D", ld1r(v1.s4(), ptr_post(x2, x11))); 2209 TEST_INSTRUCTION("41CC404D", ld1r(v1.d2(), ptr(x2))); 2210 TEST_INSTRUCTION("41CCDF4D", ld1r(v1.d2(), ptr_post(x2, 8))); 2211 TEST_INSTRUCTION("41CCCB4D", ld1r(v1.d2(), ptr_post(x2, x11))); 2212 TEST_INSTRUCTION("6100600D", ld2(v1.b(0), v2.b(0), ptr(x3))); 2213 TEST_INSTRUCTION("6100FF0D", ld2(v1.b(0), v2.b(0), ptr_post(x3, 2))); 2214 TEST_INSTRUCTION("6100EB0D", ld2(v1.b(0), v2.b(0), ptr_post(x3, x11))); 2215 TEST_INSTRUCTION("6140600D", ld2(v1.h(0), v2.h(0), ptr(x3))); 2216 TEST_INSTRUCTION("6140FF0D", ld2(v1.h(0), v2.h(0), ptr_post(x3, 4))); 2217 TEST_INSTRUCTION("6140EB0D", ld2(v1.h(0), v2.h(0), ptr_post(x3, x11))); 2218 TEST_INSTRUCTION("6180600D", ld2(v1.s(0), v2.s(0), ptr(x3))); 2219 TEST_INSTRUCTION("6180FF0D", ld2(v1.s(0), v2.s(0), ptr_post(x3, 8))); 2220 TEST_INSTRUCTION("6180EB0D", ld2(v1.s(0), v2.s(0), ptr_post(x3, x11))); 2221 TEST_INSTRUCTION("6184600D", ld2(v1.d(0), v2.d(0), ptr(x3))); 2222 TEST_INSTRUCTION("6184FF0D", ld2(v1.d(0), v2.d(0), ptr_post(x3, 16))); 2223 TEST_INSTRUCTION("6184EB0D", ld2(v1.d(0), v2.d(0), ptr_post(x3, x11))); 2224 TEST_INSTRUCTION("611C604D", ld2(v1.b(15), v2.b(15), ptr(x3))); 2225 TEST_INSTRUCTION("611CFF4D", ld2(v1.b(15), v2.b(15), ptr_post(x3, 2))); 2226 TEST_INSTRUCTION("611CEB4D", ld2(v1.b(15), v2.b(15), ptr_post(x3, x11))); 2227 TEST_INSTRUCTION("6158604D", ld2(v1.h(7), v2.h(7), ptr(x3))); 2228 TEST_INSTRUCTION("6158FF4D", ld2(v1.h(7), v2.h(7), ptr_post(x3, 4))); 2229 TEST_INSTRUCTION("6158EB4D", ld2(v1.h(7), v2.h(7), ptr_post(x3, x11))); 2230 TEST_INSTRUCTION("6190604D", ld2(v1.s(3), v2.s(3), ptr(x3))); 2231 TEST_INSTRUCTION("6190FF4D", ld2(v1.s(3), v2.s(3), ptr_post(x3, 8))); 2232 TEST_INSTRUCTION("6190EB4D", ld2(v1.s(3), v2.s(3), ptr_post(x3, x11))); 2233 TEST_INSTRUCTION("6184604D", ld2(v1.d(1), v2.d(1), ptr(x3))); 2234 TEST_INSTRUCTION("6184FF4D", ld2(v1.d(1), v2.d(1), ptr_post(x3, 16))); 2235 TEST_INSTRUCTION("6184EB4D", ld2(v1.d(1), v2.d(1), ptr_post(x3, x11))); 2236 TEST_INSTRUCTION("6180400C", ld2(v1.b8(), v2.b8(), ptr(x3))); 2237 TEST_INSTRUCTION("6180DF0C", ld2(v1.b8(), v2.b8(), ptr_post(x3, 16))); 2238 TEST_INSTRUCTION("6180CB0C", ld2(v1.b8(), v2.b8(), ptr_post(x3, x11))); 2239 TEST_INSTRUCTION("6180404C", ld2(v1.b16(), v2.b16(), ptr(x3))); 2240 TEST_INSTRUCTION("6180DF4C", ld2(v1.b16(), v2.b16(), ptr_post(x3, 32))); 2241 TEST_INSTRUCTION("6180CB4C", ld2(v1.b16(), v2.b16(), ptr_post(x3, x11))); 2242 TEST_INSTRUCTION("6184400C", ld2(v1.h4(), v2.h4(), ptr(x3))); 2243 TEST_INSTRUCTION("6184DF0C", ld2(v1.h4(), v2.h4(), ptr_post(x3, 16))); 2244 TEST_INSTRUCTION("6184CB0C", ld2(v1.h4(), v2.h4(), ptr_post(x3, x11))); 2245 TEST_INSTRUCTION("6184404C", ld2(v1.h8(), v2.h8(), ptr(x3))); 2246 TEST_INSTRUCTION("6184DF4C", ld2(v1.h8(), v2.h8(), ptr_post(x3, 32))); 2247 TEST_INSTRUCTION("6184CB4C", ld2(v1.h8(), v2.h8(), ptr_post(x3, x11))); 2248 TEST_INSTRUCTION("6188400C", ld2(v1.s2(), v2.s2(), ptr(x3))); 2249 TEST_INSTRUCTION("6188DF0C", ld2(v1.s2(), v2.s2(), ptr_post(x3, 16))); 2250 TEST_INSTRUCTION("6188CB0C", ld2(v1.s2(), v2.s2(), ptr_post(x3, x11))); 2251 TEST_INSTRUCTION("6188404C", ld2(v1.s4(), v2.s4(), ptr(x3))); 2252 TEST_INSTRUCTION("6188DF4C", ld2(v1.s4(), v2.s4(), ptr_post(x3, 32))); 2253 TEST_INSTRUCTION("6188CB4C", ld2(v1.s4(), v2.s4(), ptr_post(x3, x11))); 2254 TEST_INSTRUCTION("618C404C", ld2(v1.d2(), v2.d2(), ptr(x3))); 2255 TEST_INSTRUCTION("618CDF4C", ld2(v1.d2(), v2.d2(), ptr_post(x3, 32))); 2256 TEST_INSTRUCTION("618CCB4C", ld2(v1.d2(), v2.d2(), ptr_post(x3, x11))); 2257 TEST_INSTRUCTION("61C0600D", ld2r(v1.b8(), v2.b8(), ptr(x3))); 2258 TEST_INSTRUCTION("61C0FF0D", ld2r(v1.b8(), v2.b8(), ptr_post(x3, 2))); 2259 TEST_INSTRUCTION("61C0EB0D", ld2r(v1.b8(), v2.b8(), ptr_post(x3, x11))); 2260 TEST_INSTRUCTION("61C0604D", ld2r(v1.b16(), v2.b16(), ptr(x3))); 2261 TEST_INSTRUCTION("61C0FF4D", ld2r(v1.b16(), v2.b16(), ptr_post(x3, 2))); 2262 TEST_INSTRUCTION("61C0EB4D", ld2r(v1.b16(), v2.b16(), ptr_post(x3, x11))); 2263 TEST_INSTRUCTION("61C4600D", ld2r(v1.h4(), v2.h4(), ptr(x3))); 2264 TEST_INSTRUCTION("61C4FF0D", ld2r(v1.h4(), v2.h4(), ptr_post(x3, 4))); 2265 TEST_INSTRUCTION("61C4EB0D", ld2r(v1.h4(), v2.h4(), ptr_post(x3, x11))); 2266 TEST_INSTRUCTION("61C4604D", ld2r(v1.h8(), v2.h8(), ptr(x3))); 2267 TEST_INSTRUCTION("61C4FF4D", ld2r(v1.h8(), v2.h8(), ptr_post(x3, 4))); 2268 TEST_INSTRUCTION("61C4EB4D", ld2r(v1.h8(), v2.h8(), ptr_post(x3, x11))); 2269 TEST_INSTRUCTION("61C8600D", ld2r(v1.s2(), v2.s2(), ptr(x3))); 2270 TEST_INSTRUCTION("61C8FF0D", ld2r(v1.s2(), v2.s2(), ptr_post(x3, 8))); 2271 TEST_INSTRUCTION("61C8EB0D", ld2r(v1.s2(), v2.s2(), ptr_post(x3, x11))); 2272 TEST_INSTRUCTION("61C8604D", ld2r(v1.s4(), v2.s4(), ptr(x3))); 2273 TEST_INSTRUCTION("61C8FF4D", ld2r(v1.s4(), v2.s4(), ptr_post(x3, 8))); 2274 TEST_INSTRUCTION("61C8EB4D", ld2r(v1.s4(), v2.s4(), ptr_post(x3, x11))); 2275 TEST_INSTRUCTION("61CC604D", ld2r(v1.d2(), v2.d2(), ptr(x3))); 2276 TEST_INSTRUCTION("61CCFF4D", ld2r(v1.d2(), v2.d2(), ptr_post(x3, 16))); 2277 TEST_INSTRUCTION("61CCEB4D", ld2r(v1.d2(), v2.d2(), ptr_post(x3, x11))); 2278 TEST_INSTRUCTION("8120400D", ld3(v1.b(0), v2.b(0), v3.b(0), ptr(x4))); 2279 TEST_INSTRUCTION("8120DF0D", ld3(v1.b(0), v2.b(0), v3.b(0), ptr_post(x4, 3))); 2280 TEST_INSTRUCTION("8120CB0D", ld3(v1.b(0), v2.b(0), v3.b(0), ptr_post(x4, x11))); 2281 TEST_INSTRUCTION("8160400D", ld3(v1.h(0), v2.h(0), v3.h(0), ptr(x4))); 2282 TEST_INSTRUCTION("8160DF0D", ld3(v1.h(0), v2.h(0), v3.h(0), ptr_post(x4, 6))); 2283 TEST_INSTRUCTION("8160CB0D", ld3(v1.h(0), v2.h(0), v3.h(0), ptr_post(x4, x11))); 2284 TEST_INSTRUCTION("81A0400D", ld3(v1.s(0), v2.s(0), v3.s(0), ptr(x4))); 2285 TEST_INSTRUCTION("81A0DF0D", ld3(v1.s(0), v2.s(0), v3.s(0), ptr_post(x4, 12))); 2286 TEST_INSTRUCTION("81A0CB0D", ld3(v1.s(0), v2.s(0), v3.s(0), ptr_post(x4, x11))); 2287 TEST_INSTRUCTION("81A4400D", ld3(v1.d(0), v2.d(0), v3.d(0), ptr(x4))); 2288 TEST_INSTRUCTION("81A4DF0D", ld3(v1.d(0), v2.d(0), v3.d(0), ptr_post(x4, 24))); 2289 TEST_INSTRUCTION("81A4CB0D", ld3(v1.d(0), v2.d(0), v3.d(0), ptr_post(x4, x11))); 2290 TEST_INSTRUCTION("813C404D", ld3(v1.b(15), v2.b(15), v3.b(15), ptr(x4))); 2291 TEST_INSTRUCTION("813CDF4D", ld3(v1.b(15), v2.b(15), v3.b(15), ptr_post(x4, 3))); 2292 TEST_INSTRUCTION("813CCB4D", ld3(v1.b(15), v2.b(15), v3.b(15), ptr_post(x4, x11))); 2293 TEST_INSTRUCTION("8178404D", ld3(v1.h(7), v2.h(7), v3.h(7), ptr(x4))); 2294 TEST_INSTRUCTION("8178DF4D", ld3(v1.h(7), v2.h(7), v3.h(7), ptr_post(x4, 6))); 2295 TEST_INSTRUCTION("8178CB4D", ld3(v1.h(7), v2.h(7), v3.h(7), ptr_post(x4, x11))); 2296 TEST_INSTRUCTION("81B0404D", ld3(v1.s(3), v2.s(3), v3.s(3), ptr(x4))); 2297 TEST_INSTRUCTION("81B0DF4D", ld3(v1.s(3), v2.s(3), v3.s(3), ptr_post(x4, 12))); 2298 TEST_INSTRUCTION("81B0CB4D", ld3(v1.s(3), v2.s(3), v3.s(3), ptr_post(x4, x11))); 2299 TEST_INSTRUCTION("81A4404D", ld3(v1.d(1), v2.d(1), v3.d(1), ptr(x4))); 2300 TEST_INSTRUCTION("81A4DF4D", ld3(v1.d(1), v2.d(1), v3.d(1), ptr_post(x4, 24))); 2301 TEST_INSTRUCTION("81A4CB4D", ld3(v1.d(1), v2.d(1), v3.d(1), ptr_post(x4, x11))); 2302 TEST_INSTRUCTION("8140400C", ld3(v1.b8(), v2.b8(), v3.b8(), ptr(x4))); 2303 TEST_INSTRUCTION("8140DF0C", ld3(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, 24))); 2304 TEST_INSTRUCTION("8140CB0C", ld3(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, x11))); 2305 TEST_INSTRUCTION("8140404C", ld3(v1.b16(), v2.b16(), v3.b16(), ptr(x4))); 2306 TEST_INSTRUCTION("8140DF4C", ld3(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, 48))); 2307 TEST_INSTRUCTION("8140CB4C", ld3(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, x11))); 2308 TEST_INSTRUCTION("8144400C", ld3(v1.h4(), v2.h4(), v3.h4(), ptr(x4))); 2309 TEST_INSTRUCTION("8144DF0C", ld3(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, 24))); 2310 TEST_INSTRUCTION("8144CB0C", ld3(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, x11))); 2311 TEST_INSTRUCTION("8144404C", ld3(v1.h8(), v2.h8(), v3.h8(), ptr(x4))); 2312 TEST_INSTRUCTION("8144DF4C", ld3(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, 48))); 2313 TEST_INSTRUCTION("8144CB4C", ld3(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, x11))); 2314 TEST_INSTRUCTION("8148400C", ld3(v1.s2(), v2.s2(), v3.s2(), ptr(x4))); 2315 TEST_INSTRUCTION("8148DF0C", ld3(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, 24))); 2316 TEST_INSTRUCTION("8148CB0C", ld3(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, x11))); 2317 TEST_INSTRUCTION("8148404C", ld3(v1.s4(), v2.s4(), v3.s4(), ptr(x4))); 2318 TEST_INSTRUCTION("8148DF4C", ld3(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, 48))); 2319 TEST_INSTRUCTION("8148CB4C", ld3(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, x11))); 2320 TEST_INSTRUCTION("814C404C", ld3(v1.d2(), v2.d2(), v3.d2(), ptr(x4))); 2321 TEST_INSTRUCTION("814CDF4C", ld3(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, 48))); 2322 TEST_INSTRUCTION("814CCB4C", ld3(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, x11))); 2323 TEST_INSTRUCTION("81E0400D", ld3r(v1.b8(), v2.b8(), v3.b8(), ptr(x4))); 2324 TEST_INSTRUCTION("81E0DF0D", ld3r(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, 3))); 2325 TEST_INSTRUCTION("81E0CB0D", ld3r(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, x11))); 2326 TEST_INSTRUCTION("81E0404D", ld3r(v1.b16(), v2.b16(), v3.b16(), ptr(x4))); 2327 TEST_INSTRUCTION("81E0DF4D", ld3r(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, 3))); 2328 TEST_INSTRUCTION("81E0CB4D", ld3r(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, x11))); 2329 TEST_INSTRUCTION("81E4400D", ld3r(v1.h4(), v2.h4(), v3.h4(), ptr(x4))); 2330 TEST_INSTRUCTION("81E4DF0D", ld3r(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, 6))); 2331 TEST_INSTRUCTION("81E4CB0D", ld3r(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, x11))); 2332 TEST_INSTRUCTION("81E4404D", ld3r(v1.h8(), v2.h8(), v3.h8(), ptr(x4))); 2333 TEST_INSTRUCTION("81E4DF4D", ld3r(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, 6))); 2334 TEST_INSTRUCTION("81E4CB4D", ld3r(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, x11))); 2335 TEST_INSTRUCTION("81E8400D", ld3r(v1.s2(), v2.s2(), v3.s2(), ptr(x4))); 2336 TEST_INSTRUCTION("81E8DF0D", ld3r(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, 12))); 2337 TEST_INSTRUCTION("81E8CB0D", ld3r(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, x11))); 2338 TEST_INSTRUCTION("81E8404D", ld3r(v1.s4(), v2.s4(), v3.s4(), ptr(x4))); 2339 TEST_INSTRUCTION("81E8DF4D", ld3r(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, 12))); 2340 TEST_INSTRUCTION("81E8CB4D", ld3r(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, x11))); 2341 TEST_INSTRUCTION("81EC404D", ld3r(v1.d2(), v2.d2(), v3.d2(), ptr(x4))); 2342 TEST_INSTRUCTION("81ECDF4D", ld3r(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, 24))); 2343 TEST_INSTRUCTION("81ECCB4D", ld3r(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, x11))); 2344 TEST_INSTRUCTION("A120600D", ld4(v1.b(0), v2.b(0), v3.b(0), v4.b(0), ptr(x5))); 2345 TEST_INSTRUCTION("A120FF0D", ld4(v1.b(0), v2.b(0), v3.b(0), v4.b(0), ptr_post(x5, 4))); 2346 TEST_INSTRUCTION("A120EB0D", ld4(v1.b(0), v2.b(0), v3.b(0), v4.b(0), ptr_post(x5, x11))); 2347 TEST_INSTRUCTION("A160600D", ld4(v1.h(0), v2.h(0), v3.h(0), v4.h(0), ptr(x5))); 2348 TEST_INSTRUCTION("A160FF0D", ld4(v1.h(0), v2.h(0), v3.h(0), v4.h(0), ptr_post(x5, 8))); 2349 TEST_INSTRUCTION("A160EB0D", ld4(v1.h(0), v2.h(0), v3.h(0), v4.h(0), ptr_post(x5, x11))); 2350 TEST_INSTRUCTION("A1A0600D", ld4(v1.s(0), v2.s(0), v3.s(0), v4.s(0), ptr(x5))); 2351 TEST_INSTRUCTION("A1A0FF0D", ld4(v1.s(0), v2.s(0), v3.s(0), v4.s(0), ptr_post(x5, 16))); 2352 TEST_INSTRUCTION("A1A0EB0D", ld4(v1.s(0), v2.s(0), v3.s(0), v4.s(0), ptr_post(x5, x11))); 2353 TEST_INSTRUCTION("A1A4600D", ld4(v1.d(0), v2.d(0), v3.d(0), v4.d(0), ptr(x5))); 2354 TEST_INSTRUCTION("A1A4FF0D", ld4(v1.d(0), v2.d(0), v3.d(0), v4.d(0), ptr_post(x5, 32))); 2355 TEST_INSTRUCTION("A1A4EB0D", ld4(v1.d(0), v2.d(0), v3.d(0), v4.d(0), ptr_post(x5, x11))); 2356 TEST_INSTRUCTION("A13C604D", ld4(v1.b(15), v2.b(15), v3.b(15), v4.b(15), ptr(x5))); 2357 TEST_INSTRUCTION("A13CFF4D", ld4(v1.b(15), v2.b(15), v3.b(15), v4.b(15), ptr_post(x5, 4))); 2358 TEST_INSTRUCTION("A13CEB4D", ld4(v1.b(15), v2.b(15), v3.b(15), v4.b(15), ptr_post(x5, x11))); 2359 TEST_INSTRUCTION("A178604D", ld4(v1.h(7), v2.h(7), v3.h(7), v4.h(7), ptr(x5))); 2360 TEST_INSTRUCTION("A178FF4D", ld4(v1.h(7), v2.h(7), v3.h(7), v4.h(7), ptr_post(x5, 8))); 2361 TEST_INSTRUCTION("A178EB4D", ld4(v1.h(7), v2.h(7), v3.h(7), v4.h(7), ptr_post(x5, x11))); 2362 TEST_INSTRUCTION("A1B0604D", ld4(v1.s(3), v2.s(3), v3.s(3), v4.s(3), ptr(x5))); 2363 TEST_INSTRUCTION("A1B0FF4D", ld4(v1.s(3), v2.s(3), v3.s(3), v4.s(3), ptr_post(x5, 16))); 2364 TEST_INSTRUCTION("A1B0EB4D", ld4(v1.s(3), v2.s(3), v3.s(3), v4.s(3), ptr_post(x5, x11))); 2365 TEST_INSTRUCTION("A1A4604D", ld4(v1.d(1), v2.d(1), v3.d(1), v4.d(1), ptr(x5))); 2366 TEST_INSTRUCTION("A1A4FF4D", ld4(v1.d(1), v2.d(1), v3.d(1), v4.d(1), ptr_post(x5, 32))); 2367 TEST_INSTRUCTION("A1A4EB4D", ld4(v1.d(1), v2.d(1), v3.d(1), v4.d(1), ptr_post(x5, x11))); 2368 TEST_INSTRUCTION("A100400C", ld4(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr(x5))); 2369 TEST_INSTRUCTION("A100DF0C", ld4(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, 32))); 2370 TEST_INSTRUCTION("A100CB0C", ld4(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, x11))); 2371 TEST_INSTRUCTION("A100404C", ld4(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr(x5))); 2372 TEST_INSTRUCTION("A100DF4C", ld4(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, 64))); 2373 TEST_INSTRUCTION("A100CB4C", ld4(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, x11))); 2374 TEST_INSTRUCTION("A104400C", ld4(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr(x5))); 2375 TEST_INSTRUCTION("A104DF0C", ld4(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, 32))); 2376 TEST_INSTRUCTION("A104CB0C", ld4(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, x11))); 2377 TEST_INSTRUCTION("A104404C", ld4(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr(x5))); 2378 TEST_INSTRUCTION("A104DF4C", ld4(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, 64))); 2379 TEST_INSTRUCTION("A104CB4C", ld4(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, x11))); 2380 TEST_INSTRUCTION("A108400C", ld4(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr(x5))); 2381 TEST_INSTRUCTION("A108DF0C", ld4(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, 32))); 2382 TEST_INSTRUCTION("A108CB0C", ld4(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, x11))); 2383 TEST_INSTRUCTION("A108404C", ld4(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr(x5))); 2384 TEST_INSTRUCTION("A108DF4C", ld4(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, 64))); 2385 TEST_INSTRUCTION("A108CB4C", ld4(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, x11))); 2386 TEST_INSTRUCTION("A10C404C", ld4(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr(x5))); 2387 TEST_INSTRUCTION("A10CDF4C", ld4(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, 64))); 2388 TEST_INSTRUCTION("A10CCB4C", ld4(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, x11))); 2389 TEST_INSTRUCTION("A1E0600D", ld4r(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr(x5))); 2390 TEST_INSTRUCTION("A1E0FF0D", ld4r(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, 4))); 2391 TEST_INSTRUCTION("A1E0EB0D", ld4r(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, x11))); 2392 TEST_INSTRUCTION("A1E0604D", ld4r(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr(x5))); 2393 TEST_INSTRUCTION("A1E0FF4D", ld4r(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, 4))); 2394 TEST_INSTRUCTION("A1E0EB4D", ld4r(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, x11))); 2395 TEST_INSTRUCTION("A1E4600D", ld4r(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr(x5))); 2396 TEST_INSTRUCTION("A1E4FF0D", ld4r(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, 8))); 2397 TEST_INSTRUCTION("A1E4EB0D", ld4r(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, x11))); 2398 TEST_INSTRUCTION("A1E4604D", ld4r(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr(x5))); 2399 TEST_INSTRUCTION("A1E4FF4D", ld4r(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, 8))); 2400 TEST_INSTRUCTION("A1E4EB4D", ld4r(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, x11))); 2401 TEST_INSTRUCTION("A1E8600D", ld4r(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr(x5))); 2402 TEST_INSTRUCTION("A1E8FF0D", ld4r(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, 16))); 2403 TEST_INSTRUCTION("A1E8EB0D", ld4r(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, x11))); 2404 TEST_INSTRUCTION("A1E8604D", ld4r(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr(x5))); 2405 TEST_INSTRUCTION("A1E8FF4D", ld4r(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, 16))); 2406 TEST_INSTRUCTION("A1E8EB4D", ld4r(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, x11))); 2407 TEST_INSTRUCTION("A1EC604D", ld4r(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr(x5))); 2408 TEST_INSTRUCTION("A1ECFF4D", ld4r(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, 32))); 2409 TEST_INSTRUCTION("A1ECEB4D", ld4r(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, x11))); 2410 TEST_INSTRUCTION("8109402C", ldnp(s1, s2, ptr(x12))); 2411 TEST_INSTRUCTION("8189402C", ldnp(s1, s2, ptr(x12, 4))); 2412 TEST_INSTRUCTION("8109702C", ldnp(s1, s2, ptr(x12, -128))); 2413 TEST_INSTRUCTION("E10B402C", ldnp(s1, s2, ptr(sp))); 2414 TEST_INSTRUCTION("E18B402C", ldnp(s1, s2, ptr(sp, 4))); 2415 TEST_INSTRUCTION("E10B502C", ldnp(s1, s2, ptr(sp, 128))); 2416 TEST_INSTRUCTION("8109406C", ldnp(d1, d2, ptr(x12))); 2417 TEST_INSTRUCTION("8189406C", ldnp(d1, d2, ptr(x12, 8))); 2418 TEST_INSTRUCTION("8109786C", ldnp(d1, d2, ptr(x12, -128))); 2419 TEST_INSTRUCTION("E10B406C", ldnp(d1, d2, ptr(sp))); 2420 TEST_INSTRUCTION("E18B406C", ldnp(d1, d2, ptr(sp, 8))); 2421 TEST_INSTRUCTION("E10B486C", ldnp(d1, d2, ptr(sp, 128))); 2422 TEST_INSTRUCTION("810940AC", ldnp(q1, q2, ptr(x12))); 2423 TEST_INSTRUCTION("818940AC", ldnp(q1, q2, ptr(x12, 16))); 2424 TEST_INSTRUCTION("81097CAC", ldnp(q1, q2, ptr(x12, -128))); 2425 TEST_INSTRUCTION("E10B40AC", ldnp(q1, q2, ptr(sp))); 2426 TEST_INSTRUCTION("E18B40AC", ldnp(q1, q2, ptr(sp, 16))); 2427 TEST_INSTRUCTION("E10B44AC", ldnp(q1, q2, ptr(sp, 128))); 2428 TEST_INSTRUCTION("8109402D", ldp(s1, s2, ptr(x12))); 2429 TEST_INSTRUCTION("8189402D", ldp(s1, s2, ptr(x12, 4))); 2430 TEST_INSTRUCTION("8109702D", ldp(s1, s2, ptr(x12, -128))); 2431 TEST_INSTRUCTION("8189C02D", ldp(s1, s2, ptr_pre(x12, 4))); 2432 TEST_INSTRUCTION("8189C02C", ldp(s1, s2, ptr_post(x12, 4))); 2433 TEST_INSTRUCTION("E10B402D", ldp(s1, s2, ptr(sp))); 2434 TEST_INSTRUCTION("E18B402D", ldp(s1, s2, ptr(sp, 4))); 2435 TEST_INSTRUCTION("E10B502D", ldp(s1, s2, ptr(sp, 128))); 2436 TEST_INSTRUCTION("E18BC02C", ldp(s1, s2, ptr_post(sp, 4))); 2437 TEST_INSTRUCTION("E18BC02D", ldp(s1, s2, ptr_pre(sp, 4))); 2438 TEST_INSTRUCTION("8109406D", ldp(d1, d2, ptr(x12))); 2439 TEST_INSTRUCTION("8189406D", ldp(d1, d2, ptr(x12, 8))); 2440 TEST_INSTRUCTION("8109786D", ldp(d1, d2, ptr(x12, -128))); 2441 TEST_INSTRUCTION("8189C06D", ldp(d1, d2, ptr_pre(x12, 8))); 2442 TEST_INSTRUCTION("8189C06C", ldp(d1, d2, ptr_post(x12, 8))); 2443 TEST_INSTRUCTION("E10B406D", ldp(d1, d2, ptr(sp))); 2444 TEST_INSTRUCTION("E18B406D", ldp(d1, d2, ptr(sp, 8))); 2445 TEST_INSTRUCTION("E10B486D", ldp(d1, d2, ptr(sp, 128))); 2446 TEST_INSTRUCTION("E18BC06D", ldp(d1, d2, ptr_pre(sp, 8))); 2447 TEST_INSTRUCTION("E18BC06C", ldp(d1, d2, ptr_post(sp, 8))); 2448 TEST_INSTRUCTION("810940AD", ldp(q1, q2, ptr(x12))); 2449 TEST_INSTRUCTION("818940AD", ldp(q1, q2, ptr(x12, 16))); 2450 TEST_INSTRUCTION("81097CAD", ldp(q1, q2, ptr(x12, -128))); 2451 TEST_INSTRUCTION("8189C0AD", ldp(q1, q2, ptr_pre(x12, 16))); 2452 TEST_INSTRUCTION("8189C0AC", ldp(q1, q2, ptr_post(x12, 16))); 2453 TEST_INSTRUCTION("E10B40AD", ldp(q1, q2, ptr(sp))); 2454 TEST_INSTRUCTION("E18B40AD", ldp(q1, q2, ptr(sp, 16))); 2455 TEST_INSTRUCTION("E10B44AD", ldp(q1, q2, ptr(sp, 128))); 2456 TEST_INSTRUCTION("E18BC0AD", ldp(q1, q2, ptr_pre(sp, 16))); 2457 TEST_INSTRUCTION("E18BC0AC", ldp(q1, q2, ptr_post(sp, 16))); 2458 TEST_INSTRUCTION("4100403D", ldr(b1, ptr(x2))); 2459 TEST_INSTRUCTION("4114403C", ldr(b1, ptr_post(x2, 1))); 2460 TEST_INSTRUCTION("4104403D", ldr(b1, ptr(x2, 1))); 2461 TEST_INSTRUCTION("411C403C", ldr(b1, ptr_pre(x2, 1))); 2462 TEST_INSTRUCTION("4114483C", ldr(b1, ptr_post(x2, 129))); 2463 TEST_INSTRUCTION("4100407D", ldr(h1, ptr(x2))); 2464 TEST_INSTRUCTION("4124407C", ldr(h1, ptr_post(x2, 2))); 2465 TEST_INSTRUCTION("4104407D", ldr(h1, ptr(x2, 2))); 2466 TEST_INSTRUCTION("412C407C", ldr(h1, ptr_pre(x2, 2))); 2467 TEST_INSTRUCTION("4124487C", ldr(h1, ptr_post(x2, 130))); 2468 TEST_INSTRUCTION("410040BD", ldr(s1, ptr(x2))); 2469 TEST_INSTRUCTION("414440BC", ldr(s1, ptr_post(x2, 4))); 2470 TEST_INSTRUCTION("410440BD", ldr(s1, ptr(x2, 4))); 2471 TEST_INSTRUCTION("414C40BC", ldr(s1, ptr_pre(x2, 4))); 2472 TEST_INSTRUCTION("414448BC", ldr(s1, ptr_post(x2, 132))); 2473 TEST_INSTRUCTION("410040FD", ldr(d1, ptr(x2))); 2474 TEST_INSTRUCTION("418440FC", ldr(d1, ptr_post(x2, 8))); 2475 TEST_INSTRUCTION("410440FD", ldr(d1, ptr(x2, 8))); 2476 TEST_INSTRUCTION("418C40FC", ldr(d1, ptr_pre(x2, 8))); 2477 TEST_INSTRUCTION("414448FC", ldr(d1, ptr_post(x2, 132))); 2478 TEST_INSTRUCTION("4168633C", ldr(b1, ptr(x2, x3))); 2479 TEST_INSTRUCTION("4148633C", ldr(b1, ptr(x2, w3, uxtw(0)))); 2480 TEST_INSTRUCTION("41C8633C", ldr(b1, ptr(x2, w3, sxtw(0)))); 2481 TEST_INSTRUCTION("4168637C", ldr(h1, ptr(x2, x3))); 2482 TEST_INSTRUCTION("4178637C", ldr(h1, ptr(x2, x3, lsl(1)))); 2483 TEST_INSTRUCTION("4148637C", ldr(h1, ptr(x2, w3, uxtw(0)))); 2484 TEST_INSTRUCTION("4158637C", ldr(h1, ptr(x2, w3, uxtw(1)))); 2485 TEST_INSTRUCTION("41C8637C", ldr(h1, ptr(x2, w3, sxtw(0)))); 2486 TEST_INSTRUCTION("41D8637C", ldr(h1, ptr(x2, w3, sxtw(1)))); 2487 TEST_INSTRUCTION("416863BC", ldr(s1, ptr(x2, x3))); 2488 TEST_INSTRUCTION("417863BC", ldr(s1, ptr(x2, x3, lsl(2)))); 2489 TEST_INSTRUCTION("414863BC", ldr(s1, ptr(x2, w3, uxtw(0)))); 2490 TEST_INSTRUCTION("415863BC", ldr(s1, ptr(x2, w3, uxtw(2)))); 2491 TEST_INSTRUCTION("41C863BC", ldr(s1, ptr(x2, w3, sxtw(0)))); 2492 TEST_INSTRUCTION("41D863BC", ldr(s1, ptr(x2, w3, sxtw(2)))); 2493 TEST_INSTRUCTION("416863FC", ldr(d1, ptr(x2, x3))); 2494 TEST_INSTRUCTION("417863FC", ldr(d1, ptr(x2, x3, lsl(3)))); 2495 TEST_INSTRUCTION("414863FC", ldr(d1, ptr(x2, w3, uxtw(0)))); 2496 TEST_INSTRUCTION("415863FC", ldr(d1, ptr(x2, w3, uxtw(3)))); 2497 TEST_INSTRUCTION("41C863FC", ldr(d1, ptr(x2, w3, sxtw(0)))); 2498 TEST_INSTRUCTION("41D863FC", ldr(d1, ptr(x2, w3, sxtw(3)))); 2499 TEST_INSTRUCTION("4104403D", ldr(b1, ptr(x2, 1))); 2500 TEST_INSTRUCTION("41F05F3C", ldr(b1, ptr(x2, -1))); // LDUR 2501 TEST_INSTRUCTION("4110407C", ldr(h1, ptr(x2, 1))); // LDUR 2502 TEST_INSTRUCTION("41F05F7C", ldr(h1, ptr(x2, -1))); // LDUR 2503 TEST_INSTRUCTION("411040BC", ldr(s1, ptr(x2, 1))); // LDUR 2504 TEST_INSTRUCTION("41F05FBC", ldr(s1, ptr(x2, -1))); // LDUR 2505 TEST_INSTRUCTION("411040FC", ldr(d1, ptr(x2, 1))); // LDUR 2506 TEST_INSTRUCTION("41F05FFC", ldr(d1, ptr(x2, -1))); // LDUR 2507 TEST_INSTRUCTION("8101403C", ldur(b1, ptr(x12))); 2508 TEST_INSTRUCTION("8131403C", ldur(b1, ptr(x12, 3))); 2509 TEST_INSTRUCTION("8131463C", ldur(b1, ptr(x12, 99))); 2510 TEST_INSTRUCTION("81F14F3C", ldur(b1, ptr(x12, 255))); 2511 TEST_INSTRUCTION("8101503C", ldur(b1, ptr(x12, -256))); 2512 TEST_INSTRUCTION("E103403C", ldur(b1, ptr(sp))); 2513 TEST_INSTRUCTION("E153483C", ldur(b1, ptr(sp, 133))); 2514 TEST_INSTRUCTION("8101407C", ldur(h1, ptr(x12))); 2515 TEST_INSTRUCTION("8131407C", ldur(h1, ptr(x12, 3))); 2516 TEST_INSTRUCTION("8131467C", ldur(h1, ptr(x12, 99))); 2517 TEST_INSTRUCTION("81F14F7C", ldur(h1, ptr(x12, 255))); 2518 TEST_INSTRUCTION("8101507C", ldur(h1, ptr(x12, -256))); 2519 TEST_INSTRUCTION("E103407C", ldur(h1, ptr(sp))); 2520 TEST_INSTRUCTION("E153487C", ldur(h1, ptr(sp, 133))); 2521 TEST_INSTRUCTION("810140BC", ldur(s1, ptr(x12))); 2522 TEST_INSTRUCTION("813140BC", ldur(s1, ptr(x12, 3))); 2523 TEST_INSTRUCTION("813146BC", ldur(s1, ptr(x12, 99))); 2524 TEST_INSTRUCTION("81F14FBC", ldur(s1, ptr(x12, 255))); 2525 TEST_INSTRUCTION("810150BC", ldur(s1, ptr(x12, -256))); 2526 TEST_INSTRUCTION("E10340BC", ldur(s1, ptr(sp))); 2527 TEST_INSTRUCTION("E15348BC", ldur(s1, ptr(sp, 133))); 2528 TEST_INSTRUCTION("810140FC", ldur(d1, ptr(x12))); 2529 TEST_INSTRUCTION("813140FC", ldur(d1, ptr(x12, 3))); 2530 TEST_INSTRUCTION("813146FC", ldur(d1, ptr(x12, 99))); 2531 TEST_INSTRUCTION("81F14FFC", ldur(d1, ptr(x12, 255))); 2532 TEST_INSTRUCTION("810150FC", ldur(d1, ptr(x12, -256))); 2533 TEST_INSTRUCTION("E10340FC", ldur(d1, ptr(sp))); 2534 TEST_INSTRUCTION("E15348FC", ldur(d1, ptr(sp, 133))); 2535 TEST_INSTRUCTION("8101C03C", ldur(q1, ptr(x12))); 2536 TEST_INSTRUCTION("8131C03C", ldur(q1, ptr(x12, 3))); 2537 TEST_INSTRUCTION("8131C63C", ldur(q1, ptr(x12, 99))); 2538 TEST_INSTRUCTION("81F1CF3C", ldur(q1, ptr(x12, 255))); 2539 TEST_INSTRUCTION("8101D03C", ldur(q1, ptr(x12, -256))); 2540 TEST_INSTRUCTION("E103C03C", ldur(q1, ptr(sp))); 2541 TEST_INSTRUCTION("E153C83C", ldur(q1, ptr(sp, 133))); 2542 TEST_INSTRUCTION("4194230E", mla(v1.b8(), v2.b8(), v3.b8())); 2543 TEST_INSTRUCTION("4194630E", mla(v1.h4(), v2.h4(), v3.h4())); 2544 TEST_INSTRUCTION("4194A30E", mla(v1.s2(), v2.s2(), v3.s2())); 2545 TEST_INSTRUCTION("4194234E", mla(v1.b16(), v2.b16(), v3.b16())); 2546 TEST_INSTRUCTION("4194634E", mla(v1.h8(), v2.h8(), v3.h8())); 2547 TEST_INSTRUCTION("4194A34E", mla(v1.s4(), v2.s4(), v3.s4())); 2548 TEST_INSTRUCTION("4100432F", mla(v1.h4(), v2.h4(), v3.h(0))); 2549 TEST_INSTRUCTION("4100532F", mla(v1.h4(), v2.h4(), v3.h(1))); 2550 TEST_INSTRUCTION("4100632F", mla(v1.h4(), v2.h4(), v3.h(2))); 2551 TEST_INSTRUCTION("4100732F", mla(v1.h4(), v2.h4(), v3.h(3))); 2552 TEST_INSTRUCTION("4108436F", mla(v1.h8(), v2.h8(), v3.h(4))); 2553 TEST_INSTRUCTION("4108536F", mla(v1.h8(), v2.h8(), v3.h(5))); 2554 TEST_INSTRUCTION("4108636F", mla(v1.h8(), v2.h8(), v3.h(6))); 2555 TEST_INSTRUCTION("4108736F", mla(v1.h8(), v2.h8(), v3.h(7))); 2556 TEST_INSTRUCTION("4100832F", mla(v1.s2(), v2.s2(), v3.s(0))); 2557 TEST_INSTRUCTION("4100A32F", mla(v1.s2(), v2.s2(), v3.s(1))); 2558 TEST_INSTRUCTION("4108836F", mla(v1.s4(), v2.s4(), v3.s(2))); 2559 TEST_INSTRUCTION("4108A36F", mla(v1.s4(), v2.s4(), v3.s(3))); 2560 TEST_INSTRUCTION("4194232E", mls(v1.b8(), v2.b8(), v3.b8())); 2561 TEST_INSTRUCTION("4194632E", mls(v1.h4(), v2.h4(), v3.h4())); 2562 TEST_INSTRUCTION("4194A32E", mls(v1.s2(), v2.s2(), v3.s2())); 2563 TEST_INSTRUCTION("4194236E", mls(v1.b16(), v2.b16(), v3.b16())); 2564 TEST_INSTRUCTION("4194636E", mls(v1.h8(), v2.h8(), v3.h8())); 2565 TEST_INSTRUCTION("4194A36E", mls(v1.s4(), v2.s4(), v3.s4())); 2566 TEST_INSTRUCTION("4140432F", mls(v1.h4(), v2.h4(), v3.h(0))); 2567 TEST_INSTRUCTION("4140532F", mls(v1.h4(), v2.h4(), v3.h(1))); 2568 TEST_INSTRUCTION("4140632F", mls(v1.h4(), v2.h4(), v3.h(2))); 2569 TEST_INSTRUCTION("4140732F", mls(v1.h4(), v2.h4(), v3.h(3))); 2570 TEST_INSTRUCTION("4148436F", mls(v1.h8(), v2.h8(), v3.h(4))); 2571 TEST_INSTRUCTION("4148536F", mls(v1.h8(), v2.h8(), v3.h(5))); 2572 TEST_INSTRUCTION("4148636F", mls(v1.h8(), v2.h8(), v3.h(6))); 2573 TEST_INSTRUCTION("4148736F", mls(v1.h8(), v2.h8(), v3.h(7))); 2574 TEST_INSTRUCTION("4140832F", mls(v1.s2(), v2.s2(), v3.s(0))); 2575 TEST_INSTRUCTION("4140A32F", mls(v1.s2(), v2.s2(), v3.s(1))); 2576 TEST_INSTRUCTION("4148836F", mls(v1.s4(), v2.s4(), v3.s(2))); 2577 TEST_INSTRUCTION("4148A36F", mls(v1.s4(), v2.s4(), v3.s(3))); 2578 TEST_INSTRUCTION("4F04035E", mov(b15, v2.b(1))); 2579 TEST_INSTRUCTION("4F04065E", mov(h15, v2.h(1))); 2580 TEST_INSTRUCTION("4F040C5E", mov(s15, v2.s(1))); 2581 TEST_INSTRUCTION("4F04185E", mov(d15, v2.d(1))); 2582 TEST_INSTRUCTION("411C014E", mov(v1.b(0), w2)); 2583 TEST_INSTRUCTION("411C074E", mov(v1.b(3), w2)); 2584 TEST_INSTRUCTION("411C0D4E", mov(v1.b(6), w2)); 2585 TEST_INSTRUCTION("411C134E", mov(v1.b(9), w2)); 2586 TEST_INSTRUCTION("411C1F4E", mov(v1.b(15), w2)); 2587 TEST_INSTRUCTION("411C024E", mov(v1.h(0), w2)); 2588 TEST_INSTRUCTION("411C0E4E", mov(v1.h(3), w2)); 2589 TEST_INSTRUCTION("411C1E4E", mov(v1.h(7), w2)); 2590 TEST_INSTRUCTION("411C044E", mov(v1.s(0), w2)); 2591 TEST_INSTRUCTION("411C0C4E", mov(v1.s(1), w2)); 2592 TEST_INSTRUCTION("411C144E", mov(v1.s(2), w2)); 2593 TEST_INSTRUCTION("411C1C4E", mov(v1.s(3), w2)); 2594 TEST_INSTRUCTION("411C084E", mov(v1.d(0), x2)); 2595 TEST_INSTRUCTION("411C184E", mov(v1.d(1), x2)); 2596 TEST_INSTRUCTION("417C016E", mov(v1.b(0), v2.b(15))); 2597 TEST_INSTRUCTION("4174036E", mov(v1.b(1), v2.b(14))); 2598 TEST_INSTRUCTION("4174026E", mov(v1.h(0), v2.h(7))); 2599 TEST_INSTRUCTION("4164066E", mov(v1.h(1), v2.h(6))); 2600 TEST_INSTRUCTION("4164046E", mov(v1.s(0), v2.s(3))); 2601 TEST_INSTRUCTION("41440C6E", mov(v1.s(1), v2.s(2))); 2602 TEST_INSTRUCTION("4144086E", mov(v1.d(0), v2.d(1))); 2603 TEST_INSTRUCTION("4104186E", mov(v1.d(1), v2.d(0))); 2604 TEST_INSTRUCTION("41E5010F", movi(v1.b8(), 42)); 2605 TEST_INSTRUCTION("4185010F", movi(v1.h4(), 42)); 2606 TEST_INSTRUCTION("4105010F", movi(v1.s2(), 42)); 2607 TEST_INSTRUCTION("C1E5022F", movi(d1, 0x00FF0000FFFFFF00u)); 2608 TEST_INSTRUCTION("41E5014F", movi(v1.b16(), 42)); 2609 TEST_INSTRUCTION("4185014F", movi(v1.h8(), 42)); 2610 TEST_INSTRUCTION("4105014F", movi(v1.s4(), 42)); 2611 TEST_INSTRUCTION("E167074F", movi(v1.s4(), 0xFF, lsl(24))); 2612 TEST_INSTRUCTION("E1D7074F", movi(v1.s4(), 0xFF, msl(16))); 2613 TEST_INSTRUCTION("C1E5026F", movi(v1.d2(), 0x00FF0000FFFFFF00u)); 2614 TEST_INSTRUCTION("419C230E", mul(v1.b8(), v2.b8(), v3.b8())); 2615 TEST_INSTRUCTION("419C630E", mul(v1.h4(), v2.h4(), v3.h4())); 2616 TEST_INSTRUCTION("419CA30E", mul(v1.s2(), v2.s2(), v3.s2())); 2617 TEST_INSTRUCTION("419C234E", mul(v1.b16(), v2.b16(), v3.b16())); 2618 TEST_INSTRUCTION("419C634E", mul(v1.h8(), v2.h8(), v3.h8())); 2619 TEST_INSTRUCTION("419CA34E", mul(v1.s4(), v2.s4(), v3.s4())); 2620 TEST_INSTRUCTION("4158202E", mvn_(v1.b8(), v2.b8())); 2621 TEST_INSTRUCTION("4158206E", mvn_(v1.b16(), v2.b16())); 2622 TEST_INSTRUCTION("4185012F", mvni(v1.h4(), 42)); 2623 TEST_INSTRUCTION("4105012F", mvni(v1.s2(), 42)); 2624 TEST_INSTRUCTION("4185016F", mvni(v1.h8(), 42)); 2625 TEST_INSTRUCTION("4105016F", mvni(v1.s4(), 42)); 2626 TEST_INSTRUCTION("41B8202E", neg(v1.b8(), v2.b8())); 2627 TEST_INSTRUCTION("41B8602E", neg(v1.h4(), v2.h4())); 2628 TEST_INSTRUCTION("41B8A02E", neg(v1.s2(), v2.s2())); 2629 TEST_INSTRUCTION("41B8E07E", neg(d1, d2)); 2630 TEST_INSTRUCTION("41B8206E", neg(v1.b16(), v2.b16())); 2631 TEST_INSTRUCTION("41B8606E", neg(v1.h8(), v2.h8())); 2632 TEST_INSTRUCTION("41B8A06E", neg(v1.s4(), v2.s4())); 2633 TEST_INSTRUCTION("41B8E06E", neg(v1.d2(), v2.d2())); 2634 TEST_INSTRUCTION("4158202E", not_(v1.b8(), v2.b8())); 2635 TEST_INSTRUCTION("4158206E", not_(v1.b16(), v2.b16())); 2636 TEST_INSTRUCTION("411CE30E", orn(v1.b8(), v2.b8(), v3.b8())); 2637 TEST_INSTRUCTION("411CE34E", orn(v1.b16(), v2.b16(), v3.b16())); 2638 TEST_INSTRUCTION("411CA30E", orr(v1.b8(), v2.b8(), v3.b8())); 2639 TEST_INSTRUCTION("411CA34E", orr(v1.b16(), v2.b16(), v3.b16())); 2640 TEST_INSTRUCTION("E197070F", orr(v1.h4(), 255)); 2641 TEST_INSTRUCTION("E1B7070F", orr(v1.h4(), 255, lsl(8))); 2642 TEST_INSTRUCTION("E197074F", orr(v1.h8(), 255)); 2643 TEST_INSTRUCTION("E1B7074F", orr(v1.h8(), 255, lsl(8))); 2644 TEST_INSTRUCTION("E117070F", orr(v1.s2(), 255)); 2645 TEST_INSTRUCTION("E137070F", orr(v1.s2(), 255, lsl(8))); 2646 TEST_INSTRUCTION("E117074F", orr(v1.s4(), 255)); 2647 TEST_INSTRUCTION("E177074F", orr(v1.s4(), 255, lsl(24))); 2648 TEST_INSTRUCTION("419C232E", pmul(v1.b8(), v2.b8(), v3.b8())); 2649 TEST_INSTRUCTION("419C236E", pmul(v1.b16(), v2.b16(), v3.b16())); 2650 TEST_INSTRUCTION("41E0230E", pmull(v1.h8(), v2.b8(), v3.b8())); 2651 TEST_INSTRUCTION("41E0E30E", pmull(q1, d2, d3)); 2652 TEST_INSTRUCTION("41E0234E", pmull2(v1.h8(), v2.b16(), v3.b16())); 2653 TEST_INSTRUCTION("41E0E34E", pmull2(q1, v2.d2(), v3.d2())); 2654 TEST_INSTRUCTION("4140232E", raddhn(v1.b8(), v2.h8(), v3.h8())); 2655 TEST_INSTRUCTION("4140632E", raddhn(v1.h4(), v2.s4(), v3.s4())); 2656 TEST_INSTRUCTION("4140A32E", raddhn(v1.s2(), v2.d2(), v3.d2())); 2657 TEST_INSTRUCTION("4140236E", raddhn2(v1.b16(), v2.h8(), v3.h8())); 2658 TEST_INSTRUCTION("4140636E", raddhn2(v1.h8(), v2.s4(), v3.s4())); 2659 TEST_INSTRUCTION("4140A36E", raddhn2(v1.s4(), v2.d2(), v3.d2())); 2660 TEST_INSTRUCTION("418C63CE", rax1(v1.d2(), v2.d2(), v3.d2())); 2661 TEST_INSTRUCTION("4158602E", rbit(v1.b8(), v2.b8())); 2662 TEST_INSTRUCTION("4158606E", rbit(v1.b16(), v2.b16())); 2663 TEST_INSTRUCTION("4118200E", rev16(v1.b8(), v2.b8())); 2664 TEST_INSTRUCTION("4118204E", rev16(v1.b16(), v2.b16())); 2665 TEST_INSTRUCTION("4108202E", rev32(v1.b8(), v2.b8())); 2666 TEST_INSTRUCTION("4108206E", rev32(v1.b16(), v2.b16())); 2667 TEST_INSTRUCTION("4108602E", rev32(v1.h4(), v2.h4())); 2668 TEST_INSTRUCTION("4108606E", rev32(v1.h8(), v2.h8())); 2669 TEST_INSTRUCTION("4108200E", rev64(v1.b8(), v2.b8())); 2670 TEST_INSTRUCTION("4108204E", rev64(v1.b16(), v2.b16())); 2671 TEST_INSTRUCTION("4108600E", rev64(v1.h4(), v2.h4())); 2672 TEST_INSTRUCTION("4108604E", rev64(v1.h8(), v2.h8())); 2673 TEST_INSTRUCTION("4108A00E", rev64(v1.s2(), v2.s2())); 2674 TEST_INSTRUCTION("4108A04E", rev64(v1.s4(), v2.s4())); 2675 TEST_INSTRUCTION("418C090F", rshrn(v1.b8(), v2.h8(), 7)); 2676 TEST_INSTRUCTION("418C110F", rshrn(v1.h4(), v2.s4(), 15)); 2677 TEST_INSTRUCTION("418C210F", rshrn(v1.s2(), v2.d2(), 31)); 2678 TEST_INSTRUCTION("418C094F", rshrn2(v1.b16(), v2.h8(), 7)); 2679 TEST_INSTRUCTION("418C114F", rshrn2(v1.h8(), v2.s4(), 15)); 2680 TEST_INSTRUCTION("418C214F", rshrn2(v1.s4(), v2.d2(), 31)); 2681 TEST_INSTRUCTION("4160232E", rsubhn(v1.b8(), v2.h8(), v3.h8())); 2682 TEST_INSTRUCTION("4160632E", rsubhn(v1.h4(), v2.s4(), v3.s4())); 2683 TEST_INSTRUCTION("4160A32E", rsubhn(v1.s2(), v2.d2(), v3.d2())); 2684 TEST_INSTRUCTION("4160236E", rsubhn2(v1.b16(), v2.h8(), v3.h8())); 2685 TEST_INSTRUCTION("4160636E", rsubhn2(v1.h8(), v2.s4(), v3.s4())); 2686 TEST_INSTRUCTION("4160A36E", rsubhn2(v1.s4(), v2.d2(), v3.d2())); 2687 TEST_INSTRUCTION("417C230E", saba(v1.b8(), v2.b8(), v3.b8())); 2688 TEST_INSTRUCTION("417C630E", saba(v1.h4(), v2.h4(), v3.h4())); 2689 TEST_INSTRUCTION("417CA30E", saba(v1.s2(), v2.s2(), v3.s2())); 2690 TEST_INSTRUCTION("417C234E", saba(v1.b16(), v2.b16(), v3.b16())); 2691 TEST_INSTRUCTION("417C634E", saba(v1.h8(), v2.h8(), v3.h8())); 2692 TEST_INSTRUCTION("417CA34E", saba(v1.s4(), v2.s4(), v3.s4())); 2693 TEST_INSTRUCTION("4150230E", sabal(v1.h8(), v2.b8(), v3.b8())); 2694 TEST_INSTRUCTION("4150630E", sabal(v1.s4(), v2.h4(), v3.h4())); 2695 TEST_INSTRUCTION("4150A30E", sabal(v1.d2(), v2.s2(), v3.s2())); 2696 TEST_INSTRUCTION("4150234E", sabal2(v1.h8(), v2.b16(), v3.b16())); 2697 TEST_INSTRUCTION("4150634E", sabal2(v1.s4(), v2.h8(), v3.h8())); 2698 TEST_INSTRUCTION("4150A34E", sabal2(v1.d2(), v2.s4(), v3.s4())); 2699 TEST_INSTRUCTION("4174230E", sabd(v1.b8(), v2.b8(), v3.b8())); 2700 TEST_INSTRUCTION("4174630E", sabd(v1.h4(), v2.h4(), v3.h4())); 2701 TEST_INSTRUCTION("4174A30E", sabd(v1.s2(), v2.s2(), v3.s2())); 2702 TEST_INSTRUCTION("4174234E", sabd(v1.b16(), v2.b16(), v3.b16())); 2703 TEST_INSTRUCTION("4174634E", sabd(v1.h8(), v2.h8(), v3.h8())); 2704 TEST_INSTRUCTION("4174A34E", sabd(v1.s4(), v2.s4(), v3.s4())); 2705 TEST_INSTRUCTION("4170230E", sabdl(v1.h8(), v2.b8(), v3.b8())); 2706 TEST_INSTRUCTION("4170630E", sabdl(v1.s4(), v2.h4(), v3.h4())); 2707 TEST_INSTRUCTION("4170A30E", sabdl(v1.d2(), v2.s2(), v3.s2())); 2708 TEST_INSTRUCTION("4170234E", sabdl2(v1.h8(), v2.b16(), v3.b16())); 2709 TEST_INSTRUCTION("4170634E", sabdl2(v1.s4(), v2.h8(), v3.h8())); 2710 TEST_INSTRUCTION("4170A34E", sabdl2(v1.d2(), v2.s4(), v3.s4())); 2711 TEST_INSTRUCTION("4168200E", sadalp(v1.h4(), v2.b8())); 2712 TEST_INSTRUCTION("4168600E", sadalp(v1.s2(), v2.h4())); 2713 TEST_INSTRUCTION("4168A00E", sadalp(d1, v2.s2())); 2714 TEST_INSTRUCTION("4168204E", sadalp(v1.h8(), v2.b16())); 2715 TEST_INSTRUCTION("4168604E", sadalp(v1.s4(), v2.h8())); 2716 TEST_INSTRUCTION("4168A04E", sadalp(v1.d2(), v2.s4())); 2717 TEST_INSTRUCTION("4100230E", saddl(v1.h8(), v2.b8(), v3.b8())); 2718 TEST_INSTRUCTION("4100630E", saddl(v1.s4(), v2.h4(), v3.h4())); 2719 TEST_INSTRUCTION("4100A30E", saddl(v1.d2(), v2.s2(), v3.s2())); 2720 TEST_INSTRUCTION("4100234E", saddl2(v1.h8(), v2.b16(), v3.b16())); 2721 TEST_INSTRUCTION("4100634E", saddl2(v1.s4(), v2.h8(), v3.h8())); 2722 TEST_INSTRUCTION("4100A34E", saddl2(v1.d2(), v2.s4(), v3.s4())); 2723 TEST_INSTRUCTION("4128200E", saddlp(v1.h4(), v2.b8())); 2724 TEST_INSTRUCTION("4128600E", saddlp(v1.s2(), v2.h4())); 2725 TEST_INSTRUCTION("4128A00E", saddlp(d1, v2.s2())); 2726 TEST_INSTRUCTION("4128204E", saddlp(v1.h8(), v2.b16())); 2727 TEST_INSTRUCTION("4128604E", saddlp(v1.s4(), v2.h8())); 2728 TEST_INSTRUCTION("4128A04E", saddlp(v1.d2(), v2.s4())); 2729 TEST_INSTRUCTION("4138300E", saddlv(h1, v2.b8())); 2730 TEST_INSTRUCTION("4138304E", saddlv(h1, v2.b16())); 2731 TEST_INSTRUCTION("4138700E", saddlv(s1, v2.h4())); 2732 TEST_INSTRUCTION("4138704E", saddlv(s1, v2.h8())); 2733 TEST_INSTRUCTION("4138B04E", saddlv(d1, v2.s4())); 2734 TEST_INSTRUCTION("4110230E", saddw(v1.h8(), v2.h8(), v3.b8())); 2735 TEST_INSTRUCTION("4110630E", saddw(v1.s4(), v2.s4(), v3.h4())); 2736 TEST_INSTRUCTION("4110A30E", saddw(v1.d2(), v2.d2(), v3.s2())); 2737 TEST_INSTRUCTION("4110234E", saddw2(v1.h8(), v2.h8(), v3.b16())); 2738 TEST_INSTRUCTION("4110634E", saddw2(v1.s4(), v2.s4(), v3.h8())); 2739 TEST_INSTRUCTION("4110A34E", saddw2(v1.d2(), v2.d2(), v3.s4())); 2740 TEST_INSTRUCTION("4100E21E", scvtf(h1, w2)); 2741 TEST_INSTRUCTION("4100221E", scvtf(s1, w2)); 2742 TEST_INSTRUCTION("4100621E", scvtf(d1, w2)); 2743 TEST_INSTRUCTION("4100E29E", scvtf(h1, x2)); 2744 TEST_INSTRUCTION("4100229E", scvtf(s1, x2)); 2745 TEST_INSTRUCTION("4100629E", scvtf(d1, x2)); 2746 TEST_INSTRUCTION("41D8795E", scvtf(h1, h2)); 2747 TEST_INSTRUCTION("41D8215E", scvtf(s1, s2)); 2748 TEST_INSTRUCTION("41D8615E", scvtf(d1, d2)); 2749 TEST_INSTRUCTION("41D8790E", scvtf(v1.h4(), v2.h4())); 2750 TEST_INSTRUCTION("41D8210E", scvtf(v1.s2(), v2.s2())); 2751 TEST_INSTRUCTION("41D8794E", scvtf(v1.h8(), v2.h8())); 2752 TEST_INSTRUCTION("41D8214E", scvtf(v1.s4(), v2.s4())); 2753 TEST_INSTRUCTION("41D8614E", scvtf(v1.d2(), v2.d2())); 2754 TEST_INSTRUCTION("41E0C21E", scvtf(h1, w2, 8)); 2755 TEST_INSTRUCTION("41E0021E", scvtf(s1, w2, 8)); 2756 TEST_INSTRUCTION("41E0421E", scvtf(d1, w2, 8)); 2757 TEST_INSTRUCTION("41E0C29E", scvtf(h1, x2, 8)); 2758 TEST_INSTRUCTION("41E0029E", scvtf(s1, x2, 8)); 2759 TEST_INSTRUCTION("41E0429E", scvtf(d1, x2, 8)); 2760 TEST_INSTRUCTION("41E4185F", scvtf(h1, h2, 8)); 2761 TEST_INSTRUCTION("41E4385F", scvtf(s1, s2, 8)); 2762 TEST_INSTRUCTION("41E4785F", scvtf(d1, d2, 8)); 2763 TEST_INSTRUCTION("41E4180F", scvtf(v1.h4(), v2.h4(), 8)); 2764 TEST_INSTRUCTION("41E4380F", scvtf(v1.s2(), v2.s2(), 8)); 2765 TEST_INSTRUCTION("41E4184F", scvtf(v1.h8(), v2.h8(), 8)); 2766 TEST_INSTRUCTION("41E4384F", scvtf(v1.s4(), v2.s4(), 8)); 2767 TEST_INSTRUCTION("41E4784F", scvtf(v1.d2(), v2.d2(), 8)); 2768 TEST_INSTRUCTION("4194830E", sdot(v1.s2(), v2.b8(), v3.b8())); 2769 TEST_INSTRUCTION("4194834E", sdot(v1.s4(), v2.b16(), v3.b16())); 2770 TEST_INSTRUCTION("41E0830F", sdot(v1.s2(), v2.b8(), v3.b4(0))); 2771 TEST_INSTRUCTION("41E0A30F", sdot(v1.s2(), v2.b8(), v3.b4(1))); 2772 TEST_INSTRUCTION("41E8830F", sdot(v1.s2(), v2.b8(), v3.b4(2))); 2773 TEST_INSTRUCTION("41E8A30F", sdot(v1.s2(), v2.b8(), v3.b4(3))); 2774 TEST_INSTRUCTION("41E0834F", sdot(v1.s4(), v2.b16(), v3.b4(0))); 2775 TEST_INSTRUCTION("41E0A34F", sdot(v1.s4(), v2.b16(), v3.b4(1))); 2776 TEST_INSTRUCTION("41E8834F", sdot(v1.s4(), v2.b16(), v3.b4(2))); 2777 TEST_INSTRUCTION("41E8A34F", sdot(v1.s4(), v2.b16(), v3.b4(3))); 2778 TEST_INSTRUCTION("4100035E", sha1c(q1, s2, v3.s4())); 2779 TEST_INSTRUCTION("4108285E", sha1h(s1, s2)); 2780 TEST_INSTRUCTION("4120035E", sha1m(q1, s2, v3.s4())); 2781 TEST_INSTRUCTION("4110035E", sha1p(q1, s2, v3.s4())); 2782 TEST_INSTRUCTION("4130035E", sha1su0(v1.s4(), v2.s4(), v3.s4())); 2783 TEST_INSTRUCTION("4118285E", sha1su1(v1.s4(), v2.s4())); 2784 TEST_INSTRUCTION("4140035E", sha256h(q1, q2, v3.s4())); 2785 TEST_INSTRUCTION("4150035E", sha256h2(q1, q2, v3.s4())); 2786 TEST_INSTRUCTION("4128285E", sha256su0(v1.s4(), v2.s4())); 2787 TEST_INSTRUCTION("4160035E", sha256su1(v1.s4(), v2.s4(), v3.s4())); 2788 TEST_INSTRUCTION("4104230E", shadd(v1.b8(), v2.b8(), v3.b8())); 2789 TEST_INSTRUCTION("4104630E", shadd(v1.h4(), v2.h4(), v3.h4())); 2790 TEST_INSTRUCTION("4104A30E", shadd(v1.s2(), v2.s2(), v3.s2())); 2791 TEST_INSTRUCTION("4104234E", shadd(v1.b16(), v2.b16(), v3.b16())); 2792 TEST_INSTRUCTION("4104634E", shadd(v1.h8(), v2.h8(), v3.h8())); 2793 TEST_INSTRUCTION("4104A34E", shadd(v1.s4(), v2.s4(), v3.s4())); 2794 TEST_INSTRUCTION("41540F0F", shl(v1.b8(), v2.b8(), 7)); 2795 TEST_INSTRUCTION("41541F0F", shl(v1.h4(), v2.h4(), 15)); 2796 TEST_INSTRUCTION("41543F0F", shl(v1.s2(), v2.s2(), 31)); 2797 TEST_INSTRUCTION("41547F5F", shl(d1, d2, 63)); 2798 TEST_INSTRUCTION("41540F4F", shl(v1.b16(), v2.b16(), 7)); 2799 TEST_INSTRUCTION("41541F4F", shl(v1.h8(), v2.h8(), 15)); 2800 TEST_INSTRUCTION("41543F4F", shl(v1.s4(), v2.s4(), 31)); 2801 TEST_INSTRUCTION("41547F4F", shl(v1.d2(), v2.d2(), 63)); 2802 TEST_INSTRUCTION("4138212E", shll(v1.h8(), v2.b8(), 8)); 2803 TEST_INSTRUCTION("4138612E", shll(v1.s4(), v2.h4(), 16)); 2804 TEST_INSTRUCTION("4138A12E", shll(v1.d2(), v2.s2(), 32)); 2805 TEST_INSTRUCTION("4138216E", shll2(v1.h8(), v2.b16(), 8)); 2806 TEST_INSTRUCTION("4138616E", shll2(v1.s4(), v2.h8(), 16)); 2807 TEST_INSTRUCTION("4138A16E", shll2(v1.d2(), v2.s4(), 32)); 2808 TEST_INSTRUCTION("4184090F", shrn(v1.b8(), v2.h8(), 7)); 2809 TEST_INSTRUCTION("4184110F", shrn(v1.h4(), v2.s4(), 15)); 2810 TEST_INSTRUCTION("4184210F", shrn(v1.s2(), v2.d2(), 31)); 2811 TEST_INSTRUCTION("4184094F", shrn2(v1.b16(), v2.h8(), 7)); 2812 TEST_INSTRUCTION("4184114F", shrn2(v1.h8(), v2.s4(), 15)); 2813 TEST_INSTRUCTION("4184214F", shrn2(v1.s4(), v2.d2(), 31)); 2814 TEST_INSTRUCTION("4124230E", shsub(v1.b8(), v2.b8(), v3.b8())); 2815 TEST_INSTRUCTION("4124630E", shsub(v1.h4(), v2.h4(), v3.h4())); 2816 TEST_INSTRUCTION("4124A30E", shsub(v1.s2(), v2.s2(), v3.s2())); 2817 TEST_INSTRUCTION("4124234E", shsub(v1.b16(), v2.b16(), v3.b16())); 2818 TEST_INSTRUCTION("4124634E", shsub(v1.h8(), v2.h8(), v3.h8())); 2819 TEST_INSTRUCTION("4124A34E", shsub(v1.s4(), v2.s4(), v3.s4())); 2820 TEST_INSTRUCTION("41540F2F", sli(v1.b8(), v2.b8(), 7)); 2821 TEST_INSTRUCTION("41541F2F", sli(v1.h4(), v2.h4(), 15)); 2822 TEST_INSTRUCTION("41543F2F", sli(v1.s2(), v2.s2(), 31)); 2823 TEST_INSTRUCTION("41547F7F", sli(d1, d2, 63)); 2824 TEST_INSTRUCTION("41540F6F", sli(v1.b16(), v2.b16(), 7)); 2825 TEST_INSTRUCTION("41541F6F", sli(v1.h8(), v2.h8(), 15)); 2826 TEST_INSTRUCTION("41543F6F", sli(v1.s4(), v2.s4(), 31)); 2827 TEST_INSTRUCTION("41547F6F", sli(v1.d2(), v2.d2(), 63)); 2828 TEST_INSTRUCTION("41C063CE", sm3partw1(v1.s4(), v2.s4(), v3.s4())); 2829 TEST_INSTRUCTION("41C463CE", sm3partw2(v1.s4(), v2.s4(), v3.s4())); 2830 TEST_INSTRUCTION("411043CE", sm3ss1(v1.s4(), v2.s4(), v3.s4(), v4.s4())); 2831 TEST_INSTRUCTION("418044CE", sm3tt1a(v1.s4(), v2.s4(), v4.s(0))); 2832 TEST_INSTRUCTION("41B044CE", sm3tt1a(v1.s4(), v2.s4(), v4.s(3))); 2833 TEST_INSTRUCTION("418444CE", sm3tt1b(v1.s4(), v2.s4(), v4.s(0))); 2834 TEST_INSTRUCTION("41B444CE", sm3tt1b(v1.s4(), v2.s4(), v4.s(3))); 2835 TEST_INSTRUCTION("418844CE", sm3tt2a(v1.s4(), v2.s4(), v4.s(0))); 2836 TEST_INSTRUCTION("41B844CE", sm3tt2a(v1.s4(), v2.s4(), v4.s(3))); 2837 TEST_INSTRUCTION("418C44CE", sm3tt2b(v1.s4(), v2.s4(), v4.s(0))); 2838 TEST_INSTRUCTION("41BC44CE", sm3tt2b(v1.s4(), v2.s4(), v4.s(3))); 2839 TEST_INSTRUCTION("4184C0CE", sm4e(v1.s4(), v2.s4())); 2840 TEST_INSTRUCTION("41C863CE", sm4ekey(v1.s4(), v2.s4(), v3.s4())); 2841 TEST_INSTRUCTION("4164230E", smax(v1.b8(), v2.b8(), v3.b8())); 2842 TEST_INSTRUCTION("4164630E", smax(v1.h4(), v2.h4(), v3.h4())); 2843 TEST_INSTRUCTION("4164A30E", smax(v1.s2(), v2.s2(), v3.s2())); 2844 TEST_INSTRUCTION("4164234E", smax(v1.b16(), v2.b16(), v3.b16())); 2845 TEST_INSTRUCTION("4164634E", smax(v1.h8(), v2.h8(), v3.h8())); 2846 TEST_INSTRUCTION("4164A34E", smax(v1.s4(), v2.s4(), v3.s4())); 2847 TEST_INSTRUCTION("41A4230E", smaxp(v1.b8(), v2.b8(), v3.b8())); 2848 TEST_INSTRUCTION("41A4630E", smaxp(v1.h4(), v2.h4(), v3.h4())); 2849 TEST_INSTRUCTION("41A4A30E", smaxp(v1.s2(), v2.s2(), v3.s2())); 2850 TEST_INSTRUCTION("41A4234E", smaxp(v1.b16(), v2.b16(), v3.b16())); 2851 TEST_INSTRUCTION("41A4634E", smaxp(v1.h8(), v2.h8(), v3.h8())); 2852 TEST_INSTRUCTION("41A4A34E", smaxp(v1.s4(), v2.s4(), v3.s4())); 2853 TEST_INSTRUCTION("41A8300E", smaxv(b1, v2.b8())); 2854 TEST_INSTRUCTION("41A8304E", smaxv(b1, v2.b16())); 2855 TEST_INSTRUCTION("41A8700E", smaxv(h1, v2.h4())); 2856 TEST_INSTRUCTION("41A8704E", smaxv(h1, v2.h8())); 2857 TEST_INSTRUCTION("41A8B04E", smaxv(s1, v2.s4())); 2858 TEST_INSTRUCTION("416C230E", smin(v1.b8(), v2.b8(), v3.b8())); 2859 TEST_INSTRUCTION("416C630E", smin(v1.h4(), v2.h4(), v3.h4())); 2860 TEST_INSTRUCTION("416CA30E", smin(v1.s2(), v2.s2(), v3.s2())); 2861 TEST_INSTRUCTION("416C234E", smin(v1.b16(), v2.b16(), v3.b16())); 2862 TEST_INSTRUCTION("416C634E", smin(v1.h8(), v2.h8(), v3.h8())); 2863 TEST_INSTRUCTION("416CA34E", smin(v1.s4(), v2.s4(), v3.s4())); 2864 TEST_INSTRUCTION("41AC230E", sminp(v1.b8(), v2.b8(), v3.b8())); 2865 TEST_INSTRUCTION("41AC630E", sminp(v1.h4(), v2.h4(), v3.h4())); 2866 TEST_INSTRUCTION("41ACA30E", sminp(v1.s2(), v2.s2(), v3.s2())); 2867 TEST_INSTRUCTION("41AC234E", sminp(v1.b16(), v2.b16(), v3.b16())); 2868 TEST_INSTRUCTION("41AC634E", sminp(v1.h8(), v2.h8(), v3.h8())); 2869 TEST_INSTRUCTION("41ACA34E", sminp(v1.s4(), v2.s4(), v3.s4())); 2870 TEST_INSTRUCTION("41A8310E", sminv(b1, v2.b8())); 2871 TEST_INSTRUCTION("41A8314E", sminv(b1, v2.b16())); 2872 TEST_INSTRUCTION("41A8710E", sminv(h1, v2.h4())); 2873 TEST_INSTRUCTION("41A8714E", sminv(h1, v2.h8())); 2874 TEST_INSTRUCTION("41A8B14E", sminv(s1, v2.s4())); 2875 TEST_INSTRUCTION("4180230E", smlal(v1.h8(), v2.b8(), v3.b8())); 2876 TEST_INSTRUCTION("4180630E", smlal(v1.s4(), v2.h4(), v3.h4())); 2877 TEST_INSTRUCTION("4180A30E", smlal(v1.d2(), v2.s2(), v3.s2())); 2878 TEST_INSTRUCTION("4120730F", smlal(v1.s4(), v2.h4(), v3.h(3))); 2879 TEST_INSTRUCTION("4128A30F", smlal(v1.d2(), v2.s2(), v3.s(3))); 2880 TEST_INSTRUCTION("4180234E", smlal2(v1.h8(), v2.b16(), v3.b16())); 2881 TEST_INSTRUCTION("4180634E", smlal2(v1.s4(), v2.h8(), v3.h8())); 2882 TEST_INSTRUCTION("4180A34E", smlal2(v1.d2(), v2.s4(), v3.s4())); 2883 TEST_INSTRUCTION("4120734F", smlal2(v1.s4(), v2.h8(), v3.h(3))); 2884 TEST_INSTRUCTION("4128A34F", smlal2(v1.d2(), v2.s4(), v3.s(3))); 2885 TEST_INSTRUCTION("41A0230E", smlsl(v1.h8(), v2.b8(), v3.b8())); 2886 TEST_INSTRUCTION("41A0630E", smlsl(v1.s4(), v2.h4(), v3.h4())); 2887 TEST_INSTRUCTION("41A0A30E", smlsl(v1.d2(), v2.s2(), v3.s2())); 2888 TEST_INSTRUCTION("4160730F", smlsl(v1.s4(), v2.h4(), v3.h(3))); 2889 TEST_INSTRUCTION("4168A30F", smlsl(v1.d2(), v2.s2(), v3.s(3))); 2890 TEST_INSTRUCTION("41A0234E", smlsl2(v1.h8(), v2.b16(), v3.b16())); 2891 TEST_INSTRUCTION("41A0634E", smlsl2(v1.s4(), v2.h8(), v3.h8())); 2892 TEST_INSTRUCTION("41A0A34E", smlsl2(v1.d2(), v2.s4(), v3.s4())); 2893 TEST_INSTRUCTION("4160734F", smlsl2(v1.s4(), v2.h8(), v3.h(3))); 2894 TEST_INSTRUCTION("4168A34F", smlsl2(v1.d2(), v2.s4(), v3.s(3))); 2895 TEST_INSTRUCTION("41A4834E", smmla(v1.s4(), v2.b16(), v3.b16())); 2896 TEST_INSTRUCTION("412C010E", smov(w1, v2.b(0))); 2897 TEST_INSTRUCTION("412C1F0E", smov(w1, v2.b(15))); 2898 TEST_INSTRUCTION("412C020E", smov(w1, v2.h(0))); 2899 TEST_INSTRUCTION("412C1E0E", smov(w1, v2.h(7))); 2900 TEST_INSTRUCTION("412C014E", smov(x1, v2.b(0))); 2901 TEST_INSTRUCTION("412C1F4E", smov(x1, v2.b(15))); 2902 TEST_INSTRUCTION("412C024E", smov(x1, v2.h(0))); 2903 TEST_INSTRUCTION("412C1E4E", smov(x1, v2.h(7))); 2904 TEST_INSTRUCTION("412C044E", smov(x1, v2.s(0))); 2905 TEST_INSTRUCTION("412C1C4E", smov(x1, v2.s(3))); 2906 TEST_INSTRUCTION("41C0230E", smull(v1.h8(), v2.b8(), v3.b8())); 2907 TEST_INSTRUCTION("41C0630E", smull(v1.s4(), v2.h4(), v3.h4())); 2908 TEST_INSTRUCTION("41C0A30E", smull(v1.d2(), v2.s2(), v3.s2())); 2909 TEST_INSTRUCTION("41A0730F", smull(v1.s4(), v2.h4(), v3.h(3))); 2910 TEST_INSTRUCTION("41A8A30F", smull(v1.d2(), v2.s2(), v3.s(3))); 2911 TEST_INSTRUCTION("41C0234E", smull2(v1.h8(), v2.b16(), v3.b16())); 2912 TEST_INSTRUCTION("41C0634E", smull2(v1.s4(), v2.h8(), v3.h8())); 2913 TEST_INSTRUCTION("41C0A34E", smull2(v1.d2(), v2.s4(), v3.s4())); 2914 TEST_INSTRUCTION("41A0734F", smull2(v1.s4(), v2.h8(), v3.h(3))); 2915 TEST_INSTRUCTION("41A8A34F", smull2(v1.d2(), v2.s4(), v3.s(3))); 2916 TEST_INSTRUCTION("4178205E", sqabs(b1, b2)); 2917 TEST_INSTRUCTION("4178605E", sqabs(h1, h2)); 2918 TEST_INSTRUCTION("4178A05E", sqabs(s1, s2)); 2919 TEST_INSTRUCTION("4178E05E", sqabs(d1, d2)); 2920 TEST_INSTRUCTION("4178200E", sqabs(v1.b8(), v2.b8())); 2921 TEST_INSTRUCTION("4178600E", sqabs(v1.h4(), v2.h4())); 2922 TEST_INSTRUCTION("4178A00E", sqabs(v1.s2(), v2.s2())); 2923 TEST_INSTRUCTION("4178204E", sqabs(v1.b16(), v2.b16())); 2924 TEST_INSTRUCTION("4178604E", sqabs(v1.h8(), v2.h8())); 2925 TEST_INSTRUCTION("4178A04E", sqabs(v1.s4(), v2.s4())); 2926 TEST_INSTRUCTION("4178E04E", sqabs(v1.d2(), v2.d2())); 2927 TEST_INSTRUCTION("410C235E", sqadd(b1, b2, b3)); 2928 TEST_INSTRUCTION("410C635E", sqadd(h1, h2, h3)); 2929 TEST_INSTRUCTION("410CA35E", sqadd(s1, s2, s3)); 2930 TEST_INSTRUCTION("410CE35E", sqadd(d1, d2, d3)); 2931 TEST_INSTRUCTION("410C230E", sqadd(v1.b8(), v2.b8(), v3.b8())); 2932 TEST_INSTRUCTION("410C630E", sqadd(v1.h4(), v2.h4(), v3.h4())); 2933 TEST_INSTRUCTION("410CA30E", sqadd(v1.s2(), v2.s2(), v3.s2())); 2934 TEST_INSTRUCTION("410C234E", sqadd(v1.b16(), v2.b16(), v3.b16())); 2935 TEST_INSTRUCTION("410C634E", sqadd(v1.h8(), v2.h8(), v3.h8())); 2936 TEST_INSTRUCTION("410CA34E", sqadd(v1.s4(), v2.s4(), v3.s4())); 2937 TEST_INSTRUCTION("410CE34E", sqadd(v1.d2(), v2.d2(), v3.d2())); 2938 TEST_INSTRUCTION("4190635E", sqdmlal(s1, h2, h3)); 2939 TEST_INSTRUCTION("4190A35E", sqdmlal(d1, s2, s3)); 2940 TEST_INSTRUCTION("4190630E", sqdmlal(v1.s4(), v2.h4(), v3.h4())); 2941 TEST_INSTRUCTION("4190A30E", sqdmlal(v1.d2(), v2.s2(), v3.s2())); 2942 TEST_INSTRUCTION("4130730F", sqdmlal(v1.s4(), v2.h4(), v3.h(3))); 2943 TEST_INSTRUCTION("4138A30F", sqdmlal(v1.d2(), v2.s2(), v3.s(3))); 2944 TEST_INSTRUCTION("4190634E", sqdmlal2(v1.s4(), v2.h8(), v3.h8())); 2945 TEST_INSTRUCTION("4190A34E", sqdmlal2(v1.d2(), v2.s4(), v3.s4())); 2946 TEST_INSTRUCTION("4130734F", sqdmlal2(v1.s4(), v2.h8(), v3.h(3))); 2947 TEST_INSTRUCTION("4138A34F", sqdmlal2(v1.d2(), v2.s4(), v3.s(3))); 2948 TEST_INSTRUCTION("41B0635E", sqdmlsl(s1, h2, h3)); 2949 TEST_INSTRUCTION("41B0A35E", sqdmlsl(d1, s2, s3)); 2950 TEST_INSTRUCTION("41B0630E", sqdmlsl(v1.s4(), v2.h4(), v3.h4())); 2951 TEST_INSTRUCTION("41B0A30E", sqdmlsl(v1.d2(), v2.s2(), v3.s2())); 2952 TEST_INSTRUCTION("4170730F", sqdmlsl(v1.s4(), v2.h4(), v3.h(3))); 2953 TEST_INSTRUCTION("4178A30F", sqdmlsl(v1.d2(), v2.s2(), v3.s(3))); 2954 TEST_INSTRUCTION("41B0634E", sqdmlsl2(v1.s4(), v2.h8(), v3.h8())); 2955 TEST_INSTRUCTION("41B0A34E", sqdmlsl2(v1.d2(), v2.s4(), v3.s4())); 2956 TEST_INSTRUCTION("4170734F", sqdmlsl2(v1.s4(), v2.h8(), v3.h(3))); 2957 TEST_INSTRUCTION("4178A34F", sqdmlsl2(v1.d2(), v2.s4(), v3.s(3))); 2958 TEST_INSTRUCTION("41B4635E", sqdmulh(h1, h2, h3)); 2959 TEST_INSTRUCTION("41B4A35E", sqdmulh(s1, s2, s3)); 2960 TEST_INSTRUCTION("41B4630E", sqdmulh(v1.h4(), v2.h4(), v3.h4())); 2961 TEST_INSTRUCTION("41B4A30E", sqdmulh(v1.s2(), v2.s2(), v3.s2())); 2962 TEST_INSTRUCTION("41B4634E", sqdmulh(v1.h8(), v2.h8(), v3.h8())); 2963 TEST_INSTRUCTION("41B4A34E", sqdmulh(v1.s4(), v2.s4(), v3.s4())); 2964 TEST_INSTRUCTION("41C0730F", sqdmulh(v1.h4(), v2.h4(), v3.h(3))); 2965 TEST_INSTRUCTION("41C8A30F", sqdmulh(v1.s2(), v2.s2(), v3.s(3))); 2966 TEST_INSTRUCTION("41C0734F", sqdmulh(v1.h8(), v2.h8(), v3.h(3))); 2967 TEST_INSTRUCTION("41C8A34F", sqdmulh(v1.s4(), v2.s4(), v3.s(3))); 2968 TEST_INSTRUCTION("41D0635E", sqdmull(s1, h2, h3)); 2969 TEST_INSTRUCTION("41D0A35E", sqdmull(d1, s2, s3)); 2970 TEST_INSTRUCTION("41D0630E", sqdmull(v1.s4(), v2.h4(), v3.h4())); 2971 TEST_INSTRUCTION("41D0A30E", sqdmull(v1.d2(), v2.s2(), v3.s2())); 2972 TEST_INSTRUCTION("41B0730F", sqdmull(v1.s4(), v2.h4(), v3.h(3))); 2973 TEST_INSTRUCTION("41B8A30F", sqdmull(v1.d2(), v2.s2(), v3.s(3))); 2974 TEST_INSTRUCTION("41D0634E", sqdmull2(v1.s4(), v2.h8(), v3.h8())); 2975 TEST_INSTRUCTION("41D0A34E", sqdmull2(v1.d2(), v2.s4(), v3.s4())); 2976 TEST_INSTRUCTION("41B0734F", sqdmull2(v1.s4(), v2.h8(), v3.h(3))); 2977 TEST_INSTRUCTION("41B8A34F", sqdmull2(v1.d2(), v2.s4(), v3.s(3))); 2978 TEST_INSTRUCTION("4178207E", sqneg(b1, b2)); 2979 TEST_INSTRUCTION("4178607E", sqneg(h1, h2)); 2980 TEST_INSTRUCTION("4178A07E", sqneg(s1, s2)); 2981 TEST_INSTRUCTION("4178E07E", sqneg(d1, d2)); 2982 TEST_INSTRUCTION("4178202E", sqneg(v1.b8(), v2.b8())); 2983 TEST_INSTRUCTION("4178602E", sqneg(v1.h4(), v2.h4())); 2984 TEST_INSTRUCTION("4178A02E", sqneg(v1.s2(), v2.s2())); 2985 TEST_INSTRUCTION("4178206E", sqneg(v1.b16(), v2.b16())); 2986 TEST_INSTRUCTION("4178606E", sqneg(v1.h8(), v2.h8())); 2987 TEST_INSTRUCTION("4178A06E", sqneg(v1.s4(), v2.s4())); 2988 TEST_INSTRUCTION("4178E06E", sqneg(v1.d2(), v2.d2())); 2989 TEST_INSTRUCTION("4184437E", sqrdmlah(h1, h2, h3)); 2990 TEST_INSTRUCTION("4184837E", sqrdmlah(s1, s2, s3)); 2991 TEST_INSTRUCTION("4184432E", sqrdmlah(v1.h4(), v2.h4(), v3.h4())); 2992 TEST_INSTRUCTION("4184832E", sqrdmlah(v1.s2(), v2.s2(), v3.s2())); 2993 TEST_INSTRUCTION("41D0732F", sqrdmlah(v1.h4(), v2.h4(), v3.h(3))); 2994 TEST_INSTRUCTION("41D8A32F", sqrdmlah(v1.s2(), v2.s2(), v3.s(3))); 2995 TEST_INSTRUCTION("4184436E", sqrdmlah(v1.h8(), v2.h8(), v3.h8())); 2996 TEST_INSTRUCTION("4184836E", sqrdmlah(v1.s4(), v2.s4(), v3.s4())); 2997 TEST_INSTRUCTION("41D0736F", sqrdmlah(v1.h8(), v2.h8(), v3.h(3))); 2998 TEST_INSTRUCTION("41D8A36F", sqrdmlah(v1.s4(), v2.s4(), v3.s(3))); 2999 TEST_INSTRUCTION("418C437E", sqrdmlsh(h1, h2, h3)); 3000 TEST_INSTRUCTION("418C837E", sqrdmlsh(s1, s2, s3)); 3001 TEST_INSTRUCTION("418C432E", sqrdmlsh(v1.h4(), v2.h4(), v3.h4())); 3002 TEST_INSTRUCTION("418C832E", sqrdmlsh(v1.s2(), v2.s2(), v3.s2())); 3003 TEST_INSTRUCTION("41F0732F", sqrdmlsh(v1.h4(), v2.h4(), v3.h(3))); 3004 TEST_INSTRUCTION("41F8A32F", sqrdmlsh(v1.s2(), v2.s2(), v3.s(3))); 3005 TEST_INSTRUCTION("418C436E", sqrdmlsh(v1.h8(), v2.h8(), v3.h8())); 3006 TEST_INSTRUCTION("418C836E", sqrdmlsh(v1.s4(), v2.s4(), v3.s4())); 3007 TEST_INSTRUCTION("41F0736F", sqrdmlsh(v1.h8(), v2.h8(), v3.h(3))); 3008 TEST_INSTRUCTION("41F8A36F", sqrdmlsh(v1.s4(), v2.s4(), v3.s(3))); 3009 TEST_INSTRUCTION("41B4637E", sqrdmulh(h1, h2, h3)); 3010 TEST_INSTRUCTION("41B4A37E", sqrdmulh(s1, s2, s3)); 3011 TEST_INSTRUCTION("41B4632E", sqrdmulh(v1.h4(), v2.h4(), v3.h4())); 3012 TEST_INSTRUCTION("41B4A32E", sqrdmulh(v1.s2(), v2.s2(), v3.s2())); 3013 TEST_INSTRUCTION("41D0730F", sqrdmulh(v1.h4(), v2.h4(), v3.h(3))); 3014 TEST_INSTRUCTION("41D8A30F", sqrdmulh(v1.s2(), v2.s2(), v3.s(3))); 3015 TEST_INSTRUCTION("41B4636E", sqrdmulh(v1.h8(), v2.h8(), v3.h8())); 3016 TEST_INSTRUCTION("41B4A36E", sqrdmulh(v1.s4(), v2.s4(), v3.s4())); 3017 TEST_INSTRUCTION("41D0734F", sqrdmulh(v1.h8(), v2.h8(), v3.h(3))); 3018 TEST_INSTRUCTION("41D8A34F", sqrdmulh(v1.s4(), v2.s4(), v3.s(3))); 3019 TEST_INSTRUCTION("415C235E", sqrshl(b1, b2, b3)); 3020 TEST_INSTRUCTION("415C635E", sqrshl(h1, h2, h3)); 3021 TEST_INSTRUCTION("415CA35E", sqrshl(s1, s2, s3)); 3022 TEST_INSTRUCTION("415C230E", sqrshl(v1.b8(), v2.b8(), v3.b8())); 3023 TEST_INSTRUCTION("415C630E", sqrshl(v1.h4(), v2.h4(), v3.h4())); 3024 TEST_INSTRUCTION("415CA30E", sqrshl(v1.s2(), v2.s2(), v3.s2())); 3025 TEST_INSTRUCTION("415CE35E", sqrshl(d1, d2, d3)); 3026 TEST_INSTRUCTION("415C234E", sqrshl(v1.b16(), v2.b16(), v3.b16())); 3027 TEST_INSTRUCTION("415C634E", sqrshl(v1.h8(), v2.h8(), v3.h8())); 3028 TEST_INSTRUCTION("415CA34E", sqrshl(v1.s4(), v2.s4(), v3.s4())); 3029 TEST_INSTRUCTION("415CE34E", sqrshl(v1.d2(), v2.d2(), v3.d2())); 3030 TEST_INSTRUCTION("419C085F", sqrshrn(b1, h2, 8)); 3031 TEST_INSTRUCTION("419C105F", sqrshrn(h1, s2, 16)); 3032 TEST_INSTRUCTION("419C205F", sqrshrn(s1, d2, 32)); 3033 TEST_INSTRUCTION("419C080F", sqrshrn(v1.b8(), v2.h8(), 8)); 3034 TEST_INSTRUCTION("419C100F", sqrshrn(v1.h4(), v2.s4(), 16)); 3035 TEST_INSTRUCTION("419C200F", sqrshrn(v1.s2(), v2.d2(), 32)); 3036 TEST_INSTRUCTION("419C084F", sqrshrn2(v1.b16(), v2.h8(), 8)); 3037 TEST_INSTRUCTION("419C104F", sqrshrn2(v1.h8(), v2.s4(), 16)); 3038 TEST_INSTRUCTION("419C204F", sqrshrn2(v1.s4(), v2.d2(), 32)); 3039 TEST_INSTRUCTION("418C087F", sqrshrun(b1, h2, 8)); 3040 TEST_INSTRUCTION("418C107F", sqrshrun(h1, s2, 16)); 3041 TEST_INSTRUCTION("418C207F", sqrshrun(s1, d2, 32)); 3042 TEST_INSTRUCTION("418C082F", sqrshrun(v1.b8(), v2.h8(), 8)); 3043 TEST_INSTRUCTION("418C102F", sqrshrun(v1.h4(), v2.s4(), 16)); 3044 TEST_INSTRUCTION("418C202F", sqrshrun(v1.s2(), v2.d2(), 32)); 3045 TEST_INSTRUCTION("418C086F", sqrshrun2(v1.b16(), v2.h8(), 8)); 3046 TEST_INSTRUCTION("418C106F", sqrshrun2(v1.h8(), v2.s4(), 16)); 3047 TEST_INSTRUCTION("418C206F", sqrshrun2(v1.s4(), v2.d2(), 32)); 3048 TEST_INSTRUCTION("4174095F", sqshl(b1, b2, 1)); 3049 TEST_INSTRUCTION("4174125F", sqshl(h1, h2, 2)); 3050 TEST_INSTRUCTION("4174235F", sqshl(s1, s2, 3)); 3051 TEST_INSTRUCTION("41740F0F", sqshl(v1.b8(), v2.b8(), 7)); 3052 TEST_INSTRUCTION("41741F0F", sqshl(v1.h4(), v2.h4(), 15)); 3053 TEST_INSTRUCTION("41743F0F", sqshl(v1.s2(), v2.s2(), 31)); 3054 TEST_INSTRUCTION("41747F5F", sqshl(d1, d2, 63)); 3055 TEST_INSTRUCTION("41740F4F", sqshl(v1.b16(), v2.b16(), 7)); 3056 TEST_INSTRUCTION("41741F4F", sqshl(v1.h8(), v2.h8(), 15)); 3057 TEST_INSTRUCTION("41743F4F", sqshl(v1.s4(), v2.s4(), 31)); 3058 TEST_INSTRUCTION("41747F4F", sqshl(v1.d2(), v2.d2(), 63)); 3059 TEST_INSTRUCTION("414C235E", sqshl(b1, b2, b3)); 3060 TEST_INSTRUCTION("414C635E", sqshl(h1, h2, h3)); 3061 TEST_INSTRUCTION("414CA35E", sqshl(s1, s2, s3)); 3062 TEST_INSTRUCTION("414C230E", sqshl(v1.b8(), v2.b8(), v3.b8())); 3063 TEST_INSTRUCTION("414C630E", sqshl(v1.h4(), v2.h4(), v3.h4())); 3064 TEST_INSTRUCTION("414CA30E", sqshl(v1.s2(), v2.s2(), v3.s2())); 3065 TEST_INSTRUCTION("414CE35E", sqshl(d1, d2, d3)); 3066 TEST_INSTRUCTION("414C234E", sqshl(v1.b16(), v2.b16(), v3.b16())); 3067 TEST_INSTRUCTION("414C634E", sqshl(v1.h8(), v2.h8(), v3.h8())); 3068 TEST_INSTRUCTION("414CA34E", sqshl(v1.s4(), v2.s4(), v3.s4())); 3069 TEST_INSTRUCTION("414CE34E", sqshl(v1.d2(), v2.d2(), v3.d2())); 3070 TEST_INSTRUCTION("4164097F", sqshlu(b1, b2, 1)); 3071 TEST_INSTRUCTION("4164127F", sqshlu(h1, h2, 2)); 3072 TEST_INSTRUCTION("4164237F", sqshlu(s1, s2, 3)); 3073 TEST_INSTRUCTION("41640F2F", sqshlu(v1.b8(), v2.b8(), 7)); 3074 TEST_INSTRUCTION("41641F2F", sqshlu(v1.h4(), v2.h4(), 15)); 3075 TEST_INSTRUCTION("41643F2F", sqshlu(v1.s2(), v2.s2(), 31)); 3076 TEST_INSTRUCTION("41647F7F", sqshlu(d1, d2, 63)); 3077 TEST_INSTRUCTION("41640F6F", sqshlu(v1.b16(), v2.b16(), 7)); 3078 TEST_INSTRUCTION("41641F6F", sqshlu(v1.h8(), v2.h8(), 15)); 3079 TEST_INSTRUCTION("41643F6F", sqshlu(v1.s4(), v2.s4(), 31)); 3080 TEST_INSTRUCTION("41647F6F", sqshlu(v1.d2(), v2.d2(), 63)); 3081 TEST_INSTRUCTION("4194085F", sqshrn(b1, h2, 8)); 3082 TEST_INSTRUCTION("4194105F", sqshrn(h1, s2, 16)); 3083 TEST_INSTRUCTION("4194205F", sqshrn(s1, d2, 32)); 3084 TEST_INSTRUCTION("4194080F", sqshrn(v1.b8(), v2.h8(), 8)); 3085 TEST_INSTRUCTION("4194100F", sqshrn(v1.h4(), v2.s4(), 16)); 3086 TEST_INSTRUCTION("4194200F", sqshrn(v1.s2(), v2.d2(), 32)); 3087 TEST_INSTRUCTION("4194084F", sqshrn2(v1.b16(), v2.h8(), 8)); 3088 TEST_INSTRUCTION("4194104F", sqshrn2(v1.h8(), v2.s4(), 16)); 3089 TEST_INSTRUCTION("4194204F", sqshrn2(v1.s4(), v2.d2(), 32)); 3090 TEST_INSTRUCTION("4184087F", sqshrun(b1, h2, 8)); 3091 TEST_INSTRUCTION("4184107F", sqshrun(h1, s2, 16)); 3092 TEST_INSTRUCTION("4184207F", sqshrun(s1, d2, 32)); 3093 TEST_INSTRUCTION("4184082F", sqshrun(v1.b8(), v2.h8(), 8)); 3094 TEST_INSTRUCTION("4184102F", sqshrun(v1.h4(), v2.s4(), 16)); 3095 TEST_INSTRUCTION("4184202F", sqshrun(v1.s2(), v2.d2(), 32)); 3096 TEST_INSTRUCTION("4184086F", sqshrun2(v1.b16(), v2.h8(), 8)); 3097 TEST_INSTRUCTION("4184106F", sqshrun2(v1.h8(), v2.s4(), 16)); 3098 TEST_INSTRUCTION("4184206F", sqshrun2(v1.s4(), v2.d2(), 32)); 3099 TEST_INSTRUCTION("412C235E", sqsub(b1, b2, b3)); 3100 TEST_INSTRUCTION("412C635E", sqsub(h1, h2, h3)); 3101 TEST_INSTRUCTION("412CA35E", sqsub(s1, s2, s3)); 3102 TEST_INSTRUCTION("412CE35E", sqsub(d1, d2, d3)); 3103 TEST_INSTRUCTION("412C230E", sqsub(v1.b8(), v2.b8(), v3.b8())); 3104 TEST_INSTRUCTION("412C630E", sqsub(v1.h4(), v2.h4(), v3.h4())); 3105 TEST_INSTRUCTION("412CA30E", sqsub(v1.s2(), v2.s2(), v3.s2())); 3106 TEST_INSTRUCTION("412C234E", sqsub(v1.b16(), v2.b16(), v3.b16())); 3107 TEST_INSTRUCTION("412C634E", sqsub(v1.h8(), v2.h8(), v3.h8())); 3108 TEST_INSTRUCTION("412CA34E", sqsub(v1.s4(), v2.s4(), v3.s4())); 3109 TEST_INSTRUCTION("412CE34E", sqsub(v1.d2(), v2.d2(), v3.d2())); 3110 TEST_INSTRUCTION("4148215E", sqxtn(b1, h2)); 3111 TEST_INSTRUCTION("4148615E", sqxtn(h1, s2)); 3112 TEST_INSTRUCTION("4148A15E", sqxtn(s1, d2)); 3113 TEST_INSTRUCTION("4148210E", sqxtn(v1.b8(), v2.h8())); 3114 TEST_INSTRUCTION("4148610E", sqxtn(v1.h4(), v2.s4())); 3115 TEST_INSTRUCTION("4148A10E", sqxtn(v1.s2(), v2.d2())); 3116 TEST_INSTRUCTION("4148214E", sqxtn2(v1.b16(), v2.h8())); 3117 TEST_INSTRUCTION("4148614E", sqxtn2(v1.h8(), v2.s4())); 3118 TEST_INSTRUCTION("4148A14E", sqxtn2(v1.s4(), v2.d2())); 3119 TEST_INSTRUCTION("4128217E", sqxtun(b1, h2)); 3120 TEST_INSTRUCTION("4128617E", sqxtun(h1, s2)); 3121 TEST_INSTRUCTION("4128A17E", sqxtun(s1, d2)); 3122 TEST_INSTRUCTION("4128212E", sqxtun(v1.b8(), v2.h8())); 3123 TEST_INSTRUCTION("4128612E", sqxtun(v1.h4(), v2.s4())); 3124 TEST_INSTRUCTION("4128A12E", sqxtun(v1.s2(), v2.d2())); 3125 TEST_INSTRUCTION("4128216E", sqxtun2(v1.b16(), v2.h8())); 3126 TEST_INSTRUCTION("4128616E", sqxtun2(v1.h8(), v2.s4())); 3127 TEST_INSTRUCTION("4128A16E", sqxtun2(v1.s4(), v2.d2())); 3128 TEST_INSTRUCTION("4114230E", srhadd(v1.b8(), v2.b8(), v3.b8())); 3129 TEST_INSTRUCTION("4114630E", srhadd(v1.h4(), v2.h4(), v3.h4())); 3130 TEST_INSTRUCTION("4114A30E", srhadd(v1.s2(), v2.s2(), v3.s2())); 3131 TEST_INSTRUCTION("4114234E", srhadd(v1.b16(), v2.b16(), v3.b16())); 3132 TEST_INSTRUCTION("4114634E", srhadd(v1.h8(), v2.h8(), v3.h8())); 3133 TEST_INSTRUCTION("4114A34E", srhadd(v1.s4(), v2.s4(), v3.s4())); 3134 TEST_INSTRUCTION("4144092F", sri(v1.b8(), v2.b8(), 7)); 3135 TEST_INSTRUCTION("4144112F", sri(v1.h4(), v2.h4(), 15)); 3136 TEST_INSTRUCTION("4144212F", sri(v1.s2(), v2.s2(), 31)); 3137 TEST_INSTRUCTION("4144417F", sri(d1, d2, 63)); 3138 TEST_INSTRUCTION("4144096F", sri(v1.b16(), v2.b16(), 7)); 3139 TEST_INSTRUCTION("4144116F", sri(v1.h8(), v2.h8(), 15)); 3140 TEST_INSTRUCTION("4144216F", sri(v1.s4(), v2.s4(), 31)); 3141 TEST_INSTRUCTION("4144416F", sri(v1.d2(), v2.d2(), 63)); 3142 TEST_INSTRUCTION("4154230E", srshl(v1.b8(), v2.b8(), v3.b8())); 3143 TEST_INSTRUCTION("4154630E", srshl(v1.h4(), v2.h4(), v3.h4())); 3144 TEST_INSTRUCTION("4154A30E", srshl(v1.s2(), v2.s2(), v3.s2())); 3145 TEST_INSTRUCTION("4154E35E", srshl(d1, d2, d3)); 3146 TEST_INSTRUCTION("4154234E", srshl(v1.b16(), v2.b16(), v3.b16())); 3147 TEST_INSTRUCTION("4154634E", srshl(v1.h8(), v2.h8(), v3.h8())); 3148 TEST_INSTRUCTION("4154A34E", srshl(v1.s4(), v2.s4(), v3.s4())); 3149 TEST_INSTRUCTION("4154E34E", srshl(v1.d2(), v2.d2(), v3.d2())); 3150 TEST_INSTRUCTION("4124090F", srshr(v1.b8(), v2.b8(), 7)); 3151 TEST_INSTRUCTION("4124110F", srshr(v1.h4(), v2.h4(), 15)); 3152 TEST_INSTRUCTION("4124210F", srshr(v1.s2(), v2.s2(), 31)); 3153 TEST_INSTRUCTION("4124415F", srshr(d1, d2, 63)); 3154 TEST_INSTRUCTION("4124094F", srshr(v1.b16(), v2.b16(), 7)); 3155 TEST_INSTRUCTION("4124114F", srshr(v1.h8(), v2.h8(), 15)); 3156 TEST_INSTRUCTION("4124214F", srshr(v1.s4(), v2.s4(), 31)); 3157 TEST_INSTRUCTION("4124414F", srshr(v1.d2(), v2.d2(), 63)); 3158 TEST_INSTRUCTION("4134090F", srsra(v1.b8(), v2.b8(), 7)); 3159 TEST_INSTRUCTION("4134110F", srsra(v1.h4(), v2.h4(), 15)); 3160 TEST_INSTRUCTION("4134210F", srsra(v1.s2(), v2.s2(), 31)); 3161 TEST_INSTRUCTION("4134415F", srsra(d1, d2, 63)); 3162 TEST_INSTRUCTION("4134094F", srsra(v1.b16(), v2.b16(), 7)); 3163 TEST_INSTRUCTION("4134114F", srsra(v1.h8(), v2.h8(), 15)); 3164 TEST_INSTRUCTION("4134214F", srsra(v1.s4(), v2.s4(), 31)); 3165 TEST_INSTRUCTION("4134414F", srsra(v1.d2(), v2.d2(), 63)); 3166 TEST_INSTRUCTION("4144230E", sshl(v1.b8(), v2.b8(), v3.b8())); 3167 TEST_INSTRUCTION("4144630E", sshl(v1.h4(), v2.h4(), v3.h4())); 3168 TEST_INSTRUCTION("4144A30E", sshl(v1.s2(), v2.s2(), v3.s2())); 3169 TEST_INSTRUCTION("4144E35E", sshl(d1, d2, d3)); 3170 TEST_INSTRUCTION("4144234E", sshl(v1.b16(), v2.b16(), v3.b16())); 3171 TEST_INSTRUCTION("4144634E", sshl(v1.h8(), v2.h8(), v3.h8())); 3172 TEST_INSTRUCTION("4144A34E", sshl(v1.s4(), v2.s4(), v3.s4())); 3173 TEST_INSTRUCTION("4144E34E", sshl(v1.d2(), v2.d2(), v3.d2())); 3174 TEST_INSTRUCTION("41A40F0F", sshll(v1.h8(), v2.b8(), 7)); 3175 TEST_INSTRUCTION("41A41F0F", sshll(v1.s4(), v2.h4(), 15)); 3176 TEST_INSTRUCTION("41A43F0F", sshll(v1.d2(), v2.s2(), 31)); 3177 TEST_INSTRUCTION("41A40F4F", sshll2(v1.h8(), v2.b16(), 7)); 3178 TEST_INSTRUCTION("41A41F4F", sshll2(v1.s4(), v2.h8(), 15)); 3179 TEST_INSTRUCTION("41A43F4F", sshll2(v1.s2(), v2.s4(), 31)); 3180 TEST_INSTRUCTION("4104090F", sshr(v1.b8(), v2.b8(), 7)); 3181 TEST_INSTRUCTION("4104110F", sshr(v1.h4(), v2.h4(), 15)); 3182 TEST_INSTRUCTION("4104210F", sshr(v1.s2(), v2.s2(), 31)); 3183 TEST_INSTRUCTION("4104415F", sshr(d1, d2, 63)); 3184 TEST_INSTRUCTION("4104094F", sshr(v1.b16(), v2.b16(), 7)); 3185 TEST_INSTRUCTION("4104114F", sshr(v1.h8(), v2.h8(), 15)); 3186 TEST_INSTRUCTION("4104214F", sshr(v1.s4(), v2.s4(), 31)); 3187 TEST_INSTRUCTION("4104414F", sshr(v1.d2(), v2.d2(), 63)); 3188 TEST_INSTRUCTION("4114090F", ssra(v1.b8(), v2.b8(), 7)); 3189 TEST_INSTRUCTION("4114110F", ssra(v1.h4(), v2.h4(), 15)); 3190 TEST_INSTRUCTION("4114210F", ssra(v1.s2(), v2.s2(), 31)); 3191 TEST_INSTRUCTION("4114415F", ssra(d1, d2, 63)); 3192 TEST_INSTRUCTION("4114094F", ssra(v1.b16(), v2.b16(), 7)); 3193 TEST_INSTRUCTION("4114114F", ssra(v1.h8(), v2.h8(), 15)); 3194 TEST_INSTRUCTION("4114214F", ssra(v1.s4(), v2.s4(), 31)); 3195 TEST_INSTRUCTION("4114414F", ssra(v1.d2(), v2.d2(), 63)); 3196 TEST_INSTRUCTION("4120230E", ssubl(v1.h8(), v2.b8(), v3.b8())); 3197 TEST_INSTRUCTION("4120630E", ssubl(v1.s4(), v2.h4(), v3.h4())); 3198 TEST_INSTRUCTION("4120A30E", ssubl(v1.d2(), v2.s2(), v3.s2())); 3199 TEST_INSTRUCTION("4120234E", ssubl2(v1.h8(), v2.b16(), v3.b16())); 3200 TEST_INSTRUCTION("4120634E", ssubl2(v1.s4(), v2.h8(), v3.h8())); 3201 TEST_INSTRUCTION("4120A34E", ssubl2(v1.d2(), v2.s4(), v3.s4())); 3202 TEST_INSTRUCTION("4130230E", ssubw(v1.h8(), v2.h8(), v3.b8())); 3203 TEST_INSTRUCTION("4130630E", ssubw(v1.s4(), v2.s4(), v3.h4())); 3204 TEST_INSTRUCTION("4130A30E", ssubw(v1.d2(), v2.d2(), v3.s2())); 3205 TEST_INSTRUCTION("4130234E", ssubw2(v1.h8(), v2.h8(), v3.b16())); 3206 TEST_INSTRUCTION("4130634E", ssubw2(v1.s4(), v2.s4(), v3.h8())); 3207 TEST_INSTRUCTION("4130A34E", ssubw2(v1.d2(), v2.d2(), v3.s4())); 3208 TEST_INSTRUCTION("4100000D", st1(v1.b(0), ptr(x2))); 3209 TEST_INSTRUCTION("41009F0D", st1(v1.b(0), ptr_post(x2, 1))); 3210 TEST_INSTRUCTION("4140000D", st1(v1.h(0), ptr(x2))); 3211 TEST_INSTRUCTION("41409F0D", st1(v1.h(0), ptr_post(x2, 2))); 3212 TEST_INSTRUCTION("4180000D", st1(v1.s(0), ptr(x2))); 3213 TEST_INSTRUCTION("41809F0D", st1(v1.s(0), ptr_post(x2, 4))); 3214 TEST_INSTRUCTION("4184000D", st1(v1.d(0), ptr(x2))); 3215 TEST_INSTRUCTION("41849F0D", st1(v1.d(0), ptr_post(x2, 8))); 3216 TEST_INSTRUCTION("411C004D", st1(v1.b(15), ptr(x2))); 3217 TEST_INSTRUCTION("411C9F4D", st1(v1.b(15), ptr_post(x2, 1))); 3218 TEST_INSTRUCTION("4158004D", st1(v1.h(7), ptr(x2))); 3219 TEST_INSTRUCTION("41589F4D", st1(v1.h(7), ptr_post(x2, 2))); 3220 TEST_INSTRUCTION("4190004D", st1(v1.s(3), ptr(x2))); 3221 TEST_INSTRUCTION("41909F4D", st1(v1.s(3), ptr_post(x2, 4))); 3222 TEST_INSTRUCTION("4184004D", st1(v1.d(1), ptr(x2))); 3223 TEST_INSTRUCTION("41849F4D", st1(v1.d(1), ptr_post(x2, 8))); 3224 TEST_INSTRUCTION("4170000C", st1(v1.b8(), ptr(x2))); 3225 TEST_INSTRUCTION("41709F0C", st1(v1.b8(), ptr_post(x2, 8))); 3226 TEST_INSTRUCTION("4170004C", st1(v1.b16(), ptr(x2))); 3227 TEST_INSTRUCTION("41709F4C", st1(v1.b16(), ptr_post(x2, 16))); 3228 TEST_INSTRUCTION("61A0000C", st1(v1.b8(), v2.b8(), ptr(x3))); 3229 TEST_INSTRUCTION("61A09F0C", st1(v1.b8(), v2.b8(), ptr_post(x3, 16))); 3230 TEST_INSTRUCTION("61A0004C", st1(v1.b16(), v2.b16(), ptr(x3))); 3231 TEST_INSTRUCTION("61A09F4C", st1(v1.b16(), v2.b16(), ptr_post(x3, 32))); 3232 TEST_INSTRUCTION("8160000C", st1(v1.b8(), v2.b8(), v3.b8(), ptr(x4))); 3233 TEST_INSTRUCTION("81609F0C", st1(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, 24))); 3234 TEST_INSTRUCTION("8160004C", st1(v1.b16(), v2.b16(), v3.b16(), ptr(x4))); 3235 TEST_INSTRUCTION("81609F4C", st1(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, 48))); 3236 TEST_INSTRUCTION("A120000C", st1(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr(x5))); 3237 TEST_INSTRUCTION("A1209F0C", st1(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, 32))); 3238 TEST_INSTRUCTION("A120004C", st1(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr(x5))); 3239 TEST_INSTRUCTION("A1209F4C", st1(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, 64))); 3240 TEST_INSTRUCTION("4174000C", st1(v1.h4(), ptr(x2))); 3241 TEST_INSTRUCTION("41749F0C", st1(v1.h4(), ptr_post(x2, 8))); 3242 TEST_INSTRUCTION("4174004C", st1(v1.h8(), ptr(x2))); 3243 TEST_INSTRUCTION("41749F4C", st1(v1.h8(), ptr_post(x2, 16))); 3244 TEST_INSTRUCTION("61A4000C", st1(v1.h4(), v2.h4(), ptr(x3))); 3245 TEST_INSTRUCTION("61A49F0C", st1(v1.h4(), v2.h4(), ptr_post(x3, 16))); 3246 TEST_INSTRUCTION("61A4004C", st1(v1.h8(), v2.h8(), ptr(x3))); 3247 TEST_INSTRUCTION("61A49F4C", st1(v1.h8(), v2.h8(), ptr_post(x3, 32))); 3248 TEST_INSTRUCTION("8164000C", st1(v1.h4(), v2.h4(), v3.h4(), ptr(x4))); 3249 TEST_INSTRUCTION("81649F0C", st1(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, 24))); 3250 TEST_INSTRUCTION("8164004C", st1(v1.h8(), v2.h8(), v3.h8(), ptr(x4))); 3251 TEST_INSTRUCTION("81649F4C", st1(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, 48))); 3252 TEST_INSTRUCTION("A124000C", st1(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr(x5))); 3253 TEST_INSTRUCTION("A1249F0C", st1(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, 32))); 3254 TEST_INSTRUCTION("A124004C", st1(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr(x5))); 3255 TEST_INSTRUCTION("A1249F4C", st1(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, 64))); 3256 TEST_INSTRUCTION("4178000C", st1(v1.s2(), ptr(x2))); 3257 TEST_INSTRUCTION("41789F0C", st1(v1.s2(), ptr_post(x2, 8))); 3258 TEST_INSTRUCTION("4178004C", st1(v1.s4(), ptr(x2))); 3259 TEST_INSTRUCTION("41789F4C", st1(v1.s4(), ptr_post(x2, 16))); 3260 TEST_INSTRUCTION("61A8000C", st1(v1.s2(), v2.s2(), ptr(x3))); 3261 TEST_INSTRUCTION("61A89F0C", st1(v1.s2(), v2.s2(), ptr_post(x3, 16))); 3262 TEST_INSTRUCTION("61A8004C", st1(v1.s4(), v2.s4(), ptr(x3))); 3263 TEST_INSTRUCTION("61A89F4C", st1(v1.s4(), v2.s4(), ptr_post(x3, 32))); 3264 TEST_INSTRUCTION("8168000C", st1(v1.s2(), v2.s2(), v3.s2(), ptr(x4))); 3265 TEST_INSTRUCTION("81689F0C", st1(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, 24))); 3266 TEST_INSTRUCTION("8168004C", st1(v1.s4(), v2.s4(), v3.s4(), ptr(x4))); 3267 TEST_INSTRUCTION("81689F4C", st1(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, 48))); 3268 TEST_INSTRUCTION("A128000C", st1(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr(x5))); 3269 TEST_INSTRUCTION("A1289F0C", st1(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, 32))); 3270 TEST_INSTRUCTION("A128004C", st1(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr(x5))); 3271 TEST_INSTRUCTION("A1289F4C", st1(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, 64))); 3272 TEST_INSTRUCTION("417C004C", st1(v1.d2(), ptr(x2))); 3273 TEST_INSTRUCTION("417C9F4C", st1(v1.d2(), ptr_post(x2, 16))); 3274 TEST_INSTRUCTION("61AC004C", st1(v1.d2(), v2.d2(), ptr(x3))); 3275 TEST_INSTRUCTION("61AC9F4C", st1(v1.d2(), v2.d2(), ptr_post(x3, 32))); 3276 TEST_INSTRUCTION("816C004C", st1(v1.d2(), v2.d2(), v3.d2(), ptr(x4))); 3277 TEST_INSTRUCTION("816C9F4C", st1(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, 48))); 3278 TEST_INSTRUCTION("A12C004C", st1(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr(x5))); 3279 TEST_INSTRUCTION("A12C9F4C", st1(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, 64))); 3280 TEST_INSTRUCTION("6100200D", st2(v1.b(0), v2.b(0), ptr(x3))); 3281 TEST_INSTRUCTION("6100BF0D", st2(v1.b(0), v2.b(0), ptr_post(x3, 2))); 3282 TEST_INSTRUCTION("6100AB0D", st2(v1.b(0), v2.b(0), ptr_post(x3, x11))); 3283 TEST_INSTRUCTION("6140200D", st2(v1.h(0), v2.h(0), ptr(x3))); 3284 TEST_INSTRUCTION("6140BF0D", st2(v1.h(0), v2.h(0), ptr_post(x3, 4))); 3285 TEST_INSTRUCTION("6140AB0D", st2(v1.h(0), v2.h(0), ptr_post(x3, x11))); 3286 TEST_INSTRUCTION("6180200D", st2(v1.s(0), v2.s(0), ptr(x3))); 3287 TEST_INSTRUCTION("6180BF0D", st2(v1.s(0), v2.s(0), ptr_post(x3, 8))); 3288 TEST_INSTRUCTION("6180AB0D", st2(v1.s(0), v2.s(0), ptr_post(x3, x11))); 3289 TEST_INSTRUCTION("6184200D", st2(v1.d(0), v2.d(0), ptr(x3))); 3290 TEST_INSTRUCTION("6184BF0D", st2(v1.d(0), v2.d(0), ptr_post(x3, 16))); 3291 TEST_INSTRUCTION("6184AB0D", st2(v1.d(0), v2.d(0), ptr_post(x3, x11))); 3292 TEST_INSTRUCTION("611C204D", st2(v1.b(15), v2.b(15), ptr(x3))); 3293 TEST_INSTRUCTION("611CBF4D", st2(v1.b(15), v2.b(15), ptr_post(x3, 2))); 3294 TEST_INSTRUCTION("611CAB4D", st2(v1.b(15), v2.b(15), ptr_post(x3, x11))); 3295 TEST_INSTRUCTION("6158204D", st2(v1.h(7), v2.h(7), ptr(x3))); 3296 TEST_INSTRUCTION("6158BF4D", st2(v1.h(7), v2.h(7), ptr_post(x3, 4))); 3297 TEST_INSTRUCTION("6158AB4D", st2(v1.h(7), v2.h(7), ptr_post(x3, x11))); 3298 TEST_INSTRUCTION("6190204D", st2(v1.s(3), v2.s(3), ptr(x3))); 3299 TEST_INSTRUCTION("6190BF4D", st2(v1.s(3), v2.s(3), ptr_post(x3, 8))); 3300 TEST_INSTRUCTION("6190AB4D", st2(v1.s(3), v2.s(3), ptr_post(x3, x11))); 3301 TEST_INSTRUCTION("6184204D", st2(v1.d(1), v2.d(1), ptr(x3))); 3302 TEST_INSTRUCTION("6184BF4D", st2(v1.d(1), v2.d(1), ptr_post(x3, 16))); 3303 TEST_INSTRUCTION("6184AB4D", st2(v1.d(1), v2.d(1), ptr_post(x3, x11))); 3304 TEST_INSTRUCTION("6180000C", st2(v1.b8(), v2.b8(), ptr(x3))); 3305 TEST_INSTRUCTION("61809F0C", st2(v1.b8(), v2.b8(), ptr_post(x3, 16))); 3306 TEST_INSTRUCTION("61808B0C", st2(v1.b8(), v2.b8(), ptr_post(x3, x11))); 3307 TEST_INSTRUCTION("6180004C", st2(v1.b16(), v2.b16(), ptr(x3))); 3308 TEST_INSTRUCTION("61809F4C", st2(v1.b16(), v2.b16(), ptr_post(x3, 32))); 3309 TEST_INSTRUCTION("61808B4C", st2(v1.b16(), v2.b16(), ptr_post(x3, x11))); 3310 TEST_INSTRUCTION("6184000C", st2(v1.h4(), v2.h4(), ptr(x3))); 3311 TEST_INSTRUCTION("61849F0C", st2(v1.h4(), v2.h4(), ptr_post(x3, 16))); 3312 TEST_INSTRUCTION("61848B0C", st2(v1.h4(), v2.h4(), ptr_post(x3, x11))); 3313 TEST_INSTRUCTION("6184004C", st2(v1.h8(), v2.h8(), ptr(x3))); 3314 TEST_INSTRUCTION("61849F4C", st2(v1.h8(), v2.h8(), ptr_post(x3, 32))); 3315 TEST_INSTRUCTION("61848B4C", st2(v1.h8(), v2.h8(), ptr_post(x3, x11))); 3316 TEST_INSTRUCTION("6188000C", st2(v1.s2(), v2.s2(), ptr(x3))); 3317 TEST_INSTRUCTION("61889F0C", st2(v1.s2(), v2.s2(), ptr_post(x3, 16))); 3318 TEST_INSTRUCTION("61888B0C", st2(v1.s2(), v2.s2(), ptr_post(x3, x11))); 3319 TEST_INSTRUCTION("6188004C", st2(v1.s4(), v2.s4(), ptr(x3))); 3320 TEST_INSTRUCTION("61889F4C", st2(v1.s4(), v2.s4(), ptr_post(x3, 32))); 3321 TEST_INSTRUCTION("61888B4C", st2(v1.s4(), v2.s4(), ptr_post(x3, x11))); 3322 TEST_INSTRUCTION("618C004C", st2(v1.d2(), v2.d2(), ptr(x3))); 3323 TEST_INSTRUCTION("618C9F4C", st2(v1.d2(), v2.d2(), ptr_post(x3, 32))); 3324 TEST_INSTRUCTION("618C8B4C", st2(v1.d2(), v2.d2(), ptr_post(x3, x11))); 3325 TEST_INSTRUCTION("8120000D", st3(v1.b(0), v2.b(0), v3.b(0), ptr(x4))); 3326 TEST_INSTRUCTION("81209F0D", st3(v1.b(0), v2.b(0), v3.b(0), ptr_post(x4, 3))); 3327 TEST_INSTRUCTION("81208B0D", st3(v1.b(0), v2.b(0), v3.b(0), ptr_post(x4, x11))); 3328 TEST_INSTRUCTION("8160000D", st3(v1.h(0), v2.h(0), v3.h(0), ptr(x4))); 3329 TEST_INSTRUCTION("81609F0D", st3(v1.h(0), v2.h(0), v3.h(0), ptr_post(x4, 6))); 3330 TEST_INSTRUCTION("81608B0D", st3(v1.h(0), v2.h(0), v3.h(0), ptr_post(x4, x11))); 3331 TEST_INSTRUCTION("81A0000D", st3(v1.s(0), v2.s(0), v3.s(0), ptr(x4))); 3332 TEST_INSTRUCTION("81A09F0D", st3(v1.s(0), v2.s(0), v3.s(0), ptr_post(x4, 12))); 3333 TEST_INSTRUCTION("81A08B0D", st3(v1.s(0), v2.s(0), v3.s(0), ptr_post(x4, x11))); 3334 TEST_INSTRUCTION("81A4000D", st3(v1.d(0), v2.d(0), v3.d(0), ptr(x4))); 3335 TEST_INSTRUCTION("81A49F0D", st3(v1.d(0), v2.d(0), v3.d(0), ptr_post(x4, 24))); 3336 TEST_INSTRUCTION("81A48B0D", st3(v1.d(0), v2.d(0), v3.d(0), ptr_post(x4, x11))); 3337 TEST_INSTRUCTION("813C004D", st3(v1.b(15), v2.b(15), v3.b(15), ptr(x4))); 3338 TEST_INSTRUCTION("813C9F4D", st3(v1.b(15), v2.b(15), v3.b(15), ptr_post(x4, 3))); 3339 TEST_INSTRUCTION("813C8B4D", st3(v1.b(15), v2.b(15), v3.b(15), ptr_post(x4, x11))); 3340 TEST_INSTRUCTION("8178004D", st3(v1.h(7), v2.h(7), v3.h(7), ptr(x4))); 3341 TEST_INSTRUCTION("81789F4D", st3(v1.h(7), v2.h(7), v3.h(7), ptr_post(x4, 6))); 3342 TEST_INSTRUCTION("81788B4D", st3(v1.h(7), v2.h(7), v3.h(7), ptr_post(x4, x11))); 3343 TEST_INSTRUCTION("81B0004D", st3(v1.s(3), v2.s(3), v3.s(3), ptr(x4))); 3344 TEST_INSTRUCTION("81B09F4D", st3(v1.s(3), v2.s(3), v3.s(3), ptr_post(x4, 12))); 3345 TEST_INSTRUCTION("81B08B4D", st3(v1.s(3), v2.s(3), v3.s(3), ptr_post(x4, x11))); 3346 TEST_INSTRUCTION("81A4004D", st3(v1.d(1), v2.d(1), v3.d(1), ptr(x4))); 3347 TEST_INSTRUCTION("81A49F4D", st3(v1.d(1), v2.d(1), v3.d(1), ptr_post(x4, 24))); 3348 TEST_INSTRUCTION("81A48B4D", st3(v1.d(1), v2.d(1), v3.d(1), ptr_post(x4, x11))); 3349 TEST_INSTRUCTION("8140000C", st3(v1.b8(), v2.b8(), v3.b8(), ptr(x4))); 3350 TEST_INSTRUCTION("81409F0C", st3(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, 24))); 3351 TEST_INSTRUCTION("81408B0C", st3(v1.b8(), v2.b8(), v3.b8(), ptr_post(x4, x11))); 3352 TEST_INSTRUCTION("8140004C", st3(v1.b16(), v2.b16(), v3.b16(), ptr(x4))); 3353 TEST_INSTRUCTION("81409F4C", st3(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, 48))); 3354 TEST_INSTRUCTION("81408B4C", st3(v1.b16(), v2.b16(), v3.b16(), ptr_post(x4, x11))); 3355 TEST_INSTRUCTION("8144000C", st3(v1.h4(), v2.h4(), v3.h4(), ptr(x4))); 3356 TEST_INSTRUCTION("81449F0C", st3(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, 24))); 3357 TEST_INSTRUCTION("81448B0C", st3(v1.h4(), v2.h4(), v3.h4(), ptr_post(x4, x11))); 3358 TEST_INSTRUCTION("8144004C", st3(v1.h8(), v2.h8(), v3.h8(), ptr(x4))); 3359 TEST_INSTRUCTION("81449F4C", st3(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, 48))); 3360 TEST_INSTRUCTION("81448B4C", st3(v1.h8(), v2.h8(), v3.h8(), ptr_post(x4, x11))); 3361 TEST_INSTRUCTION("8148000C", st3(v1.s2(), v2.s2(), v3.s2(), ptr(x4))); 3362 TEST_INSTRUCTION("81489F0C", st3(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, 24))); 3363 TEST_INSTRUCTION("81488B0C", st3(v1.s2(), v2.s2(), v3.s2(), ptr_post(x4, x11))); 3364 TEST_INSTRUCTION("8148004C", st3(v1.s4(), v2.s4(), v3.s4(), ptr(x4))); 3365 TEST_INSTRUCTION("81489F4C", st3(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, 48))); 3366 TEST_INSTRUCTION("81488B4C", st3(v1.s4(), v2.s4(), v3.s4(), ptr_post(x4, x11))); 3367 TEST_INSTRUCTION("814C004C", st3(v1.d2(), v2.d2(), v3.d2(), ptr(x4))); 3368 TEST_INSTRUCTION("814C9F4C", st3(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, 48))); 3369 TEST_INSTRUCTION("814C8B4C", st3(v1.d2(), v2.d2(), v3.d2(), ptr_post(x4, x11))); 3370 TEST_INSTRUCTION("A120200D", st4(v1.b(0), v2.b(0), v3.b(0), v4.b(0), ptr(x5))); 3371 TEST_INSTRUCTION("A120BF0D", st4(v1.b(0), v2.b(0), v3.b(0), v4.b(0), ptr_post(x5, 4))); 3372 TEST_INSTRUCTION("A120AB0D", st4(v1.b(0), v2.b(0), v3.b(0), v4.b(0), ptr_post(x5, x11))); 3373 TEST_INSTRUCTION("A160200D", st4(v1.h(0), v2.h(0), v3.h(0), v4.h(0), ptr(x5))); 3374 TEST_INSTRUCTION("A160BF0D", st4(v1.h(0), v2.h(0), v3.h(0), v4.h(0), ptr_post(x5, 8))); 3375 TEST_INSTRUCTION("A160AB0D", st4(v1.h(0), v2.h(0), v3.h(0), v4.h(0), ptr_post(x5, x11))); 3376 TEST_INSTRUCTION("A1A0200D", st4(v1.s(0), v2.s(0), v3.s(0), v4.s(0), ptr(x5))); 3377 TEST_INSTRUCTION("A1A0BF0D", st4(v1.s(0), v2.s(0), v3.s(0), v4.s(0), ptr_post(x5, 16))); 3378 TEST_INSTRUCTION("A1A0AB0D", st4(v1.s(0), v2.s(0), v3.s(0), v4.s(0), ptr_post(x5, x11))); 3379 TEST_INSTRUCTION("A1A4200D", st4(v1.d(0), v2.d(0), v3.d(0), v4.d(0), ptr(x5))); 3380 TEST_INSTRUCTION("A1A4BF0D", st4(v1.d(0), v2.d(0), v3.d(0), v4.d(0), ptr_post(x5, 32))); 3381 TEST_INSTRUCTION("A1A4AB0D", st4(v1.d(0), v2.d(0), v3.d(0), v4.d(0), ptr_post(x5, x11))); 3382 TEST_INSTRUCTION("A13C204D", st4(v1.b(15), v2.b(15), v3.b(15), v4.b(15), ptr(x5))); 3383 TEST_INSTRUCTION("A13CBF4D", st4(v1.b(15), v2.b(15), v3.b(15), v4.b(15), ptr_post(x5, 4))); 3384 TEST_INSTRUCTION("A13CAB4D", st4(v1.b(15), v2.b(15), v3.b(15), v4.b(15), ptr_post(x5, x11))); 3385 TEST_INSTRUCTION("A178204D", st4(v1.h(7), v2.h(7), v3.h(7), v4.h(7), ptr(x5))); 3386 TEST_INSTRUCTION("A178BF4D", st4(v1.h(7), v2.h(7), v3.h(7), v4.h(7), ptr_post(x5, 8))); 3387 TEST_INSTRUCTION("A178AB4D", st4(v1.h(7), v2.h(7), v3.h(7), v4.h(7), ptr_post(x5, x11))); 3388 TEST_INSTRUCTION("A1B0204D", st4(v1.s(3), v2.s(3), v3.s(3), v4.s(3), ptr(x5))); 3389 TEST_INSTRUCTION("A1B0BF4D", st4(v1.s(3), v2.s(3), v3.s(3), v4.s(3), ptr_post(x5, 16))); 3390 TEST_INSTRUCTION("A1B0AB4D", st4(v1.s(3), v2.s(3), v3.s(3), v4.s(3), ptr_post(x5, x11))); 3391 TEST_INSTRUCTION("A1A4204D", st4(v1.d(1), v2.d(1), v3.d(1), v4.d(1), ptr(x5))); 3392 TEST_INSTRUCTION("A1A4BF4D", st4(v1.d(1), v2.d(1), v3.d(1), v4.d(1), ptr_post(x5, 32))); 3393 TEST_INSTRUCTION("A1A4AB4D", st4(v1.d(1), v2.d(1), v3.d(1), v4.d(1), ptr_post(x5, x11))); 3394 TEST_INSTRUCTION("A100000C", st4(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr(x5))); 3395 TEST_INSTRUCTION("A1009F0C", st4(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, 32))); 3396 TEST_INSTRUCTION("A1008B0C", st4(v1.b8(), v2.b8(), v3.b8(), v4.b8(), ptr_post(x5, x11))); 3397 TEST_INSTRUCTION("A100004C", st4(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr(x5))); 3398 TEST_INSTRUCTION("A1009F4C", st4(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, 64))); 3399 TEST_INSTRUCTION("A1008B4C", st4(v1.b16(), v2.b16(), v3.b16(), v4.b16(), ptr_post(x5, x11))); 3400 TEST_INSTRUCTION("A104000C", st4(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr(x5))); 3401 TEST_INSTRUCTION("A1049F0C", st4(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, 32))); 3402 TEST_INSTRUCTION("A1048B0C", st4(v1.h4(), v2.h4(), v3.h4(), v4.h4(), ptr_post(x5, x11))); 3403 TEST_INSTRUCTION("A104004C", st4(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr(x5))); 3404 TEST_INSTRUCTION("A1049F4C", st4(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, 64))); 3405 TEST_INSTRUCTION("A1048B4C", st4(v1.h8(), v2.h8(), v3.h8(), v4.h8(), ptr_post(x5, x11))); 3406 TEST_INSTRUCTION("A108000C", st4(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr(x5))); 3407 TEST_INSTRUCTION("A1089F0C", st4(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, 32))); 3408 TEST_INSTRUCTION("A1088B0C", st4(v1.s2(), v2.s2(), v3.s2(), v4.s2(), ptr_post(x5, x11))); 3409 TEST_INSTRUCTION("A108004C", st4(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr(x5))); 3410 TEST_INSTRUCTION("A1089F4C", st4(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, 64))); 3411 TEST_INSTRUCTION("A1088B4C", st4(v1.s4(), v2.s4(), v3.s4(), v4.s4(), ptr_post(x5, x11))); 3412 TEST_INSTRUCTION("A10C004C", st4(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr(x5))); 3413 TEST_INSTRUCTION("A10C9F4C", st4(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, 64))); 3414 TEST_INSTRUCTION("A10C8B4C", st4(v1.d2(), v2.d2(), v3.d2(), v4.d2(), ptr_post(x5, x11))); 3415 TEST_INSTRUCTION("8109002C", stnp(s1, s2, ptr(x12))); 3416 TEST_INSTRUCTION("8189002C", stnp(s1, s2, ptr(x12, 4))); 3417 TEST_INSTRUCTION("8109302C", stnp(s1, s2, ptr(x12, -128))); 3418 TEST_INSTRUCTION("E10B002C", stnp(s1, s2, ptr(sp))); 3419 TEST_INSTRUCTION("E18B002C", stnp(s1, s2, ptr(sp, 4))); 3420 TEST_INSTRUCTION("E10B102C", stnp(s1, s2, ptr(sp, 128))); 3421 TEST_INSTRUCTION("8109006C", stnp(d1, d2, ptr(x12))); 3422 TEST_INSTRUCTION("8189006C", stnp(d1, d2, ptr(x12, 8))); 3423 TEST_INSTRUCTION("8109386C", stnp(d1, d2, ptr(x12, -128))); 3424 TEST_INSTRUCTION("E10B006C", stnp(d1, d2, ptr(sp))); 3425 TEST_INSTRUCTION("E18B006C", stnp(d1, d2, ptr(sp, 8))); 3426 TEST_INSTRUCTION("E10B086C", stnp(d1, d2, ptr(sp, 128))); 3427 TEST_INSTRUCTION("810900AC", stnp(q1, q2, ptr(x12))); 3428 TEST_INSTRUCTION("818900AC", stnp(q1, q2, ptr(x12, 16))); 3429 TEST_INSTRUCTION("81093CAC", stnp(q1, q2, ptr(x12, -128))); 3430 TEST_INSTRUCTION("E10B00AC", stnp(q1, q2, ptr(sp))); 3431 TEST_INSTRUCTION("E18B00AC", stnp(q1, q2, ptr(sp, 16))); 3432 TEST_INSTRUCTION("E10B04AC", stnp(q1, q2, ptr(sp, 128))); 3433 TEST_INSTRUCTION("8109002D", stp(s1, s2, ptr(x12))); 3434 TEST_INSTRUCTION("8189002D", stp(s1, s2, ptr(x12, 4))); 3435 TEST_INSTRUCTION("8109302D", stp(s1, s2, ptr(x12, -128))); 3436 TEST_INSTRUCTION("8189802D", stp(s1, s2, ptr_pre(x12, 4))); 3437 TEST_INSTRUCTION("8189802C", stp(s1, s2, ptr_post(x12, 4))); 3438 TEST_INSTRUCTION("E10B002D", stp(s1, s2, ptr(sp))); 3439 TEST_INSTRUCTION("E18B002D", stp(s1, s2, ptr(sp, 4))); 3440 TEST_INSTRUCTION("E10B102D", stp(s1, s2, ptr(sp, 128))); 3441 TEST_INSTRUCTION("E18B802D", stp(s1, s2, ptr_pre(sp, 4))); 3442 TEST_INSTRUCTION("E18B802C", stp(s1, s2, ptr_post(sp, 4))); 3443 TEST_INSTRUCTION("8109006D", stp(d1, d2, ptr(x12))); 3444 TEST_INSTRUCTION("8189006D", stp(d1, d2, ptr(x12, 8))); 3445 TEST_INSTRUCTION("8109386D", stp(d1, d2, ptr(x12, -128))); 3446 TEST_INSTRUCTION("8189806D", stp(d1, d2, ptr_pre(x12, 8))); 3447 TEST_INSTRUCTION("8189806C", stp(d1, d2, ptr_post(x12, 8))); 3448 TEST_INSTRUCTION("E10B006D", stp(d1, d2, ptr(sp))); 3449 TEST_INSTRUCTION("E18B006D", stp(d1, d2, ptr(sp, 8))); 3450 TEST_INSTRUCTION("E10B086D", stp(d1, d2, ptr(sp, 128))); 3451 TEST_INSTRUCTION("E18B806D", stp(d1, d2, ptr_pre(sp, 8))); 3452 TEST_INSTRUCTION("E18B806C", stp(d1, d2, ptr_post(sp, 8))); 3453 TEST_INSTRUCTION("810900AD", stp(q1, q2, ptr(x12))); 3454 TEST_INSTRUCTION("818900AD", stp(q1, q2, ptr(x12, 16))); 3455 TEST_INSTRUCTION("81093CAD", stp(q1, q2, ptr(x12, -128))); 3456 TEST_INSTRUCTION("818980AD", stp(q1, q2, ptr_pre(x12, 16))); 3457 TEST_INSTRUCTION("818980AC", stp(q1, q2, ptr_post(x12, 16))); 3458 TEST_INSTRUCTION("E10B00AD", stp(q1, q2, ptr(sp))); 3459 TEST_INSTRUCTION("E18B00AD", stp(q1, q2, ptr(sp, 16))); 3460 TEST_INSTRUCTION("E10B04AD", stp(q1, q2, ptr(sp, 128))); 3461 TEST_INSTRUCTION("E18B80AD", stp(q1, q2, ptr_pre(sp, 16))); 3462 TEST_INSTRUCTION("E18B80AC", stp(q1, q2, ptr_post(sp, 16))); 3463 TEST_INSTRUCTION("4100003D", str(b1, ptr(x2))); 3464 TEST_INSTRUCTION("4114003C", str(b1, ptr_post(x2, 1))); 3465 TEST_INSTRUCTION("4104003D", str(b1, ptr(x2, 1))); 3466 TEST_INSTRUCTION("411C003C", str(b1, ptr_pre(x2, 1))); 3467 TEST_INSTRUCTION("4114083C", str(b1, ptr_post(x2, 129))); 3468 TEST_INSTRUCTION("4100007D", str(h1, ptr(x2))); 3469 TEST_INSTRUCTION("4124007C", str(h1, ptr_post(x2, 2))); 3470 TEST_INSTRUCTION("4104007D", str(h1, ptr(x2, 2))); 3471 TEST_INSTRUCTION("412C007C", str(h1, ptr_pre(x2, 2))); 3472 TEST_INSTRUCTION("4124087C", str(h1, ptr_post(x2, 130))); 3473 TEST_INSTRUCTION("410000BD", str(s1, ptr(x2))); 3474 TEST_INSTRUCTION("414400BC", str(s1, ptr_post(x2, 4))); 3475 TEST_INSTRUCTION("410400BD", str(s1, ptr(x2, 4))); 3476 TEST_INSTRUCTION("414C00BC", str(s1, ptr_pre(x2, 4))); 3477 TEST_INSTRUCTION("414408BC", str(s1, ptr_post(x2, 132))); 3478 TEST_INSTRUCTION("410000FD", str(d1, ptr(x2))); 3479 TEST_INSTRUCTION("418400FC", str(d1, ptr_post(x2, 8))); 3480 TEST_INSTRUCTION("410400FD", str(d1, ptr(x2, 8))); 3481 TEST_INSTRUCTION("418C00FC", str(d1, ptr_pre(x2, 8))); 3482 TEST_INSTRUCTION("414408FC", str(d1, ptr_post(x2, 132))); 3483 TEST_INSTRUCTION("4168233C", str(b1, ptr(x2, x3))); 3484 TEST_INSTRUCTION("4148233C", str(b1, ptr(x2, w3, uxtw(0)))); 3485 TEST_INSTRUCTION("41C8233C", str(b1, ptr(x2, w3, sxtw(0)))); 3486 TEST_INSTRUCTION("4168237C", str(h1, ptr(x2, x3))); 3487 TEST_INSTRUCTION("4178237C", str(h1, ptr(x2, x3, lsl(1)))); 3488 TEST_INSTRUCTION("4148237C", str(h1, ptr(x2, w3, uxtw(0)))); 3489 TEST_INSTRUCTION("4158237C", str(h1, ptr(x2, w3, uxtw(1)))); 3490 TEST_INSTRUCTION("41C8237C", str(h1, ptr(x2, w3, sxtw(0)))); 3491 TEST_INSTRUCTION("41D8237C", str(h1, ptr(x2, w3, sxtw(1)))); 3492 TEST_INSTRUCTION("416823BC", str(s1, ptr(x2, x3))); 3493 TEST_INSTRUCTION("417823BC", str(s1, ptr(x2, x3, lsl(2)))); 3494 TEST_INSTRUCTION("414823BC", str(s1, ptr(x2, w3, uxtw(0)))); 3495 TEST_INSTRUCTION("415823BC", str(s1, ptr(x2, w3, uxtw(2)))); 3496 TEST_INSTRUCTION("41C823BC", str(s1, ptr(x2, w3, sxtw(0)))); 3497 TEST_INSTRUCTION("41D823BC", str(s1, ptr(x2, w3, sxtw(2)))); 3498 TEST_INSTRUCTION("416823FC", str(d1, ptr(x2, x3))); 3499 TEST_INSTRUCTION("417823FC", str(d1, ptr(x2, x3, lsl(3)))); 3500 TEST_INSTRUCTION("414823FC", str(d1, ptr(x2, w3, uxtw(0)))); 3501 TEST_INSTRUCTION("415823FC", str(d1, ptr(x2, w3, uxtw(3)))); 3502 TEST_INSTRUCTION("41C823FC", str(d1, ptr(x2, w3, sxtw(0)))); 3503 TEST_INSTRUCTION("41D823FC", str(d1, ptr(x2, w3, sxtw(3)))); 3504 TEST_INSTRUCTION("4104003D", str(b1, ptr(x2, 1))); 3505 TEST_INSTRUCTION("41F01F3C", str(b1, ptr(x2, -1))); // STUR 3506 TEST_INSTRUCTION("4110007C", str(h1, ptr(x2, 1))); // STUR 3507 TEST_INSTRUCTION("41F01F7C", str(h1, ptr(x2, -1))); // STUR 3508 TEST_INSTRUCTION("411000BC", str(s1, ptr(x2, 1))); // STUR 3509 TEST_INSTRUCTION("41F01FBC", str(s1, ptr(x2, -1))); // STUR 3510 TEST_INSTRUCTION("411000FC", str(d1, ptr(x2, 1))); // STUR 3511 TEST_INSTRUCTION("41F01FFC", str(d1, ptr(x2, -1))); // STUR 3512 TEST_INSTRUCTION("8101003C", stur(b1, ptr(x12))); 3513 TEST_INSTRUCTION("8131003C", stur(b1, ptr(x12, 3))); 3514 TEST_INSTRUCTION("8131063C", stur(b1, ptr(x12, 99))); 3515 TEST_INSTRUCTION("81F10F3C", stur(b1, ptr(x12, 255))); 3516 TEST_INSTRUCTION("8101103C", stur(b1, ptr(x12, -256))); 3517 TEST_INSTRUCTION("E103003C", stur(b1, ptr(sp))); 3518 TEST_INSTRUCTION("E153083C", stur(b1, ptr(sp, 133))); 3519 TEST_INSTRUCTION("8101007C", stur(h1, ptr(x12))); 3520 TEST_INSTRUCTION("8131007C", stur(h1, ptr(x12, 3))); 3521 TEST_INSTRUCTION("8131067C", stur(h1, ptr(x12, 99))); 3522 TEST_INSTRUCTION("81F10F7C", stur(h1, ptr(x12, 255))); 3523 TEST_INSTRUCTION("8101107C", stur(h1, ptr(x12, -256))); 3524 TEST_INSTRUCTION("E103007C", stur(h1, ptr(sp))); 3525 TEST_INSTRUCTION("E153087C", stur(h1, ptr(sp, 133))); 3526 TEST_INSTRUCTION("810100BC", stur(s1, ptr(x12))); 3527 TEST_INSTRUCTION("813100BC", stur(s1, ptr(x12, 3))); 3528 TEST_INSTRUCTION("813106BC", stur(s1, ptr(x12, 99))); 3529 TEST_INSTRUCTION("81F10FBC", stur(s1, ptr(x12, 255))); 3530 TEST_INSTRUCTION("810110BC", stur(s1, ptr(x12, -256))); 3531 TEST_INSTRUCTION("E10300BC", stur(s1, ptr(sp))); 3532 TEST_INSTRUCTION("E15308BC", stur(s1, ptr(sp, 133))); 3533 TEST_INSTRUCTION("810100FC", stur(d1, ptr(x12))); 3534 TEST_INSTRUCTION("813100FC", stur(d1, ptr(x12, 3))); 3535 TEST_INSTRUCTION("813106FC", stur(d1, ptr(x12, 99))); 3536 TEST_INSTRUCTION("81F10FFC", stur(d1, ptr(x12, 255))); 3537 TEST_INSTRUCTION("810110FC", stur(d1, ptr(x12, -256))); 3538 TEST_INSTRUCTION("E10300FC", stur(d1, ptr(sp))); 3539 TEST_INSTRUCTION("E15308FC", stur(d1, ptr(sp, 133))); 3540 TEST_INSTRUCTION("8101803C", stur(q1, ptr(x12))); 3541 TEST_INSTRUCTION("8131803C", stur(q1, ptr(x12, 3))); 3542 TEST_INSTRUCTION("8131863C", stur(q1, ptr(x12, 99))); 3543 TEST_INSTRUCTION("81F18F3C", stur(q1, ptr(x12, 255))); 3544 TEST_INSTRUCTION("8101903C", stur(q1, ptr(x12, -256))); 3545 TEST_INSTRUCTION("E103803C", stur(q1, ptr(sp))); 3546 TEST_INSTRUCTION("E153883C", stur(q1, ptr(sp, 133))); 3547 TEST_INSTRUCTION("4184232E", sub(v1.b8(), v2.b8(), v3.b8())); 3548 TEST_INSTRUCTION("4184632E", sub(v1.h4(), v2.h4(), v3.h4())); 3549 TEST_INSTRUCTION("4184A32E", sub(v1.s2(), v2.s2(), v3.s2())); 3550 TEST_INSTRUCTION("4184E37E", sub(d1, d2, d3)); 3551 TEST_INSTRUCTION("4184236E", sub(v1.b16(), v2.b16(), v3.b16())); 3552 TEST_INSTRUCTION("4184636E", sub(v1.h8(), v2.h8(), v3.h8())); 3553 TEST_INSTRUCTION("4184A36E", sub(v1.s4(), v2.s4(), v3.s4())); 3554 TEST_INSTRUCTION("4184E36E", sub(v1.d2(), v2.d2(), v3.d2())); 3555 TEST_INSTRUCTION("4160230E", subhn(v1.b8(), v2.h8(), v3.h8())); 3556 TEST_INSTRUCTION("4160630E", subhn(v1.h4(), v2.s4(), v3.s4())); 3557 TEST_INSTRUCTION("4160A30E", subhn(v1.s2(), v2.d2(), v3.d2())); 3558 TEST_INSTRUCTION("4160234E", subhn2(v1.b16(), v2.h8(), v3.h8())); 3559 TEST_INSTRUCTION("4160634E", subhn2(v1.h8(), v2.s4(), v3.s4())); 3560 TEST_INSTRUCTION("4160A34E", subhn2(v1.s4(), v2.d2(), v3.d2())); 3561 TEST_INSTRUCTION("41F0030F", sudot(v1.s2(), v2.b8(), v3.b4(0))); 3562 TEST_INSTRUCTION("41F0230F", sudot(v1.s2(), v2.b8(), v3.b4(1))); 3563 TEST_INSTRUCTION("41F8030F", sudot(v1.s2(), v2.b8(), v3.b4(2))); 3564 TEST_INSTRUCTION("41F8230F", sudot(v1.s2(), v2.b8(), v3.b4(3))); 3565 TEST_INSTRUCTION("41F0034F", sudot(v1.s4(), v2.b16(), v3.b4(0))); 3566 TEST_INSTRUCTION("41F0234F", sudot(v1.s4(), v2.b16(), v3.b4(1))); 3567 TEST_INSTRUCTION("41F8034F", sudot(v1.s4(), v2.b16(), v3.b4(2))); 3568 TEST_INSTRUCTION("41F8234F", sudot(v1.s4(), v2.b16(), v3.b4(3))); 3569 TEST_INSTRUCTION("4138205E", suqadd(b1, b2)); 3570 TEST_INSTRUCTION("4138605E", suqadd(h1, h2)); 3571 TEST_INSTRUCTION("4138A05E", suqadd(s1, s2)); 3572 TEST_INSTRUCTION("4138E05E", suqadd(d1, d2)); 3573 TEST_INSTRUCTION("4138200E", suqadd(v1.b8(), v2.b8())); 3574 TEST_INSTRUCTION("4138600E", suqadd(v1.h4(), v2.h4())); 3575 TEST_INSTRUCTION("4138A00E", suqadd(v1.s2(), v2.s2())); 3576 TEST_INSTRUCTION("4138204E", suqadd(v1.b16(), v2.b16())); 3577 TEST_INSTRUCTION("4138604E", suqadd(v1.h8(), v2.h8())); 3578 TEST_INSTRUCTION("4138A04E", suqadd(v1.s4(), v2.s4())); 3579 TEST_INSTRUCTION("4138E04E", suqadd(v1.d2(), v2.d2())); 3580 TEST_INSTRUCTION("41A4080F", sxtl(v1.h8(), v2.b8())); 3581 TEST_INSTRUCTION("41A4100F", sxtl(v1.s4(), v2.h4())); 3582 TEST_INSTRUCTION("41A4200F", sxtl(v1.d2(), v2.s2())); 3583 TEST_INSTRUCTION("41A4084F", sxtl2(v1.h8(), v2.b16())); 3584 TEST_INSTRUCTION("41A4104F", sxtl2(v1.s4(), v2.h8())); 3585 TEST_INSTRUCTION("41A4204F", sxtl2(v1.d2(), v2.s4())); 3586 TEST_INSTRUCTION("4100030E", tbl(v1.b8(), v2.b16(), v3.b8())); 3587 TEST_INSTRUCTION("4120040E", tbl(v1.b8(), v2.b16(), v3.b16(), v4.b8())); 3588 TEST_INSTRUCTION("4140050E", tbl(v1.b8(), v2.b16(), v3.b16(), v4.b16(), v5.b8())); 3589 TEST_INSTRUCTION("4160060E", tbl(v1.b8(), v2.b16(), v3.b16(), v4.b16(), v5.b16(), v6.b8())); 3590 TEST_INSTRUCTION("4100034E", tbl(v1.b16(), v2.b16(), v3.b16())); 3591 TEST_INSTRUCTION("4120044E", tbl(v1.b16(), v2.b16(), v3.b16(), v4.b16())); 3592 TEST_INSTRUCTION("4140054E", tbl(v1.b16(), v2.b16(), v3.b16(), v4.b16(), v5.b16())); 3593 TEST_INSTRUCTION("4160064E", tbl(v1.b16(), v2.b16(), v3.b16(), v4.b16(), v5.b16(), v6.b16())); 3594 TEST_INSTRUCTION("4110030E", tbx(v1.b8(), v2.b16(), v3.b8())); 3595 TEST_INSTRUCTION("4130040E", tbx(v1.b8(), v2.b16(), v3.b16(), v4.b8())); 3596 TEST_INSTRUCTION("4150050E", tbx(v1.b8(), v2.b16(), v3.b16(), v4.b16(), v5.b8())); 3597 TEST_INSTRUCTION("4170060E", tbx(v1.b8(), v2.b16(), v3.b16(), v4.b16(), v5.b16(), v6.b8())); 3598 TEST_INSTRUCTION("4110034E", tbx(v1.b16(), v2.b16(), v3.b16())); 3599 TEST_INSTRUCTION("4130044E", tbx(v1.b16(), v2.b16(), v3.b16(), v4.b16())); 3600 TEST_INSTRUCTION("4150054E", tbx(v1.b16(), v2.b16(), v3.b16(), v4.b16(), v5.b16())); 3601 TEST_INSTRUCTION("4170064E", tbx(v1.b16(), v2.b16(), v3.b16(), v4.b16(), v5.b16(), v6.b16())); 3602 TEST_INSTRUCTION("4128030E", trn1(v1.b8(), v2.b8(), v3.b8())); 3603 TEST_INSTRUCTION("4128430E", trn1(v1.h4(), v2.h4(), v3.h4())); 3604 TEST_INSTRUCTION("4128830E", trn1(v1.s2(), v2.s2(), v3.s2())); 3605 TEST_INSTRUCTION("4128034E", trn1(v1.b16(), v2.b16(), v3.b16())); 3606 TEST_INSTRUCTION("4128434E", trn1(v1.h8(), v2.h8(), v3.h8())); 3607 TEST_INSTRUCTION("4128834E", trn1(v1.s4(), v2.s4(), v3.s4())); 3608 TEST_INSTRUCTION("4128C34E", trn1(v1.d2(), v2.d2(), v3.d2())); 3609 TEST_INSTRUCTION("4168030E", trn2(v1.b8(), v2.b8(), v3.b8())); 3610 TEST_INSTRUCTION("4168430E", trn2(v1.h4(), v2.h4(), v3.h4())); 3611 TEST_INSTRUCTION("4168830E", trn2(v1.s2(), v2.s2(), v3.s2())); 3612 TEST_INSTRUCTION("4168034E", trn2(v1.b16(), v2.b16(), v3.b16())); 3613 TEST_INSTRUCTION("4168434E", trn2(v1.h8(), v2.h8(), v3.h8())); 3614 TEST_INSTRUCTION("4168834E", trn2(v1.s4(), v2.s4(), v3.s4())); 3615 TEST_INSTRUCTION("4168C34E", trn2(v1.d2(), v2.d2(), v3.d2())); 3616 TEST_INSTRUCTION("417C232E", uaba(v1.b8(), v2.b8(), v3.b8())); 3617 TEST_INSTRUCTION("417C632E", uaba(v1.h4(), v2.h4(), v3.h4())); 3618 TEST_INSTRUCTION("417CA32E", uaba(v1.s2(), v2.s2(), v3.s2())); 3619 TEST_INSTRUCTION("417C236E", uaba(v1.b16(), v2.b16(), v3.b16())); 3620 TEST_INSTRUCTION("417C636E", uaba(v1.h8(), v2.h8(), v3.h8())); 3621 TEST_INSTRUCTION("417CA36E", uaba(v1.s4(), v2.s4(), v3.s4())); 3622 TEST_INSTRUCTION("4150232E", uabal(v1.h8(), v2.b8(), v3.b8())); 3623 TEST_INSTRUCTION("4150632E", uabal(v1.s4(), v2.h4(), v3.h4())); 3624 TEST_INSTRUCTION("4150A32E", uabal(v1.d2(), v2.s2(), v3.s2())); 3625 TEST_INSTRUCTION("4150236E", uabal2(v1.h8(), v2.b16(), v3.b16())); 3626 TEST_INSTRUCTION("4150636E", uabal2(v1.s4(), v2.h8(), v3.h8())); 3627 TEST_INSTRUCTION("4150A36E", uabal2(v1.d2(), v2.s4(), v3.s4())); 3628 TEST_INSTRUCTION("4174232E", uabd(v1.b8(), v2.b8(), v3.b8())); 3629 TEST_INSTRUCTION("4174632E", uabd(v1.h4(), v2.h4(), v3.h4())); 3630 TEST_INSTRUCTION("4174A32E", uabd(v1.s2(), v2.s2(), v3.s2())); 3631 TEST_INSTRUCTION("4174236E", uabd(v1.b16(), v2.b16(), v3.b16())); 3632 TEST_INSTRUCTION("4174636E", uabd(v1.h8(), v2.h8(), v3.h8())); 3633 TEST_INSTRUCTION("4174A36E", uabd(v1.s4(), v2.s4(), v3.s4())); 3634 TEST_INSTRUCTION("4170232E", uabdl(v1.h8(), v2.b8(), v3.b8())); 3635 TEST_INSTRUCTION("4170632E", uabdl(v1.s4(), v2.h4(), v3.h4())); 3636 TEST_INSTRUCTION("4170A32E", uabdl(v1.d2(), v2.s2(), v3.s2())); 3637 TEST_INSTRUCTION("4170236E", uabdl2(v1.h8(), v2.b16(), v3.b16())); 3638 TEST_INSTRUCTION("4170636E", uabdl2(v1.s4(), v2.h8(), v3.h8())); 3639 TEST_INSTRUCTION("4170A36E", uabdl2(v1.d2(), v2.s4(), v3.s4())); 3640 TEST_INSTRUCTION("4168202E", uadalp(v1.h4(), v2.b8())); 3641 TEST_INSTRUCTION("4168602E", uadalp(v1.s2(), v2.h4())); 3642 TEST_INSTRUCTION("4168A02E", uadalp(d1, v2.s2())); 3643 TEST_INSTRUCTION("4168206E", uadalp(v1.h8(), v2.b16())); 3644 TEST_INSTRUCTION("4168606E", uadalp(v1.s4(), v2.h8())); 3645 TEST_INSTRUCTION("4168A06E", uadalp(v1.d2(), v2.s4())); 3646 TEST_INSTRUCTION("4100232E", uaddl(v1.h8(), v2.b8(), v3.b8())); 3647 TEST_INSTRUCTION("4100632E", uaddl(v1.s4(), v2.h4(), v3.h4())); 3648 TEST_INSTRUCTION("4100A32E", uaddl(v1.d2(), v2.s2(), v3.s2())); 3649 TEST_INSTRUCTION("4100236E", uaddl2(v1.h8(), v2.b16(), v3.b16())); 3650 TEST_INSTRUCTION("4100636E", uaddl2(v1.s4(), v2.h8(), v3.h8())); 3651 TEST_INSTRUCTION("4100A36E", uaddl2(v1.d2(), v2.s4(), v3.s4())); 3652 TEST_INSTRUCTION("4128202E", uaddlp(v1.h4(), v2.b8())); 3653 TEST_INSTRUCTION("4128602E", uaddlp(v1.s2(), v2.h4())); 3654 TEST_INSTRUCTION("4128A02E", uaddlp(d1, v2.s2())); 3655 TEST_INSTRUCTION("4128206E", uaddlp(v1.h8(), v2.b16())); 3656 TEST_INSTRUCTION("4128606E", uaddlp(v1.s4(), v2.h8())); 3657 TEST_INSTRUCTION("4128A06E", uaddlp(v1.d2(), v2.s4())); 3658 TEST_INSTRUCTION("4138302E", uaddlv(h1, v2.b8())); 3659 TEST_INSTRUCTION("4138306E", uaddlv(h1, v2.b16())); 3660 TEST_INSTRUCTION("4138702E", uaddlv(s1, v2.h4())); 3661 TEST_INSTRUCTION("4138706E", uaddlv(s1, v2.h8())); 3662 TEST_INSTRUCTION("4138B06E", uaddlv(d1, v2.s4())); 3663 TEST_INSTRUCTION("4110232E", uaddw(v1.h8(), v2.h8(), v3.b8())); 3664 TEST_INSTRUCTION("4110632E", uaddw(v1.s4(), v2.s4(), v3.h4())); 3665 TEST_INSTRUCTION("4110A32E", uaddw(v1.d2(), v2.d2(), v3.s2())); 3666 TEST_INSTRUCTION("4110236E", uaddw2(v1.h8(), v2.h8(), v3.b16())); 3667 TEST_INSTRUCTION("4110636E", uaddw2(v1.s4(), v2.s4(), v3.h8())); 3668 TEST_INSTRUCTION("4110A36E", uaddw2(v1.d2(), v2.d2(), v3.s4())); 3669 TEST_INSTRUCTION("4100E31E", ucvtf(h1, w2)); 3670 TEST_INSTRUCTION("4100231E", ucvtf(s1, w2)); 3671 TEST_INSTRUCTION("4100631E", ucvtf(d1, w2)); 3672 TEST_INSTRUCTION("4100E39E", ucvtf(h1, x2)); 3673 TEST_INSTRUCTION("4100239E", ucvtf(s1, x2)); 3674 TEST_INSTRUCTION("4100639E", ucvtf(d1, x2)); 3675 TEST_INSTRUCTION("41D8797E", ucvtf(h1, h2)); 3676 TEST_INSTRUCTION("41D8217E", ucvtf(s1, s2)); 3677 TEST_INSTRUCTION("41D8617E", ucvtf(d1, d2)); 3678 TEST_INSTRUCTION("41D8792E", ucvtf(v1.h4(), v2.h4())); 3679 TEST_INSTRUCTION("41D8212E", ucvtf(v1.s2(), v2.s2())); 3680 TEST_INSTRUCTION("41D8796E", ucvtf(v1.h8(), v2.h8())); 3681 TEST_INSTRUCTION("41D8216E", ucvtf(v1.s4(), v2.s4())); 3682 TEST_INSTRUCTION("41D8616E", ucvtf(v1.d2(), v2.d2())); 3683 TEST_INSTRUCTION("41E0C31E", ucvtf(h1, w2, 8)); 3684 TEST_INSTRUCTION("41E0031E", ucvtf(s1, w2, 8)); 3685 TEST_INSTRUCTION("41E0431E", ucvtf(d1, w2, 8)); 3686 TEST_INSTRUCTION("41E0C39E", ucvtf(h1, x2, 8)); 3687 TEST_INSTRUCTION("41E0039E", ucvtf(s1, x2, 8)); 3688 TEST_INSTRUCTION("41E0439E", ucvtf(d1, x2, 8)); 3689 TEST_INSTRUCTION("41E4187F", ucvtf(h1, h2, 8)); 3690 TEST_INSTRUCTION("41E4387F", ucvtf(s1, s2, 8)); 3691 TEST_INSTRUCTION("41E4787F", ucvtf(d1, d2, 8)); 3692 TEST_INSTRUCTION("41E4182F", ucvtf(v1.h4(), v2.h4(), 8)); 3693 TEST_INSTRUCTION("41E4382F", ucvtf(v1.s2(), v2.s2(), 8)); 3694 TEST_INSTRUCTION("41E4186F", ucvtf(v1.h8(), v2.h8(), 8)); 3695 TEST_INSTRUCTION("41E4386F", ucvtf(v1.s4(), v2.s4(), 8)); 3696 TEST_INSTRUCTION("41E4786F", ucvtf(v1.d2(), v2.d2(), 8)); 3697 TEST_INSTRUCTION("4194832E", udot(v1.s2(), v2.b8(), v3.b8())); 3698 TEST_INSTRUCTION("4194836E", udot(v1.s4(), v2.b16(), v3.b16())); 3699 TEST_INSTRUCTION("41E0832F", udot(v1.s2(), v2.b8(), v3.b4(0))); 3700 TEST_INSTRUCTION("41E0A32F", udot(v1.s2(), v2.b8(), v3.b4(1))); 3701 TEST_INSTRUCTION("41E8832F", udot(v1.s2(), v2.b8(), v3.b4(2))); 3702 TEST_INSTRUCTION("41E8A32F", udot(v1.s2(), v2.b8(), v3.b4(3))); 3703 TEST_INSTRUCTION("41E0836F", udot(v1.s4(), v2.b16(), v3.b4(0))); 3704 TEST_INSTRUCTION("41E0A36F", udot(v1.s4(), v2.b16(), v3.b4(1))); 3705 TEST_INSTRUCTION("41E8836F", udot(v1.s4(), v2.b16(), v3.b4(2))); 3706 TEST_INSTRUCTION("41E8A36F", udot(v1.s4(), v2.b16(), v3.b4(3))); 3707 TEST_INSTRUCTION("4104232E", uhadd(v1.b8(), v2.b8(), v3.b8())); 3708 TEST_INSTRUCTION("4104632E", uhadd(v1.h4(), v2.h4(), v3.h4())); 3709 TEST_INSTRUCTION("4104A32E", uhadd(v1.s2(), v2.s2(), v3.s2())); 3710 TEST_INSTRUCTION("4104236E", uhadd(v1.b16(), v2.b16(), v3.b16())); 3711 TEST_INSTRUCTION("4104636E", uhadd(v1.h8(), v2.h8(), v3.h8())); 3712 TEST_INSTRUCTION("4104A36E", uhadd(v1.s4(), v2.s4(), v3.s4())); 3713 TEST_INSTRUCTION("4124232E", uhsub(v1.b8(), v2.b8(), v3.b8())); 3714 TEST_INSTRUCTION("4124632E", uhsub(v1.h4(), v2.h4(), v3.h4())); 3715 TEST_INSTRUCTION("4124A32E", uhsub(v1.s2(), v2.s2(), v3.s2())); 3716 TEST_INSTRUCTION("4124236E", uhsub(v1.b16(), v2.b16(), v3.b16())); 3717 TEST_INSTRUCTION("4124636E", uhsub(v1.h8(), v2.h8(), v3.h8())); 3718 TEST_INSTRUCTION("4124A36E", uhsub(v1.s4(), v2.s4(), v3.s4())); 3719 TEST_INSTRUCTION("4164232E", umax(v1.b8(), v2.b8(), v3.b8())); 3720 TEST_INSTRUCTION("4164632E", umax(v1.h4(), v2.h4(), v3.h4())); 3721 TEST_INSTRUCTION("4164A32E", umax(v1.s2(), v2.s2(), v3.s2())); 3722 TEST_INSTRUCTION("4164236E", umax(v1.b16(), v2.b16(), v3.b16())); 3723 TEST_INSTRUCTION("4164636E", umax(v1.h8(), v2.h8(), v3.h8())); 3724 TEST_INSTRUCTION("4164A36E", umax(v1.s4(), v2.s4(), v3.s4())); 3725 TEST_INSTRUCTION("41A4232E", umaxp(v1.b8(), v2.b8(), v3.b8())); 3726 TEST_INSTRUCTION("41A4632E", umaxp(v1.h4(), v2.h4(), v3.h4())); 3727 TEST_INSTRUCTION("41A4A32E", umaxp(v1.s2(), v2.s2(), v3.s2())); 3728 TEST_INSTRUCTION("41A4236E", umaxp(v1.b16(), v2.b16(), v3.b16())); 3729 TEST_INSTRUCTION("41A4636E", umaxp(v1.h8(), v2.h8(), v3.h8())); 3730 TEST_INSTRUCTION("41A4A36E", umaxp(v1.s4(), v2.s4(), v3.s4())); 3731 TEST_INSTRUCTION("41A8302E", umaxv(b1, v2.b8())); 3732 TEST_INSTRUCTION("41A8306E", umaxv(b1, v2.b16())); 3733 TEST_INSTRUCTION("41A8702E", umaxv(h1, v2.h4())); 3734 TEST_INSTRUCTION("41A8706E", umaxv(h1, v2.h8())); 3735 TEST_INSTRUCTION("41A8B06E", umaxv(s1, v2.s4())); 3736 TEST_INSTRUCTION("416C232E", umin(v1.b8(), v2.b8(), v3.b8())); 3737 TEST_INSTRUCTION("416C632E", umin(v1.h4(), v2.h4(), v3.h4())); 3738 TEST_INSTRUCTION("416CA32E", umin(v1.s2(), v2.s2(), v3.s2())); 3739 TEST_INSTRUCTION("416C236E", umin(v1.b16(), v2.b16(), v3.b16())); 3740 TEST_INSTRUCTION("416C636E", umin(v1.h8(), v2.h8(), v3.h8())); 3741 TEST_INSTRUCTION("416CA36E", umin(v1.s4(), v2.s4(), v3.s4())); 3742 TEST_INSTRUCTION("41AC232E", uminp(v1.b8(), v2.b8(), v3.b8())); 3743 TEST_INSTRUCTION("41AC632E", uminp(v1.h4(), v2.h4(), v3.h4())); 3744 TEST_INSTRUCTION("41ACA32E", uminp(v1.s2(), v2.s2(), v3.s2())); 3745 TEST_INSTRUCTION("41AC236E", uminp(v1.b16(), v2.b16(), v3.b16())); 3746 TEST_INSTRUCTION("41AC636E", uminp(v1.h8(), v2.h8(), v3.h8())); 3747 TEST_INSTRUCTION("41ACA36E", uminp(v1.s4(), v2.s4(), v3.s4())); 3748 TEST_INSTRUCTION("41A8312E", uminv(b1, v2.b8())); 3749 TEST_INSTRUCTION("41A8316E", uminv(b1, v2.b16())); 3750 TEST_INSTRUCTION("41A8712E", uminv(h1, v2.h4())); 3751 TEST_INSTRUCTION("41A8716E", uminv(h1, v2.h8())); 3752 TEST_INSTRUCTION("41A8B16E", uminv(s1, v2.s4())); 3753 TEST_INSTRUCTION("4180232E", umlal(v1.h8(), v2.b8(), v3.b8())); 3754 TEST_INSTRUCTION("4180632E", umlal(v1.s4(), v2.h4(), v3.h4())); 3755 TEST_INSTRUCTION("4180A32E", umlal(v1.d2(), v2.s2(), v3.s2())); 3756 TEST_INSTRUCTION("4120732F", umlal(v1.s4(), v2.h4(), v3.h(3))); 3757 TEST_INSTRUCTION("4128A32F", umlal(v1.d2(), v2.s2(), v3.s(3))); 3758 TEST_INSTRUCTION("4180236E", umlal2(v1.h8(), v2.b16(), v3.b16())); 3759 TEST_INSTRUCTION("4180636E", umlal2(v1.s4(), v2.h8(), v3.h8())); 3760 TEST_INSTRUCTION("4180A36E", umlal2(v1.d2(), v2.s4(), v3.s4())); 3761 TEST_INSTRUCTION("4120736F", umlal2(v1.s4(), v2.h8(), v3.h(3))); 3762 TEST_INSTRUCTION("4128A36F", umlal2(v1.d2(), v2.s4(), v3.s(3))); 3763 TEST_INSTRUCTION("41A0232E", umlsl(v1.h8(), v2.b8(), v3.b8())); 3764 TEST_INSTRUCTION("41A0632E", umlsl(v1.s4(), v2.h4(), v3.h4())); 3765 TEST_INSTRUCTION("41A0A32E", umlsl(v1.d2(), v2.s2(), v3.s2())); 3766 TEST_INSTRUCTION("4160732F", umlsl(v1.s4(), v2.h4(), v3.h(3))); 3767 TEST_INSTRUCTION("4168A32F", umlsl(v1.d2(), v2.s2(), v3.s(3))); 3768 TEST_INSTRUCTION("41A0236E", umlsl2(v1.h8(), v2.b16(), v3.b16())); 3769 TEST_INSTRUCTION("41A0636E", umlsl2(v1.s4(), v2.h8(), v3.h8())); 3770 TEST_INSTRUCTION("41A0A36E", umlsl2(v1.d2(), v2.s4(), v3.s4())); 3771 TEST_INSTRUCTION("4160736F", umlsl2(v1.s4(), v2.h8(), v3.h(3))); 3772 TEST_INSTRUCTION("4168A36F", umlsl2(v1.d2(), v2.s4(), v3.s(3))); 3773 TEST_INSTRUCTION("41A4836E", ummla(v1.s4(), v2.b16(), v3.b16())); 3774 TEST_INSTRUCTION("413C010E", umov(w1, v2.b(0))); 3775 TEST_INSTRUCTION("413C1F0E", umov(w1, v2.b(15))); 3776 TEST_INSTRUCTION("413C020E", umov(w1, v2.h(0))); 3777 TEST_INSTRUCTION("413C1E0E", umov(w1, v2.h(7))); 3778 TEST_INSTRUCTION("413C040E", umov(w1, v2.s(0))); 3779 TEST_INSTRUCTION("413C1C0E", umov(w1, v2.s(3))); 3780 TEST_INSTRUCTION("413C084E", umov(x1, v2.d(0))); 3781 TEST_INSTRUCTION("413C184E", umov(x1, v2.d(1))); 3782 TEST_INSTRUCTION("41C0232E", umull(v1.h8(), v2.b8(), v3.b8())); 3783 TEST_INSTRUCTION("41C0632E", umull(v1.s4(), v2.h4(), v3.h4())); 3784 TEST_INSTRUCTION("41C0A32E", umull(v1.d2(), v2.s2(), v3.s2())); 3785 TEST_INSTRUCTION("41A0732F", umull(v1.s4(), v2.h4(), v3.h(3))); 3786 TEST_INSTRUCTION("41A8A32F", umull(v1.d2(), v2.s2(), v3.s(3))); 3787 TEST_INSTRUCTION("41C0236E", umull2(v1.h8(), v2.b16(), v3.b16())); 3788 TEST_INSTRUCTION("41C0636E", umull2(v1.s4(), v2.h8(), v3.h8())); 3789 TEST_INSTRUCTION("41C0A36E", umull2(v1.d2(), v2.s4(), v3.s4())); 3790 TEST_INSTRUCTION("41A0736F", umull2(v1.s4(), v2.h8(), v3.h(3))); 3791 TEST_INSTRUCTION("41A8A36F", umull2(v1.d2(), v2.s4(), v3.s(3))); 3792 TEST_INSTRUCTION("410C237E", uqadd(b1, b2, b3)); 3793 TEST_INSTRUCTION("410C637E", uqadd(h1, h2, h3)); 3794 TEST_INSTRUCTION("410CA37E", uqadd(s1, s2, s3)); 3795 TEST_INSTRUCTION("410CE37E", uqadd(d1, d2, d3)); 3796 TEST_INSTRUCTION("410C232E", uqadd(v1.b8(), v2.b8(), v3.b8())); 3797 TEST_INSTRUCTION("410C632E", uqadd(v1.h4(), v2.h4(), v3.h4())); 3798 TEST_INSTRUCTION("410CA32E", uqadd(v1.s2(), v2.s2(), v3.s2())); 3799 TEST_INSTRUCTION("410C236E", uqadd(v1.b16(), v2.b16(), v3.b16())); 3800 TEST_INSTRUCTION("410C636E", uqadd(v1.h8(), v2.h8(), v3.h8())); 3801 TEST_INSTRUCTION("410CA36E", uqadd(v1.s4(), v2.s4(), v3.s4())); 3802 TEST_INSTRUCTION("410CE36E", uqadd(v1.d2(), v2.d2(), v3.d2())); 3803 TEST_INSTRUCTION("415C237E", uqrshl(b1, b2, b3)); 3804 TEST_INSTRUCTION("415C637E", uqrshl(h1, h2, h3)); 3805 TEST_INSTRUCTION("415CA37E", uqrshl(s1, s2, s3)); 3806 TEST_INSTRUCTION("415C232E", uqrshl(v1.b8(), v2.b8(), v3.b8())); 3807 TEST_INSTRUCTION("415C632E", uqrshl(v1.h4(), v2.h4(), v3.h4())); 3808 TEST_INSTRUCTION("415CA32E", uqrshl(v1.s2(), v2.s2(), v3.s2())); 3809 TEST_INSTRUCTION("415CE37E", uqrshl(d1, d2, d3)); 3810 TEST_INSTRUCTION("415C236E", uqrshl(v1.b16(), v2.b16(), v3.b16())); 3811 TEST_INSTRUCTION("415C636E", uqrshl(v1.h8(), v2.h8(), v3.h8())); 3812 TEST_INSTRUCTION("415CA36E", uqrshl(v1.s4(), v2.s4(), v3.s4())); 3813 TEST_INSTRUCTION("415CE36E", uqrshl(v1.d2(), v2.d2(), v3.d2())); 3814 TEST_INSTRUCTION("419C087F", uqrshrn(b1, h2, 8)); 3815 TEST_INSTRUCTION("419C107F", uqrshrn(h1, s2, 16)); 3816 TEST_INSTRUCTION("419C207F", uqrshrn(s1, d2, 32)); 3817 TEST_INSTRUCTION("419C082F", uqrshrn(v1.b8(), v2.h8(), 8)); 3818 TEST_INSTRUCTION("419C102F", uqrshrn(v1.h4(), v2.s4(), 16)); 3819 TEST_INSTRUCTION("419C202F", uqrshrn(v1.s2(), v2.d2(), 32)); 3820 TEST_INSTRUCTION("419C086F", uqrshrn2(v1.b16(), v2.h8(), 8)); 3821 TEST_INSTRUCTION("419C106F", uqrshrn2(v1.h8(), v2.s4(), 16)); 3822 TEST_INSTRUCTION("419C206F", uqrshrn2(v1.s4(), v2.d2(), 32)); 3823 TEST_INSTRUCTION("4174097F", uqshl(b1, b2, 1)); 3824 TEST_INSTRUCTION("4174127F", uqshl(h1, h2, 2)); 3825 TEST_INSTRUCTION("4174237F", uqshl(s1, s2, 3)); 3826 TEST_INSTRUCTION("41740F2F", uqshl(v1.b8(), v2.b8(), 7)); 3827 TEST_INSTRUCTION("41741F2F", uqshl(v1.h4(), v2.h4(), 15)); 3828 TEST_INSTRUCTION("41743F2F", uqshl(v1.s2(), v2.s2(), 31)); 3829 TEST_INSTRUCTION("41747F7F", uqshl(d1, d2, 63)); 3830 TEST_INSTRUCTION("41740F6F", uqshl(v1.b16(), v2.b16(), 7)); 3831 TEST_INSTRUCTION("41741F6F", uqshl(v1.h8(), v2.h8(), 15)); 3832 TEST_INSTRUCTION("41743F6F", uqshl(v1.s4(), v2.s4(), 31)); 3833 TEST_INSTRUCTION("41747F6F", uqshl(v1.d2(), v2.d2(), 63)); 3834 TEST_INSTRUCTION("414C237E", uqshl(b1, b2, b3)); 3835 TEST_INSTRUCTION("414C637E", uqshl(h1, h2, h3)); 3836 TEST_INSTRUCTION("414CA37E", uqshl(s1, s2, s3)); 3837 TEST_INSTRUCTION("414C232E", uqshl(v1.b8(), v2.b8(), v3.b8())); 3838 TEST_INSTRUCTION("414C632E", uqshl(v1.h4(), v2.h4(), v3.h4())); 3839 TEST_INSTRUCTION("414CA32E", uqshl(v1.s2(), v2.s2(), v3.s2())); 3840 TEST_INSTRUCTION("414CE37E", uqshl(d1, d2, d3)); 3841 TEST_INSTRUCTION("414C236E", uqshl(v1.b16(), v2.b16(), v3.b16())); 3842 TEST_INSTRUCTION("414C636E", uqshl(v1.h8(), v2.h8(), v3.h8())); 3843 TEST_INSTRUCTION("414CA36E", uqshl(v1.s4(), v2.s4(), v3.s4())); 3844 TEST_INSTRUCTION("414CE36E", uqshl(v1.d2(), v2.d2(), v3.d2())); 3845 TEST_INSTRUCTION("4194087F", uqshrn(b1, h2, 8)); 3846 TEST_INSTRUCTION("4194107F", uqshrn(h1, s2, 16)); 3847 TEST_INSTRUCTION("4194207F", uqshrn(s1, d2, 32)); 3848 TEST_INSTRUCTION("4194082F", uqshrn(v1.b8(), v2.h8(), 8)); 3849 TEST_INSTRUCTION("4194102F", uqshrn(v1.h4(), v2.s4(), 16)); 3850 TEST_INSTRUCTION("4194202F", uqshrn(v1.s2(), v2.d2(), 32)); 3851 TEST_INSTRUCTION("4194086F", uqshrn2(v1.b16(), v2.h8(), 8)); 3852 TEST_INSTRUCTION("4194106F", uqshrn2(v1.h8(), v2.s4(), 16)); 3853 TEST_INSTRUCTION("4194206F", uqshrn2(v1.s4(), v2.d2(), 32)); 3854 TEST_INSTRUCTION("412C237E", uqsub(b1, b2, b3)); 3855 TEST_INSTRUCTION("412C637E", uqsub(h1, h2, h3)); 3856 TEST_INSTRUCTION("412CA37E", uqsub(s1, s2, s3)); 3857 TEST_INSTRUCTION("412CE37E", uqsub(d1, d2, d3)); 3858 TEST_INSTRUCTION("412C232E", uqsub(v1.b8(), v2.b8(), v3.b8())); 3859 TEST_INSTRUCTION("412C632E", uqsub(v1.h4(), v2.h4(), v3.h4())); 3860 TEST_INSTRUCTION("412CA32E", uqsub(v1.s2(), v2.s2(), v3.s2())); 3861 TEST_INSTRUCTION("412C236E", uqsub(v1.b16(), v2.b16(), v3.b16())); 3862 TEST_INSTRUCTION("412C636E", uqsub(v1.h8(), v2.h8(), v3.h8())); 3863 TEST_INSTRUCTION("412CA36E", uqsub(v1.s4(), v2.s4(), v3.s4())); 3864 TEST_INSTRUCTION("412CE36E", uqsub(v1.d2(), v2.d2(), v3.d2())); 3865 TEST_INSTRUCTION("4148217E", uqxtn(b1, h2)); 3866 TEST_INSTRUCTION("4148617E", uqxtn(h1, s2)); 3867 TEST_INSTRUCTION("4148A17E", uqxtn(s1, d2)); 3868 TEST_INSTRUCTION("4148212E", uqxtn(v1.b8(), v2.h8())); 3869 TEST_INSTRUCTION("4148612E", uqxtn(v1.h4(), v2.s4())); 3870 TEST_INSTRUCTION("4148A12E", uqxtn(v1.s2(), v2.d2())); 3871 TEST_INSTRUCTION("4148216E", uqxtn2(v1.b16(), v2.h8())); 3872 TEST_INSTRUCTION("4148616E", uqxtn2(v1.h8(), v2.s4())); 3873 TEST_INSTRUCTION("4148A16E", uqxtn2(v1.s4(), v2.d2())); 3874 TEST_INSTRUCTION("41C8A10E", urecpe(v1.s2(), v2.s2())); 3875 TEST_INSTRUCTION("41C8A14E", urecpe(v1.s4(), v2.s4())); 3876 TEST_INSTRUCTION("4114232E", urhadd(v1.b8(), v2.b8(), v3.b8())); 3877 TEST_INSTRUCTION("4114632E", urhadd(v1.h4(), v2.h4(), v3.h4())); 3878 TEST_INSTRUCTION("4114A32E", urhadd(v1.s2(), v2.s2(), v3.s2())); 3879 TEST_INSTRUCTION("4114236E", urhadd(v1.b16(), v2.b16(), v3.b16())); 3880 TEST_INSTRUCTION("4114636E", urhadd(v1.h8(), v2.h8(), v3.h8())); 3881 TEST_INSTRUCTION("4114A36E", urhadd(v1.s4(), v2.s4(), v3.s4())); 3882 TEST_INSTRUCTION("4154232E", urshl(v1.b8(), v2.b8(), v3.b8())); 3883 TEST_INSTRUCTION("4154632E", urshl(v1.h4(), v2.h4(), v3.h4())); 3884 TEST_INSTRUCTION("4154A32E", urshl(v1.s2(), v2.s2(), v3.s2())); 3885 TEST_INSTRUCTION("4154E37E", urshl(d1, d2, d3)); 3886 TEST_INSTRUCTION("4154236E", urshl(v1.b16(), v2.b16(), v3.b16())); 3887 TEST_INSTRUCTION("4154636E", urshl(v1.h8(), v2.h8(), v3.h8())); 3888 TEST_INSTRUCTION("4154A36E", urshl(v1.s4(), v2.s4(), v3.s4())); 3889 TEST_INSTRUCTION("4154E36E", urshl(v1.d2(), v2.d2(), v3.d2())); 3890 TEST_INSTRUCTION("4124092F", urshr(v1.b8(), v2.b8(), 7)); 3891 TEST_INSTRUCTION("4124112F", urshr(v1.h4(), v2.h4(), 15)); 3892 TEST_INSTRUCTION("4124212F", urshr(v1.s2(), v2.s2(), 31)); 3893 TEST_INSTRUCTION("4124417F", urshr(d1, d2, 63)); 3894 TEST_INSTRUCTION("4124096F", urshr(v1.b16(), v2.b16(), 7)); 3895 TEST_INSTRUCTION("4124116F", urshr(v1.h8(), v2.h8(), 15)); 3896 TEST_INSTRUCTION("4124216F", urshr(v1.s4(), v2.s4(), 31)); 3897 TEST_INSTRUCTION("4124416F", urshr(v1.d2(), v2.d2(), 63)); 3898 TEST_INSTRUCTION("41C8A12E", ursqrte(v1.s2(), v2.s2())); 3899 TEST_INSTRUCTION("41C8A16E", ursqrte(v1.s4(), v2.s4())); 3900 TEST_INSTRUCTION("4134092F", ursra(v1.b8(), v2.b8(), 7)); 3901 TEST_INSTRUCTION("4134112F", ursra(v1.h4(), v2.h4(), 15)); 3902 TEST_INSTRUCTION("4134212F", ursra(v1.s2(), v2.s2(), 31)); 3903 TEST_INSTRUCTION("4134417F", ursra(d1, d2, 63)); 3904 TEST_INSTRUCTION("4134096F", ursra(v1.b16(), v2.b16(), 7)); 3905 TEST_INSTRUCTION("4134116F", ursra(v1.h8(), v2.h8(), 15)); 3906 TEST_INSTRUCTION("4134216F", ursra(v1.s4(), v2.s4(), 31)); 3907 TEST_INSTRUCTION("4134416F", ursra(v1.d2(), v2.d2(), 63)); 3908 TEST_INSTRUCTION("419C830E", usdot(v1.s2(), v2.b8(), v3.b8())); 3909 TEST_INSTRUCTION("419C834E", usdot(v1.s4(), v2.b16(), v3.b16())); 3910 TEST_INSTRUCTION("41F0830F", usdot(v1.s2(), v2.b8(), v3.b4(0))); 3911 TEST_INSTRUCTION("41F0A30F", usdot(v1.s2(), v2.b8(), v3.b4(1))); 3912 TEST_INSTRUCTION("41F8830F", usdot(v1.s2(), v2.b8(), v3.b4(2))); 3913 TEST_INSTRUCTION("41F8A30F", usdot(v1.s2(), v2.b8(), v3.b4(3))); 3914 TEST_INSTRUCTION("41F0834F", usdot(v1.s4(), v2.b16(), v3.b4(0))); 3915 TEST_INSTRUCTION("41F0A34F", usdot(v1.s4(), v2.b16(), v3.b4(1))); 3916 TEST_INSTRUCTION("41F8834F", usdot(v1.s4(), v2.b16(), v3.b4(2))); 3917 TEST_INSTRUCTION("41F8A34F", usdot(v1.s4(), v2.b16(), v3.b4(3))); 3918 TEST_INSTRUCTION("4144232E", ushl(v1.b8(), v2.b8(), v3.b8())); 3919 TEST_INSTRUCTION("4144632E", ushl(v1.h4(), v2.h4(), v3.h4())); 3920 TEST_INSTRUCTION("4144A32E", ushl(v1.s2(), v2.s2(), v3.s2())); 3921 TEST_INSTRUCTION("4144E37E", ushl(d1, d2, d3)); 3922 TEST_INSTRUCTION("4144236E", ushl(v1.b16(), v2.b16(), v3.b16())); 3923 TEST_INSTRUCTION("4144636E", ushl(v1.h8(), v2.h8(), v3.h8())); 3924 TEST_INSTRUCTION("4144A36E", ushl(v1.s4(), v2.s4(), v3.s4())); 3925 TEST_INSTRUCTION("4144E36E", ushl(v1.d2(), v2.d2(), v3.d2())); 3926 TEST_INSTRUCTION("41A40F2F", ushll(v1.h8(), v2.b8(), 7)); 3927 TEST_INSTRUCTION("41A41F2F", ushll(v1.s4(), v2.h4(), 15)); 3928 TEST_INSTRUCTION("41A43F2F", ushll(v1.d2(), v2.s2(), 31)); 3929 TEST_INSTRUCTION("41A40F6F", ushll2(v1.h8(), v2.b16(), 7)); 3930 TEST_INSTRUCTION("41A41F6F", ushll2(v1.s4(), v2.h8(), 15)); 3931 TEST_INSTRUCTION("41A43F6F", ushll2(v1.s2(), v2.s4(), 31)); 3932 TEST_INSTRUCTION("4104092F", ushr(v1.b8(), v2.b8(), 7)); 3933 TEST_INSTRUCTION("4104112F", ushr(v1.h4(), v2.h4(), 15)); 3934 TEST_INSTRUCTION("4104212F", ushr(v1.s2(), v2.s2(), 31)); 3935 TEST_INSTRUCTION("4104417F", ushr(d1, d2, 63)); 3936 TEST_INSTRUCTION("4104096F", ushr(v1.b16(), v2.b16(), 7)); 3937 TEST_INSTRUCTION("4104116F", ushr(v1.h8(), v2.h8(), 15)); 3938 TEST_INSTRUCTION("4104216F", ushr(v1.s4(), v2.s4(), 31)); 3939 TEST_INSTRUCTION("4104416F", ushr(v1.d2(), v2.d2(), 63)); 3940 TEST_INSTRUCTION("41AC834E", usmmla(v1.s4(), v2.b16(), v3.b16())); 3941 TEST_INSTRUCTION("4138207E", usqadd(b1, b2)); 3942 TEST_INSTRUCTION("4138607E", usqadd(h1, h2)); 3943 TEST_INSTRUCTION("4138A07E", usqadd(s1, s2)); 3944 TEST_INSTRUCTION("4138E07E", usqadd(d1, d2)); 3945 TEST_INSTRUCTION("4138202E", usqadd(v1.b8(), v2.b8())); 3946 TEST_INSTRUCTION("4138602E", usqadd(v1.h4(), v2.h4())); 3947 TEST_INSTRUCTION("4138A02E", usqadd(v1.s2(), v2.s2())); 3948 TEST_INSTRUCTION("4138206E", usqadd(v1.b16(), v2.b16())); 3949 TEST_INSTRUCTION("4138606E", usqadd(v1.h8(), v2.h8())); 3950 TEST_INSTRUCTION("4138A06E", usqadd(v1.s4(), v2.s4())); 3951 TEST_INSTRUCTION("4138E06E", usqadd(v1.d2(), v2.d2())); 3952 TEST_INSTRUCTION("4114092F", usra(v1.b8(), v2.b8(), 7)); 3953 TEST_INSTRUCTION("4114112F", usra(v1.h4(), v2.h4(), 15)); 3954 TEST_INSTRUCTION("4114212F", usra(v1.s2(), v2.s2(), 31)); 3955 TEST_INSTRUCTION("4114417F", usra(d1, d2, 63)); 3956 TEST_INSTRUCTION("4114096F", usra(v1.b16(), v2.b16(), 7)); 3957 TEST_INSTRUCTION("4114116F", usra(v1.h8(), v2.h8(), 15)); 3958 TEST_INSTRUCTION("4114216F", usra(v1.s4(), v2.s4(), 31)); 3959 TEST_INSTRUCTION("4114416F", usra(v1.d2(), v2.d2(), 63)); 3960 TEST_INSTRUCTION("4120232E", usubl(v1.h8(), v2.b8(), v3.b8())); 3961 TEST_INSTRUCTION("4120632E", usubl(v1.s4(), v2.h4(), v3.h4())); 3962 TEST_INSTRUCTION("4120A32E", usubl(v1.d2(), v2.s2(), v3.s2())); 3963 TEST_INSTRUCTION("4120236E", usubl2(v1.h8(), v2.b16(), v3.b16())); 3964 TEST_INSTRUCTION("4120636E", usubl2(v1.s4(), v2.h8(), v3.h8())); 3965 TEST_INSTRUCTION("4120A36E", usubl2(v1.d2(), v2.s4(), v3.s4())); 3966 TEST_INSTRUCTION("4130232E", usubw(v1.h8(), v2.h8(), v3.b8())); 3967 TEST_INSTRUCTION("4130632E", usubw(v1.s4(), v2.s4(), v3.h4())); 3968 TEST_INSTRUCTION("4130A32E", usubw(v1.d2(), v2.d2(), v3.s2())); 3969 TEST_INSTRUCTION("4130236E", usubw2(v1.h8(), v2.h8(), v3.b16())); 3970 TEST_INSTRUCTION("4130636E", usubw2(v1.s4(), v2.s4(), v3.h8())); 3971 TEST_INSTRUCTION("4130A36E", usubw2(v1.d2(), v2.d2(), v3.s4())); 3972 TEST_INSTRUCTION("41A4082F", uxtl(v1.h8(), v2.b8())); 3973 TEST_INSTRUCTION("41A4102F", uxtl(v1.s4(), v2.h4())); 3974 TEST_INSTRUCTION("41A4202F", uxtl(v1.d2(), v2.s2())); 3975 TEST_INSTRUCTION("41A4086F", uxtl2(v1.h8(), v2.b16())); 3976 TEST_INSTRUCTION("41A4106F", uxtl2(v1.s4(), v2.h8())); 3977 TEST_INSTRUCTION("41A4206F", uxtl2(v1.d2(), v2.s4())); 3978 TEST_INSTRUCTION("4118030E", uzp1(v1.b8(), v2.b8(), v3.b8())); 3979 TEST_INSTRUCTION("4118430E", uzp1(v1.h4(), v2.h4(), v3.h4())); 3980 TEST_INSTRUCTION("4118830E", uzp1(v1.s2(), v2.s2(), v3.s2())); 3981 TEST_INSTRUCTION("4118034E", uzp1(v1.b16(), v2.b16(), v3.b16())); 3982 TEST_INSTRUCTION("4118434E", uzp1(v1.h8(), v2.h8(), v3.h8())); 3983 TEST_INSTRUCTION("4118834E", uzp1(v1.s4(), v2.s4(), v3.s4())); 3984 TEST_INSTRUCTION("4118C34E", uzp1(v1.d2(), v2.d2(), v3.d2())); 3985 TEST_INSTRUCTION("4158030E", uzp2(v1.b8(), v2.b8(), v3.b8())); 3986 TEST_INSTRUCTION("4158430E", uzp2(v1.h4(), v2.h4(), v3.h4())); 3987 TEST_INSTRUCTION("4158830E", uzp2(v1.s2(), v2.s2(), v3.s2())); 3988 TEST_INSTRUCTION("4158034E", uzp2(v1.b16(), v2.b16(), v3.b16())); 3989 TEST_INSTRUCTION("4158434E", uzp2(v1.h8(), v2.h8(), v3.h8())); 3990 TEST_INSTRUCTION("4158834E", uzp2(v1.s4(), v2.s4(), v3.s4())); 3991 TEST_INSTRUCTION("4158C34E", uzp2(v1.d2(), v2.d2(), v3.d2())); 3992 TEST_INSTRUCTION("4128210E", xtn(v1.b8(), v2.h8())); 3993 TEST_INSTRUCTION("4128610E", xtn(v1.h4(), v2.s4())); 3994 TEST_INSTRUCTION("4128A10E", xtn(v1.s2(), v2.d2())); 3995 TEST_INSTRUCTION("4128214E", xtn2(v1.b16(), v2.h8())); 3996 TEST_INSTRUCTION("4128614E", xtn2(v1.h8(), v2.s4())); 3997 TEST_INSTRUCTION("4128A14E", xtn2(v1.s4(), v2.d2())); 3998 TEST_INSTRUCTION("4138030E", zip1(v1.b8(), v2.b8(), v3.b8())); 3999 TEST_INSTRUCTION("4138430E", zip1(v1.h4(), v2.h4(), v3.h4())); 4000 TEST_INSTRUCTION("4138830E", zip1(v1.s2(), v2.s2(), v3.s2())); 4001 TEST_INSTRUCTION("4138034E", zip1(v1.b16(), v2.b16(), v3.b16())); 4002 TEST_INSTRUCTION("4138434E", zip1(v1.h8(), v2.h8(), v3.h8())); 4003 TEST_INSTRUCTION("4138834E", zip1(v1.s4(), v2.s4(), v3.s4())); 4004 TEST_INSTRUCTION("4138C34E", zip1(v1.d2(), v2.d2(), v3.d2())); 4005 TEST_INSTRUCTION("4178030E", zip2(v1.b8(), v2.b8(), v3.b8())); 4006 TEST_INSTRUCTION("4178430E", zip2(v1.h4(), v2.h4(), v3.h4())); 4007 TEST_INSTRUCTION("4178830E", zip2(v1.s2(), v2.s2(), v3.s2())); 4008 TEST_INSTRUCTION("4178034E", zip2(v1.b16(), v2.b16(), v3.b16())); 4009 TEST_INSTRUCTION("4178434E", zip2(v1.h8(), v2.h8(), v3.h8())); 4010 TEST_INSTRUCTION("4178834E", zip2(v1.s4(), v2.s4(), v3.s4())); 4011 TEST_INSTRUCTION("4178C34E", zip2(v1.d2(), v2.d2(), v3.d2())); 4012 } 4013 4014 static void ASMJIT_NOINLINE test_aarch64_assembler_extra(AssemblerTester<a64::Assembler>& tester) noexcept { 4015 using namespace a64; 4016 4017 // AsmJit additions - AArch64 assembler accepts variety of immediates in 4018 // MOVI instruction that it encodes by changing the size of its operands. 4019 TEST_INSTRUCTION("C1E7074F", movi(v1.b16(), 0xFE)); 4020 TEST_INSTRUCTION("C1E7074F", movi(v1.h8(), 0xFEFE)); 4021 TEST_INSTRUCTION("C1E7074F", movi(v1.s4(), 0xFEFEFEFE)); 4022 TEST_INSTRUCTION("C1E7074F", movi(v1.d2(), 0xFEFEFEFEFEFEFEFE)); 4023 TEST_INSTRUCTION("C1A7074F", movi(v1.h8(), 0xFE, lsl(8))); 4024 TEST_INSTRUCTION("C1A7074F", movi(v1.h8(), 0xFE00)); 4025 TEST_INSTRUCTION("C1A7074F", movi(v1.s4(), 0xFE00FE00)); 4026 TEST_INSTRUCTION("C1A7074F", movi(v1.d2(), 0xFE00FE00FE00FE00)); 4027 TEST_INSTRUCTION("C147074F", movi(v1.s4(), 0xFE, lsl(16))); 4028 TEST_INSTRUCTION("C147074F", movi(v1.s4(), 0x00FE0000)); 4029 TEST_INSTRUCTION("C147074F", movi(v1.d2(), 0x00FE000000FE0000)); 4030 TEST_INSTRUCTION("C167074F", movi(v1.s4(), 0xFE, lsl(24))); 4031 TEST_INSTRUCTION("C167074F", movi(v1.s4(), 0xFE000000)); 4032 TEST_INSTRUCTION("C167074F", movi(v1.d2(), 0xFE000000FE000000)); 4033 } 4034 4035 bool test_aarch64_assembler(const TestSettings& settings) noexcept { 4036 using namespace a64; 4037 4038 AssemblerTester<Assembler> tester(Arch::kAArch64, settings); 4039 tester.print_header("AArch64"); 4040 4041 test_aarch64_assembler_base(tester); 4042 test_aarch64_assembler_rel(tester); 4043 test_aarch64_assembler_simd(tester); 4044 test_aarch64_assembler_extra(tester); 4045 4046 tester.print_summary(); 4047 return tester.did_pass(); 4048 } 4049 4050 #undef TEST_INSTRUCTION 4051 4052 #endif // !ASMJIT_NO_AARCH64