basic-a64-diagnostics.s revision 87773c318fcee853fb34a80a10c4347d523bdafb
187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2> %t 2c37aa995e3e55c1bdb17a73c3160edf0426b1a1aTim Northover// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s 372062f5744557e270a38192554c3126ea5f97434Tim Northover 472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 572062f5744557e270a38192554c3126ea5f97434Tim Northover// Add/sub (extended register) 672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 772062f5744557e270a38192554c3126ea5f97434Tim Northover 872062f5744557e270a38192554c3126ea5f97434Tim Northover // Mismatched final register and extend 972062f5744557e270a38192554c3126ea5f97434Tim Northover add x2, x3, x5, sxtb 1072062f5744557e270a38192554c3126ea5f97434Tim Northover add x2, x4, w2, uxtx 1172062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w7, x9, sxtx 12b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 1372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add x2, x3, x5, sxtb 1472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 15b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected '[su]xt[bhw]' or 'lsl' with optional integer in range [0, 4] 1672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add x2, x4, w2, uxtx 1772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 18b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 1972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add w5, w7, x9, sxtx 2072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 2172062f5744557e270a38192554c3126ea5f97434Tim Northover 2272062f5744557e270a38192554c3126ea5f97434Tim Northover // Out of range extends 2372062f5744557e270a38192554c3126ea5f97434Tim Northover add x9, x10, w11, uxtb #-1 2472062f5744557e270a38192554c3126ea5f97434Tim Northover add x3, x5, w7, uxtb #5 2572062f5744557e270a38192554c3126ea5f97434Tim Northover sub x9, x15, x2, uxth #5 2672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 2772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add x9, x10, w11, uxtb #-1 2872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 29b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected '[su]xt[bhw]' or 'lsl' with optional integer in range [0, 4] 3072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add x3, x5, w7, uxtb #5 3172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 32b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 3372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: sub x9, x15, x2, uxth #5 3472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 3572062f5744557e270a38192554c3126ea5f97434Tim Northover 3672062f5744557e270a38192554c3126ea5f97434Tim Northover // Wrong registers on normal variants 3772062f5744557e270a38192554c3126ea5f97434Tim Northover add xzr, x3, x5, uxtx 3872062f5744557e270a38192554c3126ea5f97434Tim Northover sub x3, xzr, w9, sxth #1 3972062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, sp, uxtx 40b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 4172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add xzr, x3, x5, uxtx 42b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: ^ 4372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 4472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: sub x3, xzr, w9, sxth #1 4572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 46b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 4772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add x1, x2, sp, uxtx 4872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 4972062f5744557e270a38192554c3126ea5f97434Tim Northover 5072062f5744557e270a38192554c3126ea5f97434Tim Northover // Wrong registers on flag-setting variants 5172062f5744557e270a38192554c3126ea5f97434Tim Northover adds sp, x3, w2, uxtb 5272062f5744557e270a38192554c3126ea5f97434Tim Northover adds x3, xzr, x9, uxtx 5372062f5744557e270a38192554c3126ea5f97434Tim Northover subs x2, x1, sp, uxtx 5472062f5744557e270a38192554c3126ea5f97434Tim Northover adds x2, x1, sp, uxtb #2 5572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 5672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: adds sp, x3, w2, uxtb 5772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 58b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 5972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: adds x3, xzr, x9, uxtx 60b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: ^ 61b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 6272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: subs x2, x1, sp, uxtx 6372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 64b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 6572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: adds x2, x1, sp, uxtb #2 6672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 6772062f5744557e270a38192554c3126ea5f97434Tim Northover 6872062f5744557e270a38192554c3126ea5f97434Tim Northover // Amount not optional if lsl valid and used 6972062f5744557e270a38192554c3126ea5f97434Tim Northover add sp, x5, x7, lsl 7072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected #imm after shift specifier 7172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: add sp, x5, x7, lsl 7272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: ^ 7372062f5744557e270a38192554c3126ea5f97434Tim Northover 7472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 7572062f5744557e270a38192554c3126ea5f97434Tim Northover// Add/sub (immediate) 7672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 7772062f5744557e270a38192554c3126ea5f97434Tim Northover 7872062f5744557e270a38192554c3126ea5f97434Tim Northover// Out of range immediates: < 0 or more than 12 bits 7972062f5744557e270a38192554c3126ea5f97434Tim Northover add w4, w5, #-1 8072062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w6, #0x1000 8172062f5744557e270a38192554c3126ea5f97434Tim Northover add w4, w5, #-1, lsl #12 8272062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w6, #0x1000, lsl #12 83b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 8472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w4, w5, #-1 8572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 86b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 8772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w5, w6, #0x1000 8872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 89b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 9072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w4, w5, #-1, lsl #12 9172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 92b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 9372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w5, w6, #0x1000, lsl #12 9472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 9572062f5744557e270a38192554c3126ea5f97434Tim Northover 9672062f5744557e270a38192554c3126ea5f97434Tim Northover// Only lsl #0 and lsl #12 are allowed 9772062f5744557e270a38192554c3126ea5f97434Tim Northover add w2, w3, #0x1, lsl #1 9872062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w17, #0xfff, lsl #13 9972062f5744557e270a38192554c3126ea5f97434Tim Northover add w17, w20, #0x1000, lsl #12 10072062f5744557e270a38192554c3126ea5f97434Tim Northover sub xsp, x34, #0x100, lsl #-1 101b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 10272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w2, w3, #0x1, lsl #1 10372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 104b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 10572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w5, w17, #0xfff, lsl #13 10672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 107b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 10872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w17, w20, #0x1000, lsl #12 10972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 11072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: only 'lsl #+N' valid after immediate 11172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub xsp, x34, #0x100, lsl #-1 11272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 11372062f5744557e270a38192554c3126ea5f97434Tim Northover 11472062f5744557e270a38192554c3126ea5f97434Tim Northover// Incorrect registers (w31 doesn't exist at all, and 31 decodes to sp for these). 11572062f5744557e270a38192554c3126ea5f97434Tim Northover add w31, w20, #1234 11672062f5744557e270a38192554c3126ea5f97434Tim Northover add wzr, w20, #0x123 11772062f5744557e270a38192554c3126ea5f97434Tim Northover add w20, wzr, #0x321 11872062f5744557e270a38192554c3126ea5f97434Tim Northover add wzr, wzr, #0xfff 11972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 12072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w31, w20, #1234 12172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 12272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 12372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add wzr, w20, #0x123 12472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 12572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 12672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w20, wzr, #0x321 12772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 12872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 12972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add wzr, wzr, #0xfff 13072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 13172062f5744557e270a38192554c3126ea5f97434Tim Northover 13272062f5744557e270a38192554c3126ea5f97434Tim Northover// Mixed register classes 13372062f5744557e270a38192554c3126ea5f97434Tim Northover add xsp, w2, #123 13472062f5744557e270a38192554c3126ea5f97434Tim Northover sub w2, x30, #32 13572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 13672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add xsp, w2, #123 13772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 13872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 13972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w2, x30, #32 14072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 14172062f5744557e270a38192554c3126ea5f97434Tim Northover 14272062f5744557e270a38192554c3126ea5f97434Tim Northover// Out of range immediate 14372062f5744557e270a38192554c3126ea5f97434Tim Northover adds w0, w5, #0x10000 144b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 14572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w0, w5, #0x10000 14672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 14772062f5744557e270a38192554c3126ea5f97434Tim Northover 14872062f5744557e270a38192554c3126ea5f97434Tim Northover// Wn|WSP should be in second place 14972062f5744557e270a38192554c3126ea5f97434Tim Northover adds w4, wzr, #0x123 15072062f5744557e270a38192554c3126ea5f97434Tim Northover// ...but wzr is the 31 destination 15172062f5744557e270a38192554c3126ea5f97434Tim Northover subs wsp, w5, #123 15272062f5744557e270a38192554c3126ea5f97434Tim Northover subs x5, xzr, #0x456, lsl #12 15372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 15472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w4, wzr, #0x123 15572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 15672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 15772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs wsp, w5, #123 15872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 15972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 16072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x5, xzr, #0x456, lsl #12 16172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 16272062f5744557e270a38192554c3126ea5f97434Tim Northover 16372062f5744557e270a38192554c3126ea5f97434Tim Northover // MOV alias should not accept any fiddling 16472062f5744557e270a38192554c3126ea5f97434Tim Northover mov x2, xsp, #123 16572062f5744557e270a38192554c3126ea5f97434Tim Northover mov wsp, w27, #0xfff, lsl #12 166b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 16772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mov x2, xsp, #123 16872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 16972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 17072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mov wsp, w27, #0xfff, lsl #12 17172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 17272062f5744557e270a38192554c3126ea5f97434Tim Northover 17372062f5744557e270a38192554c3126ea5f97434Tim Northover // A relocation should be provided for symbols 17472062f5744557e270a38192554c3126ea5f97434Tim Northover add x3, x9, #variable 175b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 17672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x3, x9, #variable 17772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 17872062f5744557e270a38192554c3126ea5f97434Tim Northover 17972062f5744557e270a38192554c3126ea5f97434Tim Northover 18072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 18172062f5744557e270a38192554c3126ea5f97434Tim Northover// Add-subtract (shifted register) 18272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 18372062f5744557e270a38192554c3126ea5f97434Tim Northover 18472062f5744557e270a38192554c3126ea5f97434Tim Northover add wsp, w1, w2, lsr #3 18572062f5744557e270a38192554c3126ea5f97434Tim Northover add x4, sp, x9, asr #5 18672062f5744557e270a38192554c3126ea5f97434Tim Northover add x9, x10, x5, ror #3 187b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 18872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add wsp, w1, w2, lsr #3 18972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 190b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 19172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x4, sp, x9, asr #5 19272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 193b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 19472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x9, x10, x5, ror #3 19572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 19672062f5744557e270a38192554c3126ea5f97434Tim Northover 19772062f5744557e270a38192554c3126ea5f97434Tim Northover add w1, w2, w3, lsl #-1 19872062f5744557e270a38192554c3126ea5f97434Tim Northover add w1, w2, w3, lsl #32 19972062f5744557e270a38192554c3126ea5f97434Tim Northover add w1, w2, w3, lsr #-1 20072062f5744557e270a38192554c3126ea5f97434Tim Northover add w1, w2, w3, lsr #32 20172062f5744557e270a38192554c3126ea5f97434Tim Northover add w1, w2, w3, asr #-1 20272062f5744557e270a38192554c3126ea5f97434Tim Northover add w1, w2, w3, asr #32 20372062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, x3, lsl #-1 20472062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, x3, lsl #64 20572062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, x3, lsr #-1 20672062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, x3, lsr #64 20772062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, x3, asr #-1 20872062f5744557e270a38192554c3126ea5f97434Tim Northover add x1, x2, x3, asr #64 20972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 21072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w1, w2, w3, lsl #-1 21172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 212b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 21372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w1, w2, w3, lsl #32 21472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 21572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 21672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w1, w2, w3, lsr #-1 21772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 21972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w1, w2, w3, lsr #32 22072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 22172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 22272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w1, w2, w3, asr #-1 22372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 224b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 22572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w1, w2, w3, asr #32 22672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 22772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 22872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x1, x2, x3, lsl #-1 22972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 230b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 23172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x1, x2, x3, lsl #64 23272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 23372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 23472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x1, x2, x3, lsr #-1 23572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 236b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 23772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x1, x2, x3, lsr #64 23872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 23972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 24072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x1, x2, x3, asr #-1 24172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 242b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 24372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add x1, x2, x3, asr #64 24472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 24572062f5744557e270a38192554c3126ea5f97434Tim Northover 24672062f5744557e270a38192554c3126ea5f97434Tim Northover adds w1, w2, w3, lsl #-1 24772062f5744557e270a38192554c3126ea5f97434Tim Northover adds w1, w2, w3, lsl #32 24872062f5744557e270a38192554c3126ea5f97434Tim Northover adds w1, w2, w3, lsr #-1 24972062f5744557e270a38192554c3126ea5f97434Tim Northover adds w1, w2, w3, lsr #32 25072062f5744557e270a38192554c3126ea5f97434Tim Northover adds w1, w2, w3, asr #-1 25172062f5744557e270a38192554c3126ea5f97434Tim Northover adds w1, w2, w3, asr #32 25272062f5744557e270a38192554c3126ea5f97434Tim Northover adds x1, x2, x3, lsl #-1 25372062f5744557e270a38192554c3126ea5f97434Tim Northover adds x1, x2, x3, lsl #64 25472062f5744557e270a38192554c3126ea5f97434Tim Northover adds x1, x2, x3, lsr #-1 25572062f5744557e270a38192554c3126ea5f97434Tim Northover adds x1, x2, x3, lsr #64 25672062f5744557e270a38192554c3126ea5f97434Tim Northover adds x1, x2, x3, asr #-1 25772062f5744557e270a38192554c3126ea5f97434Tim Northover adds x1, x2, x3, asr #64 25872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 25972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w1, w2, w3, lsl #-1 26072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 261b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 26272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w1, w2, w3, lsl #32 26372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 26472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 26572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w1, w2, w3, lsr #-1 26672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 267b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 26872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w1, w2, w3, lsr #32 26972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 27072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 27172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w1, w2, w3, asr #-1 27272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 273b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 27472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds w1, w2, w3, asr #32 27572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 27672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 27772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds x1, x2, x3, lsl #-1 27872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 279b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 28072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds x1, x2, x3, lsl #64 28172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 28272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 28372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds x1, x2, x3, lsr #-1 28472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 285b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 28672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds x1, x2, x3, lsr #64 28772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 28872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 28972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds x1, x2, x3, asr #-1 29072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 291b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 29272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adds x1, x2, x3, asr #64 29372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 29472062f5744557e270a38192554c3126ea5f97434Tim Northover 29572062f5744557e270a38192554c3126ea5f97434Tim Northover sub w1, w2, w3, lsl #-1 29672062f5744557e270a38192554c3126ea5f97434Tim Northover sub w1, w2, w3, lsl #32 29772062f5744557e270a38192554c3126ea5f97434Tim Northover sub w1, w2, w3, lsr #-1 29872062f5744557e270a38192554c3126ea5f97434Tim Northover sub w1, w2, w3, lsr #32 29972062f5744557e270a38192554c3126ea5f97434Tim Northover sub w1, w2, w3, asr #-1 30072062f5744557e270a38192554c3126ea5f97434Tim Northover sub w1, w2, w3, asr #32 30172062f5744557e270a38192554c3126ea5f97434Tim Northover sub x1, x2, x3, lsl #-1 30272062f5744557e270a38192554c3126ea5f97434Tim Northover sub x1, x2, x3, lsl #64 30372062f5744557e270a38192554c3126ea5f97434Tim Northover sub x1, x2, x3, lsr #-1 30472062f5744557e270a38192554c3126ea5f97434Tim Northover sub x1, x2, x3, lsr #64 30572062f5744557e270a38192554c3126ea5f97434Tim Northover sub x1, x2, x3, asr #-1 30672062f5744557e270a38192554c3126ea5f97434Tim Northover sub x1, x2, x3, asr #64 30772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 30872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w1, w2, w3, lsl #-1 30972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 310b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 31172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w1, w2, w3, lsl #32 31272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 31372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 31472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w1, w2, w3, lsr #-1 31572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 316b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 31772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w1, w2, w3, lsr #32 31872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 31972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 32072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w1, w2, w3, asr #-1 32172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 322b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 32372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w1, w2, w3, asr #32 32472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 32572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 32672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub x1, x2, x3, lsl #-1 32772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 328b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 32972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub x1, x2, x3, lsl #64 33072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 33172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 33272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub x1, x2, x3, lsr #-1 33372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 334b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 33572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub x1, x2, x3, lsr #64 33672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 33772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 33872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub x1, x2, x3, asr #-1 33972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 340b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 34172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub x1, x2, x3, asr #64 34272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 34372062f5744557e270a38192554c3126ea5f97434Tim Northover 34472062f5744557e270a38192554c3126ea5f97434Tim Northover subs w1, w2, w3, lsl #-1 34572062f5744557e270a38192554c3126ea5f97434Tim Northover subs w1, w2, w3, lsl #32 34672062f5744557e270a38192554c3126ea5f97434Tim Northover subs w1, w2, w3, lsr #-1 34772062f5744557e270a38192554c3126ea5f97434Tim Northover subs w1, w2, w3, lsr #32 34872062f5744557e270a38192554c3126ea5f97434Tim Northover subs w1, w2, w3, asr #-1 34972062f5744557e270a38192554c3126ea5f97434Tim Northover subs w1, w2, w3, asr #32 35072062f5744557e270a38192554c3126ea5f97434Tim Northover subs x1, x2, x3, lsl #-1 35172062f5744557e270a38192554c3126ea5f97434Tim Northover subs x1, x2, x3, lsl #64 35272062f5744557e270a38192554c3126ea5f97434Tim Northover subs x1, x2, x3, lsr #-1 35372062f5744557e270a38192554c3126ea5f97434Tim Northover subs x1, x2, x3, lsr #64 35472062f5744557e270a38192554c3126ea5f97434Tim Northover subs x1, x2, x3, asr #-1 35572062f5744557e270a38192554c3126ea5f97434Tim Northover subs x1, x2, x3, asr #64 35672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 35772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs w1, w2, w3, lsl #-1 35872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 359b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 36072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs w1, w2, w3, lsl #32 36172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 36272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 36372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs w1, w2, w3, lsr #-1 36472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 365b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 36672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs w1, w2, w3, lsr #32 36772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 36872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 36972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs w1, w2, w3, asr #-1 37072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 371b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 37272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs w1, w2, w3, asr #32 37372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 37472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 37572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x1, x2, x3, lsl #-1 37672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 377b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 37872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x1, x2, x3, lsl #64 37972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 38072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 38172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x1, x2, x3, lsr #-1 38272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 383b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 38472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x1, x2, x3, lsr #64 38572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 38672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 38772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x1, x2, x3, asr #-1 38872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 389b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 39072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: subs x1, x2, x3, asr #64 39172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 39272062f5744557e270a38192554c3126ea5f97434Tim Northover 39372062f5744557e270a38192554c3126ea5f97434Tim Northover cmn w9, w10, lsl #-1 39472062f5744557e270a38192554c3126ea5f97434Tim Northover cmn w9, w10, lsl #32 39572062f5744557e270a38192554c3126ea5f97434Tim Northover cmn w11, w12, lsr #-1 39672062f5744557e270a38192554c3126ea5f97434Tim Northover cmn w11, w12, lsr #32 39772062f5744557e270a38192554c3126ea5f97434Tim Northover cmn w19, wzr, asr #-1 39872062f5744557e270a38192554c3126ea5f97434Tim Northover cmn wzr, wzr, asr #32 39972062f5744557e270a38192554c3126ea5f97434Tim Northover cmn x9, x10, lsl #-1 40072062f5744557e270a38192554c3126ea5f97434Tim Northover cmn x9, x10, lsl #64 40172062f5744557e270a38192554c3126ea5f97434Tim Northover cmn x11, x12, lsr #-1 40272062f5744557e270a38192554c3126ea5f97434Tim Northover cmn x11, x12, lsr #64 40372062f5744557e270a38192554c3126ea5f97434Tim Northover cmn x19, xzr, asr #-1 40472062f5744557e270a38192554c3126ea5f97434Tim Northover cmn xzr, xzr, asr #64 40572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 40672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn w9, w10, lsl #-1 40772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 408b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 40972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn w9, w10, lsl #32 41072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 41172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 41272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn w11, w12, lsr #-1 41372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 414b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 41572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn w11, w12, lsr #32 41672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 41772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 41872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn w19, wzr, asr #-1 41972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 420b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 42172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn wzr, wzr, asr #32 42272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 42372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 42472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn x9, x10, lsl #-1 42572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 426b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 42772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn x9, x10, lsl #64 42872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 42972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 43072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn x11, x12, lsr #-1 43172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 432b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 43372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn x11, x12, lsr #64 43472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 43572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 43672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn x19, xzr, asr #-1 43772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 438b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 43972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmn xzr, xzr, asr #64 44072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 44172062f5744557e270a38192554c3126ea5f97434Tim Northover 44272062f5744557e270a38192554c3126ea5f97434Tim Northover cmp w9, w10, lsl #-1 44372062f5744557e270a38192554c3126ea5f97434Tim Northover cmp w9, w10, lsl #32 44472062f5744557e270a38192554c3126ea5f97434Tim Northover cmp w11, w12, lsr #-1 44572062f5744557e270a38192554c3126ea5f97434Tim Northover cmp w11, w12, lsr #32 44672062f5744557e270a38192554c3126ea5f97434Tim Northover cmp w19, wzr, asr #-1 44772062f5744557e270a38192554c3126ea5f97434Tim Northover cmp wzr, wzr, asr #32 44872062f5744557e270a38192554c3126ea5f97434Tim Northover cmp x9, x10, lsl #-1 44972062f5744557e270a38192554c3126ea5f97434Tim Northover cmp x9, x10, lsl #64 45072062f5744557e270a38192554c3126ea5f97434Tim Northover cmp x11, x12, lsr #-1 45172062f5744557e270a38192554c3126ea5f97434Tim Northover cmp x11, x12, lsr #64 45272062f5744557e270a38192554c3126ea5f97434Tim Northover cmp x19, xzr, asr #-1 45372062f5744557e270a38192554c3126ea5f97434Tim Northover cmp xzr, xzr, asr #64 45472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 45572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp w9, w10, lsl #-1 45672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 457b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 45872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp w9, w10, lsl #32 45972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 46072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 46172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp w11, w12, lsr #-1 46272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 463b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 46472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp w11, w12, lsr #32 46572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 46672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 46772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp w19, wzr, asr #-1 46872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 469b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 47072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp wzr, wzr, asr #32 47172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 47272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 47372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp x9, x10, lsl #-1 47472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 475b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 47672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp x9, x10, lsl #64 47772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 47872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 47972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp x11, x12, lsr #-1 48072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 481b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'sxtx' 'uxtx' or 'lsl' with optional integer in range [0, 4] 48272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp x11, x12, lsr #64 48372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 48472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 48572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp x19, xzr, asr #-1 48672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 487b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 48872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cmp xzr, xzr, asr #64 48972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 49072062f5744557e270a38192554c3126ea5f97434Tim Northover 49172062f5744557e270a38192554c3126ea5f97434Tim Northover neg w9, w10, lsl #-1 49272062f5744557e270a38192554c3126ea5f97434Tim Northover neg w9, w10, lsl #32 49372062f5744557e270a38192554c3126ea5f97434Tim Northover neg w11, w12, lsr #-1 49472062f5744557e270a38192554c3126ea5f97434Tim Northover neg w11, w12, lsr #32 49572062f5744557e270a38192554c3126ea5f97434Tim Northover neg w19, wzr, asr #-1 49672062f5744557e270a38192554c3126ea5f97434Tim Northover neg wzr, wzr, asr #32 49772062f5744557e270a38192554c3126ea5f97434Tim Northover neg x9, x10, lsl #-1 49872062f5744557e270a38192554c3126ea5f97434Tim Northover neg x9, x10, lsl #64 49972062f5744557e270a38192554c3126ea5f97434Tim Northover neg x11, x12, lsr #-1 50072062f5744557e270a38192554c3126ea5f97434Tim Northover neg x11, x12, lsr #64 50172062f5744557e270a38192554c3126ea5f97434Tim Northover neg x19, xzr, asr #-1 50272062f5744557e270a38192554c3126ea5f97434Tim Northover neg xzr, xzr, asr #64 50372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 50472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg w9, w10, lsl #-1 50572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 506b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 50772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg w9, w10, lsl #32 50872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 50972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 51072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg w11, w12, lsr #-1 51172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 512b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 51372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg w11, w12, lsr #32 51472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 51572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 51672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg w19, wzr, asr #-1 51772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 518b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 51972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg wzr, wzr, asr #32 52072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 52172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 52272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg x9, x10, lsl #-1 52372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 524b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 52572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg x9, x10, lsl #64 52672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 52772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 52872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg x11, x12, lsr #-1 52972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 530b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 53172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg x11, x12, lsr #64 53272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 53372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 53472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg x19, xzr, asr #-1 53572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 536b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 53772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: neg xzr, xzr, asr #64 53872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 53972062f5744557e270a38192554c3126ea5f97434Tim Northover 54072062f5744557e270a38192554c3126ea5f97434Tim Northover negs w9, w10, lsl #-1 54172062f5744557e270a38192554c3126ea5f97434Tim Northover negs w9, w10, lsl #32 54272062f5744557e270a38192554c3126ea5f97434Tim Northover negs w11, w12, lsr #-1 54372062f5744557e270a38192554c3126ea5f97434Tim Northover negs w11, w12, lsr #32 54472062f5744557e270a38192554c3126ea5f97434Tim Northover negs w19, wzr, asr #-1 54572062f5744557e270a38192554c3126ea5f97434Tim Northover negs wzr, wzr, asr #32 54672062f5744557e270a38192554c3126ea5f97434Tim Northover negs x9, x10, lsl #-1 54772062f5744557e270a38192554c3126ea5f97434Tim Northover negs x9, x10, lsl #64 54872062f5744557e270a38192554c3126ea5f97434Tim Northover negs x11, x12, lsr #-1 54972062f5744557e270a38192554c3126ea5f97434Tim Northover negs x11, x12, lsr #64 55072062f5744557e270a38192554c3126ea5f97434Tim Northover negs x19, xzr, asr #-1 55172062f5744557e270a38192554c3126ea5f97434Tim Northover negs xzr, xzr, asr #64 55272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 55372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs w9, w10, lsl #-1 55472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 555b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 55672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs w9, w10, lsl #32 55772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 55872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 55972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs w11, w12, lsr #-1 56072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 561b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 56272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs w11, w12, lsr #32 56372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 56472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 56572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs w19, wzr, asr #-1 56672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 567b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 56872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs wzr, wzr, asr #32 56972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 57072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 57172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs x9, x10, lsl #-1 57272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 573b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 57472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs x9, x10, lsl #64 57572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 57672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 57772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs x11, x12, lsr #-1 57872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 579b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 58072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs x11, x12, lsr #64 58172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 58272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 58372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs x19, xzr, asr #-1 58472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 585b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 58672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: negs xzr, xzr, asr #64 58772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 58872062f5744557e270a38192554c3126ea5f97434Tim Northover 58972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 59072062f5744557e270a38192554c3126ea5f97434Tim Northover// Add-subtract (shifted register) 59172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 59272062f5744557e270a38192554c3126ea5f97434Tim Northover 59372062f5744557e270a38192554c3126ea5f97434Tim Northover adc wsp, w3, w5 59472062f5744557e270a38192554c3126ea5f97434Tim Northover adc w1, wsp, w2 59572062f5744557e270a38192554c3126ea5f97434Tim Northover adc w0, w10, wsp 59672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 59772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adc wsp, w3, w5 59872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 59972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 60072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adc w1, wsp, w2 60172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 60272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 60372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adc w0, w10, wsp 60472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 60572062f5744557e270a38192554c3126ea5f97434Tim Northover 60672062f5744557e270a38192554c3126ea5f97434Tim Northover adc sp, x3, x5 60772062f5744557e270a38192554c3126ea5f97434Tim Northover adc x1, sp, x2 60872062f5744557e270a38192554c3126ea5f97434Tim Northover adc x0, x10, sp 60972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 61072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adc sp, x3, x5 61172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 61272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 61372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adc x1, sp, x2 61472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 61572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 61672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adc x0, x10, sp 61772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 61872062f5744557e270a38192554c3126ea5f97434Tim Northover 61972062f5744557e270a38192554c3126ea5f97434Tim Northover adcs wsp, w3, w5 62072062f5744557e270a38192554c3126ea5f97434Tim Northover adcs w1, wsp, w2 62172062f5744557e270a38192554c3126ea5f97434Tim Northover adcs w0, w10, wsp 62272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 62372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adcs wsp, w3, w5 62472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 62572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 62672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adcs w1, wsp, w2 62772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 62872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 62972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adcs w0, w10, wsp 63072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 63172062f5744557e270a38192554c3126ea5f97434Tim Northover 63272062f5744557e270a38192554c3126ea5f97434Tim Northover adcs sp, x3, x5 63372062f5744557e270a38192554c3126ea5f97434Tim Northover adcs x1, sp, x2 63472062f5744557e270a38192554c3126ea5f97434Tim Northover adcs x0, x10, sp 63572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 63672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adcs sp, x3, x5 63772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 63872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 63972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adcs x1, sp, x2 64072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 64172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 64272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adcs x0, x10, sp 64372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 64472062f5744557e270a38192554c3126ea5f97434Tim Northover 64572062f5744557e270a38192554c3126ea5f97434Tim Northover sbc wsp, w3, w5 64672062f5744557e270a38192554c3126ea5f97434Tim Northover sbc w1, wsp, w2 64772062f5744557e270a38192554c3126ea5f97434Tim Northover sbc w0, w10, wsp 64872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 64972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbc wsp, w3, w5 65072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 65172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 65272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbc w1, wsp, w2 65372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 65472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 65572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbc w0, w10, wsp 65672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 65772062f5744557e270a38192554c3126ea5f97434Tim Northover 65872062f5744557e270a38192554c3126ea5f97434Tim Northover sbc sp, x3, x5 65972062f5744557e270a38192554c3126ea5f97434Tim Northover sbc x1, sp, x2 66072062f5744557e270a38192554c3126ea5f97434Tim Northover sbc x0, x10, sp 66172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 66272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbc sp, x3, x5 66372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 66472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 66572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbc x1, sp, x2 66672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 66772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 66872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbc x0, x10, sp 66972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 67072062f5744557e270a38192554c3126ea5f97434Tim Northover 67172062f5744557e270a38192554c3126ea5f97434Tim Northover sbcs wsp, w3, w5 67272062f5744557e270a38192554c3126ea5f97434Tim Northover sbcs w1, wsp, w2 67372062f5744557e270a38192554c3126ea5f97434Tim Northover sbcs w0, w10, wsp 67472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 67572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbcs wsp, w3, w5 67672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 67772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 67872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbcs w1, wsp, w2 67972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 68072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 68172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbcs w0, w10, wsp 68272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 68372062f5744557e270a38192554c3126ea5f97434Tim Northover 68472062f5744557e270a38192554c3126ea5f97434Tim Northover sbcs sp, x3, x5 68572062f5744557e270a38192554c3126ea5f97434Tim Northover sbcs x1, sp, x2 68672062f5744557e270a38192554c3126ea5f97434Tim Northover sbcs x0, x10, sp 68772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 68872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbcs sp, x3, x5 68972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 69072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 69172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbcs x1, sp, x2 69272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 69372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 69472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbcs x0, x10, sp 69572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 69672062f5744557e270a38192554c3126ea5f97434Tim Northover 69772062f5744557e270a38192554c3126ea5f97434Tim Northover ngc wsp, w3 69872062f5744557e270a38192554c3126ea5f97434Tim Northover ngc w9, wsp 69972062f5744557e270a38192554c3126ea5f97434Tim Northover ngc sp, x9 70072062f5744557e270a38192554c3126ea5f97434Tim Northover ngc x2, sp 70172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 70272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngc wsp, w3 70372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 70472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 70572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngc w9, wsp 70672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 70772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 70872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngc sp, x9 70972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 71072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 71172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngc x2, sp 71272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 71372062f5744557e270a38192554c3126ea5f97434Tim Northover 71472062f5744557e270a38192554c3126ea5f97434Tim Northover ngcs wsp, w3 71572062f5744557e270a38192554c3126ea5f97434Tim Northover ngcs w9, wsp 71672062f5744557e270a38192554c3126ea5f97434Tim Northover ngcs sp, x9 71772062f5744557e270a38192554c3126ea5f97434Tim Northover ngcs x2, sp 71872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 71972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngcs wsp, w3 72072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 72172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 72272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngcs w9, wsp 72372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 72472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 72572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngcs sp, x9 72672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 72772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 72872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ngcs x2, sp 72972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 73072062f5744557e270a38192554c3126ea5f97434Tim Northover 73172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 73272062f5744557e270a38192554c3126ea5f97434Tim Northover// Bitfield 73372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 73472062f5744557e270a38192554c3126ea5f97434Tim Northover 73572062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x3, w13, #0, #0 73672062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w12, x9, #0, #0 73772062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm sp, x3, #3, #5 73872062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w3, wsp, #1, #9 73972062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x9, x5, #-1, #0 74072062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x9, x5, #0, #-1 74172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 74272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x3, w13, #0, #0 74372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 74472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 74572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w12, x9, #0, #0 74672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 74772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 74872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm sp, x3, #3, #5 74972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 75072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 75172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w3, wsp, #1, #9 75272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 753b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 75472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x9, x5, #-1, #0 75572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 756b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 75772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x9, x5, #0, #-1 75872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 75972062f5744557e270a38192554c3126ea5f97434Tim Northover 76072062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w3, w5, #32, #1 76172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w7, w11, #19, #32 76272062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x29, x30, #64, #0 76372062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x10, x20, #63, #64 764b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [0, 31] 76572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w3, w5, #32, #1 76672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 767b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 76872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w7, w11, #19, #32 76972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 770b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 77172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x29, x30, #64, #0 77272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 773b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 77472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x10, x20, #63, #64 77572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 77672062f5744557e270a38192554c3126ea5f97434Tim Northover 77772062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm w3, w5, #32, #1 77872062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm w7, w11, #19, #32 77972062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm x29, x30, #64, #0 78072062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm x10, x20, #63, #64 781b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [0, 31] 78272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm w3, w5, #32, #1 78372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 784b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 78572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm w7, w11, #19, #32 78672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 787b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 78872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm x29, x30, #64, #0 78972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 790b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 79172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm x10, x20, #63, #64 79272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 79372062f5744557e270a38192554c3126ea5f97434Tim Northover 79472062f5744557e270a38192554c3126ea5f97434Tim Northover bfm w3, w5, #32, #1 79572062f5744557e270a38192554c3126ea5f97434Tim Northover bfm w7, w11, #19, #32 79672062f5744557e270a38192554c3126ea5f97434Tim Northover bfm x29, x30, #64, #0 79772062f5744557e270a38192554c3126ea5f97434Tim Northover bfm x10, x20, #63, #64 798b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [0, 31] 79972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm w3, w5, #32, #1 80072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 801b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 80272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm w7, w11, #19, #32 80372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 804b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 80572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm x29, x30, #64, #0 80672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 807b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 80872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm x10, x20, #63, #64 80972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 81072062f5744557e270a38192554c3126ea5f97434Tim Northover 81172062f5744557e270a38192554c3126ea5f97434Tim Northover sxtb x3, x2 81272062f5744557e270a38192554c3126ea5f97434Tim Northover sxth xzr, xzr 81372062f5744557e270a38192554c3126ea5f97434Tim Northover sxtw x3, x5 81472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 81572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sxtb x3, x2 81672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 81772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 81872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sxth xzr, xzr 81972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 82072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 82172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sxtw x3, x5 82272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 82372062f5744557e270a38192554c3126ea5f97434Tim Northover 82472062f5744557e270a38192554c3126ea5f97434Tim Northover uxtb x3, x12 82572062f5744557e270a38192554c3126ea5f97434Tim Northover uxth x5, x9 82672062f5744557e270a38192554c3126ea5f97434Tim Northover uxtw x3, x5 82772062f5744557e270a38192554c3126ea5f97434Tim Northover uxtb x2, sp 82872062f5744557e270a38192554c3126ea5f97434Tim Northover uxtb sp, xzr 82972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 83072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtb x3, x12 83172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 83272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 83372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxth x5, x9 83472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 83572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid instruction 83672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtw x3, x5 83772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 83872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 83972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtb x2, sp 84072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 84172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 84272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtb sp, xzr 84372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 84472062f5744557e270a38192554c3126ea5f97434Tim Northover 84572062f5744557e270a38192554c3126ea5f97434Tim Northover asr x3, w2, #1 84672062f5744557e270a38192554c3126ea5f97434Tim Northover asr sp, x2, #1 84772062f5744557e270a38192554c3126ea5f97434Tim Northover asr x25, x26, #-1 84872062f5744557e270a38192554c3126ea5f97434Tim Northover asr x25, x26, #64 84972062f5744557e270a38192554c3126ea5f97434Tim Northover asr w9, w8, #32 85072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 85172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr x3, w2, #1 85272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 85372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 85472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr sp, x2, #1 85572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 856b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 85772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr x25, x26, #-1 85872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 859b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 86072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr x25, x26, #64 86172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 862b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 86372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr w9, w8, #32 86472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 86572062f5744557e270a38192554c3126ea5f97434Tim Northover 86672062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w1, w2, #0, #0 86772062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz wsp, w9, #0, #1 86872062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w9, w10, #32, #1 86972062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w11, w12, #32, #0 87072062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w9, w10, #10, #23 87172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz x3, x5, #12, #53 87272062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz sp, x3, #5, #6 87372062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w3, wsp, #7, #8 874b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [<lsb>, 31] 87572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w1, w2, #0, #0 87672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 87772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 87872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz wsp, w9, #0, #1 87972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 880b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 88172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w9, w10, #32, #1 88272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 883b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 88472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w11, w12, #32, #0 88572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 88672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 88772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w9, w10, #10, #23 88872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 88972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 89072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz x3, x5, #12, #53 89172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 89272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 89372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz sp, x3, #5, #6 89472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 89572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 89672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w3, wsp, #7, #8 89772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 89872062f5744557e270a38192554c3126ea5f97434Tim Northover 89972062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w1, w2, #0, #0 90072062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx wsp, w9, #0, #1 90172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w9, w10, #32, #1 90272062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w11, w12, #32, #0 90372062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w9, w10, #10, #23 90472062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx x3, x5, #12, #53 90572062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx sp, x3, #5, #6 90672062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w3, wsp, #7, #8 907b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [<lsb>, 31] 90872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w1, w2, #0, #0 90972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 91072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 91172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx wsp, w9, #0, #1 91272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 913b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 91472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w9, w10, #32, #1 91572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 916b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 91772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w11, w12, #32, #0 91872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 91972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 92072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w9, w10, #10, #23 92172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 92272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 92372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx x3, x5, #12, #53 92472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 92572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 92672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx sp, x3, #5, #6 92772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 92872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 92972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w3, wsp, #7, #8 93072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 93172062f5744557e270a38192554c3126ea5f97434Tim Northover 93272062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w1, w2, #0, #0 93372062f5744557e270a38192554c3126ea5f97434Tim Northover bfi wsp, w9, #0, #1 93472062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w9, w10, #32, #1 93572062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w11, w12, #32, #0 93672062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w9, w10, #10, #23 93772062f5744557e270a38192554c3126ea5f97434Tim Northover bfi x3, x5, #12, #53 93872062f5744557e270a38192554c3126ea5f97434Tim Northover bfi sp, x3, #5, #6 93972062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w3, wsp, #7, #8 940b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [<lsb>, 31] 94172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w1, w2, #0, #0 94272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 94372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 94472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi wsp, w9, #0, #1 94572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 946b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 94772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w9, w10, #32, #1 94872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 949b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 95072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w11, w12, #32, #0 95172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 95272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 95372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w9, w10, #10, #23 95472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 95572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 95672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi x3, x5, #12, #53 95772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 95872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 95972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi sp, x3, #5, #6 96072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 96172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 96272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w3, wsp, #7, #8 96372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 96472062f5744557e270a38192554c3126ea5f97434Tim Northover 96572062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w1, w2, #0, #0 96672062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil wsp, w9, #0, #1 96772062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w9, w10, #32, #1 96872062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w11, w12, #32, #0 96972062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w9, w10, #10, #23 97072062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil x3, x5, #12, #53 97172062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil sp, x3, #5, #6 97272062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w3, wsp, #7, #8 973b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [<lsb>, 31] 97472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w1, w2, #0, #0 97572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 97672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 97772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil wsp, w9, #0, #1 97872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 979b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 98072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w9, w10, #32, #1 98172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 982b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 98372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w11, w12, #32, #0 98472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 98572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 98672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w9, w10, #10, #23 98772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 98872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 98972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil x3, x5, #12, #53 99072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 99172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 99272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil sp, x3, #5, #6 99372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 99472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 99572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w3, wsp, #7, #8 99672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 99772062f5744557e270a38192554c3126ea5f97434Tim Northover 99872062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w1, w2, #0, #0 99972062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz wsp, w9, #0, #1 100072062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w9, w10, #32, #1 100172062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w11, w12, #32, #0 100272062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w9, w10, #10, #23 100372062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz x3, x5, #12, #53 100472062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz sp, x3, #5, #6 100572062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w3, wsp, #7, #8 1006b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [<lsb>, 31] 100772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w1, w2, #0, #0 100872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 100972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 101072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz wsp, w9, #0, #1 101172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1012b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 101372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w9, w10, #32, #1 101472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1015b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 101672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w11, w12, #32, #0 101772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 101872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 101972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w9, w10, #10, #23 102072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 102172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 102272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz x3, x5, #12, #53 102372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 102472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 102572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz sp, x3, #5, #6 102672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 102772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 102872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w3, wsp, #7, #8 102972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 103072062f5744557e270a38192554c3126ea5f97434Tim Northover 103172062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w1, w2, #0, #0 103272062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx wsp, w9, #0, #1 103372062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w9, w10, #32, #1 103472062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w11, w12, #32, #0 103572062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w9, w10, #10, #23 103672062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx x3, x5, #12, #53 103772062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx sp, x3, #5, #6 103872062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w3, wsp, #7, #8 1039b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [<lsb>, 31] 104072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w1, w2, #0, #0 104172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 104272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 104372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx wsp, w9, #0, #1 104472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1045b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 104672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w9, w10, #32, #1 104772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1048b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 104972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w11, w12, #32, #0 105072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 105172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 105272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w9, w10, #10, #23 105372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 105472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 105572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx x3, x5, #12, #53 105672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 105772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 105872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx sp, x3, #5, #6 105972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 106072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 106172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w3, wsp, #7, #8 106272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 106372062f5744557e270a38192554c3126ea5f97434Tim Northover 106472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 106572062f5744557e270a38192554c3126ea5f97434Tim Northover// Compare & branch (immediate) 106672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 106772062f5744557e270a38192554c3126ea5f97434Tim Northover 106872062f5744557e270a38192554c3126ea5f97434Tim Northover cbnz wsp, lbl 106972062f5744557e270a38192554c3126ea5f97434Tim Northover cbz sp, lbl 107072062f5744557e270a38192554c3126ea5f97434Tim Northover cbz x3, x5 107172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 107272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbnz wsp, lbl 107372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 107472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 107572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz sp, lbl 107672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1077b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 107872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz x3, x5 107972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 108072062f5744557e270a38192554c3126ea5f97434Tim Northover 108172062f5744557e270a38192554c3126ea5f97434Tim Northover cbz w20, #1048576 108272062f5744557e270a38192554c3126ea5f97434Tim Northover cbnz xzr, #-1048580 108372062f5744557e270a38192554c3126ea5f97434Tim Northover cbz x29, #1 1084b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 108572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz w20, #1048576 108672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1087b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 108872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbnz xzr, #-1048580 108972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1090b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 109172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz x29, #1 109272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 109372062f5744557e270a38192554c3126ea5f97434Tim Northover 109472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 109572062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional branch (immediate) 109672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 109772062f5744557e270a38192554c3126ea5f97434Tim Northover 109872062f5744557e270a38192554c3126ea5f97434Tim Northover b.zf lbl 109972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid condition code 110072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.zf lbl 110172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 110272062f5744557e270a38192554c3126ea5f97434Tim Northover 110372062f5744557e270a38192554c3126ea5f97434Tim Northover b.eq #1048576 110472062f5744557e270a38192554c3126ea5f97434Tim Northover b.ge #-1048580 110572062f5744557e270a38192554c3126ea5f97434Tim Northover b.cc #1 1106b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 110772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.eq #1048576 110872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1109b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 111072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.ge #-1048580 111172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1112b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 111372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.cc #1 111472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 111572062f5744557e270a38192554c3126ea5f97434Tim Northover 111672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 111772062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional compare (immediate) 111872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 111972062f5744557e270a38192554c3126ea5f97434Tim Northover 112072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp wsp, #4, #2, ne 112172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w25, #-1, #15, hs 112272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w3, #32, #0, ge 112372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w19, #5, #-1, lt 112472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w20, #7, #16, hs 112572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 112672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp wsp, #4, #2, ne 112772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1128b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 112972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w25, #-1, #15, hs 113072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1131b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 113272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w3, #32, #0, ge 113372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1134b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 113572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w19, #5, #-1, lt 113672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1137b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 113872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w20, #7, #16, hs 113972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 114072062f5744557e270a38192554c3126ea5f97434Tim Northover 114172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp sp, #4, #2, ne 114272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x25, #-1, #15, hs 114372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x3, #32, #0, ge 114472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x19, #5, #-1, lt 114572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x20, #7, #16, hs 114672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 114772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp sp, #4, #2, ne 114872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1149b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 115072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x25, #-1, #15, hs 115172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1152b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 115372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x3, #32, #0, ge 115472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1155b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 115672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x19, #5, #-1, lt 115772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1158b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 115972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x20, #7, #16, hs 116072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 116172062f5744557e270a38192554c3126ea5f97434Tim Northover 116272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn wsp, #4, #2, ne 116372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w25, #-1, #15, hs 116472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w3, #32, #0, ge 116572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w19, #5, #-1, lt 116672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w20, #7, #16, hs 116772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 116872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn wsp, #4, #2, ne 116972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1170b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 117172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w25, #-1, #15, hs 117272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1173b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 117472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w3, #32, #0, ge 117572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1176b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 117772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w19, #5, #-1, lt 117872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1179b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 118072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w20, #7, #16, hs 118172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 118272062f5744557e270a38192554c3126ea5f97434Tim Northover 118372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn sp, #4, #2, ne 118472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x25, #-1, #15, hs 118572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x3, #32, #0, ge 118672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x19, #5, #-1, lt 118772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x20, #7, #16, hs 118872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 118972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn sp, #4, #2, ne 119072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1191b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 119272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x25, #-1, #15, hs 119372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1194b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 119572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x3, #32, #0, ge 119672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1197b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 119872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x19, #5, #-1, lt 119972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1200b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 120172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x20, #7, #16, hs 120272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 120372062f5744557e270a38192554c3126ea5f97434Tim Northover 120472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 120572062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional compare (register) 120672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 120772062f5744557e270a38192554c3126ea5f97434Tim Northover 120872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp wsp, w4, #2, ne 120972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w3, wsp, #0, ge 121072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w19, w5, #-1, lt 121172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w20, w7, #16, hs 121272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 121372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp wsp, w4, #2, ne 121472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1215b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 121672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w3, wsp, #0, ge 121772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1218b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 121972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w19, w5, #-1, lt 122072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1221b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 122272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w20, w7, #16, hs 122372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 122472062f5744557e270a38192554c3126ea5f97434Tim Northover 122572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp sp, x4, #2, ne 122672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x25, sp, #15, hs 122772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x19, x5, #-1, lt 122872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x20, x7, #16, hs 122972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 123072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp sp, x4, #2, ne 123172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1232b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 123372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x25, sp, #15, hs 123472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1235b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 123672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x19, x5, #-1, lt 123772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1238b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 123972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x20, x7, #16, hs 124072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 124172062f5744557e270a38192554c3126ea5f97434Tim Northover 124272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn wsp, w4, #2, ne 124372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w25, wsp, #15, hs 124472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w19, w5, #-1, lt 124572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w20, w7, #16, hs 124672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 124772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn wsp, w4, #2, ne 124872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1249b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 125072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w25, wsp, #15, hs 125172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1252b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 125372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w19, w5, #-1, lt 125472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1255b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 125672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w20, w7, #16, hs 125772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 125872062f5744557e270a38192554c3126ea5f97434Tim Northover 125972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn sp, x4, #2, ne 126072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x25, sp, #15, hs 126172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x19, x5, #-1, lt 126272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x20, x7, #16, hs 126372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 126472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn sp, x4, #2, ne 126572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1266b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 126772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x25, sp, #15, hs 126872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1269b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 127072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x19, x5, #-1, lt 127172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1272b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 127372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x20, x7, #16, hs 127472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 127572062f5744557e270a38192554c3126ea5f97434Tim Northover 127672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 127772062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional select 127872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 127972062f5744557e270a38192554c3126ea5f97434Tim Northover 128072062f5744557e270a38192554c3126ea5f97434Tim Northover csel w4, wsp, w9, eq 128172062f5744557e270a38192554c3126ea5f97434Tim Northover csel wsp, w2, w3, ne 128272062f5744557e270a38192554c3126ea5f97434Tim Northover csel w10, w11, wsp, ge 128372062f5744557e270a38192554c3126ea5f97434Tim Northover csel w1, w2, w3, #3 128472062f5744557e270a38192554c3126ea5f97434Tim Northover csel x4, sp, x9, eq 128572062f5744557e270a38192554c3126ea5f97434Tim Northover csel sp, x2, x3, ne 128672062f5744557e270a38192554c3126ea5f97434Tim Northover csel x10, x11, sp, ge 128772062f5744557e270a38192554c3126ea5f97434Tim Northover csel x1, x2, x3, #3 128872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 128972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w4, wsp, w9, eq 129072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 129172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 129272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel wsp, w2, w3, ne 129372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 129472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 129572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w10, w11, wsp, ge 129672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1297b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected AArch64 condition code 129872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w1, w2, w3, #3 129972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 130072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 130172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x4, sp, x9, eq 130272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 130372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 130472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel sp, x2, x3, ne 130572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 130672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 130772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x10, x11, sp, ge 130872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1309b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected AArch64 condition code 131072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x1, x2, x3, #3 131172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 131272062f5744557e270a38192554c3126ea5f97434Tim Northover 131372062f5744557e270a38192554c3126ea5f97434Tim Northover csinc w20, w21, wsp, mi 131472062f5744557e270a38192554c3126ea5f97434Tim Northover csinc sp, x30, x29, eq 131572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 131672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinc w20, w21, wsp, mi 131772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 131872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 131972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinc sp, x30, x29, eq 132072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 132172062f5744557e270a38192554c3126ea5f97434Tim Northover 132272062f5744557e270a38192554c3126ea5f97434Tim Northover csinv w20, wsp, wsp, mi 132372062f5744557e270a38192554c3126ea5f97434Tim Northover csinv sp, x30, x29, le 132472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 132572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinv w20, wsp, wsp, mi 132672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 132772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 132872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinv sp, x30, x29, le 132972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133072062f5744557e270a38192554c3126ea5f97434Tim Northover 133172062f5744557e270a38192554c3126ea5f97434Tim Northover csneg w20, w21, wsp, mi 133272062f5744557e270a38192554c3126ea5f97434Tim Northover csneg x0, sp, x29, le 133372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 133472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csneg w20, w21, wsp, mi 133572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 133772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csneg x0, sp, x29, le 133872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133972062f5744557e270a38192554c3126ea5f97434Tim Northover 134072062f5744557e270a38192554c3126ea5f97434Tim Northover cset wsp, lt 134172062f5744557e270a38192554c3126ea5f97434Tim Northover csetm sp, ge 134272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 134372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cset wsp, lt 134472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 134572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 134672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csetm sp, ge 134772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 134872062f5744557e270a38192554c3126ea5f97434Tim Northover 134972062f5744557e270a38192554c3126ea5f97434Tim Northover cinc w3, wsp, ne 135072062f5744557e270a38192554c3126ea5f97434Tim Northover cinc sp, x9, eq 135172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 135272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinc w3, wsp, ne 135372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 135472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 135572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinc sp, x9, eq 135672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 135772062f5744557e270a38192554c3126ea5f97434Tim Northover 135872062f5744557e270a38192554c3126ea5f97434Tim Northover cinv w3, wsp, ne 135972062f5744557e270a38192554c3126ea5f97434Tim Northover cinv sp, x9, eq 136072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 136172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinv w3, wsp, ne 136272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 136372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 136472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinv sp, x9, eq 136572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 136672062f5744557e270a38192554c3126ea5f97434Tim Northover 136772062f5744557e270a38192554c3126ea5f97434Tim Northover cneg w3, wsp, ne 136872062f5744557e270a38192554c3126ea5f97434Tim Northover cneg sp, x9, eq 136972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 137072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cneg w3, wsp, ne 137172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 137272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 137372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cneg sp, x9, eq 137472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 137572062f5744557e270a38192554c3126ea5f97434Tim Northover 137672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 137772062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (1 source) 137872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 137972062f5744557e270a38192554c3126ea5f97434Tim Northover rbit x23, w2 138072062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 138172062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: rbit x23, w2 138272062f5744557e270a38192554c3126ea5f97434Tim Northover 138372062f5744557e270a38192554c3126ea5f97434Tim Northover cls sp, x2 138472062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 138572062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: cls sp, x2 138672062f5744557e270a38192554c3126ea5f97434Tim Northover 138772062f5744557e270a38192554c3126ea5f97434Tim Northover clz wsp, w3 138872062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 138972062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: clz wsp, w3 139072062f5744557e270a38192554c3126ea5f97434Tim Northover 139172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 139272062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (2 sources) 139372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 139472062f5744557e270a38192554c3126ea5f97434Tim Northover udiv x23, w2, x18 139572062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 139672062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: udiv x23, w2, x18 139772062f5744557e270a38192554c3126ea5f97434Tim Northover 139872062f5744557e270a38192554c3126ea5f97434Tim Northover lsl sp, x2, x4 139972062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 140072062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: lsl sp, x2, x4 140172062f5744557e270a38192554c3126ea5f97434Tim Northover 140272062f5744557e270a38192554c3126ea5f97434Tim Northover asr wsp, w3, w9 140372062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 140472062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: asr wsp, w3, w9 140572062f5744557e270a38192554c3126ea5f97434Tim Northover 140672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 140772062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (3 sources) 140872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 140972062f5744557e270a38192554c3126ea5f97434Tim Northover 141072062f5744557e270a38192554c3126ea5f97434Tim Northover madd sp, x3, x9, x10 141172062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 141272062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: madd sp, x3, x9, x10 141372062f5744557e270a38192554c3126ea5f97434Tim Northover 141472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 141572062f5744557e270a38192554c3126ea5f97434Tim Northover// Exception generation 141672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 141772062f5744557e270a38192554c3126ea5f97434Tim Northover svc #-1 141872062f5744557e270a38192554c3126ea5f97434Tim Northover hlt #65536 141972062f5744557e270a38192554c3126ea5f97434Tim Northover dcps4 #43 142072062f5744557e270a38192554c3126ea5f97434Tim Northover dcps4 1421b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [0, 65535] 142272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: svc #-1 142372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1424b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 65535] 142572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hlt #65536 142672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 142772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid instruction 142872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dcps4 #43 142972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 143072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid instruction 143172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dcps4 143272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 143372062f5744557e270a38192554c3126ea5f97434Tim Northover 143472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 143572062f5744557e270a38192554c3126ea5f97434Tim Northover// Extract (immediate) 143672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 143772062f5744557e270a38192554c3126ea5f97434Tim Northover 143872062f5744557e270a38192554c3126ea5f97434Tim Northover extr w2, w20, w30, #-1 143972062f5744557e270a38192554c3126ea5f97434Tim Northover extr w9, w19, w20, #32 1440b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 144172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr w2, w20, w30, #-1 144272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1443b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 144472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr w9, w19, w20, #32 144572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 144672062f5744557e270a38192554c3126ea5f97434Tim Northover 144772062f5744557e270a38192554c3126ea5f97434Tim Northover extr x10, x15, x20, #-1 144872062f5744557e270a38192554c3126ea5f97434Tim Northover extr x20, x25, x30, #64 1449b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 145072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr x10, x15, x20, #-1 145172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1452b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 145372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr x20, x25, x30, #64 145472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 145572062f5744557e270a38192554c3126ea5f97434Tim Northover 145672062f5744557e270a38192554c3126ea5f97434Tim Northover ror w9, w10, #32 145772062f5744557e270a38192554c3126ea5f97434Tim Northover ror x10, x11, #64 1458b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 145972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ror w9, w10, #32 146072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1461b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 146272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ror x10, x11, #64 146372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 146472062f5744557e270a38192554c3126ea5f97434Tim Northover 146572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 146672062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point compare 146772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 146872062f5744557e270a38192554c3126ea5f97434Tim Northover 146972062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s3, d2 1470b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected floating-point constant #0.0 147172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s3, d2 147272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 147372062f5744557e270a38192554c3126ea5f97434Tim Northover 147472062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s9, #-0.0 147572062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp d3, #-0.0 147672062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s1, #1.0 147772062f5744557e270a38192554c3126ea5f97434Tim Northover fcmpe s30, #-0.0 1478b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected floating-point constant #0.0 147972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s9, #-0.0 148072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1481b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 148272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp d3, #-0.0 148372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1484b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 148572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s1, #1.0 148672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1487b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 148872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmpe s30, #-0.0 148972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 149072062f5744557e270a38192554c3126ea5f97434Tim Northover 149172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 149272062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 149372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 149472062f5744557e270a38192554c3126ea5f97434Tim Northover 149572062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp s19, s5, #-1, lt 149672062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp s20, s7, #16, hs 1497b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 149872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp s19, s5, #-1, lt 149972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1500b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 150172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp s20, s7, #16, hs 150272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 150372062f5744557e270a38192554c3126ea5f97434Tim Northover 150472062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp d19, d5, #-1, lt 150572062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp d20, d7, #16, hs 1506b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 150772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp d19, d5, #-1, lt 150872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1509b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 151072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp d20, d7, #16, hs 151172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 151272062f5744557e270a38192554c3126ea5f97434Tim Northover 151372062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe s19, s5, #-1, lt 151472062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe s20, s7, #16, hs 1515b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 151672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe s19, s5, #-1, lt 151772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1518b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 151972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe s20, s7, #16, hs 152072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 152172062f5744557e270a38192554c3126ea5f97434Tim Northover 152272062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe d19, d5, #-1, lt 152372062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe d20, d7, #16, hs 1524b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 152572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe d19, d5, #-1, lt 152672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1527b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 152872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe d20, d7, #16, hs 152972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 153072062f5744557e270a38192554c3126ea5f97434Tim Northover 153172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 153272062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 153372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 153472062f5744557e270a38192554c3126ea5f97434Tim Northover 153572062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel q3, q20, q9, pl 153672062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel h9, h10, h11, mi 153772062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel b9, b10, b11, mi 153872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 153972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel q3, q20, q9, pl 154072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 154172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 154272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel h9, h10, h11, mi 154372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 154472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 154572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel b9, b10, b11, mi 154672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 154772062f5744557e270a38192554c3126ea5f97434Tim Northover 154872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 154972062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (1 source) 155072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 155172062f5744557e270a38192554c3126ea5f97434Tim Northover 155272062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d0, s3 155372062f5744557e270a38192554c3126ea5f97434Tim Northover fcvt d0, d1 1554b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 155572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d0, s3 1556b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 155772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 155872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvt d0, d1 1559b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 156072062f5744557e270a38192554c3126ea5f97434Tim Northover 156172062f5744557e270a38192554c3126ea5f97434Tim Northover 156272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 156372062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (2 sources) 156472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 156572062f5744557e270a38192554c3126ea5f97434Tim Northover 156672062f5744557e270a38192554c3126ea5f97434Tim Northover fadd s0, d3, d7 156772062f5744557e270a38192554c3126ea5f97434Tim Northover fmaxnm d3, s19, d12 156872062f5744557e270a38192554c3126ea5f97434Tim Northover fnmul d1, d9, s18 156972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 157072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fadd s0, d3, d7 157172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 157272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 157372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmaxnm d3, s19, d12 157472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 157572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 157672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmul d1, d9, s18 157772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 157872062f5744557e270a38192554c3126ea5f97434Tim Northover 157972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 158072062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (3 sources) 158172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 158272062f5744557e270a38192554c3126ea5f97434Tim Northover 158372062f5744557e270a38192554c3126ea5f97434Tim Northover fmadd b3, b4, b5, b6 158472062f5744557e270a38192554c3126ea5f97434Tim Northover fmsub h1, h2, h3, h4 158572062f5744557e270a38192554c3126ea5f97434Tim Northover fnmadd q3, q5, q6, q7 158672062f5744557e270a38192554c3126ea5f97434Tim Northover fnmsub s2, s4, d5, h9 158772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 158872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmadd b3, b4, b5, b6 158972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 159172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmsub h1, h2, h3, h4 159272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 159472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmadd q3, q5, q6, q7 159572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 159772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmsub s2, s4, d5, h9 159872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159972062f5744557e270a38192554c3126ea5f97434Tim Northover 160072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 160172062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 160272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 160372062f5744557e270a38192554c3126ea5f97434Tim Northover 160472062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs w13, s31, #0 160572062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs w19, s20, #33 160672062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs wsp, s19, #14 1607b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 32] 160872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs w13, s31, #0 160972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1610b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 32] 161172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs w19, s20, #33 161272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 161372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 161472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs wsp, s19, #14 161572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 161672062f5744557e270a38192554c3126ea5f97434Tim Northover 161772062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs x13, s31, #0 161872062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs x19, s20, #65 161972062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs sp, s19, #14 1620b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 64] 162172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs x13, s31, #0 162272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1623b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 64] 162472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs x19, s20, #65 162572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 162672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 162772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs sp, s19, #14 162872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 162972062f5744557e270a38192554c3126ea5f97434Tim Northover 163072062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu w13, s31, #0 163172062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu w19, s20, #33 163272062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu wsp, s19, #14 1633b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 32] 163472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu w13, s31, #0 163572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1636b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 32] 163772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu w19, s20, #33 163872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 163972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 164072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu wsp, s19, #14 164172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 164272062f5744557e270a38192554c3126ea5f97434Tim Northover 164372062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu x13, s31, #0 164472062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu x19, s20, #65 164572062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu sp, s19, #14 1646b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 64] 164772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu x13, s31, #0 164872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1649b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [1, 64] 165072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu x19, s20, #65 165172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 165272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 165372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu sp, s19, #14 165472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 165572062f5744557e270a38192554c3126ea5f97434Tim Northover 165672062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf w13, s31, #0 165772062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf w19, s20, #33 165872062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf wsp, s19, #14 165972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 166072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf w13, s31, #0 166172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 166372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf w19, s20, #33 166472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 166672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf wsp, s19, #14 166772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166872062f5744557e270a38192554c3126ea5f97434Tim Northover 166972062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf x13, s31, #0 167072062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf x19, s20, #65 167172062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf sp, s19, #14 167272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 167372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf x13, s31, #0 167472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 167572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 167672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf x19, s20, #65 167772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 167872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 167972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf sp, s19, #14 168072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 168172062f5744557e270a38192554c3126ea5f97434Tim Northover 168272062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf w13, s31, #0 168372062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf w19, s20, #33 168472062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf wsp, s19, #14 168572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 168672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf w13, s31, #0 168772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 168872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 168972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf w19, s20, #33 169072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 169172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 169272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf wsp, s19, #14 169372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 169472062f5744557e270a38192554c3126ea5f97434Tim Northover 169572062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf x13, s31, #0 169672062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf x19, s20, #65 169772062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf sp, s19, #14 169872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 169972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf x13, s31, #0 170072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 170272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf x19, s20, #65 170372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 170572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf sp, s19, #14 170672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170772062f5744557e270a38192554c3126ea5f97434Tim Northover 170872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 170972062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point immediate 171072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 171172062f5744557e270a38192554c3126ea5f97434Tim Northover ;; Exponent too large 171272062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d3, #0.0625 171372062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s2, #32.0 1714b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 171572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d3, #0.0625 171672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1717b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant 171872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s2, #32.0 171972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 172072062f5744557e270a38192554c3126ea5f97434Tim Northover 172172062f5744557e270a38192554c3126ea5f97434Tim Northover ;; Fraction too precise 172272062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s9, #1.03125 172372062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s28, #1.96875 1724b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 172572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s9, #1.03125 172672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1727b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant 172872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s28, #1.96875 172972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 173072062f5744557e270a38192554c3126ea5f97434Tim Northover 173172062f5744557e270a38192554c3126ea5f97434Tim Northover ;; No particular reason, but a striking omission 173272062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d0, #0.0 1733b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 173472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d0, #0.0 173572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 173672062f5744557e270a38192554c3126ea5f97434Tim Northover 173772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 173872062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point <-> integer conversion 173972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 174072062f5744557e270a38192554c3126ea5f97434Tim Northover 174172062f5744557e270a38192554c3126ea5f97434Tim Northover fmov x3, v0.d[0] 174272062f5744557e270a38192554c3126ea5f97434Tim Northover fmov v29.1d[1], x2 174372062f5744557e270a38192554c3126ea5f97434Tim Northover fmov x7, v0.d[2] 174472062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtns sp, s5 174572062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf s6, wsp 1746b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected lane specifier '[1]' 174772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov x3, v0.d[0] 1748b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 174972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: lane number incompatible with layout 175072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov v29.1d[1], x2 175172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: lane number incompatible with layout 175372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov x7, v0.d[2] 175472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtns sp, s5 175772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf s6, wsp 176072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 176172062f5744557e270a38192554c3126ea5f97434Tim Northover 176272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 176372062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-register (literal) 176472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 176572062f5744557e270a38192554c3126ea5f97434Tim Northover 176672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr sp, some_label 176772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw w3, somewhere 176872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 176972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr sp, some_label 177072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 177172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 177272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw w3, somewhere 177372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 177472062f5744557e270a38192554c3126ea5f97434Tim Northover 177572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, #1048576 177672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q0, #-1048580 177772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x0, #2 1778b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 177972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, #1048576 178072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1781b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 178272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q0, #-1048580 178372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1784b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 178572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x0, #2 178672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 178772062f5744557e270a38192554c3126ea5f97434Tim Northover 178872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 178972062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store exclusive 179072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 179172062f5744557e270a38192554c3126ea5f97434Tim Northover 179272062f5744557e270a38192554c3126ea5f97434Tim Northover stxrb w2, x3, [x4, #20] 179372062f5744557e270a38192554c3126ea5f97434Tim Northover stlxrh w10, w11, [w2] 179472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected '#0' 179572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stxrb w2, x3, [x4, #20] 179672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 179772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 179872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxrh w10, w11, [w2] 179972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 180072062f5744557e270a38192554c3126ea5f97434Tim Northover 180172062f5744557e270a38192554c3126ea5f97434Tim Northover stlxr x20, w21, [sp] 180272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 180372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxr x20, w21, [sp] 180472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 180572062f5744557e270a38192554c3126ea5f97434Tim Northover 180672062f5744557e270a38192554c3126ea5f97434Tim Northover ldxr sp, [sp] 180772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 180872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldxr sp, [sp] 180972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 181072062f5744557e270a38192554c3126ea5f97434Tim Northover 181172062f5744557e270a38192554c3126ea5f97434Tim Northover stxp x1, x2, x3, [x4] 181272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 181372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stxp x1, x2, x3, [x4] 181472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 181572062f5744557e270a38192554c3126ea5f97434Tim Northover 181672062f5744557e270a38192554c3126ea5f97434Tim Northover stlxp w5, x1, w4, [x5] 181772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 181872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxp w5, x1, w4, [x5] 181972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182072062f5744557e270a38192554c3126ea5f97434Tim Northover 182172062f5744557e270a38192554c3126ea5f97434Tim Northover stlxp w17, w6, x7, [x22] 182272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 182372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxp w17, w6, x7, [x22] 182472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182572062f5744557e270a38192554c3126ea5f97434Tim Northover 182672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 182772062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unscaled immediate) 182872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 182972062f5744557e270a38192554c3126ea5f97434Tim Northover 183072062f5744557e270a38192554c3126ea5f97434Tim Northover ldurb w2, [sp, #256] 183172062f5744557e270a38192554c3126ea5f97434Tim Northover sturh w17, [x1, #256] 183272062f5744557e270a38192554c3126ea5f97434Tim Northover ldursw x20, [x1, #256] 183372062f5744557e270a38192554c3126ea5f97434Tim Northover ldur x12, [sp, #256] 1834b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 183572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldurb w2, [sp, #256] 183672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1837b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 183872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sturh w17, [x1, #256] 183972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1840b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 184172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldursw x20, [x1, #256] 184272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1843b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 184472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldur x12, [sp, #256] 184572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 184672062f5744557e270a38192554c3126ea5f97434Tim Northover 184772062f5744557e270a38192554c3126ea5f97434Tim Northover stur h2, [x2, #-257] 184872062f5744557e270a38192554c3126ea5f97434Tim Northover stur b2, [x2, #-257] 184972062f5744557e270a38192554c3126ea5f97434Tim Northover ldursb x9, [sp, #-257] 185072062f5744557e270a38192554c3126ea5f97434Tim Northover ldur w2, [x30, #-257] 185172062f5744557e270a38192554c3126ea5f97434Tim Northover stur q9, [x20, #-257] 1852b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 185372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur h2, [x2, #-257] 185472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1855b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 185672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur b2, [x2, #-257] 185772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1858b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 185972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldursb x9, [sp, #-257] 186072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1861b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 186272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldur w2, [x30, #-257] 186372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1864b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 186572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur q9, [x20, #-257] 186672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 186772062f5744557e270a38192554c3126ea5f97434Tim Northover 186872062f5744557e270a38192554c3126ea5f97434Tim Northover prfum pstl3strm, [xzr] 186972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 187072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfum pstl3strm, [xzr] 187172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 187272062f5744557e270a38192554c3126ea5f97434Tim Northover 187372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 187472062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-store register (immediate post-indexed) 187572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 187672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x3, [x4, #25], #0 187772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x4, [x9, #0], #4 1878b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected symbolic reference or integer in range [0, 32760] 187972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x3, [x4, #25], #0 188072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 188172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 188272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x4, [x9, #0], #4 188372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 188472062f5744557e270a38192554c3126ea5f97434Tim Northover 188572062f5744557e270a38192554c3126ea5f97434Tim Northover strb w1, [x19], #256 188672062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [sp], #-257 188772062f5744557e270a38192554c3126ea5f97434Tim Northover strh w1, [x19], #256 188872062f5744557e270a38192554c3126ea5f97434Tim Northover strh w9, [sp], #-257 188972062f5744557e270a38192554c3126ea5f97434Tim Northover str w1, [x19], #256 189072062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [sp], #-257 1891b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 189272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w1, [x19], #256 189372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1894b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 189572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [sp], #-257 189672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1897b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 189872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w1, [x19], #256 189972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1900b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 190172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w9, [sp], #-257 190272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1903b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 190472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w1, [x19], #256 190572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1906b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 190772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [sp], #-257 190872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 190972062f5744557e270a38192554c3126ea5f97434Tim Northover 191072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w1, [x19], #256 191172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w9, [sp], #-257 191272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w1, [x19], #256 191372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w9, [sp], #-257 191472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w1, [x19], #256 191572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [sp], #-257 1916b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 191772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w1, [x19], #256 191872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1919b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 192072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w9, [sp], #-257 192172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1922b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 192372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w1, [x19], #256 192472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1925b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 192672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w9, [sp], #-257 192772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1928b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 192972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w1, [x19], #256 193072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1931b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 193272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [sp], #-257 193372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 193472062f5744557e270a38192554c3126ea5f97434Tim Northover 193572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x2, [x3], #256 193672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x22, [x13], #-257 193772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x2, [x3], #256 193872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x22, [x13], #-257 193972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, [x3], #256 194072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x22, [x13], #-257 1941b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 194272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x2, [x3], #256 194372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1944b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 194572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x22, [x13], #-257 194672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1947b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 194872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x2, [x3], #256 194972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1950b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 195172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x22, [x13], #-257 195272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1953b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 195472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, [x3], #256 195572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1956b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 195772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x22, [x13], #-257 195872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 195972062f5744557e270a38192554c3126ea5f97434Tim Northover 196072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w2, [x3], #256 196172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w22, [x13], #-257 196272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x3], #256 196372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w22, [x13], #-257 1964b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 196572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w2, [x3], #256 196672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1967b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 196872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w22, [x13], #-257 196972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1970b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 197172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w2, [x3], #256 197272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1973b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 197472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w22, [x13], #-257 197572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 197672062f5744557e270a38192554c3126ea5f97434Tim Northover 197772062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x3], #256 197872062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x13], #-257 197972062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x3], #256 198072062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x13], #-257 198172062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x3], #256 198272062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x13], #-257 198372062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x3], #256 198472062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x13], #-257 198572062f5744557e270a38192554c3126ea5f97434Tim Northover str q3, [x3], #256 198672062f5744557e270a38192554c3126ea5f97434Tim Northover str q3, [x13], #-257 1987b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 198872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x3], #256 198972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1990b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 199172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x13], #-257 199272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1993b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 199472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x3], #256 199572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1996b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 199772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x13], #-257 199872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1999b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 200072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x3], #256 200172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2002b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 200372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x13], #-257 200472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2005b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 200672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x3], #256 200772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2008b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 200972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x13], #-257 201072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2011b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 201272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q3, [x3], #256 201372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2014b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 201572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q3, [x13], #-257 201672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 201772062f5744557e270a38192554c3126ea5f97434Tim Northover 201872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x3], #256 201972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x13], #-257 202072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x3], #256 202172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x13], #-257 202272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x3], #256 202372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x13], #-257 202472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x3], #256 202572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x13], #-257 202672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q3, [x3], #256 202772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q3, [x13], #-257 2028b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 202972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x3], #256 203072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2031b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 203272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x13], #-257 203372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2034b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 203572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x3], #256 203672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2037b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 203872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x13], #-257 203972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2040b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 204172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x3], #256 204272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2043b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 204472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x13], #-257 204572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2046b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 204772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x3], #256 204872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2049b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 205072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x13], #-257 205172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2052b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 205372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q3, [x3], #256 205472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2055b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 205672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q3, [x13], #-257 205772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 205872062f5744557e270a38192554c3126ea5f97434Tim Northover 205972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 206072062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-store register (immediate pre-indexed) 206172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 206272062f5744557e270a38192554c3126ea5f97434Tim Northover 206372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x3, [x4]! 206472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: 206572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x3, [x4]! 206672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 206772062f5744557e270a38192554c3126ea5f97434Tim Northover 206872062f5744557e270a38192554c3126ea5f97434Tim Northover strb w1, [x19, #256]! 206972062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [sp, #-257]! 207072062f5744557e270a38192554c3126ea5f97434Tim Northover strh w1, [x19, #256]! 207172062f5744557e270a38192554c3126ea5f97434Tim Northover strh w9, [sp, #-257]! 207272062f5744557e270a38192554c3126ea5f97434Tim Northover str w1, [x19, #256]! 207372062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [sp, #-257]! 207472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 207572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w1, [x19, #256]! 207672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2077b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 207872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [sp, #-257]! 207972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 208072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 208172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w1, [x19, #256]! 208272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2083b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 208472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w9, [sp, #-257]! 208572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 208672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 208772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w1, [x19, #256]! 208872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2089b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 209072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [sp, #-257]! 209172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 209272062f5744557e270a38192554c3126ea5f97434Tim Northover 209372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w1, [x19, #256]! 209472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w9, [sp, #-257]! 209572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w1, [x19, #256]! 209672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w9, [sp, #-257]! 209772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w1, [x19, #256]! 209872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [sp, #-257]! 209972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 210072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w1, [x19, #256]! 210172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2102b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 210372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w9, [sp, #-257]! 210472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 210572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 210672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w1, [x19, #256]! 210772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2108b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 210972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w9, [sp, #-257]! 211072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 211172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 211272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w1, [x19, #256]! 211372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2114b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 211572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [sp, #-257]! 211672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 211772062f5744557e270a38192554c3126ea5f97434Tim Northover 211872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x2, [x3, #256]! 211972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x22, [x13, #-257]! 212072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x2, [x3, #256]! 212172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x22, [x13, #-257]! 212272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, [x3, #256]! 212372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x22, [x13, #-257]! 212472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 212572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x2, [x3, #256]! 212672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2127b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 212872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x22, [x13, #-257]! 212972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 213072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 213172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x2, [x3, #256]! 213272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2133b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 213472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x22, [x13, #-257]! 213572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 213672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 213772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, [x3, #256]! 213872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2139b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 214072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x22, [x13, #-257]! 214172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 214272062f5744557e270a38192554c3126ea5f97434Tim Northover 214372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w2, [x3, #256]! 214472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w22, [x13, #-257]! 214572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x3, #256]! 214672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w22, [x13, #-257]! 214772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 214872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w2, [x3, #256]! 214972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2150b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 215172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w22, [x13, #-257]! 215272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 215372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 215472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w2, [x3, #256]! 215572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2156b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 215772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w22, [x13, #-257]! 215872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 215972062f5744557e270a38192554c3126ea5f97434Tim Northover 216072062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x3, #256]! 216172062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x13, #-257]! 216272062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x3, #256]! 216372062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x13, #-257]! 216472062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x3, #256]! 216572062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x13, #-257]! 216672062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x3, #256]! 216772062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x13, #-257]! 216872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 216972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x3, #256]! 217072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2171b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 217272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x13, #-257]! 217372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 217472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 217572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x3, #256]! 217672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2177b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 217872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x13, #-257]! 217972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 218172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x3, #256]! 218272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2183b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 218472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x13, #-257]! 218572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 218772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x3, #256]! 218872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2189b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 219072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x13, #-257]! 219172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 219272062f5744557e270a38192554c3126ea5f97434Tim Northover 219372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x3, #256]! 219472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x13, #-257]! 219572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x3, #256]! 219672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x13, #-257]! 219772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x3, #256]! 219872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x13, #-257]! 219972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x3, #256]! 220072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x13, #-257]! 220172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 220272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x3, #256]! 220372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2204b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 220572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x13, #-257]! 220672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 220772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 220872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x3, #256]! 220972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2210b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 221172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x13, #-257]! 221272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 221372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 221472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x3, #256]! 221572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2216b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 221772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x13, #-257]! 221872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 221972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 222072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x3, #256]! 222172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2222b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 222372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x13, #-257]! 222472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 222572062f5744557e270a38192554c3126ea5f97434Tim Northover 222672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 222772062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unprivileged) 222872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 222972062f5744557e270a38192554c3126ea5f97434Tim Northover 223072062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrb w2, [sp, #256] 223172062f5744557e270a38192554c3126ea5f97434Tim Northover sttrh w17, [x1, #256] 223272062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrsw x20, [x1, #256] 223372062f5744557e270a38192554c3126ea5f97434Tim Northover ldtr x12, [sp, #256] 2234b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 223572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrb w2, [sp, #256] 223672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2237b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 223872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttrh w17, [x1, #256] 223972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2240b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 224172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrsw x20, [x1, #256] 224272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2243b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 224472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtr x12, [sp, #256] 224572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 224672062f5744557e270a38192554c3126ea5f97434Tim Northover 224772062f5744557e270a38192554c3126ea5f97434Tim Northover sttr h2, [x2, #-257] 224872062f5744557e270a38192554c3126ea5f97434Tim Northover sttr b2, [x2, #-257] 224972062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrsb x9, [sp, #-257] 225072062f5744557e270a38192554c3126ea5f97434Tim Northover ldtr w2, [x30, #-257] 225172062f5744557e270a38192554c3126ea5f97434Tim Northover sttr q9, [x20, #-257] 225272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 225372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr h2, [x2, #-257] 2254b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 225572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 225672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr b2, [x2, #-257] 2257b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2258b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 225972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrsb x9, [sp, #-257] 226072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2261b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 226272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtr w2, [x30, #-257] 226372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 226472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 226572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr q9, [x20, #-257] 226672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 226772062f5744557e270a38192554c3126ea5f97434Tim Northover 226872062f5744557e270a38192554c3126ea5f97434Tim Northover 226972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 227072062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unsigned immediate) 227172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 227272062f5744557e270a38192554c3126ea5f97434Tim Northover 227372062f5744557e270a38192554c3126ea5f97434Tim Northover//// Out of range immediates 227472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q0, [x11, #65536] 227572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x0, [sp, #32768] 227672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [x4, #16384] 227772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w2, [x21, #8192] 227872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w3, [x12, #4096] 2279b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [-256, 255] 228072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q0, [x11, #65536] 228172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2282b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 228372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x0, [sp, #32768] 228472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2285b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 228672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [x4, #16384] 228772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2288b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 228972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w2, [x21, #8192] 229072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2291b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 229272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w3, [x12, #4096] 229372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 229472062f5744557e270a38192554c3126ea5f97434Tim Northover 229572062f5744557e270a38192554c3126ea5f97434Tim Northover//// Misaligned addresses 229672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [x0, #2] 229772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x0, #123] 229872062f5744557e270a38192554c3126ea5f97434Tim Northover str q0, [x0, #8] 229972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: too few operands for instruction 230072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [x0, #2] 230172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 230272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: too few operands for instruction 230372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w2, [x0, #123] 230472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 230572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: too few operands for instruction 230672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q0, [x0, #8] 230772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 230872062f5744557e270a38192554c3126ea5f97434Tim Northover 230972062f5744557e270a38192554c3126ea5f97434Tim Northover//// 32-bit addresses 231072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [w20] 231172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x3, [wsp] 231272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 231372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [w20] 231472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 231572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 231672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x3, [wsp] 231772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 231872062f5744557e270a38192554c3126ea5f97434Tim Northover 231972062f5744557e270a38192554c3126ea5f97434Tim Northover//// Store things 232072062f5744557e270a38192554c3126ea5f97434Tim Northover strb w0, [wsp] 232172062f5744557e270a38192554c3126ea5f97434Tim Northover strh w31, [x23, #1] 232272062f5744557e270a38192554c3126ea5f97434Tim Northover str x5, [x22, #12] 232372062f5744557e270a38192554c3126ea5f97434Tim Northover str w7, [x12, #16384] 232472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 232572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w0, [wsp] 232672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 232772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 232872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w31, [x23, #1] 232972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 233072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: too few operands for instruction 233172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str x5, [x22, #12] 233272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2333b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [-256, 255] 233472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w7, [x12, #16384] 233572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 233672062f5744557e270a38192554c3126ea5f97434Tim Northover 233772062f5744557e270a38192554c3126ea5f97434Tim Northover//// Bad PRFMs 233872062f5744557e270a38192554c3126ea5f97434Tim Northover prfm #-1, [sp] 233972062f5744557e270a38192554c3126ea5f97434Tim Northover prfm #32, [sp, #8] 234072062f5744557e270a38192554c3126ea5f97434Tim Northover prfm pldl1strm, [w3, #8] 234172062f5744557e270a38192554c3126ea5f97434Tim Northover prfm wibble, [sp] 234272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: Invalid immediate for instruction 234372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm #-1, [sp] 234472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 234572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 234672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm #32, [sp, #8] 234772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 234872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 234972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm pldl1strm, [w3, #8] 235072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 235172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: operand specifier not recognised 235272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm wibble, [sp] 235372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 235472062f5744557e270a38192554c3126ea5f97434Tim Northover 235572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 235672062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register (register offset) 235772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 235872062f5744557e270a38192554c3126ea5f97434Tim Northover 235972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w3, [xzr, x3] 236072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w4, [x0, x4, lsl] 236172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [x5, x5, uxtw] 236272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w10, [x6, x9, sxtw #2] 236372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w11, [x7, w2, lsl #2] 236472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w12, [x8, w1, sxtx] 236572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 236672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w3, [xzr, x3] 236772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 236872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected #imm after shift specifier 236972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w4, [x0, x4, lsl] 237072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2371b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 237272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [x5, x5, uxtw] 237372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2374b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 237572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w10, [x6, x9, sxtw #2] 237672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2377b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 237872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w11, [x7, w2, lsl #2] 237972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2380b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 238172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w12, [x8, w1, sxtx] 238272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 238372062f5744557e270a38192554c3126ea5f97434Tim Northover 238472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w9, [x4, x2, lsl #-1] 238572062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [x4, x2, lsl #1] 238672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 238772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w9, [x4, x2, lsl #-1] 238872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2389b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 239072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [x4, x2, lsl #1] 239172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 239272062f5744557e270a38192554c3126ea5f97434Tim Northover 239372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w9, [x4, x2, lsl #-1] 239472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h13, [x4, w2, uxtw #2] 239572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 239672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w9, [x4, x2, lsl #-1] 239772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2398b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #1 239972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h13, [x4, w2, uxtw #2] 2400b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 240172062f5744557e270a38192554c3126ea5f97434Tim Northover 240272062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [x5, w9, sxtw #-1] 240372062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [sp, w9, uxtw #1] 240472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x9, [x15, x4, sxtx #3] 240572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 240672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [x5, w9, sxtw #-1] 240772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2408b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 240972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [sp, w9, uxtw #1] 2410b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2411b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 241272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x9, [x15, x4, sxtx #3] 2413b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 241472062f5744557e270a38192554c3126ea5f97434Tim Northover 241572062f5744557e270a38192554c3126ea5f97434Tim Northover str xzr, [x5, x9, sxtx #-1] 241672062f5744557e270a38192554c3126ea5f97434Tim Northover prfm pldl3keep, [sp, x20, lsl #2] 241772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x20, wzr, uxtw #4] 241872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 241972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str xzr, [x5, x9, sxtx #-1] 242072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2421b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #3 242272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm pldl3keep, [sp, x20, lsl #2] 242372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2424b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #3 242572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x20, wzr, uxtw #4] 242672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 242772062f5744557e270a38192554c3126ea5f97434Tim Northover 242872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q5, [sp, x2, lsl #-1] 242972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q10, [x20, w4, uxtw #2] 243072062f5744557e270a38192554c3126ea5f97434Tim Northover str q21, [x20, w4, uxtw #5] 243172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 243272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q5, [sp, x2, lsl #-1] 243372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2434b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4 243572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q10, [x20, w4, uxtw #2] 243672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2437b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4 243872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q21, [x20, w4, uxtw #5] 243972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 244072062f5744557e270a38192554c3126ea5f97434Tim Northover 244172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 244272062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (offset) 244372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 244472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4, #1] 244572062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3, #253] 244672062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5, #256] 244772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9, #-260] 244872062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp] 2449b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 245072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4, #1] 2451b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2452b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 245372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3, #253] 245472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2455b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 245672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5, #256] 245772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2458b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 245972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9, #-260] 246072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 246172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 246272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp] 246372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 246472062f5744557e270a38192554c3126ea5f97434Tim Northover 246572062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp, #2] 246672062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10, #256] 246772062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11, #-260] 2468b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 246972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp, #2] 247072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2471b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 247272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10, #256] 247372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2474b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 247572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11, #-260] 247672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 247772062f5744557e270a38192554c3126ea5f97434Tim Northover 247872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp, #4] 247972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9, #512] 248072062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10, #-520] 2481b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508] 248272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4] 248372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2484b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 248572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512] 248672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2487b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 248872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520] 248972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 249072062f5744557e270a38192554c3126ea5f97434Tim Northover 249172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10] 249272062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9] 249372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 249472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10] 249572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 249672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 249772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9] 249872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 249972062f5744557e270a38192554c3126ea5f97434Tim Northover 250072062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp, #-2] 250172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4, #-260] 250272062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5, #256] 2503b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 250472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp, #-2] 250572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2506b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 250772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4, #-260] 250872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2509b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 251072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5, #256] 251172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 251272062f5744557e270a38192554c3126ea5f97434Tim Northover 251372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr] 251472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0, #512] 251572062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0, #-520] 251672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 251772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr] 251872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2519b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 252072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512] 252172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2522b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 252372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520] 252472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 252572062f5744557e270a38192554c3126ea5f97434Tim Northover 252672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp] 252772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp, #8] 252872062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5, #1024] 252972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23, #-1040] 253072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 253172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp] 253272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2533b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 253472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8] 253572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2536b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 253772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024] 253872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2539b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 254072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040] 254172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 254272062f5744557e270a38192554c3126ea5f97434Tim Northover 254372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 254472062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (post-indexed) 254572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 254672062f5744557e270a38192554c3126ea5f97434Tim Northover 254772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4], #1 254872062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3], #253 254972062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5], #256 255072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9], #-260 255172062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp], #0 2552b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 255372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4], #1 255472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2555b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 255672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3], #253 255772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2558b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 255972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5], #256 256072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2561b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 256272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9], #-260 256372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 256472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 256572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp], #0 256672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 256772062f5744557e270a38192554c3126ea5f97434Tim Northover 256872062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp], #2 256972062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10], #256 257072062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11], #-260 2571b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 257272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp], #2 257372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2574b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 257572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10], #256 257672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2577b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 257872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11], #-260 257972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 258072062f5744557e270a38192554c3126ea5f97434Tim Northover 258172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp], #4 258272062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9], #512 258372062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10], #-520 2584b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508] 258572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp], #4 2586b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2587b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 258872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9], #512 2589b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2590b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 259172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10], #-520 2592b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 259372062f5744557e270a38192554c3126ea5f97434Tim Northover 259472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10], #0 259572062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9], #0 259672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 259772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10], #0 259872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 259972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 260072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9], #0 260172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 260272062f5744557e270a38192554c3126ea5f97434Tim Northover 260372062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp], #-2 260472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4], #-260 260572062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5], #256 2606b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 260772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp], #-2 260872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2609b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 261072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4], #-260 261172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2612b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 261372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5], #256 261472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 261572062f5744557e270a38192554c3126ea5f97434Tim Northover 261672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr], #0 261772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0], #512 261872062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0], #-520 261972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 262072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr], #0 262172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2622b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 262372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0], #512 262472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2625b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 262672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0], #-520 262772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 262872062f5744557e270a38192554c3126ea5f97434Tim Northover 262972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp], #0 263072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp], #8 263172062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5], #1024 263272062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23], #-1040 263372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 263472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp], #0 263572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2636b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 263772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp], #8 263872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2639b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 264072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5], #1024 264172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2642b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 264372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23], #-1040 264472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 264572062f5744557e270a38192554c3126ea5f97434Tim Northover 264672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 264772062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (pre-indexed) 264872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 264972062f5744557e270a38192554c3126ea5f97434Tim Northover 265072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4, #1]! 265172062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3, #253]! 265272062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5, #256]! 265372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9, #-260]! 265472062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp, #0]! 2655b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 265672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4, #1]! 265772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2658b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 265972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3, #253]! 266072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2661b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 266272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5, #256]! 266372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2664b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 266572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9, #-260]! 266672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 266772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 266872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp, #0]! 266972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 267072062f5744557e270a38192554c3126ea5f97434Tim Northover 267172062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp, #2]! 267272062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10, #256]! 267372062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11, #-260]! 2674b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 267572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp, #2]! 267672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2677b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 267872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10, #256]! 267972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2680b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 268172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11, #-260]! 268272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 268372062f5744557e270a38192554c3126ea5f97434Tim Northover 268472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp, #4]! 268572062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9, #512]! 268672062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10, #-520]! 2687b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508] 268872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4]! 268972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2690b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 269172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512]! 269272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2693b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 269472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520]! 269572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 269672062f5744557e270a38192554c3126ea5f97434Tim Northover 269772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10, #0]! 269872062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9, #0]! 269972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 270072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10, #0]! 270172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 270272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 270372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9, #0]! 270472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 270572062f5744557e270a38192554c3126ea5f97434Tim Northover 270672062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp, #-2]! 270772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4, #-260]! 270872062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5, #256]! 2709b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 271072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp, #-2]! 271172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2712b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 271372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4, #-260]! 271472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2715b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 271672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5, #256]! 271772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 271872062f5744557e270a38192554c3126ea5f97434Tim Northover 271972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr, #0]! 272072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0, #512]! 272172062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0, #-520]! 272272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 272372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr, #0]! 272472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2725b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 272672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512]! 272772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2728b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 272972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520]! 273072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 273172062f5744557e270a38192554c3126ea5f97434Tim Northover 273272062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp, #0]! 273372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp, #8]! 273472062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5, #1024]! 273572062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23, #-1040]! 273672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 273772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp, #0]! 273872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2739b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 274072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8]! 274172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2742b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 274372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024]! 274472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2745b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 274672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040]! 274772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 274872062f5744557e270a38192554c3126ea5f97434Tim Northover 274972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 275072062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (offset) 275172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 275272062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp w3, w2, [x4, #1] 275372062f5744557e270a38192554c3126ea5f97434Tim Northover stnp w1, w2, [x3, #253] 275472062f5744557e270a38192554c3126ea5f97434Tim Northover stnp w9, w10, [x5, #256] 275572062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp w11, w12, [x9, #-260] 275672062f5744557e270a38192554c3126ea5f97434Tim Northover stnp wsp, w9, [sp] 2757b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 275872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp w3, w2, [x4, #1] 2759b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2760b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 276172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp w1, w2, [x3, #253] 2762b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2763b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 276472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp w9, w10, [x5, #256] 2765b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2766b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 276772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp w11, w12, [x9, #-260] 2768b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 276972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 277072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp wsp, w9, [sp] 2771b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 277272062f5744557e270a38192554c3126ea5f97434Tim Northover 277372062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp x2, x5, [sp, #4] 277472062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp x5, x6, [x9, #512] 277572062f5744557e270a38192554c3126ea5f97434Tim Northover stnp x7, x8, [x10, #-520] 2776b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 8 in range [-512, 508] 277772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp x2, x5, [sp, #4] 2778b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2779b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 278072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp x5, x6, [x9, #512] 2781b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2782b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 278372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp x7, x8, [x10, #-520] 2784b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 278572062f5744557e270a38192554c3126ea5f97434Tim Northover 278672062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp sp, x3, [x10] 278772062f5744557e270a38192554c3126ea5f97434Tim Northover stnp x3, sp, [x9] 278872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 278972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp sp, x3, [x10] 279072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 279172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 279272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp x3, sp, [x9] 279372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 279472062f5744557e270a38192554c3126ea5f97434Tim Northover 279572062f5744557e270a38192554c3126ea5f97434Tim Northover stnp s3, s5, [sp, #-2] 279672062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp s6, s26, [x4, #-260] 279772062f5744557e270a38192554c3126ea5f97434Tim Northover stnp s13, s19, [x5, #256] 2798b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer multiple of 4 in range [-256, 252] 279972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp s3, s5, [sp, #-2] 280072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2801b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 280272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp s6, s26, [x4, #-260] 280372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2804b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 4 in range [-256, 252] 280572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp s13, s19, [x5, #256] 280672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 280772062f5744557e270a38192554c3126ea5f97434Tim Northover 280872062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d3, d4, [xzr] 280972062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d5, d6, [x0, #512] 281072062f5744557e270a38192554c3126ea5f97434Tim Northover stnp d7, d8, [x0, #-520] 281172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 281272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d3, d4, [xzr] 281372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2814b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 281572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d5, d6, [x0, #512] 281672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2817b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 8 in range [-512, 508] 281872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp d7, d8, [x0, #-520] 281972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 282072062f5744557e270a38192554c3126ea5f97434Tim Northover 282172062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d3, q2, [sp] 282272062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp q3, q5, [sp, #8] 282372062f5744557e270a38192554c3126ea5f97434Tim Northover stnp q20, q25, [x5, #1024] 282472062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp q30, q15, [x23, #-1040] 282572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 282672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d3, q2, [sp] 282772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2828b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 282972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp q3, q5, [sp, #8] 283072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2831b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 283272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp q20, q25, [x5, #1024] 283372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2834b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer multiple of 16 in range [-1024, 1016] 283572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp q30, q15, [x23, #-1040] 283672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 283772062f5744557e270a38192554c3126ea5f97434Tim Northover 283872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 283972062f5744557e270a38192554c3126ea5f97434Tim Northover// Logical (shifted register) 284072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 284172062f5744557e270a38192554c3126ea5f97434Tim Northover orr w0, w1, #0xffffffff 284272062f5744557e270a38192554c3126ea5f97434Tim Northover and x3, x5, #0xffffffffffffffff 2843b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 284472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w0, w1, #0xffffffff 284572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2846b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 284772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x3, x5, #0xffffffffffffffff 284872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 284972062f5744557e270a38192554c3126ea5f97434Tim Northover 285072062f5744557e270a38192554c3126ea5f97434Tim Northover ands w3, w9, #0x0 285172062f5744557e270a38192554c3126ea5f97434Tim Northover eor x2, x0, #0x0 2852b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 285372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands w3, w9, #0x0 285472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2855b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 285672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor x2, x0, #0x0 285772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 285872062f5744557e270a38192554c3126ea5f97434Tim Northover 285972062f5744557e270a38192554c3126ea5f97434Tim Northover eor w3, w5, #0x83 286072062f5744557e270a38192554c3126ea5f97434Tim Northover eor x9, x20, #0x1234 2861b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 286272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor w3, w5, #0x83 286372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2864b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 286572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor x9, x20, #0x1234 286672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 286772062f5744557e270a38192554c3126ea5f97434Tim Northover 286872062f5744557e270a38192554c3126ea5f97434Tim Northover and wzr, w4, 0xffff0000 286972062f5744557e270a38192554c3126ea5f97434Tim Northover eor xzr, x9, #0xffff0000ffff0000 287072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 287172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and wzr, w4, 0xffff0000 287272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 287372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 287472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor xzr, x9, #0xffff0000ffff0000 287572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 287672062f5744557e270a38192554c3126ea5f97434Tim Northover 287772062f5744557e270a38192554c3126ea5f97434Tim Northover orr w3, wsp, #0xf0f0f0f0 287872062f5744557e270a38192554c3126ea5f97434Tim Northover ands x3, sp, #0xaaaaaaaaaaaaaaaa 287972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 288072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w3, wsp, #0xf0f0f0f0 288172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 288272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 288372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands x3, sp, #0xaaaaaaaaaaaaaaaa 288472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 288572062f5744557e270a38192554c3126ea5f97434Tim Northover 288672062f5744557e270a38192554c3126ea5f97434Tim Northover tst sp, #0xe0e0e0e0e0e0e0e0 288772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 288872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tst sp, #0xe0e0e0e0e0e0e0e0 288972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 289072062f5744557e270a38192554c3126ea5f97434Tim Northover 289172062f5744557e270a38192554c3126ea5f97434Tim Northover // movi has been removed from the specification. Make sure it's really gone. 289272062f5744557e270a38192554c3126ea5f97434Tim Northover movi wzr, #0x44444444 289372062f5744557e270a38192554c3126ea5f97434Tim Northover movi w3, #0xffff 289472062f5744557e270a38192554c3126ea5f97434Tim Northover movi x9, #0x0000ffff00000000 289587773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 289672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi wzr, #0x44444444 289772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 289887773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 289972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi w3, #0xffff 290072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 290187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 290272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi x9, #0x0000ffff00000000 290372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 290472062f5744557e270a38192554c3126ea5f97434Tim Northover 290572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 290672062f5744557e270a38192554c3126ea5f97434Tim Northover// Logical (shifted register) 290772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 290872062f5744557e270a38192554c3126ea5f97434Tim Northover 290972062f5744557e270a38192554c3126ea5f97434Tim Northover //// Out of range shifts 291072062f5744557e270a38192554c3126ea5f97434Tim Northover and w2, w24, w6, lsl #-1 291172062f5744557e270a38192554c3126ea5f97434Tim Northover and w4, w6, w12, lsl #32 291272062f5744557e270a38192554c3126ea5f97434Tim Northover and x4, x6, x12, lsl #64 291372062f5744557e270a38192554c3126ea5f97434Tim Northover and x2, x5, x11, asr 291472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 291572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and w2, w24, w6, lsl #-1 291672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2917b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 291872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and w4, w6, w12, lsl #32 291972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2920b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 292172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x4, x6, x12, lsl #64 292272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 292372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected #imm after shift specifier 292472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x2, x5, x11, asr 292572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 292672062f5744557e270a38192554c3126ea5f97434Tim Northover 292772062f5744557e270a38192554c3126ea5f97434Tim Northover //// sp not allowed 292872062f5744557e270a38192554c3126ea5f97434Tim Northover orn wsp, w3, w5 292972062f5744557e270a38192554c3126ea5f97434Tim Northover bics x20, sp, x9, lsr #0 293072062f5744557e270a38192554c3126ea5f97434Tim Northover orn x2, x6, sp, lsl #3 293172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 293272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orn wsp, w3, w5 293372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 293472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 293572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bics x20, sp, x9, lsr #0 293672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 293772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 293872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orn x2, x6, sp, lsl #3 293972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 294072062f5744557e270a38192554c3126ea5f97434Tim Northover 294172062f5744557e270a38192554c3126ea5f97434Tim Northover //// Mismatched registers 294272062f5744557e270a38192554c3126ea5f97434Tim Northover and x3, w2, w1 294372062f5744557e270a38192554c3126ea5f97434Tim Northover ands w1, x12, w2 294472062f5744557e270a38192554c3126ea5f97434Tim Northover and x4, x5, w6, lsl #12 294572062f5744557e270a38192554c3126ea5f97434Tim Northover orr w2, w5, x7, asr #0 294672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 294772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x3, w2, w1 294872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 294972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 295072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands w1, x12, w2 295172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2952b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 295372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x4, x5, w6, lsl #12 295472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2955b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 295672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w2, w5, x7, asr #0 295772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 295872062f5744557e270a38192554c3126ea5f97434Tim Northover 295972062f5744557e270a38192554c3126ea5f97434Tim Northover //// Shifts should not be allowed on mov 296072062f5744557e270a38192554c3126ea5f97434Tim Northover mov w3, w7, lsl #13 296172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 296272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mov w3, w7, lsl #13 296372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 296472062f5744557e270a38192554c3126ea5f97434Tim Northover 296572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 296672062f5744557e270a38192554c3126ea5f97434Tim Northover// Move wide (immediate) 296772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 296872062f5744557e270a38192554c3126ea5f97434Tim Northover 296972062f5744557e270a38192554c3126ea5f97434Tim Northover movz w3, #65536, lsl #0 297072062f5744557e270a38192554c3126ea5f97434Tim Northover movz w4, #65536 297172062f5744557e270a38192554c3126ea5f97434Tim Northover movn w1, #2, lsl #1 297272062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #0, lsl #-1 297372062f5744557e270a38192554c3126ea5f97434Tim Northover movn w2, #-1, lsl #0 297472062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #-1 297572062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #1, lsl #32 297672062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #12, lsl #64 2977b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 297872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w3, #65536, lsl #0 297972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2980b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 298172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w4, #65536 298272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2983b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 298472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w1, #2, lsl #1 298572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 298672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: only 'lsl #+N' valid after immediate 298772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #0, lsl #-1 298872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2989b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 299072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w2, #-1, lsl #0 299172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2992b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 299372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #-1 299472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2995b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 299672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #1, lsl #32 299772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2998b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 299972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x2, #12, lsl #64 300072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 300172062f5744557e270a38192554c3126ea5f97434Tim Northover 300272062f5744557e270a38192554c3126ea5f97434Tim Northover movz x12, #:abs_g0:sym, lsl #16 300372062f5744557e270a38192554c3126ea5f97434Tim Northover movz x12, #:abs_g0:sym, lsl #0 300472062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #:abs_g0:sym 300572062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g0:sym 300672062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #:abs_g0_nc:sym 300772062f5744557e270a38192554c3126ea5f97434Tim Northover movn x4, #:abs_g0_nc:sym 3008b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 300972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x12, #:abs_g0:sym, lsl #16 301072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3011b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 301272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x12, #:abs_g0:sym, lsl #0 301372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3014b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 301572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x2, #:abs_g0:sym 301672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3017b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 301872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g0:sym 301972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3020b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 302172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #:abs_g0_nc:sym 302272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3023b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 302472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x4, #:abs_g0_nc:sym 302572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 302672062f5744557e270a38192554c3126ea5f97434Tim Northover 302772062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #:abs_g1:sym 302872062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g1:sym 302972062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #:abs_g1_nc:sym 303072062f5744557e270a38192554c3126ea5f97434Tim Northover movn x4, #:abs_g1_nc:sym 3031b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 303272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x2, #:abs_g1:sym 303372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3034b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 303572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g1:sym 303672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3037b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 303872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #:abs_g1_nc:sym 303972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3040b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 304172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x4, #:abs_g1_nc:sym 304272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 304372062f5744557e270a38192554c3126ea5f97434Tim Northover 304472062f5744557e270a38192554c3126ea5f97434Tim Northover movz w12, #:abs_g2:sym 304572062f5744557e270a38192554c3126ea5f97434Tim Northover movn x12, #:abs_g2:sym 304672062f5744557e270a38192554c3126ea5f97434Tim Northover movk x13, #:abs_g2:sym 304772062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g2_nc:sym 304872062f5744557e270a38192554c3126ea5f97434Tim Northover movz x13, #:abs_g2_nc:sym 304972062f5744557e270a38192554c3126ea5f97434Tim Northover movn x24, #:abs_g2_nc:sym 3050b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 305172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w12, #:abs_g2:sym 305272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3053b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 305472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x12, #:abs_g2:sym 305572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3056b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 305772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x13, #:abs_g2:sym 305872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3059b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 306072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g2_nc:sym 306172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3062b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 306372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x13, #:abs_g2_nc:sym 306472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3065b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 306672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x24, #:abs_g2_nc:sym 306772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 306872062f5744557e270a38192554c3126ea5f97434Tim Northover 306972062f5744557e270a38192554c3126ea5f97434Tim Northover movn x19, #:abs_g3:sym 307072062f5744557e270a38192554c3126ea5f97434Tim Northover movz w20, #:abs_g3:sym 307172062f5744557e270a38192554c3126ea5f97434Tim Northover movk w21, #:abs_g3:sym 3072b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 307372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x19, #:abs_g3:sym 307472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3075b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 307672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w20, #:abs_g3:sym 307772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3078b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 307972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w21, #:abs_g3:sym 308072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 308172062f5744557e270a38192554c3126ea5f97434Tim Northover 308272062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g0_s:sym 308372062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g0_s:sym 3084b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 308572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g0_s:sym 308672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3087b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 308872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g0_s:sym 308972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 309072062f5744557e270a38192554c3126ea5f97434Tim Northover 309172062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g1_s:sym 309272062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g1_s:sym 3093b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 309472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g1_s:sym 309572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3096b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 309772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g1_s:sym 309872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 309972062f5744557e270a38192554c3126ea5f97434Tim Northover 310072062f5744557e270a38192554c3126ea5f97434Tim Northover movz w2, #:abs_g2_s:sym 310172062f5744557e270a38192554c3126ea5f97434Tim Northover movn w29, #:abs_g2_s:sym 310272062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g2_s:sym 310372062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g2_s:sym 3104b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected relocated symbol or integer in range [0, 65535] 310572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w2, #:abs_g2_s:sym 310672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3107b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 310872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w29, #:abs_g2_s:sym 310972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3110b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 311172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g2_s:sym 311272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3113b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected relocated symbol or integer in range [0, 65535] 311472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g2_s:sym 311572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 311672062f5744557e270a38192554c3126ea5f97434Tim Northover 311772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 311872062f5744557e270a38192554c3126ea5f97434Tim Northover// PC-relative addressing 311972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 312072062f5744557e270a38192554c3126ea5f97434Tim Northover 312172062f5744557e270a38192554c3126ea5f97434Tim Northover adr sp, loc // expects xzr 312272062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x3, #20 // Immediate unaligned 312372062f5744557e270a38192554c3126ea5f97434Tim Northover adrp w2, loc // 64-bit register needed 312472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 312572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr sp, loc 312672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3127b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 312872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x3, #20 312972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 313072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 313172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp w2, loc 313272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 313372062f5744557e270a38192554c3126ea5f97434Tim Northover 313472062f5744557e270a38192554c3126ea5f97434Tim Northover adr x9, #1048576 313572062f5744557e270a38192554c3126ea5f97434Tim Northover adr x2, #-1048577 313672062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x9, #4294967296 313772062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x20, #-4294971392 3138b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 313972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr x9, #1048576 314072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3141b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 314272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr x2, #-1048577 314372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3144b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 314572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x9, #4294967296 314672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3147b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 314872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x20, #-4294971392 314972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 315072062f5744557e270a38192554c3126ea5f97434Tim Northover 315172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 315272062f5744557e270a38192554c3126ea5f97434Tim Northover// System 315372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 315472062f5744557e270a38192554c3126ea5f97434Tim Northover 315572062f5744557e270a38192554c3126ea5f97434Tim Northover hint #-1 315672062f5744557e270a38192554c3126ea5f97434Tim Northover hint #128 3157b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [0, 127] 315872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hint #-1 315972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3160b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 127] 316172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hint #128 316272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 316372062f5744557e270a38192554c3126ea5f97434Tim Northover 316472062f5744557e270a38192554c3126ea5f97434Tim Northover clrex #-1 316572062f5744557e270a38192554c3126ea5f97434Tim Northover clrex #16 3166b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 316772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: clrex #-1 316872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3169b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 317072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: clrex #16 317172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 317272062f5744557e270a38192554c3126ea5f97434Tim Northover 317372062f5744557e270a38192554c3126ea5f97434Tim Northover dsb #-1 317472062f5744557e270a38192554c3126ea5f97434Tim Northover dsb #16 317572062f5744557e270a38192554c3126ea5f97434Tim Northover dmb #-1 317672062f5744557e270a38192554c3126ea5f97434Tim Northover dmb #16 317772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 317872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dsb #-1 317972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 318072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 318172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dsb #16 318272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 318372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 318472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dmb #-1 318572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 318672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 318772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dmb #16 318872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 318972062f5744557e270a38192554c3126ea5f97434Tim Northover 319072062f5744557e270a38192554c3126ea5f97434Tim Northover isb #-1 319172062f5744557e270a38192554c3126ea5f97434Tim Northover isb #16 319272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 319372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: isb #-1 319472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 319572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Invalid immediate for instruction 319672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: isb #16 319772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 319872062f5744557e270a38192554c3126ea5f97434Tim Northover 319972062f5744557e270a38192554c3126ea5f97434Tim Northover msr daifset, x4 3200b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover msr spsel, #-1 320172062f5744557e270a38192554c3126ea5f97434Tim Northover msr spsel #-1 320272062f5744557e270a38192554c3126ea5f97434Tim Northover msr daifclr, #16 3203b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 320472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr daifset, x4 320572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3206b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 3207b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: msr spsel, #-1 3208b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 3209b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected comma before next operand 321072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr spsel #-1 321172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3212b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 15] 321372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr daifclr, #16 321472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 321572062f5744557e270a38192554c3126ea5f97434Tim Northover 321672062f5744557e270a38192554c3126ea5f97434Tim Northover sys #8, c1, c2, #7, x9 321772062f5744557e270a38192554c3126ea5f97434Tim Northover sys #3, c16, c2, #3, x10 321872062f5744557e270a38192554c3126ea5f97434Tim Northover sys #2, c11, c16, #5 321972062f5744557e270a38192554c3126ea5f97434Tim Northover sys #4, c9, c8, #8, xzr 322072062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x11, #8, c1, c2, #7 322172062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x13, #3, c16, c2, #3 322272062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x9, #2, c11, c16, #5 322372062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x4, #4, c9, c8, #8 3224b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 7] 322572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #8, c1, c2, #7, x9 322672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 322772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 322872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #3, c16, c2, #3, x10 322972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 323072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 323172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #2, c11, c16, #5 323272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3233b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 7] 323472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #4, c9, c8, #8, xzr 323572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3236b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 7] 323772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x11, #8, c1, c2, #7 323872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 323972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 324072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x13, #3, c16, c2, #3 324172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 324272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 324372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x9, #2, c11, c16, #5 324472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3245b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 7] 324672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x4, #4, c9, c8, #8 324772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 324872062f5744557e270a38192554c3126ea5f97434Tim Northover 324972062f5744557e270a38192554c3126ea5f97434Tim Northover ic ialluis, x2 325072062f5744557e270a38192554c3126ea5f97434Tim Northover ic allu, x7 325172062f5744557e270a38192554c3126ea5f97434Tim Northover ic ivau 325272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified IC op does not use a register 325372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic ialluis, x2 325472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 325572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: operand specifier not recognised 325672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic allu, x7 325772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 325872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified IC op requires a register 325972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic ivau 326072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 326172062f5744557e270a38192554c3126ea5f97434Tim Northover 326272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2E1IS 326372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2LE1IS 326472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLE1IS, x12 326572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE2IS, x11 326672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE3IS, x20 326772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE1IS 326872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE2IS 326972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE3IS 327072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ASIDE1IS 327172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAAE1IS 327272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE1IS, x0 327372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE1IS 327472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE2IS 327572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE3IS 327672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLS12E1IS, xzr 327772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAALE1IS 327872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2E1 327972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2LE1 328072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLE1, x9 328172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE2, x10 328272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE3, x11 328372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE1 328472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE2 328572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE3 328672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ASIDE1 328772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAAE1 328872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE1, x25 328972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE1 329072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE2 329172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE3 329272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLS12E1, x15 329372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAALE1 329472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 329572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2E1IS 329672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 329772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 329872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2LE1IS 329972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 330172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLE1IS, x12 330272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 330472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE2IS, x11 330572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 330772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE3IS, x20 330872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 331072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE1IS 331172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 331272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 331372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE2IS 331472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 331572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 331672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE3IS 331772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 331872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 331972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ASIDE1IS 332072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 332172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 332272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAAE1IS 332372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 332472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 332572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE1IS, x0 332672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 332772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 332872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE1IS 332972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 333072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 333172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE2IS 333272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 333372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 333472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE3IS 333572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 333672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 333772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLS12E1IS, xzr 333872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 333972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 334072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAALE1IS 334172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 334272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 334372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2E1 334472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 334572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 334672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2LE1 334772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 334872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 334972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLE1, x9 335072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 335172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 335272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE2, x10 335372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 335472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 335572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE3, x11 335672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 335772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 335872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE1 335972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 336072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 336172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE2 336272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 336372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 336472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE3 336572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 336672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 336772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ASIDE1 336872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 336972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 337072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAAE1 337172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 337272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 337372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE1, x25 337472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 337572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 337672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE1 337772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 337872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 337972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE2 338072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 338172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 338272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE3 338372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 338472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op does not use a register 338572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLS12E1, x15 338672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 338772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: specified TLBI op requires a register 338872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAALE1 338972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 339072062f5744557e270a38192554c3126ea5f97434Tim Northover 339172062f5744557e270a38192554c3126ea5f97434Tim Northover// For the MSR/MRS instructions, first make sure read-only and 339272062f5744557e270a38192554c3126ea5f97434Tim Northover// write-only registers actually are. 339372062f5744557e270a38192554c3126ea5f97434Tim Northover msr MDCCSR_EL0, x12 339472062f5744557e270a38192554c3126ea5f97434Tim Northover msr DBGDTRRX_EL0, x12 339572062f5744557e270a38192554c3126ea5f97434Tim Northover msr MDRAR_EL1, x12 339672062f5744557e270a38192554c3126ea5f97434Tim Northover msr OSLSR_EL1, x12 339772062f5744557e270a38192554c3126ea5f97434Tim Northover msr DBGAUTHSTATUS_EL1, x12 339872062f5744557e270a38192554c3126ea5f97434Tim Northover msr MIDR_EL1, x12 339972062f5744557e270a38192554c3126ea5f97434Tim Northover msr CCSIDR_EL1, x12 340072062f5744557e270a38192554c3126ea5f97434Tim Northover msr CLIDR_EL1, x12 340172062f5744557e270a38192554c3126ea5f97434Tim Northover msr CTR_EL0, x12 340272062f5744557e270a38192554c3126ea5f97434Tim Northover msr MPIDR_EL1, x12 340372062f5744557e270a38192554c3126ea5f97434Tim Northover msr REVIDR_EL1, x12 340472062f5744557e270a38192554c3126ea5f97434Tim Northover msr AIDR_EL1, x12 340572062f5744557e270a38192554c3126ea5f97434Tim Northover msr DCZID_EL0, x12 340672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_PFR0_EL1, x12 340772062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_PFR1_EL1, x12 340872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_DFR0_EL1, x12 340972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AFR0_EL1, x12 341072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR0_EL1, x12 341172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR1_EL1, x12 341272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR2_EL1, x12 341372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR3_EL1, x12 341472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR0_EL1, x12 341572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR1_EL1, x12 341672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR2_EL1, x12 341772062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR3_EL1, x12 341872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR4_EL1, x12 341972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR5_EL1, x12 342072062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR0_EL1, x12 342172062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR1_EL1, x12 342272062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR2_EL1, x12 342372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64PFR0_EL1, x12 342472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64PFR1_EL1, x12 342572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64DFR0_EL1, x12 342672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64DFR1_EL1, x12 342772062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64AFR0_EL1, x12 342872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64AFR1_EL1, x12 342972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64ISAR0_EL1, x12 343072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64ISAR1_EL1, x12 343172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64MMFR0_EL1, x12 343272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64MMFR1_EL1, x12 343372062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMCEID0_EL0, x12 343472062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMCEID1_EL0, x12 343572062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL1, x12 343672062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL2, x12 343772062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL3, x12 343872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ISR_EL1, x12 343972062f5744557e270a38192554c3126ea5f97434Tim Northover msr CNTPCT_EL0, x12 344072062f5744557e270a38192554c3126ea5f97434Tim Northover msr CNTVCT_EL0, x12 344172062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMEVCNTR31_EL0, x12 344272062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMEVTYPER31_EL0, x12 3443b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected writable system register or pstate 344472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MDCCSR_EL0, x12 344572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3446b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 344772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr DBGDTRRX_EL0, x12 344872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3449b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 345072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MDRAR_EL1, x12 345172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3452b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 345372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr OSLSR_EL1, x12 345472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3455b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 345672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr DBGAUTHSTATUS_EL1, x12 345772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3458b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 345972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MIDR_EL1, x12 346072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3461b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 346272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CCSIDR_EL1, x12 346372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3464b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 346572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CLIDR_EL1, x12 346672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3467b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 346872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CTR_EL0, x12 346972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3470b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 347172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MPIDR_EL1, x12 347272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3473b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 347472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr REVIDR_EL1, x12 347572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3476b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 347772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr AIDR_EL1, x12 347872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3479b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 348072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr DCZID_EL0, x12 348172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3482b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 348372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_PFR0_EL1, x12 348472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3485b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 348672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_PFR1_EL1, x12 348772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3488b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 348972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_DFR0_EL1, x12 349072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3491b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 349272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AFR0_EL1, x12 349372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3494b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 349572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR0_EL1, x12 349672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3497b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 349872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR1_EL1, x12 349972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3500b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 350172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR2_EL1, x12 350272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3503b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 350472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR3_EL1, x12 350572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3506b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 350772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR0_EL1, x12 350872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3509b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR1_EL1, x12 351172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3512b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR2_EL1, x12 351472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3515b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR3_EL1, x12 351772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3518b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR4_EL1, x12 352072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3521b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 352272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR5_EL1, x12 352372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3524b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 352572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR0_EL1, x12 352672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3527b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 352872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR1_EL1, x12 352972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3530b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR2_EL1, x12 353272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3533b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64PFR0_EL1, x12 353572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3536b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64PFR1_EL1, x12 353872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3539b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 354072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64DFR0_EL1, x12 354172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3542b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 354372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64DFR1_EL1, x12 354472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3545b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 354672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64AFR0_EL1, x12 354772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3548b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 354972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64AFR1_EL1, x12 355072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3551b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64ISAR0_EL1, x12 355372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3554b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64ISAR1_EL1, x12 355672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3557b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64MMFR0_EL1, x12 355972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3560b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 356172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64MMFR1_EL1, x12 356272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3563b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 356472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMCEID0_EL0, x12 356572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3566b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 356772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMCEID1_EL0, x12 356872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3569b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL1, x12 357172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3572b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL2, x12 357472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3575b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL3, x12 357772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3578b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ISR_EL1, x12 358072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3581b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 358272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CNTPCT_EL0, x12 358372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3584b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 358572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CNTVCT_EL0, x12 358672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3587b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 358872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMEVCNTR31_EL0, x12 358972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3590b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 359172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMEVTYPER31_EL0, x12 359272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 359372062f5744557e270a38192554c3126ea5f97434Tim Northover 359472062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, DBGDTRTX_EL0 359572062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, OSLAR_EL1 359672062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMSWINC_EL0 359772062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMEVCNTR31_EL0 359872062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMEVTYPER31_EL0 3599b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected readable system register 360072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, DBGDTRTX_EL0 360172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3602b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 360372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, OSLAR_EL1 360472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3605b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 360672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMSWINC_EL0 360772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3608b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 360972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMEVCNTR31_EL0 361072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3611b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 361272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMEVTYPER31_EL0 361372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 361472062f5744557e270a38192554c3126ea5f97434Tim Northover 361572062f5744557e270a38192554c3126ea5f97434Tim Northover// Now check some invalid generic names 361672062f5744557e270a38192554c3126ea5f97434Tim Northover mrs xzr, s2_5_c11_c13_2 361772062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x12, s3_8_c11_c13_2 361872062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x13, s3_3_c12_c13_2 361972062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x19, s3_2_c15_c16_2 362072062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x30, s3_2_c15_c1_8 3621b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 362272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs xzr, s2_5_c11_c13_2 362372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3624b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 362572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x12, s3_8_c11_c13_2 362672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3627b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 362872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x13, s3_3_c12_c13_2 362972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3630b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 363172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x19, s3_2_c15_c16_2 363272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3633b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 363472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x30, s3_2_c15_c1_8 363572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 363672062f5744557e270a38192554c3126ea5f97434Tim Northover 363772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 363872062f5744557e270a38192554c3126ea5f97434Tim Northover// Test and branch (immediate) 363972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 364072062f5744557e270a38192554c3126ea5f97434Tim Northover 364172062f5744557e270a38192554c3126ea5f97434Tim Northover tbz w3, #-1, addr 364272062f5744557e270a38192554c3126ea5f97434Tim Northover tbz w3, #32, nowhere 364372062f5744557e270a38192554c3126ea5f97434Tim Northover tbz x9, #-1, there 364472062f5744557e270a38192554c3126ea5f97434Tim Northover tbz x20, #64, dont 3645b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected integer in range [0, 31] 364672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz w3, #-1, addr 364772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3648b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 364972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz w3, #32, nowhere 365072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3651b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 365272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz x9, #-1, there 365372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3654b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 365572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz x20, #64, dont 365672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 365772062f5744557e270a38192554c3126ea5f97434Tim Northover 365872062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz w3, #-1, addr 365972062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz w3, #32, nowhere 366072062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz x9, #-1, there 366172062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz x20, #64, dont 3662b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 366372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz w3, #-1, addr 366472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3665b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 31] 366672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz w3, #32, nowhere 366772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3668b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 366972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz x9, #-1, there 367072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3671b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected integer in range [0, 63] 367272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz x20, #64, dont 367372062f5744557e270a38192554c3126ea5f97434Tim Northover 367472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 367572062f5744557e270a38192554c3126ea5f97434Tim Northover// Unconditional branch (immediate) 367672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 367772062f5744557e270a38192554c3126ea5f97434Tim Northover 367872062f5744557e270a38192554c3126ea5f97434Tim Northover b #134217728 367972062f5744557e270a38192554c3126ea5f97434Tim Northover b #-134217732 368072062f5744557e270a38192554c3126ea5f97434Tim Northover b #1 3681b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 368272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #134217728 368372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3684b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 368572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #-134217732 368672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3687b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 368872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #1 368972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 369072062f5744557e270a38192554c3126ea5f97434Tim Northover 369172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 369272062f5744557e270a38192554c3126ea5f97434Tim Northover// Unconditional branch (register) 369372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 369472062f5744557e270a38192554c3126ea5f97434Tim Northover 369572062f5744557e270a38192554c3126ea5f97434Tim Northover br w2 369672062f5744557e270a38192554c3126ea5f97434Tim Northover br sp 369772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 369872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: br w2 369972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 370072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 370172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: br sp 370272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 370372062f5744557e270a38192554c3126ea5f97434Tim Northover 370472062f5744557e270a38192554c3126ea5f97434Tim Northover //// These ones shouldn't allow any registers 370572062f5744557e270a38192554c3126ea5f97434Tim Northover eret x2 370672062f5744557e270a38192554c3126ea5f97434Tim Northover drps x2 370772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 370872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eret x2 370972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 371072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 371172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: drps x2 371272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 371372062f5744557e270a38192554c3126ea5f97434Tim Northover 3714