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