1 # RUN: llvm-mc -triple=aarch64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s 2 # RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8 -disassemble < %s | FileCheck %s 3 # RUN: llvm-mc -triple=arm64 -mattr=+fp-armv8,+fullfp16 -disassemble < %s | FileCheck %s --check-prefix=CHECK --check-prefix=FP16 4 # RUN: llvm-mc -triple=arm64 -mattr=+v8.3a -disassemble < %s | FileCheck %s --check-prefix=CHECK-V83 5 6 #------------------------------------------------------------------------------ 7 # Add/sub (immediate) 8 #------------------------------------------------------------------------------ 9 # CHECK: add w4, w5, #0 10 # CHECK: add w2, w3, #4095 11 # CHECK: add w30, w29, #1, lsl #12 12 # CHECK: add w13, w5, #4095, lsl #12 13 # CHECK: add x5, x7, #1638 14 0xa4 0x0 0x0 0x11 15 0x62 0xfc 0x3f 0x11 16 0xbe 0x7 0x40 0x11 17 0xad 0xfc 0x7f 0x11 18 0xe5 0x98 0x19 0x91 19 20 # CHECK: add w20, wsp, #801 21 # CHECK: add wsp, wsp, #1104 22 # CHECK: add wsp, w30, #4084 23 0xf4 0x87 0xc 0x11 24 0xff 0x43 0x11 0x11 25 0xdf 0xd3 0x3f 0x11 26 27 # CHECK: add x0, x24, #291 28 # CHECK: add x3, x24, #4095, lsl #12 29 # CHECK: add x8, sp, #1074 30 # CHECK: add sp, x29, #3816 31 0x0 0x8f 0x4 0x91 32 0x3 0xff 0x7f 0x91 33 0xe8 0xcb 0x10 0x91 34 0xbf 0xa3 0x3b 0x91 35 36 # CHECK: sub w0, wsp, #4077 37 # CHECK: sub w4, w20, #546, lsl #12 38 # CHECK: sub sp, sp, #288 39 # CHECK: sub wsp, w19, #16 40 0xe0 0xb7 0x3f 0x51 41 0x84 0x8a 0x48 0x51 42 0xff 0x83 0x4 0xd1 43 0x7f 0x42 0x0 0x51 44 45 46 # CHECK: adds w13, w23, #291, lsl #12 47 # CHECK: cmn w2, #4095 48 # CHECK: adds w20, wsp, #0 49 # CHECK: cmn x3, #1, lsl #12 50 0xed 0x8e 0x44 0x31 51 0x5f 0xfc 0x3f 0x31 52 0xf4 0x3 0x0 0x31 53 0x7f 0x4 0x40 0xb1 54 55 # CHECK: cmp sp, #20, lsl #12 56 # CHECK: cmp x30, #4095 57 # CHECK: subs x4, sp, #3822 58 0xff 0x53 0x40 0xf1 59 0xdf 0xff 0x3f 0xf1 60 0xe4 0xbb 0x3b 0xf1 61 62 # These should really be CMN 63 # CHECK: cmn w3, #291, lsl #12 64 # CHECK: cmn wsp, #1365 65 # CHECK: cmn sp, #1092, lsl #12 66 0x7f 0x8c 0x44 0x31 67 0xff 0x57 0x15 0x31 68 0xff 0x13 0x51 0xb1 69 70 # CHECK: mov sp, x30 71 # CHECK: mov wsp, w20 72 # CHECK: mov x11, sp 73 # CHECK: mov w24, wsp 74 0xdf 0x3 0x0 0x91 75 0x9f 0x2 0x0 0x11 76 0xeb 0x3 0x0 0x91 77 0xf8 0x3 0x0 0x11 78 79 #------------------------------------------------------------------------------ 80 # Add-subtract (shifted register) 81 #------------------------------------------------------------------------------ 82 83 # CHECK: add w3, w5, w7 84 # CHECK: add wzr, w3, w5 85 # CHECK: add w20, wzr, w4 86 # CHECK: add w4, w6, wzr 87 # CHECK: add w11, w13, w15 88 # CHECK: add w9, w3, wzr, lsl #10 89 # CHECK: add w17, w29, w20, lsl #31 90 # CHECK: add w21, w22, w23, lsr #0 91 # CHECK: add w24, w25, w26, lsr #18 92 # CHECK: add w27, w28, w29, lsr #31 93 # CHECK: add w2, w3, w4, asr #0 94 # CHECK: add w5, w6, w7, asr #21 95 # CHECK: add w8, w9, w10, asr #31 96 0xa3 0x0 0x7 0xb 97 0x7f 0x0 0x5 0xb 98 0xf4 0x3 0x4 0xb 99 0xc4 0x0 0x1f 0xb 100 0xab 0x1 0xf 0xb 101 0x69 0x28 0x1f 0xb 102 0xb1 0x7f 0x14 0xb 103 0xd5 0x2 0x57 0xb 104 0x38 0x4b 0x5a 0xb 105 0x9b 0x7f 0x5d 0xb 106 0x62 0x0 0x84 0xb 107 0xc5 0x54 0x87 0xb 108 0x28 0x7d 0x8a 0xb 109 110 # CHECK: add x3, x5, x7 111 # CHECK: add xzr, x3, x5 112 # CHECK: add x20, xzr, x4 113 # CHECK: add x4, x6, xzr 114 # CHECK: add x11, x13, x15 115 # CHECK: add x9, x3, xzr, lsl #10 116 # CHECK: add x17, x29, x20, lsl #63 117 # CHECK: add x21, x22, x23, lsr #0 118 # CHECK: add x24, x25, x26, lsr #18 119 # CHECK: add x27, x28, x29, lsr #63 120 # CHECK: add x2, x3, x4, asr #0 121 # CHECK: add x5, x6, x7, asr #21 122 # CHECK: add x8, x9, x10, asr #63 123 0xa3 0x0 0x7 0x8b 124 0x7f 0x0 0x5 0x8b 125 0xf4 0x3 0x4 0x8b 126 0xc4 0x0 0x1f 0x8b 127 0xab 0x1 0xf 0x8b 128 0x69 0x28 0x1f 0x8b 129 0xb1 0xff 0x14 0x8b 130 0xd5 0x2 0x57 0x8b 131 0x38 0x4b 0x5a 0x8b 132 0x9b 0xff 0x5d 0x8b 133 0x62 0x0 0x84 0x8b 134 0xc5 0x54 0x87 0x8b 135 0x28 0xfd 0x8a 0x8b 136 137 # CHECK: adds w3, w5, w7 138 # CHECK: cmn w3, w5 139 # CHECK: adds w20, wzr, w4 140 # CHECK: adds w4, w6, wzr 141 # CHECK: adds w11, w13, w15 142 # CHECK: adds w9, w3, wzr, lsl #10 143 # CHECK: adds w17, w29, w20, lsl #31 144 # CHECK: adds w21, w22, w23, lsr #0 145 # CHECK: adds w24, w25, w26, lsr #18 146 # CHECK: adds w27, w28, w29, lsr #31 147 # CHECK: adds w2, w3, w4, asr #0 148 # CHECK: adds w5, w6, w7, asr #21 149 # CHECK: adds w8, w9, w10, asr #31 150 0xa3 0x0 0x7 0x2b 151 0x7f 0x0 0x5 0x2b 152 0xf4 0x3 0x4 0x2b 153 0xc4 0x0 0x1f 0x2b 154 0xab 0x1 0xf 0x2b 155 0x69 0x28 0x1f 0x2b 156 0xb1 0x7f 0x14 0x2b 157 0xd5 0x2 0x57 0x2b 158 0x38 0x4b 0x5a 0x2b 159 0x9b 0x7f 0x5d 0x2b 160 0x62 0x0 0x84 0x2b 161 0xc5 0x54 0x87 0x2b 162 0x28 0x7d 0x8a 0x2b 163 164 # CHECK: adds x3, x5, x7 165 # CHECK: cmn x3, x5 166 # CHECK: adds x20, xzr, x4 167 # CHECK: adds x4, x6, xzr 168 # CHECK: adds x11, x13, x15 169 # CHECK: adds x9, x3, xzr, lsl #10 170 # CHECK: adds x17, x29, x20, lsl #63 171 # CHECK: adds x21, x22, x23, lsr #0 172 # CHECK: adds x24, x25, x26, lsr #18 173 # CHECK: adds x27, x28, x29, lsr #63 174 # CHECK: adds x2, x3, x4, asr #0 175 # CHECK: adds x5, x6, x7, asr #21 176 # CHECK: adds x8, x9, x10, asr #63 177 0xa3 0x0 0x7 0xab 178 0x7f 0x0 0x5 0xab 179 0xf4 0x3 0x4 0xab 180 0xc4 0x0 0x1f 0xab 181 0xab 0x1 0xf 0xab 182 0x69 0x28 0x1f 0xab 183 0xb1 0xff 0x14 0xab 184 0xd5 0x2 0x57 0xab 185 0x38 0x4b 0x5a 0xab 186 0x9b 0xff 0x5d 0xab 187 0x62 0x0 0x84 0xab 188 0xc5 0x54 0x87 0xab 189 0x28 0xfd 0x8a 0xab 190 191 # CHECK: sub w3, w5, w7 192 # CHECK: sub wzr, w3, w5 193 # CHECK: {{sub w20, wzr, w4|neg w20, w4}} 194 # CHECK: sub w4, w6, wzr 195 # CHECK: sub w11, w13, w15 196 # CHECK: sub w9, w3, wzr, lsl #10 197 # CHECK: sub w17, w29, w20, lsl #31 198 # CHECK: sub w21, w22, w23, lsr #0 199 # CHECK: sub w24, w25, w26, lsr #18 200 # CHECK: sub w27, w28, w29, lsr #31 201 # CHECK: sub w2, w3, w4, asr #0 202 # CHECK: sub w5, w6, w7, asr #21 203 # CHECK: sub w8, w9, w10, asr #31 204 0xa3 0x0 0x7 0x4b 205 0x7f 0x0 0x5 0x4b 206 0xf4 0x3 0x4 0x4b 207 0xc4 0x0 0x1f 0x4b 208 0xab 0x1 0xf 0x4b 209 0x69 0x28 0x1f 0x4b 210 0xb1 0x7f 0x14 0x4b 211 0xd5 0x2 0x57 0x4b 212 0x38 0x4b 0x5a 0x4b 213 0x9b 0x7f 0x5d 0x4b 214 0x62 0x0 0x84 0x4b 215 0xc5 0x54 0x87 0x4b 216 0x28 0x7d 0x8a 0x4b 217 218 # CHECK: sub x3, x5, x7 219 # CHECK: sub xzr, x3, x5 220 # CHECK: {{sub x20, xzr, x4|neg x20, x4}} 221 # CHECK: sub x4, x6, xzr 222 # CHECK: sub x11, x13, x15 223 # CHECK: sub x9, x3, xzr, lsl #10 224 # CHECK: sub x17, x29, x20, lsl #63 225 # CHECK: sub x21, x22, x23, lsr #0 226 # CHECK: sub x24, x25, x26, lsr #18 227 # CHECK: sub x27, x28, x29, lsr #63 228 # CHECK: sub x2, x3, x4, asr #0 229 # CHECK: sub x5, x6, x7, asr #21 230 # CHECK: sub x8, x9, x10, asr #63 231 0xa3 0x0 0x7 0xcb 232 0x7f 0x0 0x5 0xcb 233 0xf4 0x3 0x4 0xcb 234 0xc4 0x0 0x1f 0xcb 235 0xab 0x1 0xf 0xcb 236 0x69 0x28 0x1f 0xcb 237 0xb1 0xff 0x14 0xcb 238 0xd5 0x2 0x57 0xcb 239 0x38 0x4b 0x5a 0xcb 240 0x9b 0xff 0x5d 0xcb 241 0x62 0x0 0x84 0xcb 242 0xc5 0x54 0x87 0xcb 243 0x28 0xfd 0x8a 0xcb 244 245 # CHECK: subs w3, w5, w7 246 # CHECK: cmp w3, w5 247 # CHECK: {{subs w20, wzr, w4|negs w20, w4}} 248 # CHECK: subs w4, w6, wzr 249 # CHECK: subs w11, w13, w15 250 # CHECK: subs w9, w3, wzr, lsl #10 251 # CHECK: subs w17, w29, w20, lsl #31 252 # CHECK: subs w21, w22, w23, lsr #0 253 # CHECK: subs w24, w25, w26, lsr #18 254 # CHECK: subs w27, w28, w29, lsr #31 255 # CHECK: subs w2, w3, w4, asr #0 256 # CHECK: subs w5, w6, w7, asr #21 257 # CHECK: subs w8, w9, w10, asr #31 258 0xa3 0x0 0x7 0x6b 259 0x7f 0x0 0x5 0x6b 260 0xf4 0x3 0x4 0x6b 261 0xc4 0x0 0x1f 0x6b 262 0xab 0x1 0xf 0x6b 263 0x69 0x28 0x1f 0x6b 264 0xb1 0x7f 0x14 0x6b 265 0xd5 0x2 0x57 0x6b 266 0x38 0x4b 0x5a 0x6b 267 0x9b 0x7f 0x5d 0x6b 268 0x62 0x0 0x84 0x6b 269 0xc5 0x54 0x87 0x6b 270 0x28 0x7d 0x8a 0x6b 271 272 # CHECK: subs x3, x5, x7 273 # CHECK: cmp x3, x5 274 # CHECK: {{subs x20, xzr, x4|negs x20, x4}} 275 # CHECK: subs x4, x6, xzr 276 # CHECK: subs x11, x13, x15 277 # CHECK: subs x9, x3, xzr, lsl #10 278 # CHECK: subs x17, x29, x20, lsl #63 279 # CHECK: subs x21, x22, x23, lsr #0 280 # CHECK: subs x24, x25, x26, lsr #18 281 # CHECK: subs x27, x28, x29, lsr #63 282 # CHECK: subs x2, x3, x4, asr #0 283 # CHECK: subs x5, x6, x7, asr #21 284 # CHECK: subs x8, x9, x10, asr #63 285 0xa3 0x0 0x7 0xeb 286 0x7f 0x0 0x5 0xeb 287 0xf4 0x3 0x4 0xeb 288 0xc4 0x0 0x1f 0xeb 289 0xab 0x1 0xf 0xeb 290 0x69 0x28 0x1f 0xeb 291 0xb1 0xff 0x14 0xeb 292 0xd5 0x2 0x57 0xeb 293 0x38 0x4b 0x5a 0xeb 294 0x9b 0xff 0x5d 0xeb 295 0x62 0x0 0x84 0xeb 296 0xc5 0x54 0x87 0xeb 297 0x28 0xfd 0x8a 0xeb 298 299 # CHECK: cmn w0, w3 300 # CHECK: cmn wzr, w4 301 # CHECK: cmn w5, wzr 302 # CHECK: cmn w6, w7 303 # CHECK: cmn w8, w9, lsl #15 304 # CHECK: cmn w10, w11, lsl #31 305 # CHECK: cmn w12, w13, lsr #0 306 # CHECK: cmn w14, w15, lsr #21 307 # CHECK: cmn w16, w17, lsr #31 308 # CHECK: cmn w18, w19, asr #0 309 # CHECK: cmn w20, w21, asr #22 310 # CHECK: cmn w22, w23, asr #31 311 0x1f 0x0 0x3 0x2b 312 0xff 0x3 0x4 0x2b 313 0xbf 0x0 0x1f 0x2b 314 0xdf 0x0 0x7 0x2b 315 0x1f 0x3d 0x9 0x2b 316 0x5f 0x7d 0xb 0x2b 317 0x9f 0x1 0x4d 0x2b 318 0xdf 0x55 0x4f 0x2b 319 0x1f 0x7e 0x51 0x2b 320 0x5f 0x2 0x93 0x2b 321 0x9f 0x5a 0x95 0x2b 322 0xdf 0x7e 0x97 0x2b 323 324 # CHECK: cmn x0, x3 325 # CHECK: cmn xzr, x4 326 # CHECK: cmn x5, xzr 327 # CHECK: cmn x6, x7 328 # CHECK: cmn x8, x9, lsl #15 329 # CHECK: cmn x10, x11, lsl #63 330 # CHECK: cmn x12, x13, lsr #0 331 # CHECK: cmn x14, x15, lsr #41 332 # CHECK: cmn x16, x17, lsr #63 333 # CHECK: cmn x18, x19, asr #0 334 # CHECK: cmn x20, x21, asr #55 335 # CHECK: cmn x22, x23, asr #63 336 0x1f 0x0 0x3 0xab 337 0xff 0x3 0x4 0xab 338 0xbf 0x0 0x1f 0xab 339 0xdf 0x0 0x7 0xab 340 0x1f 0x3d 0x9 0xab 341 0x5f 0xfd 0xb 0xab 342 0x9f 0x1 0x4d 0xab 343 0xdf 0xa5 0x4f 0xab 344 0x1f 0xfe 0x51 0xab 345 0x5f 0x2 0x93 0xab 346 0x9f 0xde 0x95 0xab 347 0xdf 0xfe 0x97 0xab 348 349 # CHECK: cmp w0, w3 350 # CHECK: cmp wzr, w4 351 # CHECK: cmp w5, wzr 352 # CHECK: cmp w6, w7 353 # CHECK: cmp w8, w9, lsl #15 354 # CHECK: cmp w10, w11, lsl #31 355 # CHECK: cmp w12, w13, lsr #0 356 # CHECK: cmp w14, w15, lsr #21 357 # CHECK: cmp w16, w17, lsr #31 358 # CHECK: cmp w18, w19, asr #0 359 # CHECK: cmp w20, w21, asr #22 360 # CHECK: cmp w22, w23, asr #31 361 0x1f 0x0 0x3 0x6b 362 0xff 0x3 0x4 0x6b 363 0xbf 0x0 0x1f 0x6b 364 0xdf 0x0 0x7 0x6b 365 0x1f 0x3d 0x9 0x6b 366 0x5f 0x7d 0xb 0x6b 367 0x9f 0x1 0x4d 0x6b 368 0xdf 0x55 0x4f 0x6b 369 0x1f 0x7e 0x51 0x6b 370 0x5f 0x2 0x93 0x6b 371 0x9f 0x5a 0x95 0x6b 372 0xdf 0x7e 0x97 0x6b 373 374 # CHECK: cmp x0, x3 375 # CHECK: cmp xzr, x4 376 # CHECK: cmp x5, xzr 377 # CHECK: cmp x6, x7 378 # CHECK: cmp x8, x9, lsl #15 379 # CHECK: cmp x10, x11, lsl #63 380 # CHECK: cmp x12, x13, lsr #0 381 # CHECK: cmp x14, x15, lsr #41 382 # CHECK: cmp x16, x17, lsr #63 383 # CHECK: cmp x18, x19, asr #0 384 # CHECK: cmp x20, x21, asr #55 385 # CHECK: cmp x22, x23, asr #63 386 0x1f 0x0 0x3 0xeb 387 0xff 0x3 0x4 0xeb 388 0xbf 0x0 0x1f 0xeb 389 0xdf 0x0 0x7 0xeb 390 0x1f 0x3d 0x9 0xeb 391 0x5f 0xfd 0xb 0xeb 392 0x9f 0x1 0x4d 0xeb 393 0xdf 0xa5 0x4f 0xeb 394 0x1f 0xfe 0x51 0xeb 395 0x5f 0x2 0x93 0xeb 396 0x9f 0xde 0x95 0xeb 397 0xdf 0xfe 0x97 0xeb 398 399 # CHECK: {{sub w29, wzr|neg w29}}, w30 400 # CHECK: {{sub w30, wzr|neg w30}}, wzr 401 # CHECK: {{sub wzr, wzr|neg wzr}}, w0 402 # CHECK: {{sub w28, wzr|neg w28}}, w27 403 # CHECK: {{sub w26, wzr|neg w26}}, w25, lsl #29 404 # CHECK: {{sub w24, wzr|neg w24}}, w23, lsl #31 405 # CHECK: {{sub w22, wzr|neg w22}}, w21, lsr #0 406 # CHECK: {{sub w20, wzr|neg w20}}, w19, lsr #1 407 # CHECK: {{sub w18, wzr|neg w18}}, w17, lsr #31 408 # CHECK: {{sub w16, wzr|neg w16}}, w15, asr #0 409 # CHECK: {{sub w14, wzr|neg w14}}, w13, asr #12 410 # CHECK: {{sub w12, wzr|neg w12}}, w11, asr #31 411 0xfd 0x3 0x1e 0x4b 412 0xfe 0x3 0x1f 0x4b 413 0xff 0x3 0x0 0x4b 414 0xfc 0x3 0x1b 0x4b 415 0xfa 0x77 0x19 0x4b 416 0xf8 0x7f 0x17 0x4b 417 0xf6 0x3 0x55 0x4b 418 0xf4 0x7 0x53 0x4b 419 0xf2 0x7f 0x51 0x4b 420 0xf0 0x3 0x8f 0x4b 421 0xee 0x33 0x8d 0x4b 422 0xec 0x7f 0x8b 0x4b 423 424 # CHECK: {{sub x29, xzr|neg x29}}, x30 425 # CHECK: {{sub x30, xzr|neg x30}}, xzr 426 # CHECK: {{sub xzr, xzr|neg xzr}}, x0 427 # CHECK: {{sub x28, xzr|neg x28}}, x27 428 # CHECK: {{sub x26, xzr|neg x26}}, x25, lsl #29 429 # CHECK: {{sub x24, xzr|neg x24}}, x23, lsl #31 430 # CHECK: {{sub x22, xzr|neg x22}}, x21, lsr #0 431 # CHECK: {{sub x20, xzr|neg x20}}, x19, lsr #1 432 # CHECK: {{sub x18, xzr|neg x18}}, x17, lsr #31 433 # CHECK: {{sub x16, xzr|neg x16}}, x15, asr #0 434 # CHECK: {{sub x14, xzr|neg x14}}, x13, asr #12 435 # CHECK: {{sub x12, xzr|neg x12}}, x11, asr #31 436 0xfd 0x3 0x1e 0xcb 437 0xfe 0x3 0x1f 0xcb 438 0xff 0x3 0x0 0xcb 439 0xfc 0x3 0x1b 0xcb 440 0xfa 0x77 0x19 0xcb 441 0xf8 0x7f 0x17 0xcb 442 0xf6 0x3 0x55 0xcb 443 0xf4 0x7 0x53 0xcb 444 0xf2 0x7f 0x51 0xcb 445 0xf0 0x3 0x8f 0xcb 446 0xee 0x33 0x8d 0xcb 447 0xec 0x7f 0x8b 0xcb 448 449 # CHECK: {{subs w29, wzr|negs w29}}, w30 450 # CHECK: {{subs w30, wzr|negs w30}}, wzr 451 # CHECK: cmp wzr, w0 452 # CHECK: {{subs w28, wzr|negs w28}}, w27 453 # CHECK: {{subs w26, wzr|negs w26}}, w25, lsl #29 454 # CHECK: {{subs w24, wzr|negs w24}}, w23, lsl #31 455 # CHECK: {{subs w22, wzr|negs w22}}, w21, lsr #0 456 # CHECK: {{subs w20, wzr|negs w20}}, w19, lsr #1 457 # CHECK: {{subs w18, wzr|negs w18}}, w17, lsr #31 458 # CHECK: {{subs w16, wzr|negs w16}}, w15, asr #0 459 # CHECK: {{subs w14, wzr|negs w14}}, w13, asr #12 460 # CHECK: {{subs w12, wzr|negs w12}}, w11, asr #31 461 0xfd 0x3 0x1e 0x6b 462 0xfe 0x3 0x1f 0x6b 463 0xff 0x3 0x0 0x6b 464 0xfc 0x3 0x1b 0x6b 465 0xfa 0x77 0x19 0x6b 466 0xf8 0x7f 0x17 0x6b 467 0xf6 0x3 0x55 0x6b 468 0xf4 0x7 0x53 0x6b 469 0xf2 0x7f 0x51 0x6b 470 0xf0 0x3 0x8f 0x6b 471 0xee 0x33 0x8d 0x6b 472 0xec 0x7f 0x8b 0x6b 473 474 # CHECK: {{subs x29, xzr|negs x29}}, x30 475 # CHECK: {{subs x30, xzr|negs x30}}, xzr 476 # CHECK: cmp xzr, x0 477 # CHECK: {{subs x28, xzr|negs x28}}, x27 478 # CHECK: {{subs x26, xzr|negs x26}}, x25, lsl #29 479 # CHECK: {{subs x24, xzr|negs x24}}, x23, lsl #31 480 # CHECK: {{subs x22, xzr|negs x22}}, x21, lsr #0 481 # CHECK: {{subs x20, xzr|negs x20}}, x19, lsr #1 482 # CHECK: {{subs x18, xzr|negs x18}}, x17, lsr #31 483 # CHECK: {{subs x16, xzr|negs x16}}, x15, asr #0 484 # CHECK: {{subs x14, xzr|negs x14}}, x13, asr #12 485 # CHECK: {{subs x12, xzr|negs x12}}, x11, asr #31 486 0xfd 0x3 0x1e 0xeb 487 0xfe 0x3 0x1f 0xeb 488 0xff 0x3 0x0 0xeb 489 0xfc 0x3 0x1b 0xeb 490 0xfa 0x77 0x19 0xeb 491 0xf8 0x7f 0x17 0xeb 492 0xf6 0x3 0x55 0xeb 493 0xf4 0x7 0x53 0xeb 494 0xf2 0x7f 0x51 0xeb 495 0xf0 0x3 0x8f 0xeb 496 0xee 0x33 0x8d 0xeb 497 0xec 0x7f 0x8b 0xeb 498 499 #------------------------------------------------------------------------------ 500 # Add-subtract (shifted register) 501 #------------------------------------------------------------------------------ 502 503 # CHECK: adc w29, w27, w25 504 # CHECK: adc wzr, w3, w4 505 # CHECK: adc w9, wzr, w10 506 # CHECK: adc w20, w0, wzr 507 0x7d 0x3 0x19 0x1a 508 0x7f 0x0 0x4 0x1a 509 0xe9 0x3 0xa 0x1a 510 0x14 0x0 0x1f 0x1a 511 512 # CHECK: adc x29, x27, x25 513 # CHECK: adc xzr, x3, x4 514 # CHECK: adc x9, xzr, x10 515 # CHECK: adc x20, x0, xzr 516 0x7d 0x3 0x19 0x9a 517 0x7f 0x0 0x4 0x9a 518 0xe9 0x3 0xa 0x9a 519 0x14 0x0 0x1f 0x9a 520 521 # CHECK: adcs w29, w27, w25 522 # CHECK: adcs wzr, w3, w4 523 # CHECK: adcs w9, wzr, w10 524 # CHECK: adcs w20, w0, wzr 525 0x7d 0x3 0x19 0x3a 526 0x7f 0x0 0x4 0x3a 527 0xe9 0x3 0xa 0x3a 528 0x14 0x0 0x1f 0x3a 529 530 # CHECK: adcs x29, x27, x25 531 # CHECK: adcs xzr, x3, x4 532 # CHECK: adcs x9, xzr, x10 533 # CHECK: adcs x20, x0, xzr 534 0x7d 0x3 0x19 0xba 535 0x7f 0x0 0x4 0xba 536 0xe9 0x3 0xa 0xba 537 0x14 0x0 0x1f 0xba 538 539 # CHECK: sbc w29, w27, w25 540 # CHECK: sbc wzr, w3, w4 541 # CHECK: ngc w9, w10 542 # CHECK: sbc w20, w0, wzr 543 0x7d 0x3 0x19 0x5a 544 0x7f 0x0 0x4 0x5a 545 0xe9 0x3 0xa 0x5a 546 0x14 0x0 0x1f 0x5a 547 548 # CHECK: sbc x29, x27, x25 549 # CHECK: sbc xzr, x3, x4 550 # CHECK: ngc x9, x10 551 # CHECK: sbc x20, x0, xzr 552 0x7d 0x3 0x19 0xda 553 0x7f 0x0 0x4 0xda 554 0xe9 0x3 0xa 0xda 555 0x14 0x0 0x1f 0xda 556 557 # CHECK: sbcs w29, w27, w25 558 # CHECK: sbcs wzr, w3, w4 559 # CHECK: ngcs w9, w10 560 # CHECK: sbcs w20, w0, wzr 561 0x7d 0x3 0x19 0x7a 562 0x7f 0x0 0x4 0x7a 563 0xe9 0x3 0xa 0x7a 564 0x14 0x0 0x1f 0x7a 565 566 # CHECK: sbcs x29, x27, x25 567 # CHECK: sbcs xzr, x3, x4 568 # CHECK: ngcs x9, x10 569 # CHECK: sbcs x20, x0, xzr 570 0x7d 0x3 0x19 0xfa 571 0x7f 0x0 0x4 0xfa 572 0xe9 0x3 0xa 0xfa 573 0x14 0x0 0x1f 0xfa 574 575 # CHECK: ngc w3, w12 576 # CHECK: ngc wzr, w9 577 # CHECK: ngc w23, wzr 578 0xe3 0x3 0xc 0x5a 579 0xff 0x3 0x9 0x5a 580 0xf7 0x3 0x1f 0x5a 581 582 # CHECK: ngc x29, x30 583 # CHECK: ngc xzr, x0 584 # CHECK: ngc x0, xzr 585 0xfd 0x3 0x1e 0xda 586 0xff 0x3 0x0 0xda 587 0xe0 0x3 0x1f 0xda 588 589 # CHECK: ngcs w3, w12 590 # CHECK: ngcs wzr, w9 591 # CHECK: ngcs w23, wzr 592 0xe3 0x3 0xc 0x7a 593 0xff 0x3 0x9 0x7a 594 0xf7 0x3 0x1f 0x7a 595 596 # CHECK: ngcs x29, x30 597 # CHECK: ngcs xzr, x0 598 # CHECK: ngcs x0, xzr 599 0xfd 0x3 0x1e 0xfa 600 0xff 0x3 0x0 0xfa 601 0xe0 0x3 0x1f 0xfa 602 603 #------------------------------------------------------------------------------ 604 # Compare and branch (immediate) 605 #------------------------------------------------------------------------------ 606 607 # CHECK: sbfx x1, x2, #3, #2 608 # CHECK: asr x3, x4, #63 609 # CHECK: asr wzr, wzr, #31 610 # CHECK: sbfx w12, w9, #0, #1 611 0x41 0x10 0x43 0x93 612 0x83 0xfc 0x7f 0x93 613 0xff 0x7f 0x1f 0x13 614 0x2c 0x1 0x0 0x13 615 616 # CHECK: ubfiz x4, x5, #52, #11 617 # CHECK: ubfx xzr, x4, #0, #1 618 # CHECK: ubfiz x4, xzr, #1, #6 619 # CHECK: lsr x5, x6, #12 620 0xa4 0x28 0x4c 0xd3 621 0x9f 0x0 0x40 0xd3 622 0xe4 0x17 0x7f 0xd3 623 0xc5 0xfc 0x4c 0xd3 624 625 # CHECK: bfi x4, x5, #52, #11 626 # CHECK: bfxil xzr, x4, #0, #1 627 # CHECK: bfc x4, #1, #6 628 # CHECK: bfxil x5, x6, #12, #52 629 0xa4 0x28 0x4c 0xb3 630 0x9f 0x0 0x40 0xb3 631 0xe4 0x17 0x7f 0xb3 632 0xc5 0xfc 0x4c 0xb3 633 634 # CHECK: sxtb w1, w2 635 # CHECK: sxtb xzr, w3 636 # CHECK: sxth w9, w10 637 # CHECK: sxth x0, w1 638 # CHECK: sxtw x3, w30 639 0x41 0x1c 0x0 0x13 640 0x7f 0x1c 0x40 0x93 641 0x49 0x3d 0x0 0x13 642 0x20 0x3c 0x40 0x93 643 0xc3 0x7f 0x40 0x93 644 645 # CHECK: uxtb w1, w2 646 # CHECK: uxth w9, w10 647 # CHECK: ubfx x3, x30, #0, #32 648 0x41 0x1c 0x0 0x53 649 0x49 0x3d 0x0 0x53 650 0xc3 0x7f 0x40 0xd3 651 652 # CHECK: asr w3, w2, #0 653 # CHECK: asr w9, w10, #31 654 # CHECK: asr x20, x21, #63 655 # CHECK: asr w1, wzr, #3 656 0x43 0x7c 0x0 0x13 657 0x49 0x7d 0x1f 0x13 658 0xb4 0xfe 0x7f 0x93 659 0xe1 0x7f 0x3 0x13 660 661 # CHECK: lsr w3, w2, #0 662 # CHECK: lsr w9, w10, #31 663 # CHECK: lsr x20, x21, #63 664 # CHECK: lsr wzr, wzr, #3 665 0x43 0x7c 0x0 0x53 666 0x49 0x7d 0x1f 0x53 667 0xb4 0xfe 0x7f 0xd3 668 0xff 0x7f 0x3 0x53 669 670 # CHECK: lsr w3, w2, #0 671 # CHECK: lsl w9, w10, #31 672 # CHECK: lsl x20, x21, #63 673 # CHECK: lsl w1, wzr, #3 674 0x43 0x7c 0x0 0x53 675 0x49 0x1 0x1 0x53 676 0xb4 0x2 0x41 0xd3 677 0xe1 0x73 0x1d 0x53 678 679 # CHECK: sbfx w9, w10, #0, #1 680 # CHECK: sbfiz x2, x3, #63, #1 681 # CHECK: asr x19, x20, #0 682 # CHECK: sbfiz x9, x10, #5, #59 683 # CHECK: asr w9, w10, #0 684 # CHECK: sbfiz w11, w12, #31, #1 685 # CHECK: sbfiz w13, w14, #29, #3 686 # CHECK: sbfiz xzr, xzr, #10, #11 687 0x49 0x1 0x0 0x13 688 0x62 0x0 0x41 0x93 689 0x93 0xfe 0x40 0x93 690 0x49 0xe9 0x7b 0x93 691 0x49 0x7d 0x0 0x13 692 0x8b 0x1 0x1 0x13 693 0xcd 0x9 0x3 0x13 694 0xff 0x2b 0x76 0x93 695 696 # CHECK: sbfx w9, w10, #0, #1 697 # CHECK: asr x2, x3, #63 698 # CHECK: asr x19, x20, #0 699 # CHECK: asr x9, x10, #5 700 # CHECK: asr w9, w10, #0 701 # CHECK: asr w11, w12, #31 702 # CHECK: asr w13, w14, #29 703 # CHECK: sbfx xzr, xzr, #10, #11 704 0x49 0x1 0x0 0x13 705 0x62 0xfc 0x7f 0x93 706 0x93 0xfe 0x40 0x93 707 0x49 0xfd 0x45 0x93 708 0x49 0x7d 0x0 0x13 709 0x8b 0x7d 0x1f 0x13 710 0xcd 0x7d 0x1d 0x13 711 0xff 0x53 0x4a 0x93 712 713 # CHECK: bfxil w9, w10, #0, #1 714 # CHECK: bfi x2, x3, #63, #1 715 # CHECK: bfxil x19, x20, #0, #64 716 # CHECK: bfi x9, x10, #5, #59 717 # CHECK: bfxil w9, w10, #0, #32 718 # CHECK: bfi w11, w12, #31, #1 719 # CHECK: bfi w13, w14, #29, #3 720 # CHECK: bfc xzr, #10, #11 721 0x49 0x1 0x0 0x33 722 0x62 0x0 0x41 0xb3 723 0x93 0xfe 0x40 0xb3 724 0x49 0xe9 0x7b 0xb3 725 0x49 0x7d 0x0 0x33 726 0x8b 0x1 0x1 0x33 727 0xcd 0x9 0x3 0x33 728 0xff 0x2b 0x76 0xb3 729 730 # CHECK: bfxil w9, w10, #0, #1 731 # CHECK: bfxil x2, x3, #63, #1 732 # CHECK: bfxil x19, x20, #0, #64 733 # CHECK: bfxil x9, x10, #5, #59 734 # CHECK: bfxil w9, w10, #0, #32 735 # CHECK: bfxil w11, w12, #31, #1 736 # CHECK: bfxil w13, w14, #29, #3 737 # CHECK: bfxil xzr, xzr, #10, #11 738 0x49 0x1 0x0 0x33 739 0x62 0xfc 0x7f 0xb3 740 0x93 0xfe 0x40 0xb3 741 0x49 0xfd 0x45 0xb3 742 0x49 0x7d 0x0 0x33 743 0x8b 0x7d 0x1f 0x33 744 0xcd 0x7d 0x1d 0x33 745 0xff 0x53 0x4a 0xb3 746 747 # CHECK: ubfx w9, w10, #0, #1 748 # CHECK: lsl x2, x3, #63 749 # CHECK: lsr x19, x20, #0 750 # CHECK: lsl x9, x10, #5 751 # CHECK: lsr w9, w10, #0 752 # CHECK: lsl w11, w12, #31 753 # CHECK: lsl w13, w14, #29 754 # CHECK: ubfiz xzr, xzr, #10, #11 755 0x49 0x1 0x0 0x53 756 0x62 0x0 0x41 0xd3 757 0x93 0xfe 0x40 0xd3 758 0x49 0xe9 0x7b 0xd3 759 0x49 0x7d 0x0 0x53 760 0x8b 0x1 0x1 0x53 761 0xcd 0x9 0x3 0x53 762 0xff 0x2b 0x76 0xd3 763 764 # CHECK: ubfx w9, w10, #0, #1 765 # CHECK: lsr x2, x3, #63 766 # CHECK: lsr x19, x20, #0 767 # CHECK: lsr x9, x10, #5 768 # CHECK: lsr w9, w10, #0 769 # CHECK: lsr w11, w12, #31 770 # CHECK: lsr w13, w14, #29 771 # CHECK: ubfx xzr, xzr, #10, #11 772 0x49 0x1 0x0 0x53 773 0x62 0xfc 0x7f 0xd3 774 0x93 0xfe 0x40 0xd3 775 0x49 0xfd 0x45 0xd3 776 0x49 0x7d 0x0 0x53 777 0x8b 0x7d 0x1f 0x53 778 0xcd 0x7d 0x1d 0x53 779 0xff 0x53 0x4a 0xd3 780 781 782 #------------------------------------------------------------------------------ 783 # Compare and branch (immediate) 784 #------------------------------------------------------------------------------ 785 786 # CHECK: cbz w5, #4 787 # CHECK: cbz x5, #0 788 # CHECK: cbnz x2, #-4 789 # CHECK: cbnz x26, #1048572 790 0x25 0x0 0x0 0x34 791 0x05 0x0 0x0 0xb4 792 0xe2 0xff 0xff 0xb5 793 0xfa 0xff 0x7f 0xb5 794 795 # CHECK: cbz wzr, #0 796 # CHECK: cbnz xzr, #0 797 0x1f 0x0 0x0 0x34 798 0x1f 0x0 0x0 0xb5 799 800 #------------------------------------------------------------------------------ 801 # Conditional branch (immediate) 802 #------------------------------------------------------------------------------ 803 804 # CHECK: b.ne #4 805 # CHECK: b.ge #1048572 806 # CHECK: b.ge #-4 807 0x21 0x00 0x00 0x54 808 0xea 0xff 0x7f 0x54 809 0xea 0xff 0xff 0x54 810 811 #------------------------------------------------------------------------------ 812 # Conditional compare (immediate) 813 #------------------------------------------------------------------------------ 814 815 # CHECK: ccmp w1, #31, #0, eq 816 # CHECK: ccmp w3, #0, #15, hs 817 # CHECK: ccmp wzr, #15, #13, hs 818 0x20 0x08 0x5f 0x7a 819 0x6f 0x28 0x40 0x7a 820 0xed 0x2b 0x4f 0x7a 821 822 # CHECK: ccmp x9, #31, #0, le 823 # CHECK: ccmp x3, #0, #15, gt 824 # CHECK: ccmp xzr, #5, #7, ne 825 0x20 0xd9 0x5f 0xfa 826 0x6f 0xc8 0x40 0xfa 827 0xe7 0x1b 0x45 0xfa 828 829 # CHECK: ccmn w1, #31, #0, eq 830 # CHECK: ccmn w3, #0, #15, hs 831 # CHECK: ccmn wzr, #15, #13, hs 832 0x20 0x08 0x5f 0x3a 833 0x6f 0x28 0x40 0x3a 834 0xed 0x2b 0x4f 0x3a 835 836 # CHECK: ccmn x9, #31, #0, le 837 # CHECK: ccmn x3, #0, #15, gt 838 # CHECK: ccmn xzr, #5, #7, ne 839 0x20 0xd9 0x5f 0xba 840 0x6f 0xc8 0x40 0xba 841 0xe7 0x1b 0x45 0xba 842 843 #------------------------------------------------------------------------------ 844 # Conditional compare (register) 845 #------------------------------------------------------------------------------ 846 847 # CHECK: ccmp w1, wzr, #0, eq 848 # CHECK: ccmp w3, w0, #15, hs 849 # CHECK: ccmp wzr, w15, #13, hs 850 0x20 0x00 0x5f 0x7a 851 0x6f 0x20 0x40 0x7a 852 0xed 0x23 0x4f 0x7a 853 854 # CHECK: ccmp x9, xzr, #0, le 855 # CHECK: ccmp x3, x0, #15, gt 856 # CHECK: ccmp xzr, x5, #7, ne 857 0x20 0xd1 0x5f 0xfa 858 0x6f 0xc0 0x40 0xfa 859 0xe7 0x13 0x45 0xfa 860 861 # CHECK: ccmn w1, wzr, #0, eq 862 # CHECK: ccmn w3, w0, #15, hs 863 # CHECK: ccmn wzr, w15, #13, hs 864 0x20 0x00 0x5f 0x3a 865 0x6f 0x20 0x40 0x3a 866 0xed 0x23 0x4f 0x3a 867 868 # CHECK: ccmn x9, xzr, #0, le 869 # CHECK: ccmn x3, x0, #15, gt 870 # CHECK: ccmn xzr, x5, #7, ne 871 0x20 0xd1 0x5f 0xba 872 0x6f 0xc0 0x40 0xba 873 0xe7 0x13 0x45 0xba 874 875 #------------------------------------------------------------------------------ 876 # Conditional branch (immediate) 877 #------------------------------------------------------------------------------ 878 # CHECK: csel w1, w0, w19, ne 879 # CHECK: csel wzr, w5, w9, eq 880 # CHECK: csel w9, wzr, w30, gt 881 # CHECK: csel w1, w28, wzr, mi 882 # CHECK: csel x19, x23, x29, lt 883 # CHECK: csel xzr, x3, x4, ge 884 # CHECK: csel x5, xzr, x6, hs 885 # CHECK: csel x7, x8, xzr, lo 886 0x1 0x10 0x93 0x1a 887 0xbf 0x0 0x89 0x1a 888 0xe9 0xc3 0x9e 0x1a 889 0x81 0x43 0x9f 0x1a 890 0xf3 0xb2 0x9d 0x9a 891 0x7f 0xa0 0x84 0x9a 892 0xe5 0x23 0x86 0x9a 893 0x7 0x31 0x9f 0x9a 894 895 # CHECK: csinc w1, w0, w19, ne 896 # CHECK: csinc wzr, w5, w9, eq 897 # CHECK: csinc w9, wzr, w30, gt 898 # CHECK: csinc w1, w28, wzr, mi 899 # CHECK: csinc x19, x23, x29, lt 900 # CHECK: csinc xzr, x3, x4, ge 901 # CHECK: csinc x5, xzr, x6, hs 902 # CHECK: csinc x7, x8, xzr, lo 903 0x1 0x14 0x93 0x1a 904 0xbf 0x4 0x89 0x1a 905 0xe9 0xc7 0x9e 0x1a 906 0x81 0x47 0x9f 0x1a 907 0xf3 0xb6 0x9d 0x9a 908 0x7f 0xa4 0x84 0x9a 909 0xe5 0x27 0x86 0x9a 910 0x7 0x35 0x9f 0x9a 911 912 # CHECK: csinv w1, w0, w19, ne 913 # CHECK: csinv wzr, w5, w9, eq 914 # CHECK: csinv w9, wzr, w30, gt 915 # CHECK: csinv w1, w28, wzr, mi 916 # CHECK: csinv x19, x23, x29, lt 917 # CHECK: csinv xzr, x3, x4, ge 918 # CHECK: csinv x5, xzr, x6, hs 919 # CHECK: csinv x7, x8, xzr, lo 920 0x1 0x10 0x93 0x5a 921 0xbf 0x0 0x89 0x5a 922 0xe9 0xc3 0x9e 0x5a 923 0x81 0x43 0x9f 0x5a 924 0xf3 0xb2 0x9d 0xda 925 0x7f 0xa0 0x84 0xda 926 0xe5 0x23 0x86 0xda 927 0x7 0x31 0x9f 0xda 928 929 # CHECK: csneg w1, w0, w19, ne 930 # CHECK: csneg wzr, w5, w9, eq 931 # CHECK: csneg w9, wzr, w30, gt 932 # CHECK: csneg w1, w28, wzr, mi 933 # CHECK: csneg x19, x23, x29, lt 934 # CHECK: csneg xzr, x3, x4, ge 935 # CHECK: csneg x5, xzr, x6, hs 936 # CHECK: csneg x7, x8, xzr, lo 937 0x1 0x14 0x93 0x5a 938 0xbf 0x4 0x89 0x5a 939 0xe9 0xc7 0x9e 0x5a 940 0x81 0x47 0x9f 0x5a 941 0xf3 0xb6 0x9d 0xda 942 0x7f 0xa4 0x84 0xda 943 0xe5 0x27 0x86 0xda 944 0x7 0x35 0x9f 0xda 945 946 # CHECK: cset w3, eq 947 # CHECK: cset x9, pl 948 # CHECK: csetm w20, ne 949 # CHECK: csetm x30, ge 950 # "cset w2, nv" and "csetm x3, al" are invalid aliases for these two 951 # CHECK: csinc w2, wzr, wzr, al 952 # CHECK: csinv x3, xzr, xzr, nv 953 0xe3 0x17 0x9f 0x1a 954 0xe9 0x47 0x9f 0x9a 955 0xf4 0x3 0x9f 0x5a 956 0xfe 0xb3 0x9f 0xda 957 0xe2,0xe7,0x9f,0x1a 958 0xe3,0xf3,0x9f,0xda 959 960 # CHECK: cinc w3, w5, gt 961 # CHECK: cinc wzr, w4, le 962 # CHECK: cset w9, lt 963 # CHECK: cinc x3, x5, gt 964 # CHECK: cinc xzr, x4, le 965 # CHECK: cset x9, lt 966 # "cinc w5, w6, al" and "cinc x1, x2, nv" are invalid aliases for these two 967 # CHECK: csinc w5, w6, w6, nv 968 # CHECK: csinc x1, x2, x2, al 969 0xa3 0xd4 0x85 0x1a 970 0x9f 0xc4 0x84 0x1a 971 0xe9 0xa7 0x9f 0x1a 972 0xa3 0xd4 0x85 0x9a 973 0x9f 0xc4 0x84 0x9a 974 0xe9 0xa7 0x9f 0x9a 975 0xc5,0xf4,0x86,0x1a 976 0x41,0xe4,0x82,0x9a 977 978 # CHECK: cinv w3, w5, gt 979 # CHECK: cinv wzr, w4, le 980 # CHECK: csetm w9, lt 981 # CHECK: cinv x3, x5, gt 982 # CHECK: cinv xzr, x4, le 983 # CHECK: csetm x9, lt 984 # "cinv x1, x0, nv" and "cinv w9, w8, al" are invalid aliases for these two 985 # CHECK: csinv x1, x0, x0, al 986 # CHECK: csinv w9, w8, w8, nv 987 0xa3 0xd0 0x85 0x5a 988 0x9f 0xc0 0x84 0x5a 989 0xe9 0xa3 0x9f 0x5a 990 0xa3 0xd0 0x85 0xda 991 0x9f 0xc0 0x84 0xda 992 0xe9 0xa3 0x9f 0xda 993 0x01 0xe0 0x80 0xda 994 0x09,0xf1,0x88,0x5a 995 996 # CHECK: cneg w3, w5, gt 997 # CHECK: cneg wzr, w4, le 998 # CHECK: cneg w9, wzr, lt 999 # CHECK: cneg x3, x5, gt 1000 # CHECK: cneg xzr, x4, le 1001 # CHECK: cneg x9, xzr, lt 1002 # "cneg x4, x8, nv" and "cneg w5, w6, al" are invalid aliases for these two 1003 # CHECK: csneg x4, x8, x8, al 1004 # CHECK: csinv w9, w8, w8, nv 1005 0xa3 0xd4 0x85 0x5a 1006 0x9f 0xc4 0x84 0x5a 1007 0xe9 0xa7 0x9f 0x5a 1008 0xa3 0xd4 0x85 0xda 1009 0x9f 0xc4 0x84 0xda 1010 0xe9 0xa7 0x9f 0xda 1011 0x04,0xe5,0x88,0xda 1012 0x09,0xf1,0x88,0x5a 1013 1014 #------------------------------------------------------------------------------ 1015 # Data-processing (1 source) 1016 #------------------------------------------------------------------------------ 1017 1018 # CHECK: rbit w0, w7 1019 # CHECK: rbit x18, x3 1020 # CHECK: rev16 w17, w1 1021 # CHECK: rev16 x5, x2 1022 # CHECK: rev w18, w0 1023 # CHECK: rev32 x20, x1 1024 0xe0 0x00 0xc0 0x5a 1025 0x72 0x00 0xc0 0xda 1026 0x31 0x04 0xc0 0x5a 1027 0x45 0x04 0xc0 0xda 1028 0x12 0x08 0xc0 0x5a 1029 0x34 0x08 0xc0 0xda 1030 1031 # CHECK: rev x22, x2 1032 # CHECK: clz w24, w3 1033 # CHECK: clz x26, x4 1034 # CHECK: cls w3, w5 1035 # CHECK: cls x20, x5 1036 0x56 0x0c 0xc0 0xda 1037 0x78 0x10 0xc0 0x5a 1038 0x9a 0x10 0xc0 0xda 1039 0xa3 0x14 0xc0 0x5a 1040 0xb4 0x14 0xc0 0xda 1041 1042 #------------------------------------------------------------------------------ 1043 # Data-processing (2 source) 1044 #------------------------------------------------------------------------------ 1045 1046 # CHECK: udiv w0, w7, w10 1047 # CHECK: udiv x9, x22, x4 1048 # CHECK: sdiv w12, w21, w0 1049 # CHECK: sdiv x13, x2, x1 1050 # CHECK: lsl w11, w12, w13 1051 # CHECK: lsl x14, x15, x16 1052 # CHECK: lsr w17, w18, w19 1053 # CHECK: lsr x20, x21, x22 1054 # CHECK: asr w23, w24, w25 1055 # CHECK: asr x26, x27, x28 1056 # CHECK: ror w0, w1, w2 1057 # CHECK: ror x3, x4, x5 1058 0xe0 0x08 0xca 0x1a 1059 0xc9 0x0a 0xc4 0x9a 1060 0xac 0x0e 0xc0 0x1a 1061 0x4d 0x0c 0xc1 0x9a 1062 0x8b 0x21 0xcd 0x1a 1063 0xee 0x21 0xd0 0x9a 1064 0x51 0x26 0xd3 0x1a 1065 0xb4 0x26 0xd6 0x9a 1066 0x17 0x2b 0xd9 0x1a 1067 0x7a 0x2b 0xdc 0x9a 1068 0x20 0x2c 0xc2 0x1a 1069 0x83 0x2c 0xc5 0x9a 1070 1071 # CHECK: lsl w6, w7, w8 1072 # CHECK: lsl x9, x10, x11 1073 # CHECK: lsr w12, w13, w14 1074 # CHECK: lsr x15, x16, x17 1075 # CHECK: asr w18, w19, w20 1076 # CHECK: asr x21, x22, x23 1077 # CHECK: ror w24, w25, w26 1078 # CHECK: ror x27, x28, x29 1079 0xe6 0x20 0xc8 0x1a 1080 0x49 0x21 0xcb 0x9a 1081 0xac 0x25 0xce 0x1a 1082 0x0f 0x26 0xd1 0x9a 1083 0x72 0x2a 0xd4 0x1a 1084 0xd5 0x2a 0xd7 0x9a 1085 0x38 0x2f 0xda 0x1a 1086 0x9b 0x2f 0xdd 0x9a 1087 1088 #------------------------------------------------------------------------------ 1089 # Data-processing (3 sources) 1090 #------------------------------------------------------------------------------ 1091 1092 # First check some non-canonical encodings where Ra is not 0b11111 (only umulh 1093 # and smulh have them). 1094 1095 # CHECK: smulh x30, x29, x28 1096 # CHECK: smulh xzr, x27, x26 1097 # CHECK: umulh x30, x29, x28 1098 # CHECK: umulh x23, x30, xzr 1099 0xbe 0x73 0x5c 0x9b 1100 0x7f 0x2f 0x5a 0x9b 1101 0xbe 0x3f 0xdc 0x9b 1102 0xd7 0x77 0xdf 0x9b 1103 1104 # Now onto the boilerplate stuff 1105 1106 # CHECK: madd w1, w3, w7, w4 1107 # CHECK: madd wzr, w0, w9, w11 1108 # CHECK: madd w13, wzr, w4, w4 1109 # CHECK: madd w19, w30, wzr, w29 1110 # CHECK: mul w4, w5, w6 1111 0x61 0x10 0x7 0x1b 1112 0x1f 0x2c 0x9 0x1b 1113 0xed 0x13 0x4 0x1b 1114 0xd3 0x77 0x1f 0x1b 1115 0xa4 0x7c 0x6 0x1b 1116 1117 # CHECK: madd x1, x3, x7, x4 1118 # CHECK: madd xzr, x0, x9, x11 1119 # CHECK: madd x13, xzr, x4, x4 1120 # CHECK: madd x19, x30, xzr, x29 1121 # CHECK: mul x4, x5, x6 1122 0x61 0x10 0x7 0x9b 1123 0x1f 0x2c 0x9 0x9b 1124 0xed 0x13 0x4 0x9b 1125 0xd3 0x77 0x1f 0x9b 1126 0xa4 0x7c 0x6 0x9b 1127 1128 # CHECK: msub w1, w3, w7, w4 1129 # CHECK: msub wzr, w0, w9, w11 1130 # CHECK: msub w13, wzr, w4, w4 1131 # CHECK: msub w19, w30, wzr, w29 1132 # CHECK: mneg w4, w5, w6 1133 0x61 0x90 0x7 0x1b 1134 0x1f 0xac 0x9 0x1b 1135 0xed 0x93 0x4 0x1b 1136 0xd3 0xf7 0x1f 0x1b 1137 0xa4 0xfc 0x6 0x1b 1138 1139 # CHECK: msub x1, x3, x7, x4 1140 # CHECK: msub xzr, x0, x9, x11 1141 # CHECK: msub x13, xzr, x4, x4 1142 # CHECK: msub x19, x30, xzr, x29 1143 # CHECK: mneg x4, x5, x6 1144 0x61 0x90 0x7 0x9b 1145 0x1f 0xac 0x9 0x9b 1146 0xed 0x93 0x4 0x9b 1147 0xd3 0xf7 0x1f 0x9b 1148 0xa4 0xfc 0x6 0x9b 1149 1150 # CHECK: smaddl x3, w5, w2, x9 1151 # CHECK: smaddl xzr, w10, w11, x12 1152 # CHECK: smaddl x13, wzr, w14, x15 1153 # CHECK: smaddl x16, w17, wzr, x18 1154 # CHECK: smull x19, w20, w21 1155 0xa3 0x24 0x22 0x9b 1156 0x5f 0x31 0x2b 0x9b 1157 0xed 0x3f 0x2e 0x9b 1158 0x30 0x4a 0x3f 0x9b 1159 0x93 0x7e 0x35 0x9b 1160 1161 # CHECK: smsubl x3, w5, w2, x9 1162 # CHECK: smsubl xzr, w10, w11, x12 1163 # CHECK: smsubl x13, wzr, w14, x15 1164 # CHECK: smsubl x16, w17, wzr, x18 1165 # CHECK: smnegl x19, w20, w21 1166 0xa3 0xa4 0x22 0x9b 1167 0x5f 0xb1 0x2b 0x9b 1168 0xed 0xbf 0x2e 0x9b 1169 0x30 0xca 0x3f 0x9b 1170 0x93 0xfe 0x35 0x9b 1171 1172 # CHECK: umaddl x3, w5, w2, x9 1173 # CHECK: umaddl xzr, w10, w11, x12 1174 # CHECK: umaddl x13, wzr, w14, x15 1175 # CHECK: umaddl x16, w17, wzr, x18 1176 # CHECK: umull x19, w20, w21 1177 0xa3 0x24 0xa2 0x9b 1178 0x5f 0x31 0xab 0x9b 1179 0xed 0x3f 0xae 0x9b 1180 0x30 0x4a 0xbf 0x9b 1181 0x93 0x7e 0xb5 0x9b 1182 1183 # CHECK: umsubl x3, w5, w2, x9 1184 # CHECK: umsubl xzr, w10, w11, x12 1185 # CHECK: umsubl x13, wzr, w14, x15 1186 # CHECK: umsubl x16, w17, wzr, x18 1187 # CHECK: umnegl x19, w20, w21 1188 0xa3 0xa4 0xa2 0x9b 1189 0x5f 0xb1 0xab 0x9b 1190 0xed 0xbf 0xae 0x9b 1191 0x30 0xca 0xbf 0x9b 1192 0x93 0xfe 0xb5 0x9b 1193 1194 # CHECK: smulh x30, x29, x28 1195 # CHECK: smulh xzr, x27, x26 1196 # CHECK: smulh x25, xzr, x24 1197 # CHECK: smulh x23, x22, xzr 1198 0xbe 0x7f 0x5c 0x9b 1199 0x7f 0x7f 0x5a 0x9b 1200 0xf9 0x7f 0x58 0x9b 1201 0xd7 0x7e 0x5f 0x9b 1202 1203 # CHECK: umulh x30, x29, x28 1204 # CHECK: umulh xzr, x27, x26 1205 # CHECK: umulh x25, xzr, x24 1206 # CHECK: umulh x23, x22, xzr 1207 0xbe 0x7f 0xdc 0x9b 1208 0x7f 0x7f 0xda 0x9b 1209 0xf9 0x7f 0xd8 0x9b 1210 0xd7 0x7e 0xdf 0x9b 1211 1212 # CHECK: mul w3, w4, w5 1213 # CHECK: mul wzr, w6, w7 1214 # CHECK: mul w8, wzr, w9 1215 # CHECK: mul w10, w11, wzr 1216 # CHECK: mul x12, x13, x14 1217 # CHECK: mul xzr, x15, x16 1218 # CHECK: mul x17, xzr, x18 1219 # CHECK: mul x19, x20, xzr 1220 0x83 0x7c 0x5 0x1b 1221 0xdf 0x7c 0x7 0x1b 1222 0xe8 0x7f 0x9 0x1b 1223 0x6a 0x7d 0x1f 0x1b 1224 0xac 0x7d 0xe 0x9b 1225 0xff 0x7d 0x10 0x9b 1226 0xf1 0x7f 0x12 0x9b 1227 0x93 0x7e 0x1f 0x9b 1228 1229 # CHECK: mneg w21, w22, w23 1230 # CHECK: mneg wzr, w24, w25 1231 # CHECK: mneg w26, wzr, w27 1232 # CHECK: mneg w28, w29, wzr 1233 0xd5 0xfe 0x17 0x1b 1234 0x1f 0xff 0x19 0x1b 1235 0xfa 0xff 0x1b 0x1b 1236 0xbc 0xff 0x1f 0x1b 1237 1238 # CHECK: smull x11, w13, w17 1239 # CHECK: umull x11, w13, w17 1240 # CHECK: smnegl x11, w13, w17 1241 # CHECK: umnegl x11, w13, w17 1242 0xab 0x7d 0x31 0x9b 1243 0xab 0x7d 0xb1 0x9b 1244 0xab 0xfd 0x31 0x9b 1245 0xab 0xfd 0xb1 0x9b 1246 1247 #------------------------------------------------------------------------------ 1248 # Exception generation 1249 #------------------------------------------------------------------------------ 1250 1251 # CHECK: svc #0 1252 # CHECK: svc #{{65535|0xffff}} 1253 0x1 0x0 0x0 0xd4 1254 0xe1 0xff 0x1f 0xd4 1255 1256 # CHECK: hvc #{{1|0x1}} 1257 # CHECK: smc #{{12000|0x2ee0}} 1258 # CHECK: brk #{{12|0xc}} 1259 # CHECK: hlt #{{123|0x7b}} 1260 0x22 0x0 0x0 0xd4 1261 0x3 0xdc 0x5 0xd4 1262 0x80 0x1 0x20 0xd4 1263 0x60 0xf 0x40 0xd4 1264 1265 # CHECK: dcps1 #{{42|0x2a}} 1266 # CHECK: dcps2 #{{9|0x9}} 1267 # CHECK: dcps3 #{{1000|0x3e8}} 1268 0x41 0x5 0xa0 0xd4 1269 0x22 0x1 0xa0 0xd4 1270 0x3 0x7d 0xa0 0xd4 1271 1272 # CHECK: dcps1 1273 # CHECK: dcps2 1274 # CHECK: dcps3 1275 0x1 0x0 0xa0 0xd4 1276 0x2 0x0 0xa0 0xd4 1277 0x3 0x0 0xa0 0xd4 1278 1279 #------------------------------------------------------------------------------ 1280 # Extract (immediate) 1281 #------------------------------------------------------------------------------ 1282 1283 # CHECK: extr w3, w5, w7, #0 1284 # CHECK: extr w11, w13, w17, #31 1285 0xa3 0x0 0x87 0x13 1286 0xab 0x7d 0x91 0x13 1287 1288 # CHECK: extr x3, x5, x7, #15 1289 # CHECK: extr x11, x13, x17, #63 1290 0xa3 0x3c 0xc7 0x93 1291 0xab 0xfd 0xd1 0x93 1292 1293 # CHECK: ror x19, x23, #24 1294 # CHECK: ror x29, xzr, #63 1295 # CHECK: ror w9, w13, #31 1296 0xf3 0x62 0xd7 0x93 1297 0xfd 0xff 0xdf 0x93 1298 0xa9 0x7d 0x8d 0x13 1299 1300 #------------------------------------------------------------------------------ 1301 # Floating-point compare 1302 #------------------------------------------------------------------------------ 1303 1304 # CHECK: fcmp s3, s5 1305 # CHECK: fcmp s31, #0.0 1306 # CHECK: fcmp s31, #0.0 1307 0x60 0x20 0x25 0x1e 1308 0xe8 0x23 0x20 0x1e 1309 0xe8 0x23 0x3f 0x1e 1310 1311 # CHECK: fcmpe s29, s30 1312 # CHECK: fcmpe s15, #0.0 1313 # CHECK: fcmpe s15, #0.0 1314 0xb0 0x23 0x3e 0x1e 1315 0xf8 0x21 0x20 0x1e 1316 0xf8 0x21 0x2f 0x1e 1317 1318 # CHECK: fcmp d4, d12 1319 # CHECK: fcmp d23, #0.0 1320 # CHECK: fcmp d23, #0.0 1321 0x80 0x20 0x6c 0x1e 1322 0xe8 0x22 0x60 0x1e 1323 0xe8 0x22 0x77 0x1e 1324 1325 # CHECK: fcmpe d26, d22 1326 # CHECK: fcmpe d29, #0.0 1327 # CHECK: fcmpe d29, #0.0 1328 0x50 0x23 0x76 0x1e 1329 0xb8 0x23 0x60 0x1e 1330 0xb8 0x23 0x6d 0x1e 1331 1332 #------------------------------------------------------------------------------ 1333 # Floating-point conditional compare 1334 #------------------------------------------------------------------------------ 1335 1336 # CHECK: fccmp s1, s31, #0, eq 1337 # CHECK: fccmp s3, s0, #15, hs 1338 # CHECK: fccmp s31, s15, #13, hs 1339 0x20 0x04 0x3f 0x1e 1340 0x6f 0x24 0x20 0x1e 1341 0xed 0x27 0x2f 0x1e 1342 1343 # CHECK: fccmp d9, d31, #0, le 1344 # CHECK: fccmp d3, d0, #15, gt 1345 # CHECK: fccmp d31, d5, #7, ne 1346 0x20 0xd5 0x7f 0x1e 1347 0x6f 0xc4 0x60 0x1e 1348 0xe7 0x17 0x65 0x1e 1349 1350 # CHECK: fccmpe s1, s31, #0, eq 1351 # CHECK: fccmpe s3, s0, #15, hs 1352 # CHECK: fccmpe s31, s15, #13, hs 1353 0x30 0x04 0x3f 0x1e 1354 0x7f 0x24 0x20 0x1e 1355 0xfd 0x27 0x2f 0x1e 1356 1357 # CHECK: fccmpe d9, d31, #0, le 1358 # CHECK: fccmpe d3, d0, #15, gt 1359 # CHECK: fccmpe d31, d5, #7, ne 1360 0x30 0xd5 0x7f 0x1e 1361 0x7f 0xc4 0x60 0x1e 1362 0xf7 0x17 0x65 0x1e 1363 1364 #------------------------------------------------------------------------------- 1365 # Floating-point conditional compare 1366 #------------------------------------------------------------------------------- 1367 1368 # CHECK: fcsel s3, s20, s9, pl 1369 # CHECK: fcsel d9, d10, d11, mi 1370 0x83 0x5e 0x29 0x1e 1371 0x49 0x4d 0x6b 0x1e 1372 1373 #------------------------------------------------------------------------------ 1374 # Floating-point data-processing (1 source) 1375 #------------------------------------------------------------------------------ 1376 1377 # CHECK: fmov s0, s1 1378 # CHECK: fabs s2, s3 1379 # CHECK: fneg s4, s5 1380 # CHECK: fsqrt s6, s7 1381 # CHECK: fcvt d8, s9 1382 # CHECK: fcvt h10, s11 1383 # CHECK: frintn s12, s13 1384 # CHECK: frintp s14, s15 1385 # CHECK: frintm s16, s17 1386 # CHECK: frintz s18, s19 1387 # CHECK: frinta s20, s21 1388 # CHECK: frintx s22, s23 1389 # CHECK: frinti s24, s25 1390 0x20 0x40 0x20 0x1e 1391 0x62 0xc0 0x20 0x1e 1392 0xa4 0x40 0x21 0x1e 1393 0xe6 0xc0 0x21 0x1e 1394 0x28 0xc1 0x22 0x1e 1395 0x6a 0xc1 0x23 0x1e 1396 0xac 0x41 0x24 0x1e 1397 0xee 0xc1 0x24 0x1e 1398 0x30 0x42 0x25 0x1e 1399 0x72 0xc2 0x25 0x1e 1400 0xb4 0x42 0x26 0x1e 1401 0xf6 0x42 0x27 0x1e 1402 0x38 0xc3 0x27 0x1e 1403 1404 # CHECK: fmov d0, d1 1405 # CHECK: fabs d2, d3 1406 # CHECK: fneg d4, d5 1407 # CHECK: fsqrt d6, d7 1408 # CHECK: fcvt s8, d9 1409 # CHECK: fcvt h10, d11 1410 # CHECK: frintn d12, d13 1411 # CHECK: frintp d14, d15 1412 # CHECK: frintm d16, d17 1413 # CHECK: frintz d18, d19 1414 # CHECK: frinta d20, d21 1415 # CHECK: frintx d22, d23 1416 # CHECK: frinti d24, d25 1417 0x20 0x40 0x60 0x1e 1418 0x62 0xc0 0x60 0x1e 1419 0xa4 0x40 0x61 0x1e 1420 0xe6 0xc0 0x61 0x1e 1421 0x28 0x41 0x62 0x1e 1422 0x6a 0xc1 0x63 0x1e 1423 0xac 0x41 0x64 0x1e 1424 0xee 0xc1 0x64 0x1e 1425 0x30 0x42 0x65 0x1e 1426 0x72 0xc2 0x65 0x1e 1427 0xb4 0x42 0x66 0x1e 1428 0xf6 0x42 0x67 0x1e 1429 0x38 0xc3 0x67 0x1e 1430 1431 # CHECK: fcvt s26, h27 1432 # CHECK: fcvt d28, h29 1433 0x7a 0x43 0xe2 0x1e 1434 0xbc 0xc3 0xe2 0x1e 1435 1436 #------------------------------------------------------------------------------ 1437 # Floating-point data-processing (2 sources) 1438 #------------------------------------------------------------------------------ 1439 1440 # CHECK: fmul s20, s19, s17 1441 # CHECK: fdiv s1, s2, s3 1442 # CHECK: fadd s4, s5, s6 1443 # CHECK: fsub s7, s8, s9 1444 # CHECK: fmax s10, s11, s12 1445 # CHECK: fmin s13, s14, s15 1446 # CHECK: fmaxnm s16, s17, s18 1447 # CHECK: fminnm s19, s20, s21 1448 # CHECK: fnmul s22, s23, s2 1449 0x74 0xa 0x31 0x1e 1450 0x41 0x18 0x23 0x1e 1451 0xa4 0x28 0x26 0x1e 1452 0x7 0x39 0x29 0x1e 1453 0x6a 0x49 0x2c 0x1e 1454 0xcd 0x59 0x2f 0x1e 1455 0x30 0x6a 0x32 0x1e 1456 0x93 0x7a 0x35 0x1e 1457 0xf6 0x8a 0x38 0x1e 1458 1459 1460 # CHECK: fmul d20, d19, d17 1461 # CHECK: fdiv d1, d2, d3 1462 # CHECK: fadd d4, d5, d6 1463 # CHECK: fsub d7, d8, d9 1464 # CHECK: fmax d10, d11, d12 1465 # CHECK: fmin d13, d14, d15 1466 # CHECK: fmaxnm d16, d17, d18 1467 # CHECK: fminnm d19, d20, d21 1468 # CHECK: fnmul d22, d23, d24 1469 0x74 0xa 0x71 0x1e 1470 0x41 0x18 0x63 0x1e 1471 0xa4 0x28 0x66 0x1e 1472 0x7 0x39 0x69 0x1e 1473 0x6a 0x49 0x6c 0x1e 1474 0xcd 0x59 0x6f 0x1e 1475 0x30 0x6a 0x72 0x1e 1476 0x93 0x7a 0x75 0x1e 1477 0xf6 0x8a 0x78 0x1e 1478 1479 #------------------------------------------------------------------------------ 1480 # Floating-point data-processing (1 source) 1481 #------------------------------------------------------------------------------ 1482 1483 # CHECK: fmadd s3, s5, s6, s31 1484 # CHECK: fmadd d3, d13, d0, d23 1485 # CHECK: fmsub s3, s5, s6, s31 1486 # CHECK: fmsub d3, d13, d0, d23 1487 # CHECK: fnmadd s3, s5, s6, s31 1488 # CHECK: fnmadd d3, d13, d0, d23 1489 # CHECK: fnmsub s3, s5, s6, s31 1490 # CHECK: fnmsub d3, d13, d0, d23 1491 0xa3 0x7c 0x06 0x1f 1492 0xa3 0x5d 0x40 0x1f 1493 0xa3 0xfc 0x06 0x1f 1494 0xa3 0xdd 0x40 0x1f 1495 0xa3 0x7c 0x26 0x1f 1496 0xa3 0x5d 0x60 0x1f 1497 0xa3 0xfc 0x26 0x1f 1498 0xa3 0xdd 0x60 0x1f 1499 1500 #------------------------------------------------------------------------------ 1501 # Floating-point <-> fixed-point conversion 1502 #------------------------------------------------------------------------------ 1503 1504 # FP16: fcvtzs w3, h5, #1 1505 # FP16: fcvtzs wzr, h20, #13 1506 # FP16: fcvtzs w19, h0, #32 1507 0xa3 0xfc 0xd8 0x1e 1508 0x9f 0xce 0xd8 0x1e 1509 0x13 0x80 0xd8 0x1e 1510 1511 # FP16: fcvtzs x3, h5, #1 1512 # FP16: fcvtzs x12, h30, #45 1513 # FP16: fcvtzs x19, h0, #64 1514 0xa3 0xfc 0xd8 0x9e 1515 0xcc 0x4f 0xd8 0x9e 1516 0x13 0x00 0xd8 0x9e 1517 1518 # CHECK: fcvtzs w3, s5, #1 1519 # CHECK: fcvtzs wzr, s20, #13 1520 # CHECK: fcvtzs w19, s0, #32 1521 0xa3 0xfc 0x18 0x1e 1522 0x9f 0xce 0x18 0x1e 1523 0x13 0x80 0x18 0x1e 1524 1525 # CHECK: fcvtzs x3, s5, #1 1526 # CHECK: fcvtzs x12, s30, #45 1527 # CHECK: fcvtzs x19, s0, #64 1528 0xa3 0xfc 0x18 0x9e 1529 0xcc 0x4f 0x18 0x9e 1530 0x13 0x00 0x18 0x9e 1531 1532 # CHECK: fcvtzs w3, d5, #1 1533 # CHECK: fcvtzs wzr, d20, #13 1534 # CHECK: fcvtzs w19, d0, #32 1535 0xa3 0xfc 0x58 0x1e 1536 0x9f 0xce 0x58 0x1e 1537 0x13 0x80 0x58 0x1e 1538 1539 # CHECK: fcvtzs x3, d5, #1 1540 # CHECK: fcvtzs x12, d30, #45 1541 # CHECK: fcvtzs x19, d0, #64 1542 0xa3 0xfc 0x58 0x9e 1543 0xcc 0x4f 0x58 0x9e 1544 0x13 0x00 0x58 0x9e 1545 1546 # FP16: fcvtzu w3, h5, #1 1547 # FP16: fcvtzu wzr, h20, #13 1548 # FP16: fcvtzu w19, h0, #32 1549 0xa3 0xfc 0xd9 0x1e 1550 0x9f 0xce 0xd9 0x1e 1551 0x13 0x80 0xd9 0x1e 1552 1553 # FP16: fcvtzu x3, h5, #1 1554 # FP16: fcvtzu x12, h30, #45 1555 # FP16: fcvtzu x19, h0, #64 1556 0xa3 0xfc 0xd9 0x9e 1557 0xcc 0x4f 0xd9 0x9e 1558 0x13 0x00 0xd9 0x9e 1559 1560 # CHECK: fcvtzu w3, s5, #1 1561 # CHECK: fcvtzu wzr, s20, #13 1562 # CHECK: fcvtzu w19, s0, #32 1563 0xa3 0xfc 0x19 0x1e 1564 0x9f 0xce 0x19 0x1e 1565 0x13 0x80 0x19 0x1e 1566 1567 # CHECK: fcvtzu x3, s5, #1 1568 # CHECK: fcvtzu x12, s30, #45 1569 # CHECK: fcvtzu x19, s0, #64 1570 0xa3 0xfc 0x19 0x9e 1571 0xcc 0x4f 0x19 0x9e 1572 0x13 0x00 0x19 0x9e 1573 1574 # CHECK: fcvtzu w3, d5, #1 1575 # CHECK: fcvtzu wzr, d20, #13 1576 # CHECK: fcvtzu w19, d0, #32 1577 0xa3 0xfc 0x59 0x1e 1578 0x9f 0xce 0x59 0x1e 1579 0x13 0x80 0x59 0x1e 1580 1581 # CHECK: fcvtzu x3, d5, #1 1582 # CHECK: fcvtzu x12, d30, #45 1583 # CHECK: fcvtzu x19, d0, #64 1584 0xa3 0xfc 0x59 0x9e 1585 0xcc 0x4f 0x59 0x9e 1586 0x13 0x00 0x59 0x9e 1587 1588 # FP16: scvtf h23, w19, #1 1589 # FP16: scvtf h31, wzr, #20 1590 # FP16: scvtf h14, w0, #32 1591 0x77 0xfe 0xc2 0x1e 1592 0xff 0xb3 0xc2 0x1e 1593 0x0e 0x80 0xc2 0x1e 1594 1595 # FP16: scvtf h23, x19, #1 1596 # FP16: scvtf h31, xzr, #20 1597 # FP16: scvtf h14, x0, #64 1598 0x77 0xfe 0xc2 0x9e 1599 0xff 0xb3 0xc2 0x9e 1600 0x0e 0x00 0xc2 0x9e 1601 1602 # CHECK: scvtf s23, w19, #1 1603 # CHECK: scvtf s31, wzr, #20 1604 # CHECK: scvtf s14, w0, #32 1605 0x77 0xfe 0x02 0x1e 1606 0xff 0xb3 0x02 0x1e 1607 0x0e 0x80 0x02 0x1e 1608 1609 # CHECK: scvtf s23, x19, #1 1610 # CHECK: scvtf s31, xzr, #20 1611 # CHECK: scvtf s14, x0, #64 1612 0x77 0xfe 0x02 0x9e 1613 0xff 0xb3 0x02 0x9e 1614 0x0e 0x00 0x02 0x9e 1615 1616 # CHECK: scvtf d23, w19, #1 1617 # CHECK: scvtf d31, wzr, #20 1618 # CHECK: scvtf d14, w0, #32 1619 0x77 0xfe 0x42 0x1e 1620 0xff 0xb3 0x42 0x1e 1621 0x0e 0x80 0x42 0x1e 1622 1623 # CHECK: scvtf d23, x19, #1 1624 # CHECK: scvtf d31, xzr, #20 1625 # CHECK: scvtf d14, x0, #64 1626 0x77 0xfe 0x42 0x9e 1627 0xff 0xb3 0x42 0x9e 1628 0x0e 0x00 0x42 0x9e 1629 1630 # FP16: ucvtf h23, w19, #1 1631 # FP16: ucvtf h31, wzr, #20 1632 # FP16: ucvtf h14, w0, #32 1633 0x77 0xfe 0xc3 0x1e 1634 0xff 0xb3 0xc3 0x1e 1635 0x0e 0x80 0xc3 0x1e 1636 1637 # FP16: ucvtf h23, x19, #1 1638 # FP16: ucvtf h31, xzr, #20 1639 # FP16: ucvtf h14, x0, #64 1640 0x77 0xfe 0xc3 0x9e 1641 0xff 0xb3 0xc3 0x9e 1642 0x0e 0x00 0xc3 0x9e 1643 1644 # CHECK: ucvtf s23, w19, #1 1645 # CHECK: ucvtf s31, wzr, #20 1646 # CHECK: ucvtf s14, w0, #32 1647 0x77 0xfe 0x03 0x1e 1648 0xff 0xb3 0x03 0x1e 1649 0x0e 0x80 0x03 0x1e 1650 1651 # CHECK: ucvtf s23, x19, #1 1652 # CHECK: ucvtf s31, xzr, #20 1653 # CHECK: ucvtf s14, x0, #64 1654 0x77 0xfe 0x03 0x9e 1655 0xff 0xb3 0x03 0x9e 1656 0x0e 0x00 0x03 0x9e 1657 1658 # CHECK: ucvtf d23, w19, #1 1659 # CHECK: ucvtf d31, wzr, #20 1660 # CHECK: ucvtf d14, w0, #32 1661 0x77 0xfe 0x43 0x1e 1662 0xff 0xb3 0x43 0x1e 1663 0x0e 0x80 0x43 0x1e 1664 1665 # CHECK: ucvtf d23, x19, #1 1666 # CHECK: ucvtf d31, xzr, #20 1667 # CHECK: ucvtf d14, x0, #64 1668 0x77 0xfe 0x43 0x9e 1669 0xff 0xb3 0x43 0x9e 1670 0x0e 0x00 0x43 0x9e 1671 1672 #------------------------------------------------------------------------------ 1673 # Floating-point <-> integer conversion 1674 #------------------------------------------------------------------------------ 1675 1676 # FP16: fcvtns w3, h31 1677 # FP16: fcvtns xzr, h12 1678 # FP16: fcvtnu wzr, h12 1679 # FP16: fcvtnu x0, h0 1680 0xe3 0x3 0xe0 0x1e 1681 0x9f 0x1 0xe0 0x9e 1682 0x9f 0x1 0xe1 0x1e 1683 0x0 0x0 0xe1 0x9e 1684 1685 # FP16: fcvtps wzr, h9 1686 # FP16: fcvtps x12, h20 1687 # FP16: fcvtpu w30, h23 1688 # FP16: fcvtpu x29, h3 1689 0x3f 0x1 0xe8 0x1e 1690 0x8c 0x2 0xe8 0x9e 1691 0xfe 0x2 0xe9 0x1e 1692 0x7d 0x0 0xe9 0x9e 1693 1694 # FP16: fcvtms w2, h3 1695 # FP16: fcvtms x4, h5 1696 # FP16: fcvtmu w6, h7 1697 # FP16: fcvtmu x8, h9 1698 0x62 0x0 0xf0 0x1e 1699 0xa4 0x0 0xf0 0x9e 1700 0xe6 0x0 0xf1 0x1e 1701 0x28 0x1 0xf1 0x9e 1702 1703 # FP16: fcvtzs w10, h11 1704 # FP16: fcvtzs x12, h13 1705 # FP16: fcvtzu w14, h15 1706 # FP16: fcvtzu x15, h16 1707 0x6a 0x1 0xf8 0x1e 1708 0xac 0x1 0xf8 0x9e 1709 0xee 0x1 0xf9 0x1e 1710 0xf 0x2 0xf9 0x9e 1711 1712 # FP16: scvtf h17, w18 1713 # FP16: scvtf h19, x20 1714 # FP16: ucvtf h21, w22 1715 # FP16: scvtf h23, x24 1716 0x51 0x2 0xe2 0x1e 1717 0x93 0x2 0xe2 0x9e 1718 0xd5 0x2 0xe3 0x1e 1719 0x17 0x3 0xe2 0x9e 1720 1721 # FP16: fcvtas w25, h26 1722 # FP16: fcvtas x27, h28 1723 # FP16: fcvtau w29, h30 1724 # FP16: fcvtau xzr, h0 1725 0x59 0x3 0xe4 0x1e 1726 0x9b 0x3 0xe4 0x9e 1727 0xdd 0x3 0xe5 0x1e 1728 0x1f 0x0 0xe5 0x9e 1729 1730 # CHECK: fcvtns w3, s31 1731 # CHECK: fcvtns xzr, s12 1732 # CHECK: fcvtnu wzr, s12 1733 # CHECK: fcvtnu x0, s0 1734 0xe3 0x3 0x20 0x1e 1735 0x9f 0x1 0x20 0x9e 1736 0x9f 0x1 0x21 0x1e 1737 0x0 0x0 0x21 0x9e 1738 1739 # CHECK: fcvtps wzr, s9 1740 # CHECK: fcvtps x12, s20 1741 # CHECK: fcvtpu w30, s23 1742 # CHECK: fcvtpu x29, s3 1743 0x3f 0x1 0x28 0x1e 1744 0x8c 0x2 0x28 0x9e 1745 0xfe 0x2 0x29 0x1e 1746 0x7d 0x0 0x29 0x9e 1747 1748 # CHECK: fcvtms w2, s3 1749 # CHECK: fcvtms x4, s5 1750 # CHECK: fcvtmu w6, s7 1751 # CHECK: fcvtmu x8, s9 1752 0x62 0x0 0x30 0x1e 1753 0xa4 0x0 0x30 0x9e 1754 0xe6 0x0 0x31 0x1e 1755 0x28 0x1 0x31 0x9e 1756 1757 # CHECK: fcvtzs w10, s11 1758 # CHECK: fcvtzs x12, s13 1759 # CHECK: fcvtzu w14, s15 1760 # CHECK: fcvtzu x15, s16 1761 0x6a 0x1 0x38 0x1e 1762 0xac 0x1 0x38 0x9e 1763 0xee 0x1 0x39 0x1e 1764 0xf 0x2 0x39 0x9e 1765 1766 # CHECK: scvtf s17, w18 1767 # CHECK: scvtf s19, x20 1768 # CHECK: ucvtf s21, w22 1769 # CHECK: scvtf s23, x24 1770 0x51 0x2 0x22 0x1e 1771 0x93 0x2 0x22 0x9e 1772 0xd5 0x2 0x23 0x1e 1773 0x17 0x3 0x22 0x9e 1774 1775 # CHECK: fcvtas w25, s26 1776 # CHECK: fcvtas x27, s28 1777 # CHECK: fcvtau w29, s30 1778 # CHECK: fcvtau xzr, s0 1779 0x59 0x3 0x24 0x1e 1780 0x9b 0x3 0x24 0x9e 1781 0xdd 0x3 0x25 0x1e 1782 0x1f 0x0 0x25 0x9e 1783 1784 # CHECK: fcvtns w3, d31 1785 # CHECK: fcvtns xzr, d12 1786 # CHECK: fcvtnu wzr, d12 1787 # CHECK: fcvtnu x0, d0 1788 0xe3 0x3 0x60 0x1e 1789 0x9f 0x1 0x60 0x9e 1790 0x9f 0x1 0x61 0x1e 1791 0x0 0x0 0x61 0x9e 1792 1793 # CHECK: fcvtps wzr, d9 1794 # CHECK: fcvtps x12, d20 1795 # CHECK: fcvtpu w30, d23 1796 # CHECK: fcvtpu x29, d3 1797 0x3f 0x1 0x68 0x1e 1798 0x8c 0x2 0x68 0x9e 1799 0xfe 0x2 0x69 0x1e 1800 0x7d 0x0 0x69 0x9e 1801 1802 # CHECK: fcvtms w2, d3 1803 # CHECK: fcvtms x4, d5 1804 # CHECK: fcvtmu w6, d7 1805 # CHECK: fcvtmu x8, d9 1806 0x62 0x0 0x70 0x1e 1807 0xa4 0x0 0x70 0x9e 1808 0xe6 0x0 0x71 0x1e 1809 0x28 0x1 0x71 0x9e 1810 1811 # CHECK: fcvtzs w10, d11 1812 # CHECK: fcvtzs x12, d13 1813 # CHECK: fcvtzu w14, d15 1814 # CHECK: fcvtzu x15, d16 1815 0x6a 0x1 0x78 0x1e 1816 0xac 0x1 0x78 0x9e 1817 0xee 0x1 0x79 0x1e 1818 0xf 0x2 0x79 0x9e 1819 1820 # CHECK: scvtf d17, w18 1821 # CHECK: scvtf d19, x20 1822 # CHECK: ucvtf d21, w22 1823 # CHECK: ucvtf d23, x24 1824 0x51 0x2 0x62 0x1e 1825 0x93 0x2 0x62 0x9e 1826 0xd5 0x2 0x63 0x1e 1827 0x17 0x3 0x63 0x9e 1828 1829 # CHECK: fcvtas w25, d26 1830 # CHECK: fcvtas x27, d28 1831 # CHECK: fcvtau w29, d30 1832 # CHECK: fcvtau xzr, d0 1833 0x59 0x3 0x64 0x1e 1834 0x9b 0x3 0x64 0x9e 1835 0xdd 0x3 0x65 0x1e 1836 0x1f 0x0 0x65 0x9e 1837 1838 # CHECK: fmov w3, s9 1839 # CHECK: fmov s9, w3 1840 0x23 0x1 0x26 0x1e 1841 0x69 0x0 0x27 0x1e 1842 1843 # CHECK: fmov x20, d31 1844 # CHECK: fmov d1, x15 1845 0xf4 0x3 0x66 0x9e 1846 0xe1 0x1 0x67 0x9e 1847 1848 # CHECK: fmov x3, v12.d[1] 1849 # CHECK: fmov v1.d[1], x19 1850 0x83 0x1 0xae 0x9e 1851 0x61 0x2 0xaf 0x9e 1852 1853 #------------------------------------------------------------------------------ 1854 # Floating-point immediate 1855 #------------------------------------------------------------------------------ 1856 1857 # CHECK: fmov s2, #0.12500000 1858 # CHECK: fmov s3, #1.00000000 1859 # CHECK: fmov d30, #16.00000000 1860 0x2 0x10 0x28 0x1e 1861 0x3 0x10 0x2e 0x1e 1862 0x1e 0x10 0x66 0x1e 1863 1864 # CHECK: fmov s4, #1.06250000 1865 # CHECK: fmov d10, #1.93750000 1866 0x4 0x30 0x2e 0x1e 1867 0xa 0xf0 0x6f 0x1e 1868 1869 # CHECK: fmov s12, #-1.00000000 1870 0xc 0x10 0x3e 0x1e 1871 1872 # CHECK: fmov d16, #8.50000000 1873 0x10 0x30 0x64 0x1e 1874 1875 #------------------------------------------------------------------------------ 1876 # Load-register (literal) 1877 #------------------------------------------------------------------------------ 1878 1879 # CHECK: ldr w3, #0 1880 # CHECK: ldr x29, #4 1881 # CHECK: ldrsw xzr, #-4 1882 0x03 0x00 0x00 0x18 1883 0x3d 0x00 0x00 0x58 1884 0xff 0xff 0xff 0x98 1885 1886 # CHECK: ldr s0, #8 1887 # CHECK: ldr d0, #1048572 1888 # CHECK: ldr q0, #-1048576 1889 0x40 0x00 0x00 0x1c 1890 0xe0 0xff 0x7f 0x5c 1891 0x00 0x00 0x80 0x9c 1892 1893 # CHECK: prfm pldl1strm, #0 1894 # CHECK: prfm #22, #0 1895 0x01 0x00 0x00 0xd8 1896 0x16 0x00 0x00 0xd8 1897 1898 #------------------------------------------------------------------------------ 1899 # Load/store exclusive 1900 #------------------------------------------------------------------------------ 1901 1902 #CHECK: stxrb w18, w8, [sp] 1903 #CHECK: stxrh w24, w15, [x16] 1904 #CHECK: stxr w5, w6, [x17] 1905 #CHECK: stxr w1, x10, [x21] 1906 #CHECK: stxr w1, x10, [x21] 1907 0xe8 0x7f 0x12 0x08 1908 0x0f 0x7e 0x18 0x48 1909 0x26 0x7e 0x05 0x88 1910 0xaa 0x7e 0x01 0xc8 1911 0xaa 0x7a 0x01 0xc8 1912 1913 #CHECK: ldxrb w30, [x0] 1914 #CHECK: ldxrh w17, [x4] 1915 #CHECK: ldxr w22, [sp] 1916 #CHECK: ldxr x11, [x29] 1917 #CHECK: ldxr x11, [x29] 1918 #CHECK: ldxr x11, [x29] 1919 0x1e 0x7c 0x5f 0x08 1920 0x91 0x7c 0x5f 0x48 1921 0xf6 0x7f 0x5f 0x88 1922 0xab 0x7f 0x5f 0xc8 1923 0xab 0x6f 0x5f 0xc8 1924 0xab 0x7f 0x5e 0xc8 1925 1926 #CHECK: stxp w12, w11, w10, [sp] 1927 #CHECK: stxp wzr, x27, x9, [x12] 1928 0xeb 0x2b 0x2c 0x88 1929 0x9b 0x25 0x3f 0xc8 1930 1931 #CHECK: ldxp w0, wzr, [sp] 1932 #CHECK: ldxp x17, x0, [x18] 1933 #CHECK: ldxp x17, x0, [x18] 1934 0xe0 0x7f 0x7f 0x88 1935 0x51 0x02 0x7f 0xc8 1936 0x51 0x02 0x7e 0xc8 1937 1938 #CHECK: stlxrb w12, w22, [x0] 1939 #CHECK: stlxrh w10, w1, [x1] 1940 #CHECK: stlxr w9, w2, [x2] 1941 #CHECK: stlxr w9, x3, [sp] 1942 1943 0x16 0xfc 0x0c 0x08 1944 0x21 0xfc 0x0a 0x48 1945 0x42 0xfc 0x09 0x88 1946 0xe3 0xff 0x09 0xc8 1947 1948 #CHECK: ldaxrb w8, [x4] 1949 #CHECK: ldaxrh w7, [x5] 1950 #CHECK: ldaxr w6, [sp] 1951 #CHECK: ldaxr x5, [x6] 1952 #CHECK: ldaxr x5, [x6] 1953 #CHECK: ldaxr x5, [x6] 1954 0x88 0xfc 0x5f 0x08 1955 0xa7 0xfc 0x5f 0x48 1956 0xe6 0xff 0x5f 0x88 1957 0xc5 0xfc 0x5f 0xc8 1958 0xc5 0xec 0x5f 0xc8 1959 0xc5 0xfc 0x5e 0xc8 1960 1961 #CHECK: stlxp w4, w5, w6, [sp] 1962 #CHECK: stlxp wzr, x6, x7, [x1] 1963 0xe5 0x9b 0x24 0x88 1964 0x26 0x9c 0x3f 0xc8 1965 1966 #CHECK: ldaxp w5, w18, [sp] 1967 #CHECK: ldaxp x6, x19, [x22] 1968 #CHECK: ldaxp x6, x19, [x22] 1969 0xe5 0xcb 0x7f 0x88 1970 0xc6 0xce 0x7f 0xc8 1971 0xc6 0xce 0x7e 0xc8 1972 1973 #CHECK: stlrb w24, [sp] 1974 #CHECK: stlrh w25, [x30] 1975 #CHECK: stlr w26, [x29] 1976 #CHECK: stlr x27, [x28] 1977 #CHECK: stlr x27, [x28] 1978 #CHECK: stlr x27, [x28] 1979 0xf8 0xff 0x9f 0x08 1980 0xd9 0xff 0x9f 0x48 1981 0xba 0xff 0x9f 0x88 1982 0x9b 0xff 0x9f 0xc8 1983 0x9b 0xef 0x9f 0xc8 1984 0x9b 0xff 0x9e 0xc8 1985 1986 #CHECK: ldarb w23, [sp] 1987 #CHECK: ldarh w22, [x30] 1988 #CHECK: ldar wzr, [x29] 1989 #CHECK: ldar x21, [x28] 1990 #CHECK: ldar x21, [x28] 1991 #CHECK: ldar x21, [x28] 1992 0xf7 0xff 0xdf 0x08 1993 0xd6 0xff 0xdf 0x48 1994 0xbf 0xff 0xdf 0x88 1995 0x95 0xff 0xdf 0xc8 1996 0x95 0xef 0xdf 0xc8 1997 0x95 0xff 0xde 0xc8 1998 1999 #------------------------------------------------------------------------------ 2000 # Load/store (unscaled immediate) 2001 #------------------------------------------------------------------------------ 2002 2003 # CHECK: sturb w9, [sp] 2004 # CHECK: sturh wzr, [x12, #255] 2005 # CHECK: stur w16, [x0, #-256] 2006 # CHECK: stur x28, [x14, #1] 2007 0xe9 0x3 0x0 0x38 2008 0x9f 0xf1 0xf 0x78 2009 0x10 0x0 0x10 0xb8 2010 0xdc 0x11 0x0 0xf8 2011 2012 # CHECK: ldurb w1, [x20, #255] 2013 # CHECK: ldurh w20, [x1, #255] 2014 # CHECK: ldur w12, [sp, #255] 2015 # CHECK: ldur xzr, [x12, #255] 2016 0x81 0xf2 0x4f 0x38 2017 0x34 0xf0 0x4f 0x78 2018 0xec 0xf3 0x4f 0xb8 2019 0x9f 0xf1 0x4f 0xf8 2020 2021 # CHECK: ldursb x9, [x7, #-256] 2022 # CHECK: ldursh x17, [x19, #-256] 2023 # CHECK: ldursw x20, [x15, #-256] 2024 # CHECK: prfum pldl2keep, [sp, #-256] 2025 # CHECK: ldursb w19, [x1, #-256] 2026 # CHECK: ldursh w15, [x21, #-256] 2027 0xe9 0x0 0x90 0x38 2028 0x71 0x2 0x90 0x78 2029 0xf4 0x1 0x90 0xb8 2030 0xe2 0x3 0x90 0xf8 2031 0x33 0x0 0xd0 0x38 2032 0xaf 0x2 0xd0 0x78 2033 2034 # CHECK: stur b0, [sp, #1] 2035 # CHECK: stur h12, [x12, #-1] 2036 # CHECK: stur s15, [x0, #255] 2037 # CHECK: stur d31, [x5, #25] 2038 # CHECK: stur q9, [x5] 2039 0xe0 0x13 0x0 0x3c 2040 0x8c 0xf1 0x1f 0x7c 2041 0xf 0xf0 0xf 0xbc 2042 0xbf 0x90 0x1 0xfc 2043 0xa9 0x0 0x80 0x3c 2044 2045 # CHECK: ldur b3, [sp] 2046 # CHECK: ldur h5, [x4, #-256] 2047 # CHECK: ldur s7, [x12, #-1] 2048 # CHECK: ldur d11, [x19, #4] 2049 # CHECK: ldur q13, [x1, #2] 2050 0xe3 0x3 0x40 0x3c 2051 0x85 0x0 0x50 0x7c 2052 0x87 0xf1 0x5f 0xbc 2053 0x6b 0x42 0x40 0xfc 2054 0x2d 0x20 0xc0 0x3c 2055 2056 #------------------------------------------------------------------------------ 2057 # Load/store (immediate post-indexed) 2058 #------------------------------------------------------------------------------ 2059 2060 # E.g. "str xzr, [sp], #4" is *not* unpredictable 2061 # CHECK-NOT: warning: potentially undefined instruction encoding 2062 0xff 0x47 0x40 0xb8 2063 2064 # CHECK: strb w9, [x2], #255 2065 # CHECK: strb w10, [x3], #1 2066 # CHECK: strb w10, [x3], #-256 2067 # CHECK: strh w9, [x2], #255 2068 # CHECK: strh w9, [x2], #1 2069 # CHECK: strh w10, [x3], #-256 2070 0x49 0xf4 0xf 0x38 2071 0x6a 0x14 0x0 0x38 2072 0x6a 0x4 0x10 0x38 2073 0x49 0xf4 0xf 0x78 2074 0x49 0x14 0x0 0x78 2075 0x6a 0x4 0x10 0x78 2076 2077 # CHECK: str w19, [sp], #255 2078 # CHECK: str w20, [x30], #1 2079 # CHECK: str w21, [x12], #-256 2080 # CHECK: str xzr, [x9], #255 2081 # CHECK: str x2, [x3], #1 2082 # CHECK: str x19, [x12], #-256 2083 0xf3 0xf7 0xf 0xb8 2084 0xd4 0x17 0x0 0xb8 2085 0x95 0x5 0x10 0xb8 2086 0x3f 0xf5 0xf 0xf8 2087 0x62 0x14 0x0 0xf8 2088 0x93 0x5 0x10 0xf8 2089 2090 # CHECK: ldrb w9, [x2], #255 2091 # CHECK: ldrb w10, [x3], #1 2092 # CHECK: ldrb w10, [x3], #-256 2093 # CHECK: ldrh w9, [x2], #255 2094 # CHECK: ldrh w9, [x2], #1 2095 # CHECK: ldrh w10, [x3], #-256 2096 0x49 0xf4 0x4f 0x38 2097 0x6a 0x14 0x40 0x38 2098 0x6a 0x4 0x50 0x38 2099 0x49 0xf4 0x4f 0x78 2100 0x49 0x14 0x40 0x78 2101 0x6a 0x4 0x50 0x78 2102 2103 # CHECK: ldr w19, [sp], #255 2104 # CHECK: ldr w20, [x30], #1 2105 # CHECK: ldr w21, [x12], #-256 2106 # CHECK: ldr xzr, [x9], #255 2107 # CHECK: ldr x2, [x3], #1 2108 # CHECK: ldr x19, [x12], #-256 2109 0xf3 0xf7 0x4f 0xb8 2110 0xd4 0x17 0x40 0xb8 2111 0x95 0x5 0x50 0xb8 2112 0x3f 0xf5 0x4f 0xf8 2113 0x62 0x14 0x40 0xf8 2114 0x93 0x5 0x50 0xf8 2115 2116 # CHECK: ldrsb xzr, [x9], #255 2117 # CHECK: ldrsb x2, [x3], #1 2118 # CHECK: ldrsb x19, [x12], #-256 2119 # CHECK: ldrsh xzr, [x9], #255 2120 # CHECK: ldrsh x2, [x3], #1 2121 # CHECK: ldrsh x19, [x12], #-256 2122 # CHECK: ldrsw xzr, [x9], #255 2123 # CHECK: ldrsw x2, [x3], #1 2124 # CHECK: ldrsw x19, [x12], #-256 2125 0x3f 0xf5 0x8f 0x38 2126 0x62 0x14 0x80 0x38 2127 0x93 0x5 0x90 0x38 2128 0x3f 0xf5 0x8f 0x78 2129 0x62 0x14 0x80 0x78 2130 0x93 0x5 0x90 0x78 2131 0x3f 0xf5 0x8f 0xb8 2132 0x62 0x14 0x80 0xb8 2133 0x93 0x5 0x90 0xb8 2134 2135 # CHECK: ldrsb wzr, [x9], #255 2136 # CHECK: ldrsb w2, [x3], #1 2137 # CHECK: ldrsb w19, [x12], #-256 2138 # CHECK: ldrsh wzr, [x9], #255 2139 # CHECK: ldrsh w2, [x3], #1 2140 # CHECK: ldrsh w19, [x12], #-256 2141 0x3f 0xf5 0xcf 0x38 2142 0x62 0x14 0xc0 0x38 2143 0x93 0x5 0xd0 0x38 2144 0x3f 0xf5 0xcf 0x78 2145 0x62 0x14 0xc0 0x78 2146 0x93 0x5 0xd0 0x78 2147 2148 # CHECK: str b0, [x0], #255 2149 # CHECK: str b3, [x3], #1 2150 # CHECK: str b5, [sp], #-256 2151 # CHECK: str h10, [x10], #255 2152 # CHECK: str h13, [x23], #1 2153 # CHECK: str h15, [sp], #-256 2154 # CHECK: str s20, [x20], #255 2155 # CHECK: str s23, [x23], #1 2156 # CHECK: str s25, [x0], #-256 2157 # CHECK: str d20, [x20], #255 2158 # CHECK: str d23, [x23], #1 2159 # CHECK: str d25, [x0], #-256 2160 0x0 0xf4 0xf 0x3c 2161 0x63 0x14 0x0 0x3c 2162 0xe5 0x7 0x10 0x3c 2163 0x4a 0xf5 0xf 0x7c 2164 0xed 0x16 0x0 0x7c 2165 0xef 0x7 0x10 0x7c 2166 0x94 0xf6 0xf 0xbc 2167 0xf7 0x16 0x0 0xbc 2168 0x19 0x4 0x10 0xbc 2169 0x94 0xf6 0xf 0xfc 2170 0xf7 0x16 0x0 0xfc 2171 0x19 0x4 0x10 0xfc 2172 2173 # CHECK: ldr b0, [x0], #255 2174 # CHECK: ldr b3, [x3], #1 2175 # CHECK: ldr b5, [sp], #-256 2176 # CHECK: ldr h10, [x10], #255 2177 # CHECK: ldr h13, [x23], #1 2178 # CHECK: ldr h15, [sp], #-256 2179 # CHECK: ldr s20, [x20], #255 2180 # CHECK: ldr s23, [x23], #1 2181 # CHECK: ldr s25, [x0], #-256 2182 # CHECK: ldr d20, [x20], #255 2183 # CHECK: ldr d23, [x23], #1 2184 # CHECK: ldr d25, [x0], #-256 2185 0x0 0xf4 0x4f 0x3c 2186 0x63 0x14 0x40 0x3c 2187 0xe5 0x7 0x50 0x3c 2188 0x4a 0xf5 0x4f 0x7c 2189 0xed 0x16 0x40 0x7c 2190 0xef 0x7 0x50 0x7c 2191 0x94 0xf6 0x4f 0xbc 2192 0xf7 0x16 0x40 0xbc 2193 0x19 0x4 0x50 0xbc 2194 0x94 0xf6 0x4f 0xfc 2195 0xf7 0x16 0x40 0xfc 2196 0x19 0x4 0x50 0xfc 2197 0x34 0xf4 0xcf 0x3c 2198 2199 # CHECK: ldr q20, [x1], #255 2200 # CHECK: ldr q23, [x9], #1 2201 # CHECK: ldr q25, [x20], #-256 2202 # CHECK: str q10, [x1], #255 2203 # CHECK: str q22, [sp], #1 2204 # CHECK: str q21, [x20], #-256 2205 0x37 0x15 0xc0 0x3c 2206 0x99 0x6 0xd0 0x3c 2207 0x2a 0xf4 0x8f 0x3c 2208 0xf6 0x17 0x80 0x3c 2209 0x95 0x6 0x90 0x3c 2210 2211 #------------------------------------------------------------------------------- 2212 # Load-store register (immediate pre-indexed) 2213 #------------------------------------------------------------------------------- 2214 2215 # E.g. "str xzr, [sp, #4]!" is *not* unpredictable 2216 # CHECK-NOT: warning: potentially undefined instruction encoding 2217 0xff 0xf 0x40 0xf8 2218 2219 # CHECK: ldr x3, [x4, #0]! 2220 0x83 0xc 0x40 0xf8 2221 2222 # CHECK: strb w9, [x2, #255]! 2223 # CHECK: strb w10, [x3, #1]! 2224 # CHECK: strb w10, [x3, #-256]! 2225 # CHECK: strh w9, [x2, #255]! 2226 # CHECK: strh w9, [x2, #1]! 2227 # CHECK: strh w10, [x3, #-256]! 2228 0x49 0xfc 0xf 0x38 2229 0x6a 0x1c 0x0 0x38 2230 0x6a 0xc 0x10 0x38 2231 0x49 0xfc 0xf 0x78 2232 0x49 0x1c 0x0 0x78 2233 0x6a 0xc 0x10 0x78 2234 2235 # CHECK: str w19, [sp, #255]! 2236 # CHECK: str w20, [x30, #1]! 2237 # CHECK: str w21, [x12, #-256]! 2238 # CHECK: str xzr, [x9, #255]! 2239 # CHECK: str x2, [x3, #1]! 2240 # CHECK: str x19, [x12, #-256]! 2241 0xf3 0xff 0xf 0xb8 2242 0xd4 0x1f 0x0 0xb8 2243 0x95 0xd 0x10 0xb8 2244 0x3f 0xfd 0xf 0xf8 2245 0x62 0x1c 0x0 0xf8 2246 0x93 0xd 0x10 0xf8 2247 2248 # CHECK: ldrb w9, [x2, #255]! 2249 # CHECK: ldrb w10, [x3, #1]! 2250 # CHECK: ldrb w10, [x3, #-256]! 2251 # CHECK: ldrh w9, [x2, #255]! 2252 # CHECK: ldrh w9, [x2, #1]! 2253 # CHECK: ldrh w10, [x3, #-256]! 2254 0x49 0xfc 0x4f 0x38 2255 0x6a 0x1c 0x40 0x38 2256 0x6a 0xc 0x50 0x38 2257 0x49 0xfc 0x4f 0x78 2258 0x49 0x1c 0x40 0x78 2259 0x6a 0xc 0x50 0x78 2260 2261 # CHECK: ldr w19, [sp, #255]! 2262 # CHECK: ldr w20, [x30, #1]! 2263 # CHECK: ldr w21, [x12, #-256]! 2264 # CHECK: ldr xzr, [x9, #255]! 2265 # CHECK: ldr x2, [x3, #1]! 2266 # CHECK: ldr x19, [x12, #-256]! 2267 0xf3 0xff 0x4f 0xb8 2268 0xd4 0x1f 0x40 0xb8 2269 0x95 0xd 0x50 0xb8 2270 0x3f 0xfd 0x4f 0xf8 2271 0x62 0x1c 0x40 0xf8 2272 0x93 0xd 0x50 0xf8 2273 2274 # CHECK: ldrsb xzr, [x9, #255]! 2275 # CHECK: ldrsb x2, [x3, #1]! 2276 # CHECK: ldrsb x19, [x12, #-256]! 2277 # CHECK: ldrsh xzr, [x9, #255]! 2278 # CHECK: ldrsh x2, [x3, #1]! 2279 # CHECK: ldrsh x19, [x12, #-256]! 2280 # CHECK: ldrsw xzr, [x9, #255]! 2281 # CHECK: ldrsw x2, [x3, #1]! 2282 # CHECK: ldrsw x19, [x12, #-256]! 2283 0x3f 0xfd 0x8f 0x38 2284 0x62 0x1c 0x80 0x38 2285 0x93 0xd 0x90 0x38 2286 0x3f 0xfd 0x8f 0x78 2287 0x62 0x1c 0x80 0x78 2288 0x93 0xd 0x90 0x78 2289 0x3f 0xfd 0x8f 0xb8 2290 0x62 0x1c 0x80 0xb8 2291 0x93 0xd 0x90 0xb8 2292 2293 # CHECK: ldrsb wzr, [x9, #255]! 2294 # CHECK: ldrsb w2, [x3, #1]! 2295 # CHECK: ldrsb w19, [x12, #-256]! 2296 # CHECK: ldrsh wzr, [x9, #255]! 2297 # CHECK: ldrsh w2, [x3, #1]! 2298 # CHECK: ldrsh w19, [x12, #-256]! 2299 0x3f 0xfd 0xcf 0x38 2300 0x62 0x1c 0xc0 0x38 2301 0x93 0xd 0xd0 0x38 2302 0x3f 0xfd 0xcf 0x78 2303 0x62 0x1c 0xc0 0x78 2304 0x93 0xd 0xd0 0x78 2305 2306 # CHECK: str b0, [x0, #255]! 2307 # CHECK: str b3, [x3, #1]! 2308 # CHECK: str b5, [sp, #-256]! 2309 # CHECK: str h10, [x10, #255]! 2310 # CHECK: str h13, [x23, #1]! 2311 # CHECK: str h15, [sp, #-256]! 2312 # CHECK: str s20, [x20, #255]! 2313 # CHECK: str s23, [x23, #1]! 2314 # CHECK: str s25, [x0, #-256]! 2315 # CHECK: str d20, [x20, #255]! 2316 # CHECK: str d23, [x23, #1]! 2317 # CHECK: str d25, [x0, #-256]! 2318 0x0 0xfc 0xf 0x3c 2319 0x63 0x1c 0x0 0x3c 2320 0xe5 0xf 0x10 0x3c 2321 0x4a 0xfd 0xf 0x7c 2322 0xed 0x1e 0x0 0x7c 2323 0xef 0xf 0x10 0x7c 2324 0x94 0xfe 0xf 0xbc 2325 0xf7 0x1e 0x0 0xbc 2326 0x19 0xc 0x10 0xbc 2327 0x94 0xfe 0xf 0xfc 2328 0xf7 0x1e 0x0 0xfc 2329 0x19 0xc 0x10 0xfc 2330 2331 # CHECK: ldr b0, [x0, #255]! 2332 # CHECK: ldr b3, [x3, #1]! 2333 # CHECK: ldr b5, [sp, #-256]! 2334 # CHECK: ldr h10, [x10, #255]! 2335 # CHECK: ldr h13, [x23, #1]! 2336 # CHECK: ldr h15, [sp, #-256]! 2337 # CHECK: ldr s20, [x20, #255]! 2338 # CHECK: ldr s23, [x23, #1]! 2339 # CHECK: ldr s25, [x0, #-256]! 2340 # CHECK: ldr d20, [x20, #255]! 2341 # CHECK: ldr d23, [x23, #1]! 2342 # CHECK: ldr d25, [x0, #-256]! 2343 0x0 0xfc 0x4f 0x3c 2344 0x63 0x1c 0x40 0x3c 2345 0xe5 0xf 0x50 0x3c 2346 0x4a 0xfd 0x4f 0x7c 2347 0xed 0x1e 0x40 0x7c 2348 0xef 0xf 0x50 0x7c 2349 0x94 0xfe 0x4f 0xbc 2350 0xf7 0x1e 0x40 0xbc 2351 0x19 0xc 0x50 0xbc 2352 0x94 0xfe 0x4f 0xfc 2353 0xf7 0x1e 0x40 0xfc 2354 0x19 0xc 0x50 0xfc 2355 2356 # CHECK: ldr q20, [x1, #255]! 2357 # CHECK: ldr q23, [x9, #1]! 2358 # CHECK: ldr q25, [x20, #-256]! 2359 # CHECK: str q10, [x1, #255]! 2360 # CHECK: str q22, [sp, #1]! 2361 # CHECK: str q21, [x20, #-256]! 2362 0x34 0xfc 0xcf 0x3c 2363 0x37 0x1d 0xc0 0x3c 2364 0x99 0xe 0xd0 0x3c 2365 0x2a 0xfc 0x8f 0x3c 2366 0xf6 0x1f 0x80 0x3c 2367 0x95 0xe 0x90 0x3c 2368 2369 #------------------------------------------------------------------------------ 2370 # Load/store (unprivileged) 2371 #------------------------------------------------------------------------------ 2372 2373 # CHECK: sttrb w9, [sp] 2374 # CHECK: sttrh wzr, [x12, #255] 2375 # CHECK: sttr w16, [x0, #-256] 2376 # CHECK: sttr x28, [x14, #1] 2377 0xe9 0x0b 0x0 0x38 2378 0x9f 0xf9 0xf 0x78 2379 0x10 0x08 0x10 0xb8 2380 0xdc 0x19 0x0 0xf8 2381 2382 # CHECK: ldtrb w1, [x20, #255] 2383 # CHECK: ldtrh w20, [x1, #255] 2384 # CHECK: ldtr w12, [sp, #255] 2385 # CHECK: ldtr xzr, [x12, #255] 2386 0x81 0xfa 0x4f 0x38 2387 0x34 0xf8 0x4f 0x78 2388 0xec 0xfb 0x4f 0xb8 2389 0x9f 0xf9 0x4f 0xf8 2390 2391 # CHECK: ldtrsb x9, [x7, #-256] 2392 # CHECK: ldtrsh x17, [x19, #-256] 2393 # CHECK: ldtrsw x20, [x15, #-256] 2394 # CHECK: ldtrsb w19, [x1, #-256] 2395 # CHECK: ldtrsh w15, [x21, #-256] 2396 0xe9 0x08 0x90 0x38 2397 0x71 0x0a 0x90 0x78 2398 0xf4 0x09 0x90 0xb8 2399 0x33 0x08 0xd0 0x38 2400 0xaf 0x0a 0xd0 0x78 2401 2402 #------------------------------------------------------------------------------ 2403 # Load/store (unsigned immediate) 2404 #------------------------------------------------------------------------------ 2405 2406 # CHECK: ldr x0, [x0] 2407 # CHECK: ldr x4, [x29] 2408 # CHECK: ldr x30, [x12, #32760] 2409 # CHECK: ldr x20, [sp, #8] 2410 0x0 0x0 0x40 0xf9 2411 0xa4 0x3 0x40 0xf9 2412 0x9e 0xfd 0x7f 0xf9 2413 0xf4 0x7 0x40 0xf9 2414 2415 # CHECK: ldr xzr, [sp] 2416 0xff 0x3 0x40 0xf9 2417 2418 # CHECK: ldr w2, [sp] 2419 # CHECK: ldr w17, [sp, #16380] 2420 # CHECK: ldr w13, [x2, #4] 2421 0xe2 0x3 0x40 0xb9 2422 0xf1 0xff 0x7f 0xb9 2423 0x4d 0x4 0x40 0xb9 2424 2425 # CHECK: ldrsw x2, [x5, #4] 2426 # CHECK: ldrsw x23, [sp, #16380] 2427 0xa2 0x4 0x80 0xb9 2428 0xf7 0xff 0xbf 0xb9 2429 2430 # CHECK: ldrh w2, [x4] 2431 # CHECK: ldrsh w23, [x6, #8190] 2432 # CHECK: ldrsh wzr, [sp, #2] 2433 # CHECK: ldrsh x29, [x2, #2] 2434 0x82 0x0 0x40 0x79 2435 0xd7 0xfc 0xff 0x79 2436 0xff 0x7 0xc0 0x79 2437 0x5d 0x4 0x80 0x79 2438 2439 # CHECK: ldrb w26, [x3, #121] 2440 # CHECK: ldrb w12, [x2] 2441 # CHECK: ldrsb w27, [sp, #4095] 2442 # CHECK: ldrsb xzr, [x15] 2443 0x7a 0xe4 0x41 0x39 2444 0x4c 0x0 0x40 0x39 2445 0xfb 0xff 0xff 0x39 2446 0xff 0x1 0x80 0x39 2447 2448 # CHECK: str x30, [sp] 2449 # CHECK: str w20, [x4, #16380] 2450 # CHECK: strh w20, [x10, #14] 2451 # CHECK: strh w17, [sp, #8190] 2452 # CHECK: strb w23, [x3, #4095] 2453 # CHECK: strb wzr, [x2] 2454 0xfe 0x3 0x0 0xf9 2455 0x94 0xfc 0x3f 0xb9 2456 0x54 0x1d 0x0 0x79 2457 0xf1 0xff 0x3f 0x79 2458 0x77 0xfc 0x3f 0x39 2459 0x5f 0x0 0x0 0x39 2460 2461 # CHECK: ldr b31, [sp, #4095] 2462 # CHECK: ldr h20, [x2, #8190] 2463 # CHECK: ldr s10, [x19, #16380] 2464 # CHECK: ldr d3, [x10, #32760] 2465 # CHECK: str q12, [sp, #65520] 2466 0xff 0xff 0x7f 0x3d 2467 0x54 0xfc 0x7f 0x7d 2468 0x6a 0xfe 0x7f 0xbd 2469 0x43 0xfd 0x7f 0xfd 2470 0xec 0xff 0xbf 0x3d 2471 2472 # CHECK: prfm pldl1keep, [sp, #8] 2473 # CHECK: prfm pldl1strm, [x3{{(, #0)?}}] 2474 # CHECK: prfm pldl2keep, [x5, #16] 2475 # CHECK: prfm pldl2strm, [x2{{(, #0)?}}] 2476 # CHECK: prfm pldl3keep, [x5{{(, #0)?}}] 2477 # CHECK: prfm pldl3strm, [x6{{(, #0)?}}] 2478 # CHECK: prfm plil1keep, [sp, #8] 2479 # CHECK: prfm plil1strm, [x3{{(, #0)?}}] 2480 # CHECK: prfm plil2keep, [x5, #16] 2481 # CHECK: prfm plil2strm, [x2{{(, #0)?}}] 2482 # CHECK: prfm plil3keep, [x5{{(, #0)?}}] 2483 # CHECK: prfm plil3strm, [x6{{(, #0)?}}] 2484 # CHECK: prfm pstl1keep, [sp, #8] 2485 # CHECK: prfm pstl1strm, [x3{{(, #0)?}}] 2486 # CHECK: prfm pstl2keep, [x5, #16] 2487 # CHECK: prfm pstl2strm, [x2{{(, #0)?}}] 2488 # CHECK: prfm pstl3keep, [x5{{(, #0)?}}] 2489 # CHECK: prfm pstl3strm, [x6{{(, #0)?}}] 2490 0xe0 0x07 0x80 0xf9 2491 0x61 0x00 0x80 0xf9 2492 0xa2 0x08 0x80 0xf9 2493 0x43 0x00 0x80 0xf9 2494 0xa4 0x00 0x80 0xf9 2495 0xc5 0x00 0x80 0xf9 2496 0xe8 0x07 0x80 0xf9 2497 0x69 0x00 0x80 0xf9 2498 0xaa 0x08 0x80 0xf9 2499 0x4b 0x00 0x80 0xf9 2500 0xac 0x00 0x80 0xf9 2501 0xcd 0x00 0x80 0xf9 2502 0xf0 0x07 0x80 0xf9 2503 0x71 0x00 0x80 0xf9 2504 0xb2 0x08 0x80 0xf9 2505 0x53 0x00 0x80 0xf9 2506 0xb4 0x00 0x80 0xf9 2507 0xd5 0x00 0x80 0xf9 2508 2509 2510 #------------------------------------------------------------------------------ 2511 # Load/store (register offset) 2512 #------------------------------------------------------------------------------ 2513 2514 # CHECK: ldrb w3, [sp, x5] 2515 # CHECK: ldrb w9, [x27, x6] 2516 # CHECK: ldrsb w10, [x30, x7] 2517 # CHECK: ldrb w11, [x29, x3, sxtx] 2518 # CHECK: strb w12, [x28, xzr, sxtx] 2519 # CHECK: ldrb w14, [x26, w6, uxtw] 2520 # CHECK: ldrsb w15, [x25, w7, uxtw] 2521 # CHECK: ldrb w17, [x23, w9, sxtw] 2522 # CHECK: ldrsb x18, [x22, w10, sxtw] 2523 0xe3 0x6b 0x65 0x38 2524 0x69 0x6b 0x66 0x38 2525 0xca 0x6b 0xe7 0x38 2526 0xab 0xeb 0x63 0x38 2527 0x8c 0xeb 0x3f 0x38 2528 0x4e 0x4b 0x66 0x38 2529 0x2f 0x4b 0xe7 0x38 2530 0xf1 0xca 0x69 0x38 2531 0xd2 0xca 0xaa 0x38 2532 2533 # CHECK: ldrsh w3, [sp, x5] 2534 # CHECK: ldrsh w9, [x27, x6] 2535 # CHECK: ldrh w10, [x30, x7, lsl #1] 2536 # CHECK: strh w11, [x29, x3, sxtx] 2537 # CHECK: ldrh w12, [x28, xzr, sxtx] 2538 # CHECK: ldrsh x13, [x27, x5, sxtx #1] 2539 # CHECK: ldrh w14, [x26, w6, uxtw] 2540 # CHECK: ldrh w15, [x25, w7, uxtw] 2541 # CHECK: ldrsh w16, [x24, w8, uxtw #1] 2542 # CHECK: ldrh w17, [x23, w9, sxtw] 2543 # CHECK: ldrh w18, [x22, w10, sxtw] 2544 # CHECK: strh w19, [x21, wzr, sxtw #1] 2545 0xe3 0x6b 0xe5 0x78 2546 0x69 0x6b 0xe6 0x78 2547 0xca 0x7b 0x67 0x78 2548 0xab 0xeb 0x23 0x78 2549 0x8c 0xeb 0x7f 0x78 2550 0x6d 0xfb 0xa5 0x78 2551 0x4e 0x4b 0x66 0x78 2552 0x2f 0x4b 0x67 0x78 2553 0x10 0x5b 0xe8 0x78 2554 0xf1 0xca 0x69 0x78 2555 0xd2 0xca 0x6a 0x78 2556 0xb3 0xda 0x3f 0x78 2557 2558 # CHECK: ldr w3, [sp, x5] 2559 # CHECK: ldr s9, [x27, x6] 2560 # CHECK: ldr w10, [x30, x7, lsl #2] 2561 # CHECK: ldr w11, [x29, x3, sxtx] 2562 # CHECK: str s12, [x28, xzr, sxtx] 2563 # CHECK: str w13, [x27, x5, sxtx #2] 2564 # CHECK: str w14, [x26, w6, uxtw] 2565 # CHECK: ldr w15, [x25, w7, uxtw] 2566 # CHECK: ldr w16, [x24, w8, uxtw #2] 2567 # CHECK: ldrsw x17, [x23, w9, sxtw] 2568 # CHECK: ldr w18, [x22, w10, sxtw] 2569 # CHECK: ldrsw x19, [x21, wzr, sxtw #2] 2570 0xe3 0x6b 0x65 0xb8 2571 0x69 0x6b 0x66 0xbc 2572 0xca 0x7b 0x67 0xb8 2573 0xab 0xeb 0x63 0xb8 2574 0x8c 0xeb 0x3f 0xbc 2575 0x6d 0xfb 0x25 0xb8 2576 0x4e 0x4b 0x26 0xb8 2577 0x2f 0x4b 0x67 0xb8 2578 0x10 0x5b 0x68 0xb8 2579 0xf1 0xca 0xa9 0xb8 2580 0xd2 0xca 0x6a 0xb8 2581 0xb3 0xda 0xbf 0xb8 2582 2583 # CHECK: ldr x3, [sp, x5] 2584 # CHECK: str x9, [x27, x6] 2585 # CHECK: ldr d10, [x30, x7, lsl #3] 2586 # CHECK: str x11, [x29, x3, sxtx] 2587 # CHECK: ldr x12, [x28, xzr, sxtx] 2588 # CHECK: ldr x13, [x27, x5, sxtx #3] 2589 # CHECK: prfm pldl1keep, [x26, w6, uxtw] 2590 # CHECK: ldr x15, [x25, w7, uxtw] 2591 # CHECK: ldr x16, [x24, w8, uxtw #3] 2592 # CHECK: ldr x17, [x23, w9, sxtw] 2593 # CHECK: ldr x18, [x22, w10, sxtw] 2594 # CHECK: str d19, [x21, wzr, sxtw #3] 2595 0xe3 0x6b 0x65 0xf8 2596 0x69 0x6b 0x26 0xf8 2597 0xca 0x7b 0x67 0xfc 2598 0xab 0xeb 0x23 0xf8 2599 0x8c 0xeb 0x7f 0xf8 2600 0x6d 0xfb 0x65 0xf8 2601 0x40 0x4b 0xa6 0xf8 2602 0x2f 0x4b 0x67 0xf8 2603 0x10 0x5b 0x68 0xf8 2604 0xf1 0xca 0x69 0xf8 2605 0xd2 0xca 0x6a 0xf8 2606 0xb3 0xda 0x3f 0xfc 2607 2608 # CHECK: ldr q3, [sp, x5] 2609 # CHECK: ldr q9, [x27, x6] 2610 # CHECK: ldr q10, [x30, x7, lsl #4] 2611 # CHECK: str q11, [x29, x3, sxtx] 2612 # CHECK: str q12, [x28, xzr, sxtx] 2613 # CHECK: str q13, [x27, x5, sxtx #4] 2614 # CHECK: ldr q14, [x26, w6, uxtw] 2615 # CHECK: ldr q15, [x25, w7, uxtw] 2616 # CHECK: ldr q16, [x24, w8, uxtw #4] 2617 # CHECK: ldr q17, [x23, w9, sxtw] 2618 # CHECK: str q18, [x22, w10, sxtw] 2619 # CHECK: ldr q19, [x21, wzr, sxtw #4] 2620 0xe3 0x6b 0xe5 0x3c 2621 0x69 0x6b 0xe6 0x3c 2622 0xca 0x7b 0xe7 0x3c 2623 0xab 0xeb 0xa3 0x3c 2624 0x8c 0xeb 0xbf 0x3c 2625 0x6d 0xfb 0xa5 0x3c 2626 0x4e 0x4b 0xe6 0x3c 2627 0x2f 0x4b 0xe7 0x3c 2628 0x10 0x5b 0xe8 0x3c 2629 0xf1 0xca 0xe9 0x3c 2630 0xd2 0xca 0xaa 0x3c 2631 0xb3 0xda 0xff 0x3c 2632 2633 #------------------------------------------------------------------------------ 2634 # Load/store register pair (offset) 2635 #------------------------------------------------------------------------------ 2636 2637 # CHECK: ldp w3, w5, [sp] 2638 # CHECK: stp wzr, w9, [sp, #252] 2639 # CHECK: ldp w2, wzr, [sp, #-256] 2640 # CHECK: ldp w9, w10, [sp, #4] 2641 0xe3 0x17 0x40 0x29 2642 0xff 0xa7 0x1f 0x29 2643 0xe2 0x7f 0x60 0x29 2644 0xe9 0xab 0x40 0x29 2645 2646 # CHECK: ldpsw x9, x10, [sp, #4] 2647 # CHECK: ldpsw x9, x10, [x2, #-256] 2648 # CHECK: ldpsw x20, x30, [sp, #252] 2649 0xe9 0xab 0x40 0x69 2650 0x49 0x28 0x60 0x69 2651 0xf4 0xfb 0x5f 0x69 2652 2653 # CHECK: ldp x21, x29, [x2, #504] 2654 # CHECK: ldp x22, x23, [x3, #-512] 2655 # CHECK: ldp x24, x25, [x4, #8] 2656 0x55 0xf4 0x5f 0xa9 2657 0x76 0x5c 0x60 0xa9 2658 0x98 0xe4 0x40 0xa9 2659 2660 # CHECK: ldp s29, s28, [sp, #252] 2661 # CHECK: stp s27, s26, [sp, #-256] 2662 # CHECK: ldp s1, s2, [x3, #44] 2663 0xfd 0xf3 0x5f 0x2d 2664 0xfb 0x6b 0x20 0x2d 2665 0x61 0x88 0x45 0x2d 2666 2667 # CHECK: stp d3, d5, [x9, #504] 2668 # CHECK: stp d7, d11, [x10, #-512] 2669 # CHECK: ldp d2, d3, [x30, #-8] 2670 0x23 0x95 0x1f 0x6d 2671 0x47 0x2d 0x20 0x6d 2672 0xc2 0x8f 0x7f 0x6d 2673 2674 # CHECK: stp q3, q5, [sp] 2675 # CHECK: stp q17, q19, [sp, #1008] 2676 # CHECK: ldp q23, q29, [x1, #-1024] 2677 0xe3 0x17 0x0 0xad 2678 0xf1 0xcf 0x1f 0xad 2679 0x37 0x74 0x60 0xad 2680 2681 #------------------------------------------------------------------------------ 2682 # Load/store register pair (post-indexed) 2683 #------------------------------------------------------------------------------ 2684 2685 # CHECK: ldp w3, w5, [sp], #0 2686 # CHECK: stp wzr, w9, [sp], #252 2687 # CHECK: ldp w2, wzr, [sp], #-256 2688 # CHECK: ldp w9, w10, [sp], #4 2689 0xe3 0x17 0xc0 0x28 2690 0xff 0xa7 0x9f 0x28 2691 0xe2 0x7f 0xe0 0x28 2692 0xe9 0xab 0xc0 0x28 2693 2694 # CHECK: ldpsw x9, x10, [sp], #4 2695 # CHECK: ldpsw x9, x10, [x2], #-256 2696 # CHECK: ldpsw x20, x30, [sp], #252 2697 0xe9 0xab 0xc0 0x68 2698 0x49 0x28 0xe0 0x68 2699 0xf4 0xfb 0xdf 0x68 2700 2701 # CHECK: ldp x21, x29, [x2], #504 2702 # CHECK: ldp x22, x23, [x3], #-512 2703 # CHECK: ldp x24, x25, [x4], #8 2704 0x55 0xf4 0xdf 0xa8 2705 0x76 0x5c 0xe0 0xa8 2706 0x98 0xe4 0xc0 0xa8 2707 2708 # CHECK: ldp s29, s28, [sp], #252 2709 # CHECK: stp s27, s26, [sp], #-256 2710 # CHECK: ldp s1, s2, [x3], #44 2711 0xfd 0xf3 0xdf 0x2c 2712 0xfb 0x6b 0xa0 0x2c 2713 0x61 0x88 0xc5 0x2c 2714 2715 # CHECK: stp d3, d5, [x9], #504 2716 # CHECK: stp d7, d11, [x10], #-512 2717 # CHECK: ldp d2, d3, [x30], #-8 2718 0x23 0x95 0x9f 0x6c 2719 0x47 0x2d 0xa0 0x6c 2720 0xc2 0x8f 0xff 0x6c 2721 2722 # CHECK: stp q3, q5, [sp], #0 2723 # CHECK: stp q17, q19, [sp], #1008 2724 # CHECK: ldp q23, q29, [x1], #-1024 2725 0xe3 0x17 0x80 0xac 2726 0xf1 0xcf 0x9f 0xac 2727 0x37 0x74 0xe0 0xac 2728 2729 #------------------------------------------------------------------------------ 2730 # Load/store register pair (pre-indexed) 2731 #------------------------------------------------------------------------------ 2732 2733 # CHECK: ldp w3, w5, [sp, #0]! 2734 # CHECK: stp wzr, w9, [sp, #252]! 2735 # CHECK: ldp w2, wzr, [sp, #-256]! 2736 # CHECK: ldp w9, w10, [sp, #4]! 2737 0xe3 0x17 0xc0 0x29 2738 0xff 0xa7 0x9f 0x29 2739 0xe2 0x7f 0xe0 0x29 2740 0xe9 0xab 0xc0 0x29 2741 2742 # CHECK: ldpsw x9, x10, [sp, #4]! 2743 # CHECK: ldpsw x9, x10, [x2, #-256]! 2744 # CHECK: ldpsw x20, x30, [sp, #252]! 2745 0xe9 0xab 0xc0 0x69 2746 0x49 0x28 0xe0 0x69 2747 0xf4 0xfb 0xdf 0x69 2748 2749 # CHECK: ldp x21, x29, [x2, #504]! 2750 # CHECK: ldp x22, x23, [x3, #-512]! 2751 # CHECK: ldp x24, x25, [x4, #8]! 2752 0x55 0xf4 0xdf 0xa9 2753 0x76 0x5c 0xe0 0xa9 2754 0x98 0xe4 0xc0 0xa9 2755 2756 # CHECK: ldp s29, s28, [sp, #252]! 2757 # CHECK: stp s27, s26, [sp, #-256]! 2758 # CHECK: ldp s1, s2, [x3, #44]! 2759 0xfd 0xf3 0xdf 0x2d 2760 0xfb 0x6b 0xa0 0x2d 2761 0x61 0x88 0xc5 0x2d 2762 2763 # CHECK: stp d3, d5, [x9, #504]! 2764 # CHECK: stp d7, d11, [x10, #-512]! 2765 # CHECK: ldp d2, d3, [x30, #-8]! 2766 0x23 0x95 0x9f 0x6d 2767 0x47 0x2d 0xa0 0x6d 2768 0xc2 0x8f 0xff 0x6d 2769 2770 # CHECK: stp q3, q5, [sp, #0]! 2771 # CHECK: stp q17, q19, [sp, #1008]! 2772 # CHECK: ldp q23, q29, [x1, #-1024]! 2773 0xe3 0x17 0x80 0xad 2774 0xf1 0xcf 0x9f 0xad 2775 0x37 0x74 0xe0 0xad 2776 2777 #------------------------------------------------------------------------------ 2778 # Load/store register pair (offset) 2779 #------------------------------------------------------------------------------ 2780 2781 # CHECK: ldnp w3, w5, [sp] 2782 # CHECK: stnp wzr, w9, [sp, #252] 2783 # CHECK: ldnp w2, wzr, [sp, #-256] 2784 # CHECK: ldnp w9, w10, [sp, #4] 2785 0xe3 0x17 0x40 0x28 2786 0xff 0xa7 0x1f 0x28 2787 0xe2 0x7f 0x60 0x28 2788 0xe9 0xab 0x40 0x28 2789 2790 # CHECK: ldnp x21, x29, [x2, #504] 2791 # CHECK: ldnp x22, x23, [x3, #-512] 2792 # CHECK: ldnp x24, x25, [x4, #8] 2793 0x55 0xf4 0x5f 0xa8 2794 0x76 0x5c 0x60 0xa8 2795 0x98 0xe4 0x40 0xa8 2796 2797 # CHECK: ldnp s29, s28, [sp, #252] 2798 # CHECK: stnp s27, s26, [sp, #-256] 2799 # CHECK: ldnp s1, s2, [x3, #44] 2800 0xfd 0xf3 0x5f 0x2c 2801 0xfb 0x6b 0x20 0x2c 2802 0x61 0x88 0x45 0x2c 2803 2804 # CHECK: stnp d3, d5, [x9, #504] 2805 # CHECK: stnp d7, d11, [x10, #-512] 2806 # CHECK: ldnp d2, d3, [x30, #-8] 2807 0x23 0x95 0x1f 0x6c 2808 0x47 0x2d 0x20 0x6c 2809 0xc2 0x8f 0x7f 0x6c 2810 2811 # CHECK: stnp q3, q5, [sp] 2812 # CHECK: stnp q17, q19, [sp, #1008] 2813 # CHECK: ldnp q23, q29, [x1, #-1024] 2814 0xe3 0x17 0x0 0xac 2815 0xf1 0xcf 0x1f 0xac 2816 0x37 0x74 0x60 0xac 2817 2818 #------------------------------------------------------------------------------ 2819 # Logical (immediate) 2820 #------------------------------------------------------------------------------ 2821 # CHECK: orr w3, w9, #0xffff0000 2822 # CHECK: orr wsp, w10, #0xe00000ff 2823 # CHECK: orr w9, w10, #0x3ff 2824 0x23 0x3d 0x10 0x32 2825 0x5f 0x29 0x3 0x32 2826 0x49 0x25 0x0 0x32 2827 2828 # CHECK: and w14, w15, #0x80008000 2829 # CHECK: and w12, w13, #0xffc3ffc3 2830 # CHECK: and w11, wzr, #0x30003 2831 0xee 0x81 0x1 0x12 2832 0xac 0xad 0xa 0x12 2833 0xeb 0x87 0x0 0x12 2834 2835 # CHECK: eor w3, w6, #0xe0e0e0e0 2836 # CHECK: eor wsp, wzr, #0x3030303 2837 # CHECK: eor w16, w17, #0x81818181 2838 0xc3 0xc8 0x3 0x52 2839 0xff 0xc7 0x0 0x52 2840 0x30 0xc6 0x1 0x52 2841 2842 # CHECK: {{ands wzr,|tst}} w18, #0xcccccccc 2843 # CHECK: ands w19, w20, #0x33333333 2844 # CHECK: ands w21, w22, #0x99999999 2845 0x5f 0xe6 0x2 0x72 2846 0x93 0xe6 0x0 0x72 2847 0xd5 0xe6 0x1 0x72 2848 2849 # CHECK: {{ands wzr,|tst}} w3, #0xaaaaaaaa 2850 # CHECK: {{ands wzr,|tst}} wzr, #0x55555555 2851 0x7f 0xf0 0x1 0x72 2852 0xff 0xf3 0x0 0x72 2853 2854 # CHECK: eor x3, x5, #0xffffffffc000000 2855 # CHECK: and x9, x10, #0x7fffffffffff 2856 # CHECK: orr x11, x12, #0x8000000000000fff 2857 0xa3 0x84 0x66 0xd2 2858 0x49 0xb9 0x40 0x92 2859 0x8b 0x31 0x41 0xb2 2860 2861 # CHECK: orr x3, x9, #0xffff0000ffff0000 2862 # CHECK: orr sp, x10, #0xe00000ffe00000ff 2863 # CHECK: orr x9, x10, #0x3ff000003ff 2864 0x23 0x3d 0x10 0xb2 2865 0x5f 0x29 0x3 0xb2 2866 0x49 0x25 0x0 0xb2 2867 2868 # CHECK: and x14, x15, #0x8000800080008000 2869 # CHECK: and x12, x13, #0xffc3ffc3ffc3ffc3 2870 # CHECK: and x11, xzr, #0x3000300030003 2871 0xee 0x81 0x1 0x92 2872 0xac 0xad 0xa 0x92 2873 0xeb 0x87 0x0 0x92 2874 2875 # CHECK: eor x3, x6, #0xe0e0e0e0e0e0e0e0 2876 # CHECK: eor sp, xzr, #0x303030303030303 2877 # CHECK: eor x16, x17, #0x8181818181818181 2878 0xc3 0xc8 0x3 0xd2 2879 0xff 0xc7 0x0 0xd2 2880 0x30 0xc6 0x1 0xd2 2881 2882 # CHECK: {{ands xzr,|tst}} x18, #0xcccccccccccccccc 2883 # CHECK: ands x19, x20, #0x3333333333333333 2884 # CHECK: ands x21, x22, #0x9999999999999999 2885 0x5f 0xe6 0x2 0xf2 2886 0x93 0xe6 0x0 0xf2 2887 0xd5 0xe6 0x1 0xf2 2888 2889 # CHECK: {{ands xzr,|tst}} x3, #0xaaaaaaaaaaaaaaaa 2890 # CHECK: {{ands xzr,|tst}} xzr, #0x5555555555555555 2891 0x7f 0xf0 0x1 0xf2 2892 0xff 0xf3 0x0 0xf2 2893 2894 # CHECK: mov w3, #983055 2895 # CHECK: mov x10, #-6148914691236517206 2896 0xe3 0x8f 0x0 0x32 2897 0xea 0xf3 0x1 0xb2 2898 2899 # CHECK: orr w3, wzr, #0xffff 2900 # CHECK: orr x9, xzr, #0xffff00000000 2901 0xe3 0x3f 0x0 0x32 2902 0xe9 0x3f 0x60 0xb2 2903 2904 #------------------------------------------------------------------------------ 2905 # Logical (shifted register) 2906 #------------------------------------------------------------------------------ 2907 2908 # CHECK: and w12, w23, w21 2909 # CHECK: and w16, w15, w1, lsl #1 2910 # CHECK: and w9, w4, w10, lsl #31 2911 # CHECK: and w3, w30, w11 2912 # CHECK: and x3, x5, x7, lsl #63 2913 0xec 0x2 0x15 0xa 2914 0xf0 0x5 0x1 0xa 2915 0x89 0x7c 0xa 0xa 2916 0xc3 0x3 0xb 0xa 2917 0xa3 0xfc 0x7 0x8a 2918 2919 # CHECK: and x5, x14, x19, asr #4 2920 # CHECK: and w3, w17, w19, ror #31 2921 # CHECK: and w0, w2, wzr, lsr #17 2922 # CHECK: and w3, w30, w11, asr 2923 0xc5 0x11 0x93 0x8a 2924 0x23 0x7e 0xd3 0xa 2925 0x40 0x44 0x5f 0xa 2926 0xc3 0x3 0x8b 0xa 2927 2928 # CHECK: and xzr, x4, x26 2929 # CHECK: and w3, wzr, w20, ror 2930 # CHECK: and x7, x20, xzr, asr #63 2931 0x9f 0x0 0x1a 0x8a 2932 0xe3 0x3 0xd4 0xa 2933 0x87 0xfe 0x9f 0x8a 2934 2935 # CHECK: bic x13, x20, x14, lsl #47 2936 # CHECK: bic w2, w7, w9 2937 # CHECK: orr w2, w7, w0, asr #31 2938 # CHECK: orr x8, x9, x10, lsl #12 2939 # CHECK: orn x3, x5, x7, asr 2940 # CHECK: orn w2, w5, w29 2941 0x8d 0xbe 0x2e 0x8a 2942 0xe2 0x0 0x29 0xa 2943 0xe2 0x7c 0x80 0x2a 2944 0x28 0x31 0xa 0xaa 2945 0xa3 0x0 0xa7 0xaa 2946 0xa2 0x0 0x3d 0x2a 2947 2948 # CHECK: ands w7, wzr, w9, lsl #1 2949 # CHECK: ands x3, x5, x20, ror #63 2950 # CHECK: bics w3, w5, w7 2951 # CHECK: bics x3, xzr, x3, lsl #1 2952 # CHECK: tst w3, w7, lsl #31 2953 # CHECK: tst x2, x20, asr 2954 0xe7 0x7 0x9 0x6a 2955 0xa3 0xfc 0xd4 0xea 2956 0xa3 0x0 0x27 0x6a 2957 0xe3 0x7 0x23 0xea 2958 0x7f 0x7c 0x7 0x6a 2959 0x5f 0x0 0x94 0xea 2960 2961 # CHECK: mov x3, x6 2962 # CHECK: mov x3, xzr 2963 # CHECK: mov wzr, w2 2964 # CHECK: mov w3, w5 2965 0xe3 0x3 0x6 0xaa 2966 0xe3 0x3 0x1f 0xaa 2967 0xff 0x3 0x2 0x2a 2968 0xe3 0x3 0x5 0x2a 2969 2970 #------------------------------------------------------------------------------ 2971 # Move wide (immediate) 2972 #------------------------------------------------------------------------------ 2973 2974 # N.b. (FIXME) canonical aliases aren't produced here because of 2975 # limitation in InstAlias. Lots of the "mov[nz]" instructions should 2976 # be "mov". 2977 2978 # CHECK: mov w1, #{{65535|0xffff}} 2979 # CHECK: movz w2, #0, lsl #16 2980 # CHECK: mov w2, #-1235 2981 0xe1 0xff 0x9f 0x52 2982 0x2 0x0 0xa0 0x52 2983 0x42 0x9a 0x80 0x12 2984 2985 # CHECK: mov x2, #5299989643264 2986 # CHECK: movk xzr, #{{4321|0x10e1}}, lsl #48 2987 0x42 0x9a 0xc0 0xd2 2988 0x3f 0x1c 0xe2 0xf2 2989 2990 # CHECK: mov x2, #0 2991 # CHECK: movk w3, #0 2992 # CHECK: movz x4, #0, lsl #16 2993 # CHECK: movk w5, #0, lsl #16 2994 # CHECK: movz x6, #0, lsl #32 2995 # CHECK: movk x7, #0, lsl #32 2996 # CHECK: movz x8, #0, lsl #48 2997 # CHECK: movk x9, #0, lsl #48 2998 0x2 0x0 0x80 0xd2 2999 0x3 0x0 0x80 0x72 3000 0x4 0x0 0xa0 0xd2 3001 0x5 0x0 0xa0 0x72 3002 0x6 0x0 0xc0 0xd2 3003 0x7 0x0 0xc0 0xf2 3004 0x8 0x0 0xe0 0xd2 3005 0x9 0x0 0xe0 0xf2 3006 3007 #------------------------------------------------------------------------------ 3008 # PC-relative addressing 3009 #------------------------------------------------------------------------------ 3010 3011 # It's slightly dodgy using immediates here, but harmless enough when 3012 # it's all that's available. 3013 3014 # CHECK: adr x2, #1600 3015 # CHECK: adrp x21, #6553600 3016 # CHECK: adr x0, #262144 3017 0x02 0x32 0x00 0x10 3018 0x15 0x32 0x00 0x90 3019 0x00 0x00 0x20 0x10 3020 3021 #------------------------------------------------------------------------------ 3022 # System 3023 #------------------------------------------------------------------------------ 3024 3025 # CHECK: nop 3026 # CHECK: hint #{{127|0x7f}} 3027 # CHECK: nop 3028 # CHECK: yield 3029 # CHECK: wfe 3030 # CHECK: wfi 3031 # CHECK: sev 3032 # CHECK: sevl 3033 0x1f 0x20 0x3 0xd5 3034 0xff 0x2f 0x3 0xd5 3035 0x1f 0x20 0x3 0xd5 3036 0x3f 0x20 0x3 0xd5 3037 0x5f 0x20 0x3 0xd5 3038 0x7f 0x20 0x3 0xd5 3039 0x9f 0x20 0x3 0xd5 3040 0xbf 0x20 0x3 0xd5 3041 3042 # CHECK: clrex 3043 # CHECK: clrex #0 3044 # CHECK: clrex #7 3045 # CHECK: clrex 3046 0x5f 0x3f 0x3 0xd5 3047 0x5f 0x30 0x3 0xd5 3048 0x5f 0x37 0x3 0xd5 3049 0x5f 0x3f 0x3 0xd5 3050 3051 # CHECK: dsb #0 3052 # CHECK: dsb #12 3053 # CHECK: dsb sy 3054 # CHECK: dsb oshld 3055 # CHECK: dsb oshst 3056 # CHECK: dsb osh 3057 # CHECK: dsb nshld 3058 # CHECK: dsb nshst 3059 # CHECK: dsb nsh 3060 # CHECK: dsb ishld 3061 # CHECK: dsb ishst 3062 # CHECK: dsb ish 3063 # CHECK: dsb ld 3064 # CHECK: dsb st 3065 # CHECK: dsb sy 3066 0x9f 0x30 0x3 0xd5 3067 0x9f 0x3c 0x3 0xd5 3068 0x9f 0x3f 0x3 0xd5 3069 0x9f 0x31 0x3 0xd5 3070 0x9f 0x32 0x3 0xd5 3071 0x9f 0x33 0x3 0xd5 3072 0x9f 0x35 0x3 0xd5 3073 0x9f 0x36 0x3 0xd5 3074 0x9f 0x37 0x3 0xd5 3075 0x9f 0x39 0x3 0xd5 3076 0x9f 0x3a 0x3 0xd5 3077 0x9f 0x3b 0x3 0xd5 3078 0x9f 0x3d 0x3 0xd5 3079 0x9f 0x3e 0x3 0xd5 3080 0x9f 0x3f 0x3 0xd5 3081 3082 # CHECK: dmb #0 3083 # CHECK: dmb #12 3084 # CHECK: dmb sy 3085 # CHECK: dmb oshld 3086 # CHECK: dmb oshst 3087 # CHECK: dmb osh 3088 # CHECK: dmb nshld 3089 # CHECK: dmb nshst 3090 # CHECK: dmb nsh 3091 # CHECK: dmb ishld 3092 # CHECK: dmb ishst 3093 # CHECK: dmb ish 3094 # CHECK: dmb ld 3095 # CHECK: dmb st 3096 # CHECK: dmb sy 3097 0xbf 0x30 0x3 0xd5 3098 0xbf 0x3c 0x3 0xd5 3099 0xbf 0x3f 0x3 0xd5 3100 0xbf 0x31 0x3 0xd5 3101 0xbf 0x32 0x3 0xd5 3102 0xbf 0x33 0x3 0xd5 3103 0xbf 0x35 0x3 0xd5 3104 0xbf 0x36 0x3 0xd5 3105 0xbf 0x37 0x3 0xd5 3106 0xbf 0x39 0x3 0xd5 3107 0xbf 0x3a 0x3 0xd5 3108 0xbf 0x3b 0x3 0xd5 3109 0xbf 0x3d 0x3 0xd5 3110 0xbf 0x3e 0x3 0xd5 3111 0xbf 0x3f 0x3 0xd5 3112 3113 # CHECK: isb 3114 # CHECK: isb #12 3115 0xdf 0x3f 0x3 0xd5 3116 0xdf 0x3c 0x3 0xd5 3117 3118 # CHECK: msr {{SPSel|SPSEL}}, #0 3119 # CHECK: msr {{DAIFSet|DAIFSET}}, #15 3120 # CHECK: msr {{DAIFClr|DAIFCLR}}, #12 3121 0xbf 0x40 0x0 0xd5 3122 0xdf 0x4f 0x3 0xd5 3123 0xff 0x4c 0x3 0xd5 3124 3125 # CHECK: sys #7, c5, c9, #7, x5 3126 # CHECK: sys #0, c15, c15, #2 3127 # CHECK: sysl x9, #7, c5, c9, #7 3128 # CHECK: sysl x1, #0, c15, c15, #2 3129 0xe5 0x59 0xf 0xd5 3130 0x5f 0xff 0x8 0xd5 3131 0xe9 0x59 0x2f 0xd5 3132 0x41 0xff 0x28 0xd5 3133 3134 # CHECK: {{sys #0, c7, c1, #0|ic ialluis}} 3135 # CHECK: {{sys #0, c7, c5, #0|ic iallu}} 3136 # CHECK: {{sys #3, c7, c5, #1|ic ivau}}, x9 3137 0x1f 0x71 0x8 0xd5 3138 0x1f 0x75 0x8 0xd5 3139 0x29 0x75 0xb 0xd5 3140 3141 # CHECK: {{sys #3, c7, c4, #1|dc zva}}, x12 3142 # CHECK: {{sys #0, c7, c6, #1|dc ivac}} 3143 # CHECK: {{sys #0, c7, c6, #2|dc isw}}, x2 3144 # CHECK: {{sys #3, c7, c10, #1|dc cvac}}, x9 3145 # CHECK: {{sys #0, c7, c10, #2|dc csw}}, x10 3146 # CHECK: {{sys #3, c7, c11, #1|dc cvau}}, x0 3147 # CHECK: {{sys #3, c7, c14, #1|dc civac}}, x3 3148 # CHECK: {{sys #0, c7, c14, #2|dc cisw}}, x30 3149 0x2c 0x74 0xb 0xd5 3150 0x3f 0x76 0x8 0xd5 3151 0x42 0x76 0x8 0xd5 3152 0x29 0x7a 0xb 0xd5 3153 0x4a 0x7a 0x8 0xd5 3154 0x20 0x7b 0xb 0xd5 3155 0x23 0x7e 0xb 0xd5 3156 0x5e 0x7e 0x8 0xd5 3157 3158 3159 # CHECK: msr {{teecr32_el1|TEECR32_EL1}}, x12 3160 # CHECK: msr {{osdtrrx_el1|OSDTRRX_EL1}}, x12 3161 # CHECK: msr {{mdccint_el1|MDCCINT_EL1}}, x12 3162 # CHECK: msr {{mdscr_el1|MDSCR_EL1}}, x12 3163 # CHECK: msr {{osdtrtx_el1|OSDTRTX_EL1}}, x12 3164 # CHECK: msr {{dbgdtr_el0|DBGDTR_EL0}}, x12 3165 # CHECK: msr {{dbgdtrtx_el0|DBGDTRTX_EL0}}, x12 3166 # CHECK: msr {{oseccr_el1|OSECCR_EL1}}, x12 3167 # CHECK: msr {{dbgvcr32_el2|DBGVCR32_EL2}}, x12 3168 # CHECK: msr {{dbgbvr0_el1|DBGBVR0_EL1}}, x12 3169 # CHECK: msr {{dbgbvr1_el1|DBGBVR1_EL1}}, x12 3170 # CHECK: msr {{dbgbvr2_el1|DBGBVR2_EL1}}, x12 3171 # CHECK: msr {{dbgbvr3_el1|DBGBVR3_EL1}}, x12 3172 # CHECK: msr {{dbgbvr4_el1|DBGBVR4_EL1}}, x12 3173 # CHECK: msr {{dbgbvr5_el1|DBGBVR5_EL1}}, x12 3174 # CHECK: msr {{dbgbvr6_el1|DBGBVR6_EL1}}, x12 3175 # CHECK: msr {{dbgbvr7_el1|DBGBVR7_EL1}}, x12 3176 # CHECK: msr {{dbgbvr8_el1|DBGBVR8_EL1}}, x12 3177 # CHECK: msr {{dbgbvr9_el1|DBGBVR9_EL1}}, x12 3178 # CHECK: msr {{dbgbvr10_el1|DBGBVR10_EL1}}, x12 3179 # CHECK: msr {{dbgbvr11_el1|DBGBVR11_EL1}}, x12 3180 # CHECK: msr {{dbgbvr12_el1|DBGBVR12_EL1}}, x12 3181 # CHECK: msr {{dbgbvr13_el1|DBGBVR13_EL1}}, x12 3182 # CHECK: msr {{dbgbvr14_el1|DBGBVR14_EL1}}, x12 3183 # CHECK: msr {{dbgbvr15_el1|DBGBVR15_EL1}}, x12 3184 # CHECK: msr {{dbgbcr0_el1|DBGBCR0_EL1}}, x12 3185 # CHECK: msr {{dbgbcr1_el1|DBGBCR1_EL1}}, x12 3186 # CHECK: msr {{dbgbcr2_el1|DBGBCR2_EL1}}, x12 3187 # CHECK: msr {{dbgbcr3_el1|DBGBCR3_EL1}}, x12 3188 # CHECK: msr {{dbgbcr4_el1|DBGBCR4_EL1}}, x12 3189 # CHECK: msr {{dbgbcr5_el1|DBGBCR5_EL1}}, x12 3190 # CHECK: msr {{dbgbcr6_el1|DBGBCR6_EL1}}, x12 3191 # CHECK: msr {{dbgbcr7_el1|DBGBCR7_EL1}}, x12 3192 # CHECK: msr {{dbgbcr8_el1|DBGBCR8_EL1}}, x12 3193 # CHECK: msr {{dbgbcr9_el1|DBGBCR9_EL1}}, x12 3194 # CHECK: msr {{dbgbcr10_el1|DBGBCR10_EL1}}, x12 3195 # CHECK: msr {{dbgbcr11_el1|DBGBCR11_EL1}}, x12 3196 # CHECK: msr {{dbgbcr12_el1|DBGBCR12_EL1}}, x12 3197 # CHECK: msr {{dbgbcr13_el1|DBGBCR13_EL1}}, x12 3198 # CHECK: msr {{dbgbcr14_el1|DBGBCR14_EL1}}, x12 3199 # CHECK: msr {{dbgbcr15_el1|DBGBCR15_EL1}}, x12 3200 # CHECK: msr {{dbgwvr0_el1|DBGWVR0_EL1}}, x12 3201 # CHECK: msr {{dbgwvr1_el1|DBGWVR1_EL1}}, x12 3202 # CHECK: msr {{dbgwvr2_el1|DBGWVR2_EL1}}, x12 3203 # CHECK: msr {{dbgwvr3_el1|DBGWVR3_EL1}}, x12 3204 # CHECK: msr {{dbgwvr4_el1|DBGWVR4_EL1}}, x12 3205 # CHECK: msr {{dbgwvr5_el1|DBGWVR5_EL1}}, x12 3206 # CHECK: msr {{dbgwvr6_el1|DBGWVR6_EL1}}, x12 3207 # CHECK: msr {{dbgwvr7_el1|DBGWVR7_EL1}}, x12 3208 # CHECK: msr {{dbgwvr8_el1|DBGWVR8_EL1}}, x12 3209 # CHECK: msr {{dbgwvr9_el1|DBGWVR9_EL1}}, x12 3210 # CHECK: msr {{dbgwvr10_el1|DBGWVR10_EL1}}, x12 3211 # CHECK: msr {{dbgwvr11_el1|DBGWVR11_EL1}}, x12 3212 # CHECK: msr {{dbgwvr12_el1|DBGWVR12_EL1}}, x12 3213 # CHECK: msr {{dbgwvr13_el1|DBGWVR13_EL1}}, x12 3214 # CHECK: msr {{dbgwvr14_el1|DBGWVR14_EL1}}, x12 3215 # CHECK: msr {{dbgwvr15_el1|DBGWVR15_EL1}}, x12 3216 # CHECK: msr {{dbgwcr0_el1|DBGWCR0_EL1}}, x12 3217 # CHECK: msr {{dbgwcr1_el1|DBGWCR1_EL1}}, x12 3218 # CHECK: msr {{dbgwcr2_el1|DBGWCR2_EL1}}, x12 3219 # CHECK: msr {{dbgwcr3_el1|DBGWCR3_EL1}}, x12 3220 # CHECK: msr {{dbgwcr4_el1|DBGWCR4_EL1}}, x12 3221 # CHECK: msr {{dbgwcr5_el1|DBGWCR5_EL1}}, x12 3222 # CHECK: msr {{dbgwcr6_el1|DBGWCR6_EL1}}, x12 3223 # CHECK: msr {{dbgwcr7_el1|DBGWCR7_EL1}}, x12 3224 # CHECK: msr {{dbgwcr8_el1|DBGWCR8_EL1}}, x12 3225 # CHECK: msr {{dbgwcr9_el1|DBGWCR9_EL1}}, x12 3226 # CHECK: msr {{dbgwcr10_el1|DBGWCR10_EL1}}, x12 3227 # CHECK: msr {{dbgwcr11_el1|DBGWCR11_EL1}}, x12 3228 # CHECK: msr {{dbgwcr12_el1|DBGWCR12_EL1}}, x12 3229 # CHECK: msr {{dbgwcr13_el1|DBGWCR13_EL1}}, x12 3230 # CHECK: msr {{dbgwcr14_el1|DBGWCR14_EL1}}, x12 3231 # CHECK: msr {{dbgwcr15_el1|DBGWCR15_EL1}}, x12 3232 # CHECK: msr {{teehbr32_el1|TEEHBR32_EL1}}, x12 3233 # CHECK: msr {{oslar_el1|OSLAR_EL1}}, x12 3234 # CHECK: msr {{osdlr_el1|OSDLR_EL1}}, x12 3235 # CHECK: msr {{dbgprcr_el1|DBGPRCR_EL1}}, x12 3236 # CHECK: msr {{dbgclaimset_el1|DBGCLAIMSET_EL1}}, x12 3237 # CHECK: msr {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}}, x12 3238 # CHECK: msr {{csselr_el1|CSSELR_EL1}}, x12 3239 # CHECK: msr {{vpidr_el2|VPIDR_EL2}}, x12 3240 # CHECK: msr {{vmpidr_el2|VMPIDR_EL2}}, x12 3241 # CHECK: msr {{sctlr_el1|SCTLR_EL1}}, x12 3242 # CHECK: msr {{sctlr_el2|SCTLR_EL2}}, x12 3243 # CHECK: msr {{sctlr_el3|SCTLR_EL3}}, x12 3244 # CHECK: msr {{actlr_el1|ACTLR_EL1}}, x12 3245 # CHECK: msr {{actlr_el2|ACTLR_EL2}}, x12 3246 # CHECK: msr {{actlr_el3|ACTLR_EL3}}, x12 3247 # CHECK: msr {{cpacr_el1|CPACR_EL1}}, x12 3248 # CHECK: msr {{hcr_el2|HCR_EL2}}, x12 3249 # CHECK: msr {{scr_el3|SCR_EL3}}, x12 3250 # CHECK: msr {{mdcr_el2|MDCR_EL2}}, x12 3251 # CHECK: msr {{sder32_el3|SDER32_EL3}}, x12 3252 # CHECK: msr {{cptr_el2|CPTR_EL2}}, x12 3253 # CHECK: msr {{cptr_el3|CPTR_EL3}}, x12 3254 # CHECK: msr {{hstr_el2|HSTR_EL2}}, x12 3255 # CHECK: msr {{hacr_el2|HACR_EL2}}, x12 3256 # CHECK: msr {{mdcr_el3|MDCR_EL3}}, x12 3257 # CHECK: msr {{ttbr0_el1|TTBR0_EL1}}, x12 3258 # CHECK: msr {{ttbr0_el2|TTBR0_EL2}}, x12 3259 # CHECK: msr {{ttbr0_el3|TTBR0_EL3}}, x12 3260 # CHECK: msr {{ttbr1_el1|TTBR1_EL1}}, x12 3261 # CHECK: msr {{tcr_el1|TCR_EL1}}, x12 3262 # CHECK: msr {{tcr_el2|TCR_EL2}}, x12 3263 # CHECK: msr {{tcr_el3|TCR_EL3}}, x12 3264 # CHECK: msr {{vttbr_el2|VTTBR_EL2}}, x12 3265 # CHECK: msr {{vtcr_el2|VTCR_EL2}}, x12 3266 # CHECK: msr {{dacr32_el2|DACR32_EL2}}, x12 3267 # CHECK: msr {{spsr_el1|SPSR_EL1}}, x12 3268 # CHECK: msr {{spsr_el2|SPSR_EL2}}, x12 3269 # CHECK: msr {{spsr_el3|SPSR_EL3}}, x12 3270 # CHECK: msr {{elr_el1|ELR_EL1}}, x12 3271 # CHECK: msr {{elr_el2|ELR_EL2}}, x12 3272 # CHECK: msr {{elr_el3|ELR_EL3}}, x12 3273 # CHECK: msr {{sp_el0|SP_EL0}}, x12 3274 # CHECK: msr {{sp_el1|SP_EL1}}, x12 3275 # CHECK: msr {{sp_el2|SP_EL2}}, x12 3276 # CHECK: msr {{SPSel|SPSEL}}, x12 3277 # CHECK: msr {{nzcv|NZCV}}, x12 3278 # CHECK: msr {{daif|DAIF}}, x12 3279 # CHECK: msr {{CurrentEL|CURRENTEL}}, x12 3280 # CHECK: msr {{SPSR_irq|SPSR_IRQ}}, x12 3281 # CHECK: msr {{SPSR_abt|SPSR_ABT}}, x12 3282 # CHECK: msr {{SPSR_und|SPSR_UND}}, x12 3283 # CHECK: msr {{SPSR_fiq|SPSR_FIQ}}, x12 3284 # CHECK: msr {{fpcr|FPCR}}, x12 3285 # CHECK: msr {{fpsr|FPSR}}, x12 3286 # CHECK: msr {{dspsr_el0|DSPSR_EL0}}, x12 3287 # CHECK: msr {{dlr_el0|DLR_EL0}}, x12 3288 # CHECK: msr {{ifsr32_el2|IFSR32_EL2}}, x12 3289 # CHECK: msr {{afsr0_el1|AFSR0_EL1}}, x12 3290 # CHECK: msr {{afsr0_el2|AFSR0_EL2}}, x12 3291 # CHECK: msr {{afsr0_el3|AFSR0_EL3}}, x12 3292 # CHECK: msr {{afsr1_el1|AFSR1_EL1}}, x12 3293 # CHECK: msr {{afsr1_el2|AFSR1_EL2}}, x12 3294 # CHECK: msr {{afsr1_el3|AFSR1_EL3}}, x12 3295 # CHECK: msr {{esr_el1|ESR_EL1}}, x12 3296 # CHECK: msr {{esr_el2|ESR_EL2}}, x12 3297 # CHECK: msr {{esr_el3|ESR_EL3}}, x12 3298 # CHECK: msr {{fpexc32_el2|FPEXC32_EL2}}, x12 3299 # CHECK: msr {{far_el1|FAR_EL1}}, x12 3300 # CHECK: msr {{far_el2|FAR_EL2}}, x12 3301 # CHECK: msr {{far_el3|FAR_EL3}}, x12 3302 # CHECK: msr {{hpfar_el2|HPFAR_EL2}}, x12 3303 # CHECK: msr {{par_el1|PAR_EL1}}, x12 3304 # CHECK: msr {{pmcr_el0|PMCR_EL0}}, x12 3305 # CHECK: msr {{pmcntenset_el0|PMCNTENSET_EL0}}, x12 3306 # CHECK: msr {{pmcntenclr_el0|PMCNTENCLR_EL0}}, x12 3307 # CHECK: msr {{pmovsclr_el0|PMOVSCLR_EL0}}, x12 3308 # CHECK: msr {{pmselr_el0|PMSELR_EL0}}, x12 3309 # CHECK: msr {{pmccntr_el0|PMCCNTR_EL0}}, x12 3310 # CHECK: msr {{pmxevtyper_el0|PMXEVTYPER_EL0}}, x12 3311 # CHECK: msr {{pmxevcntr_el0|PMXEVCNTR_EL0}}, x12 3312 # CHECK: msr {{pmuserenr_el0|PMUSERENR_EL0}}, x12 3313 # CHECK: msr {{pmintenset_el1|PMINTENSET_EL1}}, x12 3314 # CHECK: msr {{pmintenclr_el1|PMINTENCLR_EL1}}, x12 3315 # CHECK: msr {{pmovsset_el0|PMOVSSET_EL0}}, x12 3316 # CHECK: msr {{mair_el1|MAIR_EL1}}, x12 3317 # CHECK: msr {{mair_el2|MAIR_EL2}}, x12 3318 # CHECK: msr {{mair_el3|MAIR_EL3}}, x12 3319 # CHECK: msr {{amair_el1|AMAIR_EL1}}, x12 3320 # CHECK: msr {{amair_el2|AMAIR_EL2}}, x12 3321 # CHECK: msr {{amair_el3|AMAIR_EL3}}, x12 3322 # CHECK: msr {{vbar_el1|VBAR_EL1}}, x12 3323 # CHECK: msr {{vbar_el2|VBAR_EL2}}, x12 3324 # CHECK: msr {{vbar_el3|VBAR_EL3}}, x12 3325 # CHECK: msr {{rmr_el1|RMR_EL1}}, x12 3326 # CHECK: msr {{rmr_el2|RMR_EL2}}, x12 3327 # CHECK: msr {{rmr_el3|RMR_EL3}}, x12 3328 # CHECK: msr {{tpidr_el0|TPIDR_EL0}}, x12 3329 # CHECK: msr {{tpidr_el2|TPIDR_EL2}}, x12 3330 # CHECK: msr {{tpidr_el3|TPIDR_EL3}}, x12 3331 # CHECK: msr {{tpidrro_el0|TPIDRRO_EL0}}, x12 3332 # CHECK: msr {{tpidr_el1|TPIDR_EL1}}, x12 3333 # CHECK: msr {{cntfrq_el0|CNTFRQ_EL0}}, x12 3334 # CHECK: msr {{cntvoff_el2|CNTVOFF_EL2}}, x12 3335 # CHECK: msr {{cntkctl_el1|CNTKCTL_EL1}}, x12 3336 # CHECK: msr {{cnthctl_el2|CNTHCTL_EL2}}, x12 3337 # CHECK: msr {{cntp_tval_el0|CNTP_TVAL_EL0}}, x12 3338 # CHECK: msr {{cnthp_tval_el2|CNTHP_TVAL_EL2}}, x12 3339 # CHECK: msr {{cntps_tval_el1|CNTPS_TVAL_EL1}}, x12 3340 # CHECK: msr {{cntp_ctl_el0|CNTP_CTL_EL0}}, x12 3341 # CHECK: msr {{cnthp_ctl_el2|CNTHP_CTL_EL2}}, x12 3342 # CHECK: msr {{cntps_ctl_el1|CNTPS_CTL_EL1}}, x12 3343 # CHECK: msr {{cntp_cval_el0|CNTP_CVAL_EL0}}, x12 3344 # CHECK: msr {{cnthp_cval_el2|CNTHP_CVAL_EL2}}, x12 3345 # CHECK: msr {{cntps_cval_el1|CNTPS_CVAL_EL1}}, x12 3346 # CHECK: msr {{cntv_tval_el0|CNTV_TVAL_EL0}}, x12 3347 # CHECK: msr {{cntv_ctl_el0|CNTV_CTL_EL0}}, x12 3348 # CHECK: msr {{cntv_cval_el0|CNTV_CVAL_EL0}}, x12 3349 # CHECK: msr {{pmevcntr0_el0|PMEVCNTR0_EL0}}, x12 3350 # CHECK: msr {{pmevcntr1_el0|PMEVCNTR1_EL0}}, x12 3351 # CHECK: msr {{pmevcntr2_el0|PMEVCNTR2_EL0}}, x12 3352 # CHECK: msr {{pmevcntr3_el0|PMEVCNTR3_EL0}}, x12 3353 # CHECK: msr {{pmevcntr4_el0|PMEVCNTR4_EL0}}, x12 3354 # CHECK: msr {{pmevcntr5_el0|PMEVCNTR5_EL0}}, x12 3355 # CHECK: msr {{pmevcntr6_el0|PMEVCNTR6_EL0}}, x12 3356 # CHECK: msr {{pmevcntr7_el0|PMEVCNTR7_EL0}}, x12 3357 # CHECK: msr {{pmevcntr8_el0|PMEVCNTR8_EL0}}, x12 3358 # CHECK: msr {{pmevcntr9_el0|PMEVCNTR9_EL0}}, x12 3359 # CHECK: msr {{pmevcntr10_el0|PMEVCNTR10_EL0}}, x12 3360 # CHECK: msr {{pmevcntr11_el0|PMEVCNTR11_EL0}}, x12 3361 # CHECK: msr {{pmevcntr12_el0|PMEVCNTR12_EL0}}, x12 3362 # CHECK: msr {{pmevcntr13_el0|PMEVCNTR13_EL0}}, x12 3363 # CHECK: msr {{pmevcntr14_el0|PMEVCNTR14_EL0}}, x12 3364 # CHECK: msr {{pmevcntr15_el0|PMEVCNTR15_EL0}}, x12 3365 # CHECK: msr {{pmevcntr16_el0|PMEVCNTR16_EL0}}, x12 3366 # CHECK: msr {{pmevcntr17_el0|PMEVCNTR17_EL0}}, x12 3367 # CHECK: msr {{pmevcntr18_el0|PMEVCNTR18_EL0}}, x12 3368 # CHECK: msr {{pmevcntr19_el0|PMEVCNTR19_EL0}}, x12 3369 # CHECK: msr {{pmevcntr20_el0|PMEVCNTR20_EL0}}, x12 3370 # CHECK: msr {{pmevcntr21_el0|PMEVCNTR21_EL0}}, x12 3371 # CHECK: msr {{pmevcntr22_el0|PMEVCNTR22_EL0}}, x12 3372 # CHECK: msr {{pmevcntr23_el0|PMEVCNTR23_EL0}}, x12 3373 # CHECK: msr {{pmevcntr24_el0|PMEVCNTR24_EL0}}, x12 3374 # CHECK: msr {{pmevcntr25_el0|PMEVCNTR25_EL0}}, x12 3375 # CHECK: msr {{pmevcntr26_el0|PMEVCNTR26_EL0}}, x12 3376 # CHECK: msr {{pmevcntr27_el0|PMEVCNTR27_EL0}}, x12 3377 # CHECK: msr {{pmevcntr28_el0|PMEVCNTR28_EL0}}, x12 3378 # CHECK: msr {{pmevcntr29_el0|PMEVCNTR29_EL0}}, x12 3379 # CHECK: msr {{pmevcntr30_el0|PMEVCNTR30_EL0}}, x12 3380 # CHECK: msr {{pmccfiltr_el0|PMCCFILTR_EL0}}, x12 3381 # CHECK: msr {{pmevtyper0_el0|PMEVTYPER0_EL0}}, x12 3382 # CHECK: msr {{pmevtyper1_el0|PMEVTYPER1_EL0}}, x12 3383 # CHECK: msr {{pmevtyper2_el0|PMEVTYPER2_EL0}}, x12 3384 # CHECK: msr {{pmevtyper3_el0|PMEVTYPER3_EL0}}, x12 3385 # CHECK: msr {{pmevtyper4_el0|PMEVTYPER4_EL0}}, x12 3386 # CHECK: msr {{pmevtyper5_el0|PMEVTYPER5_EL0}}, x12 3387 # CHECK: msr {{pmevtyper6_el0|PMEVTYPER6_EL0}}, x12 3388 # CHECK: msr {{pmevtyper7_el0|PMEVTYPER7_EL0}}, x12 3389 # CHECK: msr {{pmevtyper8_el0|PMEVTYPER8_EL0}}, x12 3390 # CHECK: msr {{pmevtyper9_el0|PMEVTYPER9_EL0}}, x12 3391 # CHECK: msr {{pmevtyper10_el0|PMEVTYPER10_EL0}}, x12 3392 # CHECK: msr {{pmevtyper11_el0|PMEVTYPER11_EL0}}, x12 3393 # CHECK: msr {{pmevtyper12_el0|PMEVTYPER12_EL0}}, x12 3394 # CHECK: msr {{pmevtyper13_el0|PMEVTYPER13_EL0}}, x12 3395 # CHECK: msr {{pmevtyper14_el0|PMEVTYPER14_EL0}}, x12 3396 # CHECK: msr {{pmevtyper15_el0|PMEVTYPER15_EL0}}, x12 3397 # CHECK: msr {{pmevtyper16_el0|PMEVTYPER16_EL0}}, x12 3398 # CHECK: msr {{pmevtyper17_el0|PMEVTYPER17_EL0}}, x12 3399 # CHECK: msr {{pmevtyper18_el0|PMEVTYPER18_EL0}}, x12 3400 # CHECK: msr {{pmevtyper19_el0|PMEVTYPER19_EL0}}, x12 3401 # CHECK: msr {{pmevtyper20_el0|PMEVTYPER20_EL0}}, x12 3402 # CHECK: msr {{pmevtyper21_el0|PMEVTYPER21_EL0}}, x12 3403 # CHECK: msr {{pmevtyper22_el0|PMEVTYPER22_EL0}}, x12 3404 # CHECK: msr {{pmevtyper23_el0|PMEVTYPER23_EL0}}, x12 3405 # CHECK: msr {{pmevtyper24_el0|PMEVTYPER24_EL0}}, x12 3406 # CHECK: msr {{pmevtyper25_el0|PMEVTYPER25_EL0}}, x12 3407 # CHECK: msr {{pmevtyper26_el0|PMEVTYPER26_EL0}}, x12 3408 # CHECK: msr {{pmevtyper27_el0|PMEVTYPER27_EL0}}, x12 3409 # CHECK: msr {{pmevtyper28_el0|PMEVTYPER28_EL0}}, x12 3410 # CHECK: msr {{pmevtyper29_el0|PMEVTYPER29_EL0}}, x12 3411 # CHECK: msr {{pmevtyper30_el0|PMEVTYPER30_EL0}}, x12 3412 # CHECK: mrs x9, {{teecr32_el1|TEECR32_EL1}} 3413 # CHECK: mrs x9, {{osdtrrx_el1|OSDTRRX_EL1}} 3414 # CHECK: mrs x9, {{mdccsr_el0|MDCCSR_EL0}} 3415 # CHECK: mrs x9, {{mdccint_el1|MDCCINT_EL1}} 3416 # CHECK: mrs x9, {{mdscr_el1|MDSCR_EL1}} 3417 # CHECK: mrs x9, {{osdtrtx_el1|OSDTRTX_EL1}} 3418 # CHECK: mrs x9, {{dbgdtr_el0|DBGDTR_EL0}} 3419 # CHECK: mrs x9, {{dbgdtrrx_el0|DBGDTRRX_EL0}} 3420 # CHECK: mrs x9, {{oseccr_el1|OSECCR_EL1}} 3421 # CHECK: mrs x9, {{dbgvcr32_el2|DBGVCR32_EL2}} 3422 # CHECK: mrs x9, {{dbgbvr0_el1|DBGBVR0_EL1}} 3423 # CHECK: mrs x9, {{dbgbvr1_el1|DBGBVR1_EL1}} 3424 # CHECK: mrs x9, {{dbgbvr2_el1|DBGBVR2_EL1}} 3425 # CHECK: mrs x9, {{dbgbvr3_el1|DBGBVR3_EL1}} 3426 # CHECK: mrs x9, {{dbgbvr4_el1|DBGBVR4_EL1}} 3427 # CHECK: mrs x9, {{dbgbvr5_el1|DBGBVR5_EL1}} 3428 # CHECK: mrs x9, {{dbgbvr6_el1|DBGBVR6_EL1}} 3429 # CHECK: mrs x9, {{dbgbvr7_el1|DBGBVR7_EL1}} 3430 # CHECK: mrs x9, {{dbgbvr8_el1|DBGBVR8_EL1}} 3431 # CHECK: mrs x9, {{dbgbvr9_el1|DBGBVR9_EL1}} 3432 # CHECK: mrs x9, {{dbgbvr10_el1|DBGBVR10_EL1}} 3433 # CHECK: mrs x9, {{dbgbvr11_el1|DBGBVR11_EL1}} 3434 # CHECK: mrs x9, {{dbgbvr12_el1|DBGBVR12_EL1}} 3435 # CHECK: mrs x9, {{dbgbvr13_el1|DBGBVR13_EL1}} 3436 # CHECK: mrs x9, {{dbgbvr14_el1|DBGBVR14_EL1}} 3437 # CHECK: mrs x9, {{dbgbvr15_el1|DBGBVR15_EL1}} 3438 # CHECK: mrs x9, {{dbgbcr0_el1|DBGBCR0_EL1}} 3439 # CHECK: mrs x9, {{dbgbcr1_el1|DBGBCR1_EL1}} 3440 # CHECK: mrs x9, {{dbgbcr2_el1|DBGBCR2_EL1}} 3441 # CHECK: mrs x9, {{dbgbcr3_el1|DBGBCR3_EL1}} 3442 # CHECK: mrs x9, {{dbgbcr4_el1|DBGBCR4_EL1}} 3443 # CHECK: mrs x9, {{dbgbcr5_el1|DBGBCR5_EL1}} 3444 # CHECK: mrs x9, {{dbgbcr6_el1|DBGBCR6_EL1}} 3445 # CHECK: mrs x9, {{dbgbcr7_el1|DBGBCR7_EL1}} 3446 # CHECK: mrs x9, {{dbgbcr8_el1|DBGBCR8_EL1}} 3447 # CHECK: mrs x9, {{dbgbcr9_el1|DBGBCR9_EL1}} 3448 # CHECK: mrs x9, {{dbgbcr10_el1|DBGBCR10_EL1}} 3449 # CHECK: mrs x9, {{dbgbcr11_el1|DBGBCR11_EL1}} 3450 # CHECK: mrs x9, {{dbgbcr12_el1|DBGBCR12_EL1}} 3451 # CHECK: mrs x9, {{dbgbcr13_el1|DBGBCR13_EL1}} 3452 # CHECK: mrs x9, {{dbgbcr14_el1|DBGBCR14_EL1}} 3453 # CHECK: mrs x9, {{dbgbcr15_el1|DBGBCR15_EL1}} 3454 # CHECK: mrs x9, {{dbgwvr0_el1|DBGWVR0_EL1}} 3455 # CHECK: mrs x9, {{dbgwvr1_el1|DBGWVR1_EL1}} 3456 # CHECK: mrs x9, {{dbgwvr2_el1|DBGWVR2_EL1}} 3457 # CHECK: mrs x9, {{dbgwvr3_el1|DBGWVR3_EL1}} 3458 # CHECK: mrs x9, {{dbgwvr4_el1|DBGWVR4_EL1}} 3459 # CHECK: mrs x9, {{dbgwvr5_el1|DBGWVR5_EL1}} 3460 # CHECK: mrs x9, {{dbgwvr6_el1|DBGWVR6_EL1}} 3461 # CHECK: mrs x9, {{dbgwvr7_el1|DBGWVR7_EL1}} 3462 # CHECK: mrs x9, {{dbgwvr8_el1|DBGWVR8_EL1}} 3463 # CHECK: mrs x9, {{dbgwvr9_el1|DBGWVR9_EL1}} 3464 # CHECK: mrs x9, {{dbgwvr10_el1|DBGWVR10_EL1}} 3465 # CHECK: mrs x9, {{dbgwvr11_el1|DBGWVR11_EL1}} 3466 # CHECK: mrs x9, {{dbgwvr12_el1|DBGWVR12_EL1}} 3467 # CHECK: mrs x9, {{dbgwvr13_el1|DBGWVR13_EL1}} 3468 # CHECK: mrs x9, {{dbgwvr14_el1|DBGWVR14_EL1}} 3469 # CHECK: mrs x9, {{dbgwvr15_el1|DBGWVR15_EL1}} 3470 # CHECK: mrs x9, {{dbgwcr0_el1|DBGWCR0_EL1}} 3471 # CHECK: mrs x9, {{dbgwcr1_el1|DBGWCR1_EL1}} 3472 # CHECK: mrs x9, {{dbgwcr2_el1|DBGWCR2_EL1}} 3473 # CHECK: mrs x9, {{dbgwcr3_el1|DBGWCR3_EL1}} 3474 # CHECK: mrs x9, {{dbgwcr4_el1|DBGWCR4_EL1}} 3475 # CHECK: mrs x9, {{dbgwcr5_el1|DBGWCR5_EL1}} 3476 # CHECK: mrs x9, {{dbgwcr6_el1|DBGWCR6_EL1}} 3477 # CHECK: mrs x9, {{dbgwcr7_el1|DBGWCR7_EL1}} 3478 # CHECK: mrs x9, {{dbgwcr8_el1|DBGWCR8_EL1}} 3479 # CHECK: mrs x9, {{dbgwcr9_el1|DBGWCR9_EL1}} 3480 # CHECK: mrs x9, {{dbgwcr10_el1|DBGWCR10_EL1}} 3481 # CHECK: mrs x9, {{dbgwcr11_el1|DBGWCR11_EL1}} 3482 # CHECK: mrs x9, {{dbgwcr12_el1|DBGWCR12_EL1}} 3483 # CHECK: mrs x9, {{dbgwcr13_el1|DBGWCR13_EL1}} 3484 # CHECK: mrs x9, {{dbgwcr14_el1|DBGWCR14_EL1}} 3485 # CHECK: mrs x9, {{dbgwcr15_el1|DBGWCR15_EL1}} 3486 # CHECK: mrs x9, {{mdrar_el1|MDRAR_EL1}} 3487 # CHECK: mrs x9, {{teehbr32_el1|TEEHBR32_EL1}} 3488 # CHECK: mrs x9, {{oslsr_el1|OSLSR_EL1}} 3489 # CHECK: mrs x9, {{osdlr_el1|OSDLR_EL1}} 3490 # CHECK: mrs x9, {{dbgprcr_el1|DBGPRCR_EL1}} 3491 # CHECK: mrs x9, {{dbgclaimset_el1|DBGCLAIMSET_EL1}} 3492 # CHECK: mrs x9, {{dbgclaimclr_el1|DBGCLAIMCLR_EL1}} 3493 # CHECK: mrs x9, {{dbgauthstatus_el1|DBGAUTHSTATUS_EL1}} 3494 # CHECK: mrs x9, {{midr_el1|MIDR_EL1}} 3495 # CHECK: mrs x9, {{ccsidr_el1|CCSIDR_EL1}} 3496 # CHECK: mrs x9, {{csselr_el1|CSSELR_EL1}} 3497 # CHECK-V83: mrs x9, {{ccsidr2_el1|CCSIDR2_EL1}} 3498 # CHECK: mrs x9, {{vpidr_el2|VPIDR_EL2}} 3499 # CHECK: mrs x9, {{clidr_el1|CLIDR_EL1}} 3500 # CHECK: mrs x9, {{ctr_el0|CTR_EL0}} 3501 # CHECK: mrs x9, {{mpidr_el1|MPIDR_EL1}} 3502 # CHECK: mrs x9, {{vmpidr_el2|VMPIDR_EL2}} 3503 # CHECK: mrs x9, {{revidr_el1|REVIDR_EL1}} 3504 # CHECK: mrs x9, {{aidr_el1|AIDR_EL1}} 3505 # CHECK: mrs x9, {{dczid_el0|DCZID_EL0}} 3506 # CHECK: mrs x9, {{id_pfr0_el1|ID_PFR0_EL1}} 3507 # CHECK: mrs x9, {{id_pfr1_el1|ID_PFR1_EL1}} 3508 # CHECK: mrs x9, {{id_dfr0_el1|ID_DFR0_EL1}} 3509 # CHECK: mrs x9, {{id_afr0_el1|ID_AFR0_EL1}} 3510 # CHECK: mrs x9, {{id_mmfr0_el1|ID_MMFR0_EL1}} 3511 # CHECK: mrs x9, {{id_mmfr1_el1|ID_MMFR1_EL1}} 3512 # CHECK: mrs x9, {{id_mmfr2_el1|ID_MMFR2_EL1}} 3513 # CHECK: mrs x9, {{id_mmfr3_el1|ID_MMFR3_EL1}} 3514 # CHECK: mrs x9, {{id_mmfr4_el1|ID_MMFR4_EL1}} 3515 # CHECK: mrs x9, {{id_isar0_el1|ID_ISAR0_EL1}} 3516 # CHECK: mrs x9, {{id_isar1_el1|ID_ISAR1_EL1}} 3517 # CHECK: mrs x9, {{id_isar2_el1|ID_ISAR2_EL1}} 3518 # CHECK: mrs x9, {{id_isar3_el1|ID_ISAR3_EL1}} 3519 # CHECK: mrs x9, {{id_isar4_el1|ID_ISAR4_EL1}} 3520 # CHECK: mrs x9, {{id_isar5_el1|ID_ISAR5_EL1}} 3521 # CHECK: mrs x9, {{mvfr0_el1|MVFR0_EL1}} 3522 # CHECK: mrs x9, {{mvfr1_el1|MVFR1_EL1}} 3523 # CHECK: mrs x9, {{mvfr2_el1|MVFR2_EL1}} 3524 # CHECK: mrs x9, {{id_aa64pfr0_el1|ID_AA64PFR0_EL1}} 3525 # CHECK: mrs x9, {{id_aa64pfr1_el1|ID_AA64PFR1_EL1}} 3526 # CHECK: mrs x9, {{id_aa64dfr0_el1|ID_AA64DFR0_EL1}} 3527 # CHECK: mrs x9, {{id_aa64dfr1_el1|ID_AA64DFR1_EL1}} 3528 # CHECK: mrs x9, {{id_aa64afr0_el1|ID_AA64AFR0_EL1}} 3529 # CHECK: mrs x9, {{id_aa64afr1_el1|ID_AA64AFR1_EL1}} 3530 # CHECK: mrs x9, {{id_aa64isar0_el1|ID_AA64ISAR0_EL1}} 3531 # CHECK: mrs x9, {{id_aa64isar1_el1|ID_AA64ISAR1_EL1}} 3532 # CHECK: mrs x9, {{id_aa64mmfr0_el1|ID_AA64MMFR0_EL1}} 3533 # CHECK: mrs x9, {{id_aa64mmfr1_el1|ID_AA64MMFR1_EL1}} 3534 # CHECK: mrs x9, {{sctlr_el1|SCTLR_EL1}} 3535 # CHECK: mrs x9, {{sctlr_el2|SCTLR_EL2}} 3536 # CHECK: mrs x9, {{sctlr_el3|SCTLR_EL3}} 3537 # CHECK: mrs x9, {{actlr_el1|ACTLR_EL1}} 3538 # CHECK: mrs x9, {{actlr_el2|ACTLR_EL2}} 3539 # CHECK: mrs x9, {{actlr_el3|ACTLR_EL3}} 3540 # CHECK: mrs x9, {{cpacr_el1|CPACR_EL1}} 3541 # CHECK: mrs x9, {{hcr_el2|HCR_EL2}} 3542 # CHECK: mrs x9, {{scr_el3|SCR_EL3}} 3543 # CHECK: mrs x9, {{mdcr_el2|MDCR_EL2}} 3544 # CHECK: mrs x9, {{sder32_el3|SDER32_EL3}} 3545 # CHECK: mrs x9, {{cptr_el2|CPTR_EL2}} 3546 # CHECK: mrs x9, {{cptr_el3|CPTR_EL3}} 3547 # CHECK: mrs x9, {{hstr_el2|HSTR_EL2}} 3548 # CHECK: mrs x9, {{hacr_el2|HACR_EL2}} 3549 # CHECK: mrs x9, {{mdcr_el3|MDCR_EL3}} 3550 # CHECK: mrs x9, {{ttbr0_el1|TTBR0_EL1}} 3551 # CHECK: mrs x9, {{ttbr0_el2|TTBR0_EL2}} 3552 # CHECK: mrs x9, {{ttbr0_el3|TTBR0_EL3}} 3553 # CHECK: mrs x9, {{ttbr1_el1|TTBR1_EL1}} 3554 # CHECK: mrs x9, {{tcr_el1|TCR_EL1}} 3555 # CHECK: mrs x9, {{tcr_el2|TCR_EL2}} 3556 # CHECK: mrs x9, {{tcr_el3|TCR_EL3}} 3557 # CHECK: mrs x9, {{vttbr_el2|VTTBR_EL2}} 3558 # CHECK: mrs x9, {{vtcr_el2|VTCR_EL2}} 3559 # CHECK: mrs x9, {{dacr32_el2|DACR32_EL2}} 3560 # CHECK: mrs x9, {{spsr_el1|SPSR_EL1}} 3561 # CHECK: mrs x9, {{spsr_el2|SPSR_EL2}} 3562 # CHECK: mrs x9, {{spsr_el3|SPSR_EL3}} 3563 # CHECK: mrs x9, {{elr_el1|ELR_EL1}} 3564 # CHECK: mrs x9, {{elr_el2|ELR_EL2}} 3565 # CHECK: mrs x9, {{elr_el3|ELR_EL3}} 3566 # CHECK: mrs x9, {{sp_el0|SP_EL0}} 3567 # CHECK: mrs x9, {{sp_el1|SP_EL1}} 3568 # CHECK: mrs x9, {{sp_el2|SP_EL2}} 3569 # CHECK: mrs x9, {{SPSel|SPSEL}} 3570 # CHECK: mrs x9, {{nzcv|NZCV}} 3571 # CHECK: mrs x9, {{daif|DAIF}} 3572 # CHECK: mrs x9, {{CurrentEL|CURRENTEL}} 3573 # CHECK: mrs x9, {{SPSR_irq|SPSR_IRQ}} 3574 # CHECK: mrs x9, {{SPSR_abt|SPSR_ABT}} 3575 # CHECK: mrs x9, {{SPSR_und|SPSR_UND}} 3576 # CHECK: mrs x9, {{SPSR_fiq|SPSR_FIQ}} 3577 # CHECK: mrs x9, {{fpcr|FPCR}} 3578 # CHECK: mrs x9, {{fpsr|FPSR}} 3579 # CHECK: mrs x9, {{dspsr_el0|DSPSR_EL0}} 3580 # CHECK: mrs x9, {{dlr_el0|DLR_EL0}} 3581 # CHECK: mrs x9, {{ifsr32_el2|IFSR32_EL2}} 3582 # CHECK: mrs x9, {{afsr0_el1|AFSR0_EL1}} 3583 # CHECK: mrs x9, {{afsr0_el2|AFSR0_EL2}} 3584 # CHECK: mrs x9, {{afsr0_el3|AFSR0_EL3}} 3585 # CHECK: mrs x9, {{afsr1_el1|AFSR1_EL1}} 3586 # CHECK: mrs x9, {{afsr1_el2|AFSR1_EL2}} 3587 # CHECK: mrs x9, {{afsr1_el3|AFSR1_EL3}} 3588 # CHECK: mrs x9, {{esr_el1|ESR_EL1}} 3589 # CHECK: mrs x9, {{esr_el2|ESR_EL2}} 3590 # CHECK: mrs x9, {{esr_el3|ESR_EL3}} 3591 # CHECK: mrs x9, {{fpexc32_el2|FPEXC32_EL2}} 3592 # CHECK: mrs x9, {{far_el1|FAR_EL1}} 3593 # CHECK: mrs x9, {{far_el2|FAR_EL2}} 3594 # CHECK: mrs x9, {{far_el3|FAR_EL3}} 3595 # CHECK: mrs x9, {{hpfar_el2|HPFAR_EL2}} 3596 # CHECK: mrs x9, {{par_el1|PAR_EL1}} 3597 # CHECK: mrs x9, {{pmcr_el0|PMCR_EL0}} 3598 # CHECK: mrs x9, {{pmcntenset_el0|PMCNTENSET_EL0}} 3599 # CHECK: mrs x9, {{pmcntenclr_el0|PMCNTENCLR_EL0}} 3600 # CHECK: mrs x9, {{pmovsclr_el0|PMOVSCLR_EL0}} 3601 # CHECK: mrs x9, {{pmselr_el0|PMSELR_EL0}} 3602 # CHECK: mrs x9, {{pmceid0_el0|PMCEID0_EL0}} 3603 # CHECK: mrs x9, {{pmceid1_el0|PMCEID1_EL0}} 3604 # CHECK: mrs x9, {{pmccntr_el0|PMCCNTR_EL0}} 3605 # CHECK: mrs x9, {{pmxevtyper_el0|PMXEVTYPER_EL0}} 3606 # CHECK: mrs x9, {{pmxevcntr_el0|PMXEVCNTR_EL0}} 3607 # CHECK: mrs x9, {{pmuserenr_el0|PMUSERENR_EL0}} 3608 # CHECK: mrs x9, {{pmintenset_el1|PMINTENSET_EL1}} 3609 # CHECK: mrs x9, {{pmintenclr_el1|PMINTENCLR_EL1}} 3610 # CHECK: mrs x9, {{pmovsset_el0|PMOVSSET_EL0}} 3611 # CHECK: mrs x9, {{mair_el1|MAIR_EL1}} 3612 # CHECK: mrs x9, {{mair_el2|MAIR_EL2}} 3613 # CHECK: mrs x9, {{mair_el3|MAIR_EL3}} 3614 # CHECK: mrs x9, {{amair_el1|AMAIR_EL1}} 3615 # CHECK: mrs x9, {{amair_el2|AMAIR_EL2}} 3616 # CHECK: mrs x9, {{amair_el3|AMAIR_EL3}} 3617 # CHECK: mrs x9, {{vbar_el1|VBAR_EL1}} 3618 # CHECK: mrs x9, {{vbar_el2|VBAR_EL2}} 3619 # CHECK: mrs x9, {{vbar_el3|VBAR_EL3}} 3620 # CHECK: mrs x9, {{rvbar_el1|RVBAR_EL1}} 3621 # CHECK: mrs x9, {{rvbar_el2|RVBAR_EL2}} 3622 # CHECK: mrs x9, {{rvbar_el3|RVBAR_EL3}} 3623 # CHECK: mrs x9, {{rmr_el1|RMR_EL1}} 3624 # CHECK: mrs x9, {{rmr_el2|RMR_EL2}} 3625 # CHECK: mrs x9, {{rmr_el3|RMR_EL3}} 3626 # CHECK: mrs x9, {{isr_el1|ISR_EL1}} 3627 # CHECK: mrs x9, {{contextidr_el1|CONTEXTIDR_EL1}} 3628 # CHECK: mrs x9, {{tpidr_el0|TPIDR_EL0}} 3629 # CHECK: mrs x9, {{tpidr_el2|TPIDR_EL2}} 3630 # CHECK: mrs x9, {{tpidr_el3|TPIDR_EL3}} 3631 # CHECK: mrs x9, {{tpidrro_el0|TPIDRRO_EL0}} 3632 # CHECK: mrs x9, {{tpidr_el1|TPIDR_EL1}} 3633 # CHECK: mrs x9, {{cntfrq_el0|CNTFRQ_EL0}} 3634 # CHECK: mrs x9, {{cntpct_el0|CNTPCT_EL0}} 3635 # CHECK: mrs x9, {{cntvct_el0|CNTVCT_EL0}} 3636 # CHECK: mrs x9, {{cntvoff_el2|CNTVOFF_EL2}} 3637 # CHECK: mrs x9, {{cntkctl_el1|CNTKCTL_EL1}} 3638 # CHECK: mrs x9, {{cnthctl_el2|CNTHCTL_EL2}} 3639 # CHECK: mrs x9, {{cntp_tval_el0|CNTP_TVAL_EL0}} 3640 # CHECK: mrs x9, {{cnthp_tval_el2|CNTHP_TVAL_EL2}} 3641 # CHECK: mrs x9, {{cntps_tval_el1|CNTPS_TVAL_EL1}} 3642 # CHECK: mrs x9, {{cntp_ctl_el0|CNTP_CTL_EL0}} 3643 # CHECK: mrs x9, {{cnthp_ctl_el2|CNTHP_CTL_EL2}} 3644 # CHECK: mrs x9, {{cntps_ctl_el1|CNTPS_CTL_EL1}} 3645 # CHECK: mrs x9, {{cntp_cval_el0|CNTP_CVAL_EL0}} 3646 # CHECK: mrs x9, {{cnthp_cval_el2|CNTHP_CVAL_EL2}} 3647 # CHECK: mrs x9, {{cntps_cval_el1|CNTPS_CVAL_EL1}} 3648 # CHECK: mrs x9, {{cntv_tval_el0|CNTV_TVAL_EL0}} 3649 # CHECK: mrs x9, {{cntv_ctl_el0|CNTV_CTL_EL0}} 3650 # CHECK: mrs x9, {{cntv_cval_el0|CNTV_CVAL_EL0}} 3651 # CHECK: mrs x9, {{pmevcntr0_el0|PMEVCNTR0_EL0}} 3652 # CHECK: mrs x9, {{pmevcntr1_el0|PMEVCNTR1_EL0}} 3653 # CHECK: mrs x9, {{pmevcntr2_el0|PMEVCNTR2_EL0}} 3654 # CHECK: mrs x9, {{pmevcntr3_el0|PMEVCNTR3_EL0}} 3655 # CHECK: mrs x9, {{pmevcntr4_el0|PMEVCNTR4_EL0}} 3656 # CHECK: mrs x9, {{pmevcntr5_el0|PMEVCNTR5_EL0}} 3657 # CHECK: mrs x9, {{pmevcntr6_el0|PMEVCNTR6_EL0}} 3658 # CHECK: mrs x9, {{pmevcntr7_el0|PMEVCNTR7_EL0}} 3659 # CHECK: mrs x9, {{pmevcntr8_el0|PMEVCNTR8_EL0}} 3660 # CHECK: mrs x9, {{pmevcntr9_el0|PMEVCNTR9_EL0}} 3661 # CHECK: mrs x9, {{pmevcntr10_el0|PMEVCNTR10_EL0}} 3662 # CHECK: mrs x9, {{pmevcntr11_el0|PMEVCNTR11_EL0}} 3663 # CHECK: mrs x9, {{pmevcntr12_el0|PMEVCNTR12_EL0}} 3664 # CHECK: mrs x9, {{pmevcntr13_el0|PMEVCNTR13_EL0}} 3665 # CHECK: mrs x9, {{pmevcntr14_el0|PMEVCNTR14_EL0}} 3666 # CHECK: mrs x9, {{pmevcntr15_el0|PMEVCNTR15_EL0}} 3667 # CHECK: mrs x9, {{pmevcntr16_el0|PMEVCNTR16_EL0}} 3668 # CHECK: mrs x9, {{pmevcntr17_el0|PMEVCNTR17_EL0}} 3669 # CHECK: mrs x9, {{pmevcntr18_el0|PMEVCNTR18_EL0}} 3670 # CHECK: mrs x9, {{pmevcntr19_el0|PMEVCNTR19_EL0}} 3671 # CHECK: mrs x9, {{pmevcntr20_el0|PMEVCNTR20_EL0}} 3672 # CHECK: mrs x9, {{pmevcntr21_el0|PMEVCNTR21_EL0}} 3673 # CHECK: mrs x9, {{pmevcntr22_el0|PMEVCNTR22_EL0}} 3674 # CHECK: mrs x9, {{pmevcntr23_el0|PMEVCNTR23_EL0}} 3675 # CHECK: mrs x9, {{pmevcntr24_el0|PMEVCNTR24_EL0}} 3676 # CHECK: mrs x9, {{pmevcntr25_el0|PMEVCNTR25_EL0}} 3677 # CHECK: mrs x9, {{pmevcntr26_el0|PMEVCNTR26_EL0}} 3678 # CHECK: mrs x9, {{pmevcntr27_el0|PMEVCNTR27_EL0}} 3679 # CHECK: mrs x9, {{pmevcntr28_el0|PMEVCNTR28_EL0}} 3680 # CHECK: mrs x9, {{pmevcntr29_el0|PMEVCNTR29_EL0}} 3681 # CHECK: mrs x9, {{pmevcntr30_el0|PMEVCNTR30_EL0}} 3682 # CHECK: mrs x9, {{pmccfiltr_el0|PMCCFILTR_EL0}} 3683 # CHECK: mrs x9, {{pmevtyper0_el0|PMEVTYPER0_EL0}} 3684 # CHECK: mrs x9, {{pmevtyper1_el0|PMEVTYPER1_EL0}} 3685 # CHECK: mrs x9, {{pmevtyper2_el0|PMEVTYPER2_EL0}} 3686 # CHECK: mrs x9, {{pmevtyper3_el0|PMEVTYPER3_EL0}} 3687 # CHECK: mrs x9, {{pmevtyper4_el0|PMEVTYPER4_EL0}} 3688 # CHECK: mrs x9, {{pmevtyper5_el0|PMEVTYPER5_EL0}} 3689 # CHECK: mrs x9, {{pmevtyper6_el0|PMEVTYPER6_EL0}} 3690 # CHECK: mrs x9, {{pmevtyper7_el0|PMEVTYPER7_EL0}} 3691 # CHECK: mrs x9, {{pmevtyper8_el0|PMEVTYPER8_EL0}} 3692 # CHECK: mrs x9, {{pmevtyper9_el0|PMEVTYPER9_EL0}} 3693 # CHECK: mrs x9, {{pmevtyper10_el0|PMEVTYPER10_EL0}} 3694 # CHECK: mrs x9, {{pmevtyper11_el0|PMEVTYPER11_EL0}} 3695 # CHECK: mrs x9, {{pmevtyper12_el0|PMEVTYPER12_EL0}} 3696 # CHECK: mrs x9, {{pmevtyper13_el0|PMEVTYPER13_EL0}} 3697 # CHECK: mrs x9, {{pmevtyper14_el0|PMEVTYPER14_EL0}} 3698 # CHECK: mrs x9, {{pmevtyper15_el0|PMEVTYPER15_EL0}} 3699 # CHECK: mrs x9, {{pmevtyper16_el0|PMEVTYPER16_EL0}} 3700 # CHECK: mrs x9, {{pmevtyper17_el0|PMEVTYPER17_EL0}} 3701 # CHECK: mrs x9, {{pmevtyper18_el0|PMEVTYPER18_EL0}} 3702 # CHECK: mrs x9, {{pmevtyper19_el0|PMEVTYPER19_EL0}} 3703 # CHECK: mrs x9, {{pmevtyper20_el0|PMEVTYPER20_EL0}} 3704 # CHECK: mrs x9, {{pmevtyper21_el0|PMEVTYPER21_EL0}} 3705 # CHECK: mrs x9, {{pmevtyper22_el0|PMEVTYPER22_EL0}} 3706 # CHECK: mrs x9, {{pmevtyper23_el0|PMEVTYPER23_EL0}} 3707 # CHECK: mrs x9, {{pmevtyper24_el0|PMEVTYPER24_EL0}} 3708 # CHECK: mrs x9, {{pmevtyper25_el0|PMEVTYPER25_EL0}} 3709 # CHECK: mrs x9, {{pmevtyper26_el0|PMEVTYPER26_EL0}} 3710 # CHECK: mrs x9, {{pmevtyper27_el0|PMEVTYPER27_EL0}} 3711 # CHECK: mrs x9, {{pmevtyper28_el0|PMEVTYPER28_EL0}} 3712 # CHECK: mrs x9, {{pmevtyper29_el0|PMEVTYPER29_EL0}} 3713 # CHECK: mrs x9, {{pmevtyper30_el0|PMEVTYPER30_EL0}} 3714 3715 0xc 0x0 0x12 0xd5 3716 0x4c 0x0 0x10 0xd5 3717 0xc 0x2 0x10 0xd5 3718 0x4c 0x2 0x10 0xd5 3719 0x4c 0x3 0x10 0xd5 3720 0xc 0x4 0x13 0xd5 3721 0xc 0x5 0x13 0xd5 3722 0x4c 0x6 0x10 0xd5 3723 0xc 0x7 0x14 0xd5 3724 0x8c 0x0 0x10 0xd5 3725 0x8c 0x1 0x10 0xd5 3726 0x8c 0x2 0x10 0xd5 3727 0x8c 0x3 0x10 0xd5 3728 0x8c 0x4 0x10 0xd5 3729 0x8c 0x5 0x10 0xd5 3730 0x8c 0x6 0x10 0xd5 3731 0x8c 0x7 0x10 0xd5 3732 0x8c 0x8 0x10 0xd5 3733 0x8c 0x9 0x10 0xd5 3734 0x8c 0xa 0x10 0xd5 3735 0x8c 0xb 0x10 0xd5 3736 0x8c 0xc 0x10 0xd5 3737 0x8c 0xd 0x10 0xd5 3738 0x8c 0xe 0x10 0xd5 3739 0x8c 0xf 0x10 0xd5 3740 0xac 0x0 0x10 0xd5 3741 0xac 0x1 0x10 0xd5 3742 0xac 0x2 0x10 0xd5 3743 0xac 0x3 0x10 0xd5 3744 0xac 0x4 0x10 0xd5 3745 0xac 0x5 0x10 0xd5 3746 0xac 0x6 0x10 0xd5 3747 0xac 0x7 0x10 0xd5 3748 0xac 0x8 0x10 0xd5 3749 0xac 0x9 0x10 0xd5 3750 0xac 0xa 0x10 0xd5 3751 0xac 0xb 0x10 0xd5 3752 0xac 0xc 0x10 0xd5 3753 0xac 0xd 0x10 0xd5 3754 0xac 0xe 0x10 0xd5 3755 0xac 0xf 0x10 0xd5 3756 0xcc 0x0 0x10 0xd5 3757 0xcc 0x1 0x10 0xd5 3758 0xcc 0x2 0x10 0xd5 3759 0xcc 0x3 0x10 0xd5 3760 0xcc 0x4 0x10 0xd5 3761 0xcc 0x5 0x10 0xd5 3762 0xcc 0x6 0x10 0xd5 3763 0xcc 0x7 0x10 0xd5 3764 0xcc 0x8 0x10 0xd5 3765 0xcc 0x9 0x10 0xd5 3766 0xcc 0xa 0x10 0xd5 3767 0xcc 0xb 0x10 0xd5 3768 0xcc 0xc 0x10 0xd5 3769 0xcc 0xd 0x10 0xd5 3770 0xcc 0xe 0x10 0xd5 3771 0xcc 0xf 0x10 0xd5 3772 0xec 0x0 0x10 0xd5 3773 0xec 0x1 0x10 0xd5 3774 0xec 0x2 0x10 0xd5 3775 0xec 0x3 0x10 0xd5 3776 0xec 0x4 0x10 0xd5 3777 0xec 0x5 0x10 0xd5 3778 0xec 0x6 0x10 0xd5 3779 0xec 0x7 0x10 0xd5 3780 0xec 0x8 0x10 0xd5 3781 0xec 0x9 0x10 0xd5 3782 0xec 0xa 0x10 0xd5 3783 0xec 0xb 0x10 0xd5 3784 0xec 0xc 0x10 0xd5 3785 0xec 0xd 0x10 0xd5 3786 0xec 0xe 0x10 0xd5 3787 0xec 0xf 0x10 0xd5 3788 0xc 0x10 0x12 0xd5 3789 0x8c 0x10 0x10 0xd5 3790 0x8c 0x13 0x10 0xd5 3791 0x8c 0x14 0x10 0xd5 3792 0xcc 0x78 0x10 0xd5 3793 0xcc 0x79 0x10 0xd5 3794 0xc 0x0 0x1a 0xd5 3795 0xc 0x0 0x1c 0xd5 3796 0xac 0x0 0x1c 0xd5 3797 0xc 0x10 0x18 0xd5 3798 0xc 0x10 0x1c 0xd5 3799 0xc 0x10 0x1e 0xd5 3800 0x2c 0x10 0x18 0xd5 3801 0x2c 0x10 0x1c 0xd5 3802 0x2c 0x10 0x1e 0xd5 3803 0x4c 0x10 0x18 0xd5 3804 0xc 0x11 0x1c 0xd5 3805 0xc 0x11 0x1e 0xd5 3806 0x2c 0x11 0x1c 0xd5 3807 0x2c 0x11 0x1e 0xd5 3808 0x4c 0x11 0x1c 0xd5 3809 0x4c 0x11 0x1e 0xd5 3810 0x6c 0x11 0x1c 0xd5 3811 0xec 0x11 0x1c 0xd5 3812 0x2c 0x13 0x1e 0xd5 3813 0xc 0x20 0x18 0xd5 3814 0xc 0x20 0x1c 0xd5 3815 0xc 0x20 0x1e 0xd5 3816 0x2c 0x20 0x18 0xd5 3817 0x4c 0x20 0x18 0xd5 3818 0x4c 0x20 0x1c 0xd5 3819 0x4c 0x20 0x1e 0xd5 3820 0xc 0x21 0x1c 0xd5 3821 0x4c 0x21 0x1c 0xd5 3822 0xc 0x30 0x1c 0xd5 3823 0xc 0x40 0x18 0xd5 3824 0xc 0x40 0x1c 0xd5 3825 0xc 0x40 0x1e 0xd5 3826 0x2c 0x40 0x18 0xd5 3827 0x2c 0x40 0x1c 0xd5 3828 0x2c 0x40 0x1e 0xd5 3829 0xc 0x41 0x18 0xd5 3830 0xc 0x41 0x1c 0xd5 3831 0xc 0x41 0x1e 0xd5 3832 0xc 0x42 0x18 0xd5 3833 0xc 0x42 0x1b 0xd5 3834 0x2c 0x42 0x1b 0xd5 3835 0x4c 0x42 0x18 0xd5 3836 0xc 0x43 0x1c 0xd5 3837 0x2c 0x43 0x1c 0xd5 3838 0x4c 0x43 0x1c 0xd5 3839 0x6c 0x43 0x1c 0xd5 3840 0xc 0x44 0x1b 0xd5 3841 0x2c 0x44 0x1b 0xd5 3842 0xc 0x45 0x1b 0xd5 3843 0x2c 0x45 0x1b 0xd5 3844 0x2c 0x50 0x1c 0xd5 3845 0xc 0x51 0x18 0xd5 3846 0xc 0x51 0x1c 0xd5 3847 0xc 0x51 0x1e 0xd5 3848 0x2c 0x51 0x18 0xd5 3849 0x2c 0x51 0x1c 0xd5 3850 0x2c 0x51 0x1e 0xd5 3851 0xc 0x52 0x18 0xd5 3852 0xc 0x52 0x1c 0xd5 3853 0xc 0x52 0x1e 0xd5 3854 0xc 0x53 0x1c 0xd5 3855 0xc 0x60 0x18 0xd5 3856 0xc 0x60 0x1c 0xd5 3857 0xc 0x60 0x1e 0xd5 3858 0x8c 0x60 0x1c 0xd5 3859 0xc 0x74 0x18 0xd5 3860 0xc 0x9c 0x1b 0xd5 3861 0x2c 0x9c 0x1b 0xd5 3862 0x4c 0x9c 0x1b 0xd5 3863 0x6c 0x9c 0x1b 0xd5 3864 0xac 0x9c 0x1b 0xd5 3865 0xc 0x9d 0x1b 0xd5 3866 0x2c 0x9d 0x1b 0xd5 3867 0x4c 0x9d 0x1b 0xd5 3868 0xc 0x9e 0x1b 0xd5 3869 0x2c 0x9e 0x18 0xd5 3870 0x4c 0x9e 0x18 0xd5 3871 0x6c 0x9e 0x1b 0xd5 3872 0xc 0xa2 0x18 0xd5 3873 0xc 0xa2 0x1c 0xd5 3874 0xc 0xa2 0x1e 0xd5 3875 0xc 0xa3 0x18 0xd5 3876 0xc 0xa3 0x1c 0xd5 3877 0xc 0xa3 0x1e 0xd5 3878 0xc 0xc0 0x18 0xd5 3879 0xc 0xc0 0x1c 0xd5 3880 0xc 0xc0 0x1e 0xd5 3881 0x4c 0xc0 0x18 0xd5 3882 0x4c 0xc0 0x1c 0xd5 3883 0x4c 0xc0 0x1e 0xd5 3884 0x4c 0xd0 0x1b 0xd5 3885 0x4c 0xd0 0x1c 0xd5 3886 0x4c 0xd0 0x1e 0xd5 3887 0x6c 0xd0 0x1b 0xd5 3888 0x8c 0xd0 0x18 0xd5 3889 0xc 0xe0 0x1b 0xd5 3890 0x6c 0xe0 0x1c 0xd5 3891 0xc 0xe1 0x18 0xd5 3892 0xc 0xe1 0x1c 0xd5 3893 0xc 0xe2 0x1b 0xd5 3894 0xc 0xe2 0x1c 0xd5 3895 0xc 0xe2 0x1f 0xd5 3896 0x2c 0xe2 0x1b 0xd5 3897 0x2c 0xe2 0x1c 0xd5 3898 0x2c 0xe2 0x1f 0xd5 3899 0x4c 0xe2 0x1b 0xd5 3900 0x4c 0xe2 0x1c 0xd5 3901 0x4c 0xe2 0x1f 0xd5 3902 0xc 0xe3 0x1b 0xd5 3903 0x2c 0xe3 0x1b 0xd5 3904 0x4c 0xe3 0x1b 0xd5 3905 0xc 0xe8 0x1b 0xd5 3906 0x2c 0xe8 0x1b 0xd5 3907 0x4c 0xe8 0x1b 0xd5 3908 0x6c 0xe8 0x1b 0xd5 3909 0x8c 0xe8 0x1b 0xd5 3910 0xac 0xe8 0x1b 0xd5 3911 0xcc 0xe8 0x1b 0xd5 3912 0xec 0xe8 0x1b 0xd5 3913 0xc 0xe9 0x1b 0xd5 3914 0x2c 0xe9 0x1b 0xd5 3915 0x4c 0xe9 0x1b 0xd5 3916 0x6c 0xe9 0x1b 0xd5 3917 0x8c 0xe9 0x1b 0xd5 3918 0xac 0xe9 0x1b 0xd5 3919 0xcc 0xe9 0x1b 0xd5 3920 0xec 0xe9 0x1b 0xd5 3921 0xc 0xea 0x1b 0xd5 3922 0x2c 0xea 0x1b 0xd5 3923 0x4c 0xea 0x1b 0xd5 3924 0x6c 0xea 0x1b 0xd5 3925 0x8c 0xea 0x1b 0xd5 3926 0xac 0xea 0x1b 0xd5 3927 0xcc 0xea 0x1b 0xd5 3928 0xec 0xea 0x1b 0xd5 3929 0xc 0xeb 0x1b 0xd5 3930 0x2c 0xeb 0x1b 0xd5 3931 0x4c 0xeb 0x1b 0xd5 3932 0x6c 0xeb 0x1b 0xd5 3933 0x8c 0xeb 0x1b 0xd5 3934 0xac 0xeb 0x1b 0xd5 3935 0xcc 0xeb 0x1b 0xd5 3936 0xec 0xef 0x1b 0xd5 3937 0xc 0xec 0x1b 0xd5 3938 0x2c 0xec 0x1b 0xd5 3939 0x4c 0xec 0x1b 0xd5 3940 0x6c 0xec 0x1b 0xd5 3941 0x8c 0xec 0x1b 0xd5 3942 0xac 0xec 0x1b 0xd5 3943 0xcc 0xec 0x1b 0xd5 3944 0xec 0xec 0x1b 0xd5 3945 0xc 0xed 0x1b 0xd5 3946 0x2c 0xed 0x1b 0xd5 3947 0x4c 0xed 0x1b 0xd5 3948 0x6c 0xed 0x1b 0xd5 3949 0x8c 0xed 0x1b 0xd5 3950 0xac 0xed 0x1b 0xd5 3951 0xcc 0xed 0x1b 0xd5 3952 0xec 0xed 0x1b 0xd5 3953 0xc 0xee 0x1b 0xd5 3954 0x2c 0xee 0x1b 0xd5 3955 0x4c 0xee 0x1b 0xd5 3956 0x6c 0xee 0x1b 0xd5 3957 0x8c 0xee 0x1b 0xd5 3958 0xac 0xee 0x1b 0xd5 3959 0xcc 0xee 0x1b 0xd5 3960 0xec 0xee 0x1b 0xd5 3961 0xc 0xef 0x1b 0xd5 3962 0x2c 0xef 0x1b 0xd5 3963 0x4c 0xef 0x1b 0xd5 3964 0x6c 0xef 0x1b 0xd5 3965 0x8c 0xef 0x1b 0xd5 3966 0xac 0xef 0x1b 0xd5 3967 0xcc 0xef 0x1b 0xd5 3968 0x9 0x0 0x32 0xd5 3969 0x49 0x0 0x30 0xd5 3970 0x9 0x1 0x33 0xd5 3971 0x9 0x2 0x30 0xd5 3972 0x49 0x2 0x30 0xd5 3973 0x49 0x3 0x30 0xd5 3974 0x9 0x4 0x33 0xd5 3975 0x9 0x5 0x33 0xd5 3976 0x49 0x6 0x30 0xd5 3977 0x9 0x7 0x34 0xd5 3978 0x89 0x0 0x30 0xd5 3979 0x89 0x1 0x30 0xd5 3980 0x89 0x2 0x30 0xd5 3981 0x89 0x3 0x30 0xd5 3982 0x89 0x4 0x30 0xd5 3983 0x89 0x5 0x30 0xd5 3984 0x89 0x6 0x30 0xd5 3985 0x89 0x7 0x30 0xd5 3986 0x89 0x8 0x30 0xd5 3987 0x89 0x9 0x30 0xd5 3988 0x89 0xa 0x30 0xd5 3989 0x89 0xb 0x30 0xd5 3990 0x89 0xc 0x30 0xd5 3991 0x89 0xd 0x30 0xd5 3992 0x89 0xe 0x30 0xd5 3993 0x89 0xf 0x30 0xd5 3994 0xa9 0x0 0x30 0xd5 3995 0xa9 0x1 0x30 0xd5 3996 0xa9 0x2 0x30 0xd5 3997 0xa9 0x3 0x30 0xd5 3998 0xa9 0x4 0x30 0xd5 3999 0xa9 0x5 0x30 0xd5 4000 0xa9 0x6 0x30 0xd5 4001 0xa9 0x7 0x30 0xd5 4002 0xa9 0x8 0x30 0xd5 4003 0xa9 0x9 0x30 0xd5 4004 0xa9 0xa 0x30 0xd5 4005 0xa9 0xb 0x30 0xd5 4006 0xa9 0xc 0x30 0xd5 4007 0xa9 0xd 0x30 0xd5 4008 0xa9 0xe 0x30 0xd5 4009 0xa9 0xf 0x30 0xd5 4010 0xc9 0x0 0x30 0xd5 4011 0xc9 0x1 0x30 0xd5 4012 0xc9 0x2 0x30 0xd5 4013 0xc9 0x3 0x30 0xd5 4014 0xc9 0x4 0x30 0xd5 4015 0xc9 0x5 0x30 0xd5 4016 0xc9 0x6 0x30 0xd5 4017 0xc9 0x7 0x30 0xd5 4018 0xc9 0x8 0x30 0xd5 4019 0xc9 0x9 0x30 0xd5 4020 0xc9 0xa 0x30 0xd5 4021 0xc9 0xb 0x30 0xd5 4022 0xc9 0xc 0x30 0xd5 4023 0xc9 0xd 0x30 0xd5 4024 0xc9 0xe 0x30 0xd5 4025 0xc9 0xf 0x30 0xd5 4026 0xe9 0x0 0x30 0xd5 4027 0xe9 0x1 0x30 0xd5 4028 0xe9 0x2 0x30 0xd5 4029 0xe9 0x3 0x30 0xd5 4030 0xe9 0x4 0x30 0xd5 4031 0xe9 0x5 0x30 0xd5 4032 0xe9 0x6 0x30 0xd5 4033 0xe9 0x7 0x30 0xd5 4034 0xe9 0x8 0x30 0xd5 4035 0xe9 0x9 0x30 0xd5 4036 0xe9 0xa 0x30 0xd5 4037 0xe9 0xb 0x30 0xd5 4038 0xe9 0xc 0x30 0xd5 4039 0xe9 0xd 0x30 0xd5 4040 0xe9 0xe 0x30 0xd5 4041 0xe9 0xf 0x30 0xd5 4042 0x9 0x10 0x30 0xd5 4043 0x9 0x10 0x32 0xd5 4044 0x89 0x11 0x30 0xd5 4045 0x89 0x13 0x30 0xd5 4046 0x89 0x14 0x30 0xd5 4047 0xc9 0x78 0x30 0xd5 4048 0xc9 0x79 0x30 0xd5 4049 0xc9 0x7e 0x30 0xd5 4050 0x9 0x0 0x38 0xd5 4051 0x9 0x0 0x39 0xd5 4052 0x9 0x0 0x3a 0xd5 4053 0x49 0x0 0x39 0xd5 4054 0x9 0x0 0x3c 0xd5 4055 0x29 0x0 0x39 0xd5 4056 0x29 0x0 0x3b 0xd5 4057 0xa9 0x0 0x38 0xd5 4058 0xa9 0x0 0x3c 0xd5 4059 0xc9 0x0 0x38 0xd5 4060 0xe9 0x0 0x39 0xd5 4061 0xe9 0x0 0x3b 0xd5 4062 0x9 0x1 0x38 0xd5 4063 0x29 0x1 0x38 0xd5 4064 0x49 0x1 0x38 0xd5 4065 0x69 0x1 0x38 0xd5 4066 0x89 0x1 0x38 0xd5 4067 0xa9 0x1 0x38 0xd5 4068 0xc9 0x1 0x38 0xd5 4069 0xe9 0x1 0x38 0xd5 4070 0xc9 0x2 0x38 0xd5 4071 0x9 0x2 0x38 0xd5 4072 0x29 0x2 0x38 0xd5 4073 0x49 0x2 0x38 0xd5 4074 0x69 0x2 0x38 0xd5 4075 0x89 0x2 0x38 0xd5 4076 0xa9 0x2 0x38 0xd5 4077 0x9 0x3 0x38 0xd5 4078 0x29 0x3 0x38 0xd5 4079 0x49 0x3 0x38 0xd5 4080 0x9 0x4 0x38 0xd5 4081 0x29 0x4 0x38 0xd5 4082 0x9 0x5 0x38 0xd5 4083 0x29 0x5 0x38 0xd5 4084 0x89 0x5 0x38 0xd5 4085 0xa9 0x5 0x38 0xd5 4086 0x9 0x6 0x38 0xd5 4087 0x29 0x6 0x38 0xd5 4088 0x9 0x7 0x38 0xd5 4089 0x29 0x7 0x38 0xd5 4090 0x9 0x10 0x38 0xd5 4091 0x9 0x10 0x3c 0xd5 4092 0x9 0x10 0x3e 0xd5 4093 0x29 0x10 0x38 0xd5 4094 0x29 0x10 0x3c 0xd5 4095 0x29 0x10 0x3e 0xd5 4096 0x49 0x10 0x38 0xd5 4097 0x9 0x11 0x3c 0xd5 4098 0x9 0x11 0x3e 0xd5 4099 0x29 0x11 0x3c 0xd5 4100 0x29 0x11 0x3e 0xd5 4101 0x49 0x11 0x3c 0xd5 4102 0x49 0x11 0x3e 0xd5 4103 0x69 0x11 0x3c 0xd5 4104 0xe9 0x11 0x3c 0xd5 4105 0x29 0x13 0x3e 0xd5 4106 0x9 0x20 0x38 0xd5 4107 0x9 0x20 0x3c 0xd5 4108 0x9 0x20 0x3e 0xd5 4109 0x29 0x20 0x38 0xd5 4110 0x49 0x20 0x38 0xd5 4111 0x49 0x20 0x3c 0xd5 4112 0x49 0x20 0x3e 0xd5 4113 0x9 0x21 0x3c 0xd5 4114 0x49 0x21 0x3c 0xd5 4115 0x9 0x30 0x3c 0xd5 4116 0x9 0x40 0x38 0xd5 4117 0x9 0x40 0x3c 0xd5 4118 0x9 0x40 0x3e 0xd5 4119 0x29 0x40 0x38 0xd5 4120 0x29 0x40 0x3c 0xd5 4121 0x29 0x40 0x3e 0xd5 4122 0x9 0x41 0x38 0xd5 4123 0x9 0x41 0x3c 0xd5 4124 0x9 0x41 0x3e 0xd5 4125 0x9 0x42 0x38 0xd5 4126 0x9 0x42 0x3b 0xd5 4127 0x29 0x42 0x3b 0xd5 4128 0x49 0x42 0x38 0xd5 4129 0x9 0x43 0x3c 0xd5 4130 0x29 0x43 0x3c 0xd5 4131 0x49 0x43 0x3c 0xd5 4132 0x69 0x43 0x3c 0xd5 4133 0x9 0x44 0x3b 0xd5 4134 0x29 0x44 0x3b 0xd5 4135 0x9 0x45 0x3b 0xd5 4136 0x29 0x45 0x3b 0xd5 4137 0x29 0x50 0x3c 0xd5 4138 0x9 0x51 0x38 0xd5 4139 0x9 0x51 0x3c 0xd5 4140 0x9 0x51 0x3e 0xd5 4141 0x29 0x51 0x38 0xd5 4142 0x29 0x51 0x3c 0xd5 4143 0x29 0x51 0x3e 0xd5 4144 0x9 0x52 0x38 0xd5 4145 0x9 0x52 0x3c 0xd5 4146 0x9 0x52 0x3e 0xd5 4147 0x9 0x53 0x3c 0xd5 4148 0x9 0x60 0x38 0xd5 4149 0x9 0x60 0x3c 0xd5 4150 0x9 0x60 0x3e 0xd5 4151 0x89 0x60 0x3c 0xd5 4152 0x9 0x74 0x38 0xd5 4153 0x9 0x9c 0x3b 0xd5 4154 0x29 0x9c 0x3b 0xd5 4155 0x49 0x9c 0x3b 0xd5 4156 0x69 0x9c 0x3b 0xd5 4157 0xa9 0x9c 0x3b 0xd5 4158 0xc9 0x9c 0x3b 0xd5 4159 0xe9 0x9c 0x3b 0xd5 4160 0x9 0x9d 0x3b 0xd5 4161 0x29 0x9d 0x3b 0xd5 4162 0x49 0x9d 0x3b 0xd5 4163 0x9 0x9e 0x3b 0xd5 4164 0x29 0x9e 0x38 0xd5 4165 0x49 0x9e 0x38 0xd5 4166 0x69 0x9e 0x3b 0xd5 4167 0x9 0xa2 0x38 0xd5 4168 0x9 0xa2 0x3c 0xd5 4169 0x9 0xa2 0x3e 0xd5 4170 0x9 0xa3 0x38 0xd5 4171 0x9 0xa3 0x3c 0xd5 4172 0x9 0xa3 0x3e 0xd5 4173 0x9 0xc0 0x38 0xd5 4174 0x9 0xc0 0x3c 0xd5 4175 0x9 0xc0 0x3e 0xd5 4176 0x29 0xc0 0x38 0xd5 4177 0x29 0xc0 0x3c 0xd5 4178 0x29 0xc0 0x3e 0xd5 4179 0x49 0xc0 0x38 0xd5 4180 0x49 0xc0 0x3c 0xd5 4181 0x49 0xc0 0x3e 0xd5 4182 0x9 0xc1 0x38 0xd5 4183 0x29 0xd0 0x38 0xd5 4184 0x49 0xd0 0x3b 0xd5 4185 0x49 0xd0 0x3c 0xd5 4186 0x49 0xd0 0x3e 0xd5 4187 0x69 0xd0 0x3b 0xd5 4188 0x89 0xd0 0x38 0xd5 4189 0x9 0xe0 0x3b 0xd5 4190 0x29 0xe0 0x3b 0xd5 4191 0x49 0xe0 0x3b 0xd5 4192 0x69 0xe0 0x3c 0xd5 4193 0x9 0xe1 0x38 0xd5 4194 0x9 0xe1 0x3c 0xd5 4195 0x9 0xe2 0x3b 0xd5 4196 0x9 0xe2 0x3c 0xd5 4197 0x9 0xe2 0x3f 0xd5 4198 0x29 0xe2 0x3b 0xd5 4199 0x29 0xe2 0x3c 0xd5 4200 0x29 0xe2 0x3f 0xd5 4201 0x49 0xe2 0x3b 0xd5 4202 0x49 0xe2 0x3c 0xd5 4203 0x49 0xe2 0x3f 0xd5 4204 0x9 0xe3 0x3b 0xd5 4205 0x29 0xe3 0x3b 0xd5 4206 0x49 0xe3 0x3b 0xd5 4207 0x9 0xe8 0x3b 0xd5 4208 0x29 0xe8 0x3b 0xd5 4209 0x49 0xe8 0x3b 0xd5 4210 0x69 0xe8 0x3b 0xd5 4211 0x89 0xe8 0x3b 0xd5 4212 0xa9 0xe8 0x3b 0xd5 4213 0xc9 0xe8 0x3b 0xd5 4214 0xe9 0xe8 0x3b 0xd5 4215 0x9 0xe9 0x3b 0xd5 4216 0x29 0xe9 0x3b 0xd5 4217 0x49 0xe9 0x3b 0xd5 4218 0x69 0xe9 0x3b 0xd5 4219 0x89 0xe9 0x3b 0xd5 4220 0xa9 0xe9 0x3b 0xd5 4221 0xc9 0xe9 0x3b 0xd5 4222 0xe9 0xe9 0x3b 0xd5 4223 0x9 0xea 0x3b 0xd5 4224 0x29 0xea 0x3b 0xd5 4225 0x49 0xea 0x3b 0xd5 4226 0x69 0xea 0x3b 0xd5 4227 0x89 0xea 0x3b 0xd5 4228 0xa9 0xea 0x3b 0xd5 4229 0xc9 0xea 0x3b 0xd5 4230 0xe9 0xea 0x3b 0xd5 4231 0x9 0xeb 0x3b 0xd5 4232 0x29 0xeb 0x3b 0xd5 4233 0x49 0xeb 0x3b 0xd5 4234 0x69 0xeb 0x3b 0xd5 4235 0x89 0xeb 0x3b 0xd5 4236 0xa9 0xeb 0x3b 0xd5 4237 0xc9 0xeb 0x3b 0xd5 4238 0xe9 0xef 0x3b 0xd5 4239 0x9 0xec 0x3b 0xd5 4240 0x29 0xec 0x3b 0xd5 4241 0x49 0xec 0x3b 0xd5 4242 0x69 0xec 0x3b 0xd5 4243 0x89 0xec 0x3b 0xd5 4244 0xa9 0xec 0x3b 0xd5 4245 0xc9 0xec 0x3b 0xd5 4246 0xe9 0xec 0x3b 0xd5 4247 0x9 0xed 0x3b 0xd5 4248 0x29 0xed 0x3b 0xd5 4249 0x49 0xed 0x3b 0xd5 4250 0x69 0xed 0x3b 0xd5 4251 0x89 0xed 0x3b 0xd5 4252 0xa9 0xed 0x3b 0xd5 4253 0xc9 0xed 0x3b 0xd5 4254 0xe9 0xed 0x3b 0xd5 4255 0x9 0xee 0x3b 0xd5 4256 0x29 0xee 0x3b 0xd5 4257 0x49 0xee 0x3b 0xd5 4258 0x69 0xee 0x3b 0xd5 4259 0x89 0xee 0x3b 0xd5 4260 0xa9 0xee 0x3b 0xd5 4261 0xc9 0xee 0x3b 0xd5 4262 0xe9 0xee 0x3b 0xd5 4263 0x9 0xef 0x3b 0xd5 4264 0x29 0xef 0x3b 0xd5 4265 0x49 0xef 0x3b 0xd5 4266 0x69 0xef 0x3b 0xd5 4267 0x89 0xef 0x3b 0xd5 4268 0xa9 0xef 0x3b 0xd5 4269 0xc9 0xef 0x3b 0xd5 4270 4271 # CHECK: mrs x12, {{s3_7_c15_c1_5|S3_7_C15_C1_5}} 4272 # CHECK: mrs x13, {{s3_2_c11_c15_7|S3_2_C11_C15_7}} 4273 # CHECK: mrs xzr, {{s0_0_c4_c0_0|S0_0_C4_C0_0}} 4274 # CHECK: msr {{s3_0_c15_c0_0|S3_0_C15_C0_0}}, x12 4275 # CHECK: msr {{s3_7_c11_c13_7|S3_7_C11_C13_7}}, x5 4276 # CHECK: msr {{s0_0_c4_c0_0|S0_0_C4_C0_0}}, xzr 4277 0xac 0xf1 0x3f 0xd5 4278 0xed 0xbf 0x3a 0xd5 4279 0x1f 0x40 0x20 0xd5 4280 0x0c 0xf0 0x18 0xd5 4281 0xe5 0xbd 0x1f 0xd5 4282 0x1f 0x40 0x00 0xd5 4283 4284 #------------------------------------------------------------------------------ 4285 # Test and branch (immediate) 4286 #------------------------------------------------------------------------------ 4287 4288 # CHECK: tbz x12, #62, #0 4289 # CHECK: tbz x12, #62, #4 4290 # CHECK: tbz x12, #62, #-32768 4291 # CHECK: tbnz x12, #60, #32764 4292 0x0c 0x00 0xf0 0xb6 4293 0x2c 0x00 0xf0 0xb6 4294 0x0c 0x00 0xf4 0xb6 4295 0xec 0xff 0xe3 0xb7 4296 4297 #------------------------------------------------------------------------------ 4298 # Unconditional branch (immediate) 4299 #------------------------------------------------------------------------------ 4300 4301 # CHECK: b #4 4302 # CHECK: b #-4 4303 # CHECK: b #134217724 4304 0x01 0x00 0x00 0x14 4305 0xff 0xff 0xff 0x17 4306 0xff 0xff 0xff 0x15 4307 4308 #------------------------------------------------------------------------------ 4309 # Unconditional branch (register) 4310 #------------------------------------------------------------------------------ 4311 4312 # CHECK: br x20 4313 # CHECK: blr xzr 4314 # CHECK: ret x10 4315 0x80 0x2 0x1f 0xd6 4316 0xe0 0x3 0x3f 0xd6 4317 0x40 0x1 0x5f 0xd6 4318 4319 # CHECK: ret 4320 # CHECK: eret 4321 # CHECK: drps 4322 0xc0 0x3 0x5f 0xd6 4323 0xe0 0x3 0x9f 0xd6 4324 0xe0 0x3 0xbf 0xd6 4325 4326