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