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