187773c318fcee853fb34a80a10c4347d523bdafbTim Northover// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2> %t 2dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// RUN: FileCheck --check-prefix=CHECK-ERROR --check-prefix=CHECK-ERROR-ARM64 < %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 78cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar// Out of range immediates: more than 12 bits 79cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar add w4, w5, #-4096 8072062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w6, #0x1000 81cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar add w4, w5, #-4096, 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] 84cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar// CHECK-ERROR-NEXT: add w4, w5, #-4096 8572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 86dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 87dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: add w5, w6, #0x1000 88dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 89b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 90cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar// CHECK-ERROR-NEXT: add w4, w5, #-4096, 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 144dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected compatible register, symbol or integer in range [0, 4095] 145dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: adds w0, w5, #0x10000 146dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-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//------------------------------------------------------------------------------ 732c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// Logical (immediates) 733c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines//------------------------------------------------------------------------------ 734c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 735c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines and w2, w3, #4294967296 736c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines eor w2, w3, #4294967296 737c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines orr w2, w3, #4294967296 738c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines ands w2, w3, #4294967296 739c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR: error: expected compatible register or logical immediate 740c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: and w2, w3, #4294967296 741c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 742c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 743c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: eor w2, w3, #4294967296 744c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 745c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 746c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: orr w2, w3, #4294967296 747c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 748c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 749c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ands w2, w3, #4294967296 750c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 751c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines 752c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines//------------------------------------------------------------------------------ 75372062f5744557e270a38192554c3126ea5f97434Tim Northover// Bitfield 75472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 75572062f5744557e270a38192554c3126ea5f97434Tim Northover 75672062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x3, w13, #0, #0 75772062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w12, x9, #0, #0 75872062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm sp, x3, #3, #5 75972062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w3, wsp, #1, #9 76072062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x9, x5, #-1, #0 76172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x9, x5, #0, #-1 76272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 76372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x3, w13, #0, #0 76472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 76572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 76672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w12, x9, #0, #0 76772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 76872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 76972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm sp, x3, #3, #5 77072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 77172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 77272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w3, wsp, #1, #9 77372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 774dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 77572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x9, x5, #-1, #0 77672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 777dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 77872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x9, x5, #0, #-1 77972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 78072062f5744557e270a38192554c3126ea5f97434Tim Northover 78172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w3, w5, #32, #1 78272062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm w7, w11, #19, #32 78372062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x29, x30, #64, #0 78472062f5744557e270a38192554c3126ea5f97434Tim Northover sbfm x10, x20, #63, #64 785dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31] 78672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w3, w5, #32, #1 78772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 788dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 78972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm w7, w11, #19, #32 79072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 791dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 79272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x29, x30, #64, #0 79372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 794dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 79572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfm x10, x20, #63, #64 79672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 79772062f5744557e270a38192554c3126ea5f97434Tim Northover 79872062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm w3, w5, #32, #1 79972062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm w7, w11, #19, #32 80072062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm x29, x30, #64, #0 80172062f5744557e270a38192554c3126ea5f97434Tim Northover ubfm x10, x20, #63, #64 802dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31] 80372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm w3, w5, #32, #1 80472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 805dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 80672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm w7, w11, #19, #32 80772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 808dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 80972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm x29, x30, #64, #0 81072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 811dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 81272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfm x10, x20, #63, #64 81372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 81472062f5744557e270a38192554c3126ea5f97434Tim Northover 81572062f5744557e270a38192554c3126ea5f97434Tim Northover bfm w3, w5, #32, #1 81672062f5744557e270a38192554c3126ea5f97434Tim Northover bfm w7, w11, #19, #32 81772062f5744557e270a38192554c3126ea5f97434Tim Northover bfm x29, x30, #64, #0 81872062f5744557e270a38192554c3126ea5f97434Tim Northover bfm x10, x20, #63, #64 819dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31] 82072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm w3, w5, #32, #1 82172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 822dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 82372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm w7, w11, #19, #32 82472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 825dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 82672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm x29, x30, #64, #0 82772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 828dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 82972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfm x10, x20, #63, #64 83072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 83172062f5744557e270a38192554c3126ea5f97434Tim Northover 83272062f5744557e270a38192554c3126ea5f97434Tim Northover sxtb x3, x2 83372062f5744557e270a38192554c3126ea5f97434Tim Northover sxth xzr, xzr 83472062f5744557e270a38192554c3126ea5f97434Tim Northover sxtw x3, x5 835dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: invalid operand for instruction 836dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: sxtb x3, x2 837dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 838dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction 839dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: sxth xzr, xzr 840dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 841dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction 842dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: sxtw x3, x5 843dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 84472062f5744557e270a38192554c3126ea5f97434Tim Northover 84572062f5744557e270a38192554c3126ea5f97434Tim Northover uxtb x3, x12 84672062f5744557e270a38192554c3126ea5f97434Tim Northover uxth x5, x9 84772062f5744557e270a38192554c3126ea5f97434Tim Northover uxtw x3, x5 84872062f5744557e270a38192554c3126ea5f97434Tim Northover uxtb x2, sp 84972062f5744557e270a38192554c3126ea5f97434Tim Northover uxtb sp, xzr 85072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 85172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtb x3, x12 85272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 85372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 85472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxth x5, x9 85572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 856dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: invalid instruction 857dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: uxtw x3, x5 858dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 85972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 86072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtb x2, sp 86172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 86272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 86372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: uxtb sp, xzr 86472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 86572062f5744557e270a38192554c3126ea5f97434Tim Northover 86672062f5744557e270a38192554c3126ea5f97434Tim Northover asr x3, w2, #1 86772062f5744557e270a38192554c3126ea5f97434Tim Northover asr sp, x2, #1 86872062f5744557e270a38192554c3126ea5f97434Tim Northover asr x25, x26, #-1 86972062f5744557e270a38192554c3126ea5f97434Tim Northover asr x25, x26, #64 87072062f5744557e270a38192554c3126ea5f97434Tim Northover asr w9, w8, #32 87172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 87272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr x3, w2, #1 87372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 87472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 87572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr sp, x2, #1 87672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 877dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 87872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr x25, x26, #-1 87972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 880dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 88172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr x25, x26, #64 88272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 883dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 88472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: asr w9, w8, #32 88572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 88672062f5744557e270a38192554c3126ea5f97434Tim Northover 88772062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w1, w2, #0, #0 88872062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz wsp, w9, #0, #1 88972062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w9, w10, #32, #1 89072062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w11, w12, #32, #0 89172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz w9, w10, #10, #23 89272062f5744557e270a38192554c3126ea5f97434Tim Northover sbfiz x3, x5, #12, #53 893dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines sbfiz sp, x3, #7, #6 894dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines sbfiz w3, wsp, #10, #8 895dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31] 896dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: expected integer in range [1, 32] 89772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w1, w2, #0, #0 89872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 89972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 90072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz wsp, w9, #0, #1 90172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 902dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 90372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w9, w10, #32, #1 90472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 905dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 90672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w11, w12, #32, #0 90772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 90872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 90972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz w9, w10, #10, #23 91072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 91172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 91272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfiz x3, x5, #12, #53 91372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 91472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 915dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: sbfiz sp, x3, #7, #6 91672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 91772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 918dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: sbfiz w3, wsp, #10, #8 91972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 92072062f5744557e270a38192554c3126ea5f97434Tim Northover 92172062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w1, w2, #0, #0 92272062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx wsp, w9, #0, #1 92372062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w9, w10, #32, #1 92472062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w11, w12, #32, #0 92572062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx w9, w10, #10, #23 92672062f5744557e270a38192554c3126ea5f97434Tim Northover sbfx x3, x5, #12, #53 927dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines sbfx sp, x3, #7, #6 928dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines sbfx w3, wsp, #10, #8 929dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31] 930dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: expected integer in range [1, 32] 93172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w1, w2, #0, #0 93272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 93372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 93472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx wsp, w9, #0, #1 93572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 936dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 93772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w9, w10, #32, #1 93872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 939dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 94072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w11, w12, #32, #0 94172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 94272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 94372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx w9, w10, #10, #23 94472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 94572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 94672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sbfx x3, x5, #12, #53 94772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 94872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 949dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: sbfx sp, x3, #7, #6 95072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 95172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 952dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: sbfx w3, wsp, #10, #8 95372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 95472062f5744557e270a38192554c3126ea5f97434Tim Northover 95572062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w1, w2, #0, #0 95672062f5744557e270a38192554c3126ea5f97434Tim Northover bfi wsp, w9, #0, #1 95772062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w9, w10, #32, #1 95872062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w11, w12, #32, #0 95972062f5744557e270a38192554c3126ea5f97434Tim Northover bfi w9, w10, #10, #23 96072062f5744557e270a38192554c3126ea5f97434Tim Northover bfi x3, x5, #12, #53 961dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines bfi sp, x3, #7, #6 962dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines bfi w3, wsp, #10, #8 963dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31] 964dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: expected integer in range [1, 32] 96572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w1, w2, #0, #0 96672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 96772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 96872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi wsp, w9, #0, #1 96972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 970dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 97172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w9, w10, #32, #1 97272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 973dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 97472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w11, w12, #32, #0 97572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 97672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 97772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi w9, w10, #10, #23 97872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 97972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 98072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfi x3, x5, #12, #53 98172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 98272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 983dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: bfi sp, x3, #7, #6 98472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 98572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 986dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: bfi w3, wsp, #10, #8 98772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 98872062f5744557e270a38192554c3126ea5f97434Tim Northover 98972062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w1, w2, #0, #0 99072062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil wsp, w9, #0, #1 99172062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w9, w10, #32, #1 99272062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w11, w12, #32, #0 99372062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil w9, w10, #10, #23 99472062f5744557e270a38192554c3126ea5f97434Tim Northover bfxil x3, x5, #12, #53 995dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines bfxil sp, x3, #7, #6 996dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines bfxil w3, wsp, #10, #8 997dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31] 998dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: expected integer in range [1, 32] 99972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w1, w2, #0, #0 100072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 100172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 100272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil wsp, w9, #0, #1 100372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1004dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 100572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w9, w10, #32, #1 100672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1007dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 100872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w11, w12, #32, #0 100972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 101072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 101172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil w9, w10, #10, #23 101272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 101372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 101472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bfxil x3, x5, #12, #53 101572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 101672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 1017dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: bfxil sp, x3, #7, #6 101872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 101972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 1020dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: bfxil w3, wsp, #10, #8 102172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 102272062f5744557e270a38192554c3126ea5f97434Tim Northover 102372062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w1, w2, #0, #0 102472062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz wsp, w9, #0, #1 102572062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w9, w10, #32, #1 102672062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w11, w12, #32, #0 102772062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz w9, w10, #10, #23 102872062f5744557e270a38192554c3126ea5f97434Tim Northover ubfiz x3, x5, #12, #53 1029dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ubfiz sp, x3, #7, #6 1030dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ubfiz w3, wsp, #10, #8 1031dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31] 1032dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: expected integer in range [1, 32] 103372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w1, w2, #0, #0 103472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 103572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 103672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz wsp, w9, #0, #1 103772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1038dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 103972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w9, w10, #32, #1 104072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1041dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 104272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w11, w12, #32, #0 104372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 104472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 104572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz w9, w10, #10, #23 104672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 104772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested insert overflows register 104872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfiz x3, x5, #12, #53 104972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 105072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 1051dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: ubfiz sp, x3, #7, #6 105272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 105372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 1054dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: ubfiz w3, wsp, #10, #8 105572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 105672062f5744557e270a38192554c3126ea5f97434Tim Northover 105772062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w1, w2, #0, #0 105872062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx wsp, w9, #0, #1 105972062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w9, w10, #32, #1 106072062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w11, w12, #32, #0 106172062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx w9, w10, #10, #23 106272062f5744557e270a38192554c3126ea5f97434Tim Northover ubfx x3, x5, #12, #53 1063dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ubfx sp, x3, #7, #6 1064dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ubfx w3, wsp, #10, #8 1065dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected integer in range [<lsb>, 31] 1066dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: expected integer in range [1, 32] 106772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w1, w2, #0, #0 106872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 106972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 107072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx wsp, w9, #0, #1 107172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1072dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 107372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w9, w10, #32, #1 107472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1075dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 107672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w11, w12, #32, #0 107772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 107872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 107972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx w9, w10, #10, #23 108072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 108172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: requested extract overflows register 108272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ubfx x3, x5, #12, #53 108372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 108472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 1085dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: ubfx sp, x3, #7, #6 108672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 108772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 1088dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: ubfx w3, wsp, #10, #8 108972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 109072062f5744557e270a38192554c3126ea5f97434Tim Northover 10916948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar bfc wsp, #3, #6 10926948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar bfc w4, #2, #31 10936948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar bfc sp, #0, #1 10946948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar bfc x6, #0, #0 10956948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR: error: invalid operand for instruction 10966948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: bfc wsp, #3, #6 10976948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: ^ 10986948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: error: requested insert overflows register 10996948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: bfc w4, #2, #31 11006948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: ^ 11016948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: error: invalid operand for instruction 11026948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: bfc sp, #0, #1 11036948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: ^ 11046948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: error: expected integer in range [1, 32] 11056948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: bfc x6, #0, #0 11066948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: ^ 11076948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar 110872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 110972062f5744557e270a38192554c3126ea5f97434Tim Northover// Compare & branch (immediate) 111072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 111172062f5744557e270a38192554c3126ea5f97434Tim Northover 111272062f5744557e270a38192554c3126ea5f97434Tim Northover cbnz wsp, lbl 111372062f5744557e270a38192554c3126ea5f97434Tim Northover cbz sp, lbl 111472062f5744557e270a38192554c3126ea5f97434Tim Northover cbz x3, x5 111572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 111672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbnz wsp, lbl 111772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 111872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 111972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz sp, lbl 112072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1121b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 112272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz x3, x5 112372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 112472062f5744557e270a38192554c3126ea5f97434Tim Northover 112572062f5744557e270a38192554c3126ea5f97434Tim Northover cbz w20, #1048576 112672062f5744557e270a38192554c3126ea5f97434Tim Northover cbnz xzr, #-1048580 112772062f5744557e270a38192554c3126ea5f97434Tim Northover cbz x29, #1 1128b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 112972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz w20, #1048576 113072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1131b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 113272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbnz xzr, #-1048580 113372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1134b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 113572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz x29, #1 113672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 113772062f5744557e270a38192554c3126ea5f97434Tim Northover 113872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 113972062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional branch (immediate) 114072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 114172062f5744557e270a38192554c3126ea5f97434Tim Northover 114272062f5744557e270a38192554c3126ea5f97434Tim Northover b.zf lbl 114372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid condition code 114472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.zf lbl 114572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 114672062f5744557e270a38192554c3126ea5f97434Tim Northover 114772062f5744557e270a38192554c3126ea5f97434Tim Northover b.eq #1048576 114872062f5744557e270a38192554c3126ea5f97434Tim Northover b.ge #-1048580 114972062f5744557e270a38192554c3126ea5f97434Tim Northover b.cc #1 1150b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 115172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.eq #1048576 115272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1153b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 115472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.ge #-1048580 115572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1156b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 115772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.cc #1 115872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 115972062f5744557e270a38192554c3126ea5f97434Tim Northover 116072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 116172062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional compare (immediate) 116272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 116372062f5744557e270a38192554c3126ea5f97434Tim Northover 116472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp wsp, #4, #2, ne 116572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w25, #-1, #15, hs 116672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w3, #32, #0, ge 116772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w19, #5, #-1, lt 116872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w20, #7, #16, hs 116972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 117072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp wsp, #4, #2, ne 117172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1172dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 117372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w25, #-1, #15, hs 117472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1175dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 117672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w3, #32, #0, ge 117772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1178dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 117972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w19, #5, #-1, lt 118072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1181dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 118272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w20, #7, #16, hs 118372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 118472062f5744557e270a38192554c3126ea5f97434Tim Northover 118572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp sp, #4, #2, ne 118672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x25, #-1, #15, hs 118772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x3, #32, #0, ge 118872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x19, #5, #-1, lt 118972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x20, #7, #16, hs 119072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 119172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp sp, #4, #2, ne 119272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1193dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 119472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x25, #-1, #15, hs 119572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1196dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 119772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x3, #32, #0, ge 119872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1199dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 120072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x19, #5, #-1, lt 120172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1202dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 120372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x20, #7, #16, hs 120472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 120572062f5744557e270a38192554c3126ea5f97434Tim Northover 120672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn wsp, #4, #2, ne 120772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w25, #-1, #15, hs 120872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w3, #32, #0, ge 120972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w19, #5, #-1, lt 121072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w20, #7, #16, hs 121172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 121272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn wsp, #4, #2, ne 121372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1214dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 121572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w25, #-1, #15, hs 121672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1217dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 121872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w3, #32, #0, ge 121972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1220dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 122172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w19, #5, #-1, lt 122272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1223dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 122472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w20, #7, #16, hs 122572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 122672062f5744557e270a38192554c3126ea5f97434Tim Northover 122772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn sp, #4, #2, ne 122872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x25, #-1, #15, hs 122972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x3, #32, #0, ge 123072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x19, #5, #-1, lt 123172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x20, #7, #16, hs 123272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 123372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn sp, #4, #2, ne 123472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1235dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 123672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x25, #-1, #15, hs 123772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1238dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 123972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x3, #32, #0, ge 124072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1241dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 124272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x19, #5, #-1, lt 124372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1244dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 124572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x20, #7, #16, hs 124672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 124772062f5744557e270a38192554c3126ea5f97434Tim Northover 124872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 124972062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional compare (register) 125072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 125172062f5744557e270a38192554c3126ea5f97434Tim Northover 125272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp wsp, w4, #2, ne 125372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w3, wsp, #0, ge 125472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w19, w5, #-1, lt 125572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w20, w7, #16, hs 125672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 125772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp wsp, w4, #2, ne 125872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1259dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 126072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w3, wsp, #0, ge 126172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1262dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 126372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w19, w5, #-1, lt 126472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1265dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 126672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w20, w7, #16, hs 126772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 126872062f5744557e270a38192554c3126ea5f97434Tim Northover 126972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp sp, x4, #2, ne 127072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x25, sp, #15, hs 127172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x19, x5, #-1, lt 127272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x20, x7, #16, hs 127372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 127472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp sp, x4, #2, ne 127572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1276dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 127772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x25, sp, #15, hs 127872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1279dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 128072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x19, x5, #-1, lt 128172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1282dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 128372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x20, x7, #16, hs 128472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 128572062f5744557e270a38192554c3126ea5f97434Tim Northover 128672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn wsp, w4, #2, ne 128772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w25, wsp, #15, hs 128872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w19, w5, #-1, lt 128972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w20, w7, #16, hs 129072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 129172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn wsp, w4, #2, ne 129272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1293dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 129472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w25, wsp, #15, hs 129572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1296dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 129772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w19, w5, #-1, lt 129872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1299dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 130072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w20, w7, #16, hs 130172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 130272062f5744557e270a38192554c3126ea5f97434Tim Northover 130372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn sp, x4, #2, ne 130472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x25, sp, #15, hs 130572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x19, x5, #-1, lt 130672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x20, x7, #16, hs 130772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 130872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn sp, x4, #2, ne 130972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1310dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 131172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x25, sp, #15, hs 131272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1313dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 131472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x19, x5, #-1, lt 131572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1316dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 131772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x20, x7, #16, hs 131872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 131972062f5744557e270a38192554c3126ea5f97434Tim Northover 132072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 132172062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional select 132272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 132372062f5744557e270a38192554c3126ea5f97434Tim Northover 132472062f5744557e270a38192554c3126ea5f97434Tim Northover csel w4, wsp, w9, eq 132572062f5744557e270a38192554c3126ea5f97434Tim Northover csel wsp, w2, w3, ne 132672062f5744557e270a38192554c3126ea5f97434Tim Northover csel w10, w11, wsp, ge 132772062f5744557e270a38192554c3126ea5f97434Tim Northover csel w1, w2, w3, #3 132872062f5744557e270a38192554c3126ea5f97434Tim Northover csel x4, sp, x9, eq 132972062f5744557e270a38192554c3126ea5f97434Tim Northover csel sp, x2, x3, ne 133072062f5744557e270a38192554c3126ea5f97434Tim Northover csel x10, x11, sp, ge 133172062f5744557e270a38192554c3126ea5f97434Tim Northover csel x1, x2, x3, #3 133272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 133372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w4, wsp, w9, eq 133472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 133672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel wsp, w2, w3, ne 133772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 133972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w10, w11, wsp, ge 134072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1341b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected AArch64 condition code 134272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w1, w2, w3, #3 134372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 134472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 134572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x4, sp, x9, eq 134672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 134772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 134872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel sp, x2, x3, ne 134972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 135072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 135172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x10, x11, sp, ge 135272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1353b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected AArch64 condition code 135472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x1, x2, x3, #3 135572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 135672062f5744557e270a38192554c3126ea5f97434Tim Northover 135772062f5744557e270a38192554c3126ea5f97434Tim Northover csinc w20, w21, wsp, mi 135872062f5744557e270a38192554c3126ea5f97434Tim Northover csinc sp, x30, x29, eq 135972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 136072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinc w20, w21, wsp, mi 136172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 136272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 136372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinc sp, x30, x29, eq 136472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 136572062f5744557e270a38192554c3126ea5f97434Tim Northover 136672062f5744557e270a38192554c3126ea5f97434Tim Northover csinv w20, wsp, wsp, mi 136772062f5744557e270a38192554c3126ea5f97434Tim Northover csinv sp, x30, x29, le 136872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 136972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinv w20, wsp, wsp, mi 137072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 137172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 137272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinv sp, x30, x29, le 137372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 137472062f5744557e270a38192554c3126ea5f97434Tim Northover 137572062f5744557e270a38192554c3126ea5f97434Tim Northover csneg w20, w21, wsp, mi 137672062f5744557e270a38192554c3126ea5f97434Tim Northover csneg x0, sp, x29, le 137772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 137872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csneg w20, w21, wsp, mi 137972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 138072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 138172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csneg x0, sp, x29, le 138272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 138372062f5744557e270a38192554c3126ea5f97434Tim Northover 138472062f5744557e270a38192554c3126ea5f97434Tim Northover cset wsp, lt 138572062f5744557e270a38192554c3126ea5f97434Tim Northover csetm sp, ge 1386c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines cset w1, al 1387c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines csetm x6, nv 138872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 138972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cset wsp, lt 139072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 139172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 139272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csetm sp, ge 139372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1394c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1395c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: cset w1, al 1396c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 1397c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1398c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: csetm x6, nv 1399c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 140072062f5744557e270a38192554c3126ea5f97434Tim Northover 140172062f5744557e270a38192554c3126ea5f97434Tim Northover cinc w3, wsp, ne 140272062f5744557e270a38192554c3126ea5f97434Tim Northover cinc sp, x9, eq 1403c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines cinc x2, x0, nv 140472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 140572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinc w3, wsp, ne 140672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 140772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 140872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinc sp, x9, eq 140972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1410c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1411c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: cinc x2, x0, nv 1412c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 141372062f5744557e270a38192554c3126ea5f97434Tim Northover 141472062f5744557e270a38192554c3126ea5f97434Tim Northover cinv w3, wsp, ne 141572062f5744557e270a38192554c3126ea5f97434Tim Northover cinv sp, x9, eq 1416c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines cinv w8, x7, nv 141772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 141872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinv w3, wsp, ne 141972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 142072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 142172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinv sp, x9, eq 142272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1423c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1424c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: cinv w8, x7, nv 1425c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 142672062f5744557e270a38192554c3126ea5f97434Tim Northover 142772062f5744557e270a38192554c3126ea5f97434Tim Northover cneg w3, wsp, ne 142872062f5744557e270a38192554c3126ea5f97434Tim Northover cneg sp, x9, eq 1429c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines cneg x4, x5, al 143072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 143172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cneg w3, wsp, ne 143272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 143372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 143472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cneg sp, x9, eq 143572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1436c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1437c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: cneg x4, x5, al 1438c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 143972062f5744557e270a38192554c3126ea5f97434Tim Northover 144072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 144172062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (1 source) 144272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 144372062f5744557e270a38192554c3126ea5f97434Tim Northover rbit x23, w2 144472062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 144572062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: rbit x23, w2 144672062f5744557e270a38192554c3126ea5f97434Tim Northover 144772062f5744557e270a38192554c3126ea5f97434Tim Northover cls sp, x2 144872062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 144972062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: cls sp, x2 145072062f5744557e270a38192554c3126ea5f97434Tim Northover 145172062f5744557e270a38192554c3126ea5f97434Tim Northover clz wsp, w3 145272062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 145372062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: clz wsp, w3 145472062f5744557e270a38192554c3126ea5f97434Tim Northover 145572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 145672062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (2 sources) 145772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 145872062f5744557e270a38192554c3126ea5f97434Tim Northover udiv x23, w2, x18 145972062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 146072062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: udiv x23, w2, x18 146172062f5744557e270a38192554c3126ea5f97434Tim Northover 146272062f5744557e270a38192554c3126ea5f97434Tim Northover lsl sp, x2, x4 146372062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 146472062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: lsl sp, x2, x4 146572062f5744557e270a38192554c3126ea5f97434Tim Northover 146672062f5744557e270a38192554c3126ea5f97434Tim Northover asr wsp, w3, w9 146772062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 146872062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: asr wsp, w3, w9 146972062f5744557e270a38192554c3126ea5f97434Tim Northover 147072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 147172062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (3 sources) 147272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 147372062f5744557e270a38192554c3126ea5f97434Tim Northover 147472062f5744557e270a38192554c3126ea5f97434Tim Northover madd sp, x3, x9, x10 147572062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 147672062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: madd sp, x3, x9, x10 147772062f5744557e270a38192554c3126ea5f97434Tim Northover 147872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 147972062f5744557e270a38192554c3126ea5f97434Tim Northover// Exception generation 148072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 148172062f5744557e270a38192554c3126ea5f97434Tim Northover svc #-1 148272062f5744557e270a38192554c3126ea5f97434Tim Northover hlt #65536 148372062f5744557e270a38192554c3126ea5f97434Tim Northover dcps4 #43 148472062f5744557e270a38192554c3126ea5f97434Tim Northover dcps4 1485dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 65535] 148672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: svc #-1 148772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1488dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 65535] 148972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hlt #65536 149072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1491dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{invalid instruction|unrecognized instruction mnemonic}} 149272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dcps4 #43 149372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1494dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{invalid instruction|unrecognized instruction mnemonic}} 149572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dcps4 149672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 149772062f5744557e270a38192554c3126ea5f97434Tim Northover 149872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 149972062f5744557e270a38192554c3126ea5f97434Tim Northover// Extract (immediate) 150072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 150172062f5744557e270a38192554c3126ea5f97434Tim Northover 150272062f5744557e270a38192554c3126ea5f97434Tim Northover extr w2, w20, w30, #-1 150372062f5744557e270a38192554c3126ea5f97434Tim Northover extr w9, w19, w20, #32 1504dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 150572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr w2, w20, w30, #-1 150672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1507dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 150872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr w9, w19, w20, #32 150972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 151072062f5744557e270a38192554c3126ea5f97434Tim Northover 151172062f5744557e270a38192554c3126ea5f97434Tim Northover extr x10, x15, x20, #-1 151272062f5744557e270a38192554c3126ea5f97434Tim Northover extr x20, x25, x30, #64 1513dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 151472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr x10, x15, x20, #-1 151572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1516dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 151772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr x20, x25, x30, #64 151872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 151972062f5744557e270a38192554c3126ea5f97434Tim Northover 152072062f5744557e270a38192554c3126ea5f97434Tim Northover ror w9, w10, #32 152172062f5744557e270a38192554c3126ea5f97434Tim Northover ror x10, x11, #64 1522dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 152372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ror w9, w10, #32 152472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1525dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 152672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ror x10, x11, #64 152772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 152872062f5744557e270a38192554c3126ea5f97434Tim Northover 152972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 153072062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point compare 153172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 153272062f5744557e270a38192554c3126ea5f97434Tim Northover 153372062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s3, d2 1534dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected floating-point constant #0.0 1535dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: invalid operand for instruction 153672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s3, d2 153772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 153872062f5744557e270a38192554c3126ea5f97434Tim Northover 153972062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s9, #-0.0 154072062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp d3, #-0.0 154172062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s1, #1.0 154272062f5744557e270a38192554c3126ea5f97434Tim Northover fcmpe s30, #-0.0 1543b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected floating-point constant #0.0 154472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s9, #-0.0 154572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1546b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 154772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp d3, #-0.0 154872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1549b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 155072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s1, #1.0 155172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1552b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 155372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmpe s30, #-0.0 155472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 155572062f5744557e270a38192554c3126ea5f97434Tim Northover 155672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 155772062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 155872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 155972062f5744557e270a38192554c3126ea5f97434Tim Northover 156072062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp s19, s5, #-1, lt 156172062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp s20, s7, #16, hs 1562dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 156372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp s19, s5, #-1, lt 156472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1565dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 156672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp s20, s7, #16, hs 156772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 156872062f5744557e270a38192554c3126ea5f97434Tim Northover 156972062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp d19, d5, #-1, lt 157072062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp d20, d7, #16, hs 1571dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 157272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp d19, d5, #-1, lt 157372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1574dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 157572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp d20, d7, #16, hs 157672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 157772062f5744557e270a38192554c3126ea5f97434Tim Northover 157872062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe s19, s5, #-1, lt 157972062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe s20, s7, #16, hs 1580dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 158172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe s19, s5, #-1, lt 158272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1583dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 158472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe s20, s7, #16, hs 158572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 158672062f5744557e270a38192554c3126ea5f97434Tim Northover 158772062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe d19, d5, #-1, lt 158872062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe d20, d7, #16, hs 1589dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 159072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe d19, d5, #-1, lt 159172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1592dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 159372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe d20, d7, #16, hs 159472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159572062f5744557e270a38192554c3126ea5f97434Tim Northover 159672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 159772062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 159872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 159972062f5744557e270a38192554c3126ea5f97434Tim Northover 160072062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel q3, q20, q9, pl 160172062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel h9, h10, h11, mi 160272062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel b9, b10, b11, mi 160372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 160472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel q3, q20, q9, pl 160572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1606cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar// CHECK-ERROR-NEXT: error: instruction requires: fullfp16 160772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel h9, h10, h11, mi 160872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 160972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 161072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel b9, b10, b11, mi 161172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 161272062f5744557e270a38192554c3126ea5f97434Tim Northover 161372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 161472062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (1 source) 161572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 161672062f5744557e270a38192554c3126ea5f97434Tim Northover 161772062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d0, s3 161872062f5744557e270a38192554c3126ea5f97434Tim Northover fcvt d0, d1 1619b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 162072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d0, s3 1621b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 162272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 162372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvt d0, d1 1624b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 162572062f5744557e270a38192554c3126ea5f97434Tim Northover 162672062f5744557e270a38192554c3126ea5f97434Tim Northover 162772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 162872062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (2 sources) 162972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 163072062f5744557e270a38192554c3126ea5f97434Tim Northover 163172062f5744557e270a38192554c3126ea5f97434Tim Northover fadd s0, d3, d7 163272062f5744557e270a38192554c3126ea5f97434Tim Northover fmaxnm d3, s19, d12 163372062f5744557e270a38192554c3126ea5f97434Tim Northover fnmul d1, d9, s18 163472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 163572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fadd s0, d3, d7 163672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 163772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 163872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmaxnm d3, s19, d12 163972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 164072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 164172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmul d1, d9, s18 164272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 164372062f5744557e270a38192554c3126ea5f97434Tim Northover 164472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 164572062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (3 sources) 164672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 164772062f5744557e270a38192554c3126ea5f97434Tim Northover 164872062f5744557e270a38192554c3126ea5f97434Tim Northover fmadd b3, b4, b5, b6 164972062f5744557e270a38192554c3126ea5f97434Tim Northover fmsub h1, h2, h3, h4 165072062f5744557e270a38192554c3126ea5f97434Tim Northover fnmadd q3, q5, q6, q7 165172062f5744557e270a38192554c3126ea5f97434Tim Northover fnmsub s2, s4, d5, h9 165272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 165372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmadd b3, b4, b5, b6 165472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1655cddc3e03e4ec99c0268c03a126195173e519ed58Pirama Arumuga Nainar// CHECK-ERROR-NEXT: error: instruction requires: fullfp16 165672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmsub h1, h2, h3, h4 165772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 165872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 165972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmadd q3, q5, q6, q7 166072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 166272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmsub s2, s4, d5, h9 166372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166472062f5744557e270a38192554c3126ea5f97434Tim Northover 166572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 166672062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 166772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 166872062f5744557e270a38192554c3126ea5f97434Tim Northover 166972062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs w13, s31, #0 167072062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs w19, s20, #33 167172062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs wsp, s19, #14 1672dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 167372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs w13, s31, #0 167472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1675dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 167672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs w19, s20, #33 167772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 167872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 167972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs wsp, s19, #14 168072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 168172062f5744557e270a38192554c3126ea5f97434Tim Northover 168272062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs x13, s31, #0 168372062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs x19, s20, #65 168472062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs sp, s19, #14 1685dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 168672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs x13, s31, #0 168772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1688dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 168972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs x19, s20, #65 169072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 169172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 169272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs sp, s19, #14 169372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 169472062f5744557e270a38192554c3126ea5f97434Tim Northover 169572062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu w13, s31, #0 169672062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu w19, s20, #33 169772062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu wsp, s19, #14 1698dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 169972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu w13, s31, #0 170072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1701dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 170272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu w19, s20, #33 170372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 170572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu wsp, s19, #14 170672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170772062f5744557e270a38192554c3126ea5f97434Tim Northover 170872062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu x13, s31, #0 170972062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu x19, s20, #65 171072062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu sp, s19, #14 1711dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 171272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu x13, s31, #0 171372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1714dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 171572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu x19, s20, #65 171672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 171772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 171872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu sp, s19, #14 171972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 172072062f5744557e270a38192554c3126ea5f97434Tim Northover 172172062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf w13, s31, #0 172272062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf w19, s20, #33 172372062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf wsp, s19, #14 172472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 172572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf w13, s31, #0 172672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 172772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 172872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf w19, s20, #33 172972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 173072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 173172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf wsp, s19, #14 173272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 173372062f5744557e270a38192554c3126ea5f97434Tim Northover 173472062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf x13, s31, #0 173572062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf x19, s20, #65 173672062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf sp, s19, #14 173772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 173872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf x13, s31, #0 173972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 174072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 174172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf x19, s20, #65 174272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 174372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 174472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf sp, s19, #14 174572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 174672062f5744557e270a38192554c3126ea5f97434Tim Northover 174772062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf w13, s31, #0 174872062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf w19, s20, #33 174972062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf wsp, s19, #14 175072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf w13, s31, #0 175272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf w19, s20, #33 175572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf wsp, s19, #14 175872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175972062f5744557e270a38192554c3126ea5f97434Tim Northover 176072062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf x13, s31, #0 176172062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf x19, s20, #65 176272062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf sp, s19, #14 176372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 176472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf x13, s31, #0 176572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 176672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 176772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf x19, s20, #65 176872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 176972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 177072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf sp, s19, #14 177172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 177272062f5744557e270a38192554c3126ea5f97434Tim Northover 177372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 177472062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point immediate 177572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 177672062f5744557e270a38192554c3126ea5f97434Tim Northover ;; Exponent too large 177772062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d3, #0.0625 177872062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s2, #32.0 1779b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 178072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d3, #0.0625 178172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1782b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant 178372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s2, #32.0 178472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 178572062f5744557e270a38192554c3126ea5f97434Tim Northover 178672062f5744557e270a38192554c3126ea5f97434Tim Northover ;; Fraction too precise 178772062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s9, #1.03125 178872062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s28, #1.96875 1789b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 179072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s9, #1.03125 179172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1792b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant 179372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s28, #1.96875 179472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 179572062f5744557e270a38192554c3126ea5f97434Tim Northover 179672062f5744557e270a38192554c3126ea5f97434Tim Northover ;; No particular reason, but a striking omission 179772062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d0, #0.0 1798dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected compatible register or floating-point constant 1799dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: fmov d0, #0.0 1800dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 180172062f5744557e270a38192554c3126ea5f97434Tim Northover 180272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 180372062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point <-> integer conversion 180472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 180572062f5744557e270a38192554c3126ea5f97434Tim Northover 180672062f5744557e270a38192554c3126ea5f97434Tim Northover fmov x3, v0.d[0] 180772062f5744557e270a38192554c3126ea5f97434Tim Northover fmov v29.1d[1], x2 180872062f5744557e270a38192554c3126ea5f97434Tim Northover fmov x7, v0.d[2] 180972062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtns sp, s5 181072062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf s6, wsp 1811b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected lane specifier '[1]' 181272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov x3, v0.d[0] 1813b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 1814dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: lane number incompatible with layout 1815dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: invalid operand for instruction 181672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov v29.1d[1], x2 181772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1818dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: lane number incompatible with layout 1819dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected lane specifier '[1]' 182072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov x7, v0.d[2] 182172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 182372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtns sp, s5 182472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 182672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf s6, wsp 182772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182872062f5744557e270a38192554c3126ea5f97434Tim Northover 182972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 183072062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-register (literal) 183172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 183272062f5744557e270a38192554c3126ea5f97434Tim Northover 183372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr sp, some_label 183472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw w3, somewhere 183572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 183672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr sp, some_label 183772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 183872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 183972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw w3, somewhere 184072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 184172062f5744557e270a38192554c3126ea5f97434Tim Northover 184272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, #1048576 184372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q0, #-1048580 184472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x0, #2 1845b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 184672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, #1048576 184772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1848b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 184972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q0, #-1048580 185072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1851b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 185272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x0, #2 185372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 185472062f5744557e270a38192554c3126ea5f97434Tim Northover 185572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 185672062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store exclusive 185772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 185872062f5744557e270a38192554c3126ea5f97434Tim Northover 1859dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines stxrb w2, w3, [x4, #20] 186072062f5744557e270a38192554c3126ea5f97434Tim Northover stlxrh w10, w11, [w2] 1861dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected '#0' 1862dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: index must be absent or #0 1863dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: stxrb w2, w3, [x4, #20] 186472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 186572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 186672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxrh w10, w11, [w2] 186772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 186872062f5744557e270a38192554c3126ea5f97434Tim Northover 186972062f5744557e270a38192554c3126ea5f97434Tim Northover stlxr x20, w21, [sp] 187072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 187172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxr x20, w21, [sp] 187272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 187372062f5744557e270a38192554c3126ea5f97434Tim Northover 187472062f5744557e270a38192554c3126ea5f97434Tim Northover ldxr sp, [sp] 187572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 187672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldxr sp, [sp] 187772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 187872062f5744557e270a38192554c3126ea5f97434Tim Northover 187972062f5744557e270a38192554c3126ea5f97434Tim Northover stxp x1, x2, x3, [x4] 188072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 188172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stxp x1, x2, x3, [x4] 188272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 188372062f5744557e270a38192554c3126ea5f97434Tim Northover 188472062f5744557e270a38192554c3126ea5f97434Tim Northover stlxp w5, x1, w4, [x5] 188572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 188672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxp w5, x1, w4, [x5] 188772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 188872062f5744557e270a38192554c3126ea5f97434Tim Northover 188972062f5744557e270a38192554c3126ea5f97434Tim Northover stlxp w17, w6, x7, [x22] 189072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 189172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxp w17, w6, x7, [x22] 189272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 189372062f5744557e270a38192554c3126ea5f97434Tim Northover 189472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 189572062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unscaled immediate) 189672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 189772062f5744557e270a38192554c3126ea5f97434Tim Northover 189872062f5744557e270a38192554c3126ea5f97434Tim Northover ldurb w2, [sp, #256] 189972062f5744557e270a38192554c3126ea5f97434Tim Northover sturh w17, [x1, #256] 190072062f5744557e270a38192554c3126ea5f97434Tim Northover ldursw x20, [x1, #256] 190172062f5744557e270a38192554c3126ea5f97434Tim Northover ldur x12, [sp, #256] 1902dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 190372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldurb w2, [sp, #256] 190472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1905dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 190672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sturh w17, [x1, #256] 190772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1908dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 190972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldursw x20, [x1, #256] 191072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1911dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 191272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldur x12, [sp, #256] 191372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 191472062f5744557e270a38192554c3126ea5f97434Tim Northover 191572062f5744557e270a38192554c3126ea5f97434Tim Northover stur h2, [x2, #-257] 191672062f5744557e270a38192554c3126ea5f97434Tim Northover stur b2, [x2, #-257] 191772062f5744557e270a38192554c3126ea5f97434Tim Northover ldursb x9, [sp, #-257] 191872062f5744557e270a38192554c3126ea5f97434Tim Northover ldur w2, [x30, #-257] 191972062f5744557e270a38192554c3126ea5f97434Tim Northover stur q9, [x20, #-257] 1920dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 192172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur h2, [x2, #-257] 192272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1923dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 192472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur b2, [x2, #-257] 192572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1926dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 192772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldursb x9, [sp, #-257] 192872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1929dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 193072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldur w2, [x30, #-257] 193172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1932dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 193372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur q9, [x20, #-257] 193472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 193572062f5744557e270a38192554c3126ea5f97434Tim Northover 193672062f5744557e270a38192554c3126ea5f97434Tim Northover prfum pstl3strm, [xzr] 193772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 193872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfum pstl3strm, [xzr] 193972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 194072062f5744557e270a38192554c3126ea5f97434Tim Northover 194172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 194272062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-store register (immediate post-indexed) 194372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 194472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x3, [x4, #25], #0 194572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x4, [x9, #0], #4 1946dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: {{expected symbolic reference or integer|index must be a multiple of 8}} in range [0, 32760] 1947dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: invalid operand for instruction 194872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x3, [x4, #25], #0 194972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1950dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction 1951dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ldr x4, [x9, #0], #4 1952dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 195372062f5744557e270a38192554c3126ea5f97434Tim Northover 195472062f5744557e270a38192554c3126ea5f97434Tim Northover strb w1, [x19], #256 195572062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [sp], #-257 195672062f5744557e270a38192554c3126ea5f97434Tim Northover strh w1, [x19], #256 195772062f5744557e270a38192554c3126ea5f97434Tim Northover strh w9, [sp], #-257 195872062f5744557e270a38192554c3126ea5f97434Tim Northover str w1, [x19], #256 195972062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [sp], #-257 1960dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 196172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w1, [x19], #256 196272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1963dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 196472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [sp], #-257 196572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1966dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 196772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w1, [x19], #256 196872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1969dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 197072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w9, [sp], #-257 197172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1972dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 197372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w1, [x19], #256 197472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1975dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 197672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [sp], #-257 197772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 197872062f5744557e270a38192554c3126ea5f97434Tim Northover 197972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w1, [x19], #256 198072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w9, [sp], #-257 198172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w1, [x19], #256 198272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w9, [sp], #-257 198372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w1, [x19], #256 198472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [sp], #-257 1985dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 198672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w1, [x19], #256 198772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1988dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 198972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w9, [sp], #-257 199072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1991dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 199272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w1, [x19], #256 199372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1994dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 199572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w9, [sp], #-257 199672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1997dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 199872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w1, [x19], #256 199972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2000dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 200172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [sp], #-257 200272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 200372062f5744557e270a38192554c3126ea5f97434Tim Northover 200472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x2, [x3], #256 200572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x22, [x13], #-257 200672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x2, [x3], #256 200772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x22, [x13], #-257 200872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, [x3], #256 200972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x22, [x13], #-257 2010dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 201172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x2, [x3], #256 201272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2013dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 201472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x22, [x13], #-257 201572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2016dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 201772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x2, [x3], #256 201872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2019dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 202072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x22, [x13], #-257 202172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2022dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 202372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, [x3], #256 202472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2025dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 202672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x22, [x13], #-257 202772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 202872062f5744557e270a38192554c3126ea5f97434Tim Northover 202972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w2, [x3], #256 203072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w22, [x13], #-257 203172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x3], #256 203272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w22, [x13], #-257 2033dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 203472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w2, [x3], #256 203572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2036dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 203772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w22, [x13], #-257 203872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2039dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 204072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w2, [x3], #256 204172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2042dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 204372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w22, [x13], #-257 204472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 204572062f5744557e270a38192554c3126ea5f97434Tim Northover 204672062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x3], #256 204772062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x13], #-257 204872062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x3], #256 204972062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x13], #-257 205072062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x3], #256 205172062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x13], #-257 205272062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x3], #256 205372062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x13], #-257 205472062f5744557e270a38192554c3126ea5f97434Tim Northover str q3, [x3], #256 205572062f5744557e270a38192554c3126ea5f97434Tim Northover str q3, [x13], #-257 2056dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 205772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x3], #256 205872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2059dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x13], #-257 206172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2062dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x3], #256 206472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2065dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x13], #-257 206772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2068dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x3], #256 207072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2071dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 207272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x13], #-257 207372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2074dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 207572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x3], #256 207672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2077dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 207872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x13], #-257 207972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2080dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 208172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q3, [x3], #256 208272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2083dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 208472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q3, [x13], #-257 208572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 208672062f5744557e270a38192554c3126ea5f97434Tim Northover 208772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x3], #256 208872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x13], #-257 208972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x3], #256 209072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x13], #-257 209172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x3], #256 209272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x13], #-257 209372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x3], #256 209472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x13], #-257 209572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q3, [x3], #256 209672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q3, [x13], #-257 2097dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 209872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x3], #256 209972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2100dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 210172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x13], #-257 210272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2103dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 210472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x3], #256 210572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2106dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 210772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x13], #-257 210872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2109dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 211072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x3], #256 211172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2112dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 211372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x13], #-257 211472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 211672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x3], #256 211772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2118dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 211972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x13], #-257 212072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2121dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 212272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q3, [x3], #256 212372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2124dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 212572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q3, [x13], #-257 212672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 212772062f5744557e270a38192554c3126ea5f97434Tim Northover 212872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 212972062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-store register (immediate pre-indexed) 213072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 213172062f5744557e270a38192554c3126ea5f97434Tim Northover 213272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x3, [x4]! 213372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: 213472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x3, [x4]! 213572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 213672062f5744557e270a38192554c3126ea5f97434Tim Northover 213772062f5744557e270a38192554c3126ea5f97434Tim Northover strb w1, [x19, #256]! 213872062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [sp, #-257]! 213972062f5744557e270a38192554c3126ea5f97434Tim Northover strh w1, [x19, #256]! 214072062f5744557e270a38192554c3126ea5f97434Tim Northover strh w9, [sp, #-257]! 214172062f5744557e270a38192554c3126ea5f97434Tim Northover str w1, [x19, #256]! 214272062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [sp, #-257]! 214372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 214472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w1, [x19, #256]! 214572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2146dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 214772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [sp, #-257]! 214872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 214972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 215072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w1, [x19, #256]! 215172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2152dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 215372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w9, [sp, #-257]! 215472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 215572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 215672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w1, [x19, #256]! 215772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2158dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 215972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [sp, #-257]! 216072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 216172062f5744557e270a38192554c3126ea5f97434Tim Northover 216272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w1, [x19, #256]! 216372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w9, [sp, #-257]! 216472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w1, [x19, #256]! 216572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w9, [sp, #-257]! 216672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w1, [x19, #256]! 216772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [sp, #-257]! 216872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 216972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w1, [x19, #256]! 217072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2171dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 217272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w9, [sp, #-257]! 217372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 217472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 217572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w1, [x19, #256]! 217672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2177dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 217872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w9, [sp, #-257]! 217972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 218172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w1, [x19, #256]! 218272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2183dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 218472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [sp, #-257]! 218572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218672062f5744557e270a38192554c3126ea5f97434Tim Northover 218772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x2, [x3, #256]! 218872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x22, [x13, #-257]! 218972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x2, [x3, #256]! 219072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x22, [x13, #-257]! 219172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, [x3, #256]! 219272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x22, [x13, #-257]! 219372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 219472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x2, [x3, #256]! 219572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2196dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 219772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x22, [x13, #-257]! 219872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 219972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 220072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x2, [x3, #256]! 220172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2202dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 220372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x22, [x13, #-257]! 220472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 220572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 220672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, [x3, #256]! 220772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2208dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 220972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x22, [x13, #-257]! 221072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 221172062f5744557e270a38192554c3126ea5f97434Tim Northover 221272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w2, [x3, #256]! 221372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w22, [x13, #-257]! 221472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x3, #256]! 221572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w22, [x13, #-257]! 221672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 221772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w2, [x3, #256]! 221872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2219dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 222072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w22, [x13, #-257]! 222172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 222272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 222372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w2, [x3, #256]! 222472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2225dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 222672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w22, [x13, #-257]! 222772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 222872062f5744557e270a38192554c3126ea5f97434Tim Northover 222972062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x3, #256]! 223072062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x13, #-257]! 223172062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x3, #256]! 223272062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x13, #-257]! 223372062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x3, #256]! 223472062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x13, #-257]! 223572062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x3, #256]! 223672062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x13, #-257]! 223772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 223872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x3, #256]! 223972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2240dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 224172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x13, #-257]! 224272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 224372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 224472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x3, #256]! 224572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2246dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 224772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x13, #-257]! 224872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 224972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 225072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x3, #256]! 225172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2252dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 225372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x13, #-257]! 225472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 225572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 225672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x3, #256]! 225772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2258dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 225972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x13, #-257]! 226072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 226172062f5744557e270a38192554c3126ea5f97434Tim Northover 226272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x3, #256]! 226372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x13, #-257]! 226472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x3, #256]! 226572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x13, #-257]! 226672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x3, #256]! 226772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x13, #-257]! 226872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x3, #256]! 226972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x13, #-257]! 227072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 227172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x3, #256]! 227272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2273dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 227472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x13, #-257]! 227572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 227672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 227772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x3, #256]! 227872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2279dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 228072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x13, #-257]! 228172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 228272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 228372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x3, #256]! 228472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2285dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 228672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x13, #-257]! 228772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 228872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 228972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x3, #256]! 229072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2291dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 229272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x13, #-257]! 229372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 229472062f5744557e270a38192554c3126ea5f97434Tim Northover 229572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 229672062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unprivileged) 229772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 229872062f5744557e270a38192554c3126ea5f97434Tim Northover 229972062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrb w2, [sp, #256] 230072062f5744557e270a38192554c3126ea5f97434Tim Northover sttrh w17, [x1, #256] 230172062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrsw x20, [x1, #256] 230272062f5744557e270a38192554c3126ea5f97434Tim Northover ldtr x12, [sp, #256] 2303dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 230472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrb w2, [sp, #256] 230572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2306dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 230772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttrh w17, [x1, #256] 230872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2309dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 231072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrsw x20, [x1, #256] 231172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2312dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 231372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtr x12, [sp, #256] 231472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 231572062f5744557e270a38192554c3126ea5f97434Tim Northover 231672062f5744557e270a38192554c3126ea5f97434Tim Northover sttr h2, [x2, #-257] 231772062f5744557e270a38192554c3126ea5f97434Tim Northover sttr b2, [x2, #-257] 231872062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrsb x9, [sp, #-257] 231972062f5744557e270a38192554c3126ea5f97434Tim Northover ldtr w2, [x30, #-257] 232072062f5744557e270a38192554c3126ea5f97434Tim Northover sttr q9, [x20, #-257] 232172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 232272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr h2, [x2, #-257] 2323b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 232472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 232572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr b2, [x2, #-257] 2326b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2327dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 232872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrsb x9, [sp, #-257] 232972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2330dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 233172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtr w2, [x30, #-257] 233272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 233372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 233472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr q9, [x20, #-257] 233572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 233672062f5744557e270a38192554c3126ea5f97434Tim Northover 233772062f5744557e270a38192554c3126ea5f97434Tim Northover 233872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 233972062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unsigned immediate) 234072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 234172062f5744557e270a38192554c3126ea5f97434Tim Northover 234272062f5744557e270a38192554c3126ea5f97434Tim Northover//// Out of range immediates 234372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q0, [x11, #65536] 234472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x0, [sp, #32768] 234572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [x4, #16384] 234672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w2, [x21, #8192] 234772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w3, [x12, #4096] 2348dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 234972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q0, [x11, #65536] 235072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2351dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 235272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x0, [sp, #32768] 235372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2354dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 235572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [x4, #16384] 235672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2357dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 235872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w2, [x21, #8192] 235972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2360dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 236172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w3, [x12, #4096] 236272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 236372062f5744557e270a38192554c3126ea5f97434Tim Northover 236472062f5744557e270a38192554c3126ea5f97434Tim Northover//// Misaligned addresses 236572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [x0, #2] 236672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x0, #123] 236772062f5744557e270a38192554c3126ea5f97434Tim Northover str q0, [x0, #8] 2368dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: too few operands for instruction 2369dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ldr w0, [x0, #2] 2370dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2371dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction 2372dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ldrsh w2, [x0, #123] 2373dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2374dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction 2375dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: str q0, [x0, #8] 2376dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 237772062f5744557e270a38192554c3126ea5f97434Tim Northover 237872062f5744557e270a38192554c3126ea5f97434Tim Northover//// 32-bit addresses 237972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [w20] 238072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x3, [wsp] 238172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 238272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [w20] 238372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 238472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 238572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x3, [wsp] 238672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 238772062f5744557e270a38192554c3126ea5f97434Tim Northover 238872062f5744557e270a38192554c3126ea5f97434Tim Northover//// Store things 238972062f5744557e270a38192554c3126ea5f97434Tim Northover strb w0, [wsp] 239072062f5744557e270a38192554c3126ea5f97434Tim Northover strh w31, [x23, #1] 239172062f5744557e270a38192554c3126ea5f97434Tim Northover str x5, [x22, #12] 239272062f5744557e270a38192554c3126ea5f97434Tim Northover str w7, [x12, #16384] 239372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 239472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w0, [wsp] 239572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2396dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: invalid operand for instruction 2397dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: strh w31, [x23, #1] 2398dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2399dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction 2400dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: str x5, [x22, #12] 2401dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2402dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 240372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w7, [x12, #16384] 240472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 240572062f5744557e270a38192554c3126ea5f97434Tim Northover 240672062f5744557e270a38192554c3126ea5f97434Tim Northover//// Bad PRFMs 240772062f5744557e270a38192554c3126ea5f97434Tim Northover prfm #-1, [sp] 240872062f5744557e270a38192554c3126ea5f97434Tim Northover prfm #32, [sp, #8] 240972062f5744557e270a38192554c3126ea5f97434Tim Northover prfm pldl1strm, [w3, #8] 241072062f5744557e270a38192554c3126ea5f97434Tim Northover prfm wibble, [sp] 2411dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: Invalid immediate for instruction 2412dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: prefetch operand out of range, [0,31] expected 241372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm #-1, [sp] 241472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2415dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: Invalid immediate for instruction 2416dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: prefetch operand out of range, [0,31] expected 241772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm #32, [sp, #8] 241872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 241972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 242072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm pldl1strm, [w3, #8] 242172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2422dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: operand specifier not recognised 2423dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: pre-fetch hint expected 242472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm wibble, [sp] 242572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 242672062f5744557e270a38192554c3126ea5f97434Tim Northover 242772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 242872062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register (register offset) 242972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 243072062f5744557e270a38192554c3126ea5f97434Tim Northover 243172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w3, [xzr, x3] 243272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w4, [x0, x4, lsl] 243372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [x5, x5, uxtw] 243472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w10, [x6, x9, sxtw #2] 243572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w11, [x7, w2, lsl #2] 243672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w12, [x8, w1, sxtx] 243772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 243872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w3, [xzr, x3] 243972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 244072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected #imm after shift specifier 244172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w4, [x0, x4, lsl] 244272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2443b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 244472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [x5, x5, uxtw] 244572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2446b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 244772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w10, [x6, x9, sxtw #2] 244872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2449b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 245072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w11, [x7, w2, lsl #2] 245172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2452b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 245372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w12, [x8, w1, sxtx] 245472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 245572062f5744557e270a38192554c3126ea5f97434Tim Northover 245672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w9, [x4, x2, lsl #-1] 245772062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [x4, x2, lsl #1] 245872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 245972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w9, [x4, x2, lsl #-1] 246072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2461b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 246272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [x4, x2, lsl #1] 246372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 246472062f5744557e270a38192554c3126ea5f97434Tim Northover 246572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w9, [x4, x2, lsl #-1] 246672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h13, [x4, w2, uxtw #2] 246772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 246872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w9, [x4, x2, lsl #-1] 246972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2470b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #1 247172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h13, [x4, w2, uxtw #2] 2472b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 247372062f5744557e270a38192554c3126ea5f97434Tim Northover 247472062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [x5, w9, sxtw #-1] 247572062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [sp, w9, uxtw #1] 247672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x9, [x15, x4, sxtx #3] 247772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 247872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [x5, w9, sxtw #-1] 247972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2480b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 248172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [sp, w9, uxtw #1] 2482b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2483b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 248472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x9, [x15, x4, sxtx #3] 2485b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 248672062f5744557e270a38192554c3126ea5f97434Tim Northover 248772062f5744557e270a38192554c3126ea5f97434Tim Northover str xzr, [x5, x9, sxtx #-1] 248872062f5744557e270a38192554c3126ea5f97434Tim Northover prfm pldl3keep, [sp, x20, lsl #2] 248972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x20, wzr, uxtw #4] 249072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 249172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str xzr, [x5, x9, sxtx #-1] 249272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2493b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #3 249472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm pldl3keep, [sp, x20, lsl #2] 249572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2496b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #3 249772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x20, wzr, uxtw #4] 249872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 249972062f5744557e270a38192554c3126ea5f97434Tim Northover 250072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q5, [sp, x2, lsl #-1] 250172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q10, [x20, w4, uxtw #2] 250272062f5744557e270a38192554c3126ea5f97434Tim Northover str q21, [x20, w4, uxtw #5] 250372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 250472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q5, [sp, x2, lsl #-1] 250572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2506dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4 2507dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #4 250872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q10, [x20, w4, uxtw #2] 250972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2510dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4 2511dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #4 251272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q21, [x20, w4, uxtw #5] 251372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 251472062f5744557e270a38192554c3126ea5f97434Tim Northover 251572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 251672062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (offset) 251772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 251872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4, #1] 251972062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3, #253] 252072062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5, #256] 252172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9, #-260] 252272062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp] 2523dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 252472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4, #1] 2525b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2526dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 252772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3, #253] 252872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2529dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 253072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5, #256] 253172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2532dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 253372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9, #-260] 253472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 253572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 253672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp] 253772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 253872062f5744557e270a38192554c3126ea5f97434Tim Northover 253972062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp, #2] 254072062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10, #256] 254172062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11, #-260] 2542dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 254372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp, #2] 254472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2545dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 254672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10, #256] 254772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2548dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 254972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11, #-260] 255072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 255172062f5744557e270a38192554c3126ea5f97434Tim Northover 255272062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp, #4] 255372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9, #512] 255472062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10, #-520] 2555dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 255672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4] 255772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2558dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 255972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512] 256072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2561dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 256272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520] 256372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 256472062f5744557e270a38192554c3126ea5f97434Tim Northover 256572062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10] 256672062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9] 256772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 256872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10] 256972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 257072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 257172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9] 257272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 257372062f5744557e270a38192554c3126ea5f97434Tim Northover 257472062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp, #-2] 257572062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4, #-260] 257672062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5, #256] 2577dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 257872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp, #-2] 257972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2580dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 258172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4, #-260] 258272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2583dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 258472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5, #256] 258572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 258672062f5744557e270a38192554c3126ea5f97434Tim Northover 258772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr] 258872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0, #512] 258972062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0, #-520] 259072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 259172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr] 259272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2593dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 259472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512] 259572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2596dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 259772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520] 259872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 259972062f5744557e270a38192554c3126ea5f97434Tim Northover 260072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp] 260172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp, #8] 260272062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5, #1024] 260372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23, #-1040] 260472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 260572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp] 260672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2607dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 260872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8] 260972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2610dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 261172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024] 261272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2613dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 261472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040] 261572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 261672062f5744557e270a38192554c3126ea5f97434Tim Northover 261772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 261872062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (post-indexed) 261972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 262072062f5744557e270a38192554c3126ea5f97434Tim Northover 262172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4], #1 262272062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3], #253 262372062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5], #256 262472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9], #-260 262572062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp], #0 2626dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 262772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4], #1 262872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2629dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 263072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3], #253 263172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2632dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 263372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5], #256 263472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2635dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 263672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9], #-260 263772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 263872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 263972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp], #0 264072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 264172062f5744557e270a38192554c3126ea5f97434Tim Northover 264272062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp], #2 264372062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10], #256 264472062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11], #-260 2645dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 264672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp], #2 264772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2648dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 264972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10], #256 265072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2651dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 265272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11], #-260 265372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 265472062f5744557e270a38192554c3126ea5f97434Tim Northover 265572062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp], #4 265672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9], #512 265772062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10], #-520 2658dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 265972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp], #4 2660b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2661dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 266272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9], #512 2663b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2664dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 266572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10], #-520 2666b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 266772062f5744557e270a38192554c3126ea5f97434Tim Northover 266872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10], #0 266972062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9], #0 267072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 267172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10], #0 267272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 267372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 267472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9], #0 267572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 267672062f5744557e270a38192554c3126ea5f97434Tim Northover 267772062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp], #-2 267872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4], #-260 267972062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5], #256 2680dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 268172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp], #-2 268272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2683dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 268472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4], #-260 268572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2686dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 268772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5], #256 268872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 268972062f5744557e270a38192554c3126ea5f97434Tim Northover 269072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr], #0 269172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0], #512 269272062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0], #-520 269372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 269472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr], #0 269572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2696dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 269772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0], #512 269872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2699dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 270072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0], #-520 270172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 270272062f5744557e270a38192554c3126ea5f97434Tim Northover 270372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp], #0 270472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp], #8 270572062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5], #1024 270672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23], #-1040 270772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 270872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp], #0 270972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2710dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 271172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp], #8 271272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2713dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 271472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5], #1024 271572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2716dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 271772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23], #-1040 271872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 271972062f5744557e270a38192554c3126ea5f97434Tim Northover 272072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 272172062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (pre-indexed) 272272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 272372062f5744557e270a38192554c3126ea5f97434Tim Northover 272472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4, #1]! 272572062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3, #253]! 272672062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5, #256]! 272772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9, #-260]! 272872062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp, #0]! 2729dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4, #1]! 273172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2732dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3, #253]! 273472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2735dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5, #256]! 273772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2738dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9, #-260]! 274072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 274172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 274272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp, #0]! 274372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 274472062f5744557e270a38192554c3126ea5f97434Tim Northover 274572062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp, #2]! 274672062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10, #256]! 274772062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11, #-260]! 2748dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 274972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp, #2]! 275072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2751dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 275272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10, #256]! 275372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2754dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 275572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11, #-260]! 275672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 275772062f5744557e270a38192554c3126ea5f97434Tim Northover 275872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp, #4]! 275972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9, #512]! 276072062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10, #-520]! 2761dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 276272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4]! 276372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2764dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 276572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512]! 276672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2767dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 276872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520]! 276972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 277072062f5744557e270a38192554c3126ea5f97434Tim Northover 277172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10, #0]! 277272062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9, #0]! 277372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 277472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10, #0]! 277572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 277672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 277772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9, #0]! 277872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 277972062f5744557e270a38192554c3126ea5f97434Tim Northover 278072062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp, #-2]! 278172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4, #-260]! 278272062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5, #256]! 2783dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 278472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp, #-2]! 278572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2786dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 278772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4, #-260]! 278872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2789dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 279072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5, #256]! 279172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 279272062f5744557e270a38192554c3126ea5f97434Tim Northover 279372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr, #0]! 279472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0, #512]! 279572062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0, #-520]! 279672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 279772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr, #0]! 279872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2799dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 280072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512]! 280172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2802dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 280372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520]! 280472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 280572062f5744557e270a38192554c3126ea5f97434Tim Northover 280672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp, #0]! 280772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp, #8]! 280872062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5, #1024]! 280972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23, #-1040]! 281072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 281172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp, #0]! 281272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2813dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 281472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8]! 281572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2816dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 281772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024]! 281872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2819dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 282072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040]! 282172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 282272062f5744557e270a38192554c3126ea5f97434Tim Northover 282372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 282472062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (offset) 282572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 282672062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp w3, w2, [x4, #1] 282772062f5744557e270a38192554c3126ea5f97434Tim Northover stnp w1, w2, [x3, #253] 282872062f5744557e270a38192554c3126ea5f97434Tim Northover stnp w9, w10, [x5, #256] 282972062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp w11, w12, [x9, #-260] 283072062f5744557e270a38192554c3126ea5f97434Tim Northover stnp wsp, w9, [sp] 2831dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 283272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp w3, w2, [x4, #1] 2833b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2834dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 283572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp w1, w2, [x3, #253] 2836b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2837dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 283872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp w9, w10, [x5, #256] 2839b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2840dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 284172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp w11, w12, [x9, #-260] 2842b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 284372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 284472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp wsp, w9, [sp] 2845b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 284672062f5744557e270a38192554c3126ea5f97434Tim Northover 284772062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp x2, x5, [sp, #4] 284872062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp x5, x6, [x9, #512] 284972062f5744557e270a38192554c3126ea5f97434Tim Northover stnp x7, x8, [x10, #-520] 2850dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 285172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp x2, x5, [sp, #4] 2852b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2853dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 285472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp x5, x6, [x9, #512] 2855b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2856dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 285772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp x7, x8, [x10, #-520] 2858b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 285972062f5744557e270a38192554c3126ea5f97434Tim Northover 286072062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp sp, x3, [x10] 286172062f5744557e270a38192554c3126ea5f97434Tim Northover stnp x3, sp, [x9] 286272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 286372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp sp, x3, [x10] 286472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 286572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 286672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp x3, sp, [x9] 286772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 286872062f5744557e270a38192554c3126ea5f97434Tim Northover 286972062f5744557e270a38192554c3126ea5f97434Tim Northover stnp s3, s5, [sp, #-2] 287072062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp s6, s26, [x4, #-260] 287172062f5744557e270a38192554c3126ea5f97434Tim Northover stnp s13, s19, [x5, #256] 2872dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 287372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp s3, s5, [sp, #-2] 287472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2875dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 287672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp s6, s26, [x4, #-260] 287772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2878dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 287972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp s13, s19, [x5, #256] 288072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 288172062f5744557e270a38192554c3126ea5f97434Tim Northover 288272062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d3, d4, [xzr] 288372062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d5, d6, [x0, #512] 288472062f5744557e270a38192554c3126ea5f97434Tim Northover stnp d7, d8, [x0, #-520] 288572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 288672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d3, d4, [xzr] 288772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2888dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 288972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d5, d6, [x0, #512] 289072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2891dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 289272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp d7, d8, [x0, #-520] 289372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 289472062f5744557e270a38192554c3126ea5f97434Tim Northover 289572062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d3, q2, [sp] 289672062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp q3, q5, [sp, #8] 289772062f5744557e270a38192554c3126ea5f97434Tim Northover stnp q20, q25, [x5, #1024] 289872062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp q30, q15, [x23, #-1040] 289972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 290072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d3, q2, [sp] 290172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2902dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 290372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp q3, q5, [sp, #8] 290472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2905dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 290672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp q20, q25, [x5, #1024] 290772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2908dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 290972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp q30, q15, [x23, #-1040] 291072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 291172062f5744557e270a38192554c3126ea5f97434Tim Northover 291272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 291372062f5744557e270a38192554c3126ea5f97434Tim Northover// Logical (shifted register) 291472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 291572062f5744557e270a38192554c3126ea5f97434Tim Northover orr w0, w1, #0xffffffff 291672062f5744557e270a38192554c3126ea5f97434Tim Northover and x3, x5, #0xffffffffffffffff 2917b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 291872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w0, w1, #0xffffffff 291972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2920b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 292172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x3, x5, #0xffffffffffffffff 292272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 292372062f5744557e270a38192554c3126ea5f97434Tim Northover 292472062f5744557e270a38192554c3126ea5f97434Tim Northover ands w3, w9, #0x0 292572062f5744557e270a38192554c3126ea5f97434Tim Northover eor x2, x0, #0x0 2926b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 292772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands w3, w9, #0x0 292872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2929b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 293072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor x2, x0, #0x0 293172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 293272062f5744557e270a38192554c3126ea5f97434Tim Northover 293372062f5744557e270a38192554c3126ea5f97434Tim Northover eor w3, w5, #0x83 293472062f5744557e270a38192554c3126ea5f97434Tim Northover eor x9, x20, #0x1234 2935b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 293672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor w3, w5, #0x83 293772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2938b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 293972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor x9, x20, #0x1234 294072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 294172062f5744557e270a38192554c3126ea5f97434Tim Northover 294272062f5744557e270a38192554c3126ea5f97434Tim Northover and wzr, w4, 0xffff0000 294372062f5744557e270a38192554c3126ea5f97434Tim Northover eor xzr, x9, #0xffff0000ffff0000 294472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 294572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and wzr, w4, 0xffff0000 294672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 294772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 294872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor xzr, x9, #0xffff0000ffff0000 294972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 295072062f5744557e270a38192554c3126ea5f97434Tim Northover 295172062f5744557e270a38192554c3126ea5f97434Tim Northover orr w3, wsp, #0xf0f0f0f0 295272062f5744557e270a38192554c3126ea5f97434Tim Northover ands x3, sp, #0xaaaaaaaaaaaaaaaa 295372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 295472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w3, wsp, #0xf0f0f0f0 295572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 295672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 295772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands x3, sp, #0xaaaaaaaaaaaaaaaa 295872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 295972062f5744557e270a38192554c3126ea5f97434Tim Northover 296072062f5744557e270a38192554c3126ea5f97434Tim Northover tst sp, #0xe0e0e0e0e0e0e0e0 296172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 296272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tst sp, #0xe0e0e0e0e0e0e0e0 296372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 296472062f5744557e270a38192554c3126ea5f97434Tim Northover 296572062f5744557e270a38192554c3126ea5f97434Tim Northover // movi has been removed from the specification. Make sure it's really gone. 296672062f5744557e270a38192554c3126ea5f97434Tim Northover movi wzr, #0x44444444 296772062f5744557e270a38192554c3126ea5f97434Tim Northover movi w3, #0xffff 296872062f5744557e270a38192554c3126ea5f97434Tim Northover movi x9, #0x0000ffff00000000 296987773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 297072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi wzr, #0x44444444 297172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 297287773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 297372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi w3, #0xffff 297472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 297587773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 297672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi x9, #0x0000ffff00000000 297772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 297872062f5744557e270a38192554c3126ea5f97434Tim Northover 297972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 298072062f5744557e270a38192554c3126ea5f97434Tim Northover// Logical (shifted register) 298172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 298272062f5744557e270a38192554c3126ea5f97434Tim Northover 298372062f5744557e270a38192554c3126ea5f97434Tim Northover //// Out of range shifts 298472062f5744557e270a38192554c3126ea5f97434Tim Northover and w2, w24, w6, lsl #-1 298572062f5744557e270a38192554c3126ea5f97434Tim Northover and w4, w6, w12, lsl #32 298672062f5744557e270a38192554c3126ea5f97434Tim Northover and x4, x6, x12, lsl #64 298772062f5744557e270a38192554c3126ea5f97434Tim Northover and x2, x5, x11, asr 298872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 298972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and w2, w24, w6, lsl #-1 299072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2991b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 299272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and w4, w6, w12, lsl #32 299372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2994b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 299572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x4, x6, x12, lsl #64 299672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 299772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected #imm after shift specifier 299872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x2, x5, x11, asr 299972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 300072062f5744557e270a38192554c3126ea5f97434Tim Northover 300172062f5744557e270a38192554c3126ea5f97434Tim Northover //// sp not allowed 300272062f5744557e270a38192554c3126ea5f97434Tim Northover orn wsp, w3, w5 300372062f5744557e270a38192554c3126ea5f97434Tim Northover bics x20, sp, x9, lsr #0 300472062f5744557e270a38192554c3126ea5f97434Tim Northover orn x2, x6, sp, lsl #3 3005c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// FIXME: the diagnostic we get for 'orn wsp, w3, w5' is from the orn alias, 3006c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// which is a better match than the genuine ORNWri, whereas it would be better 3007c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// to get the ORNWri diagnostic when the alias did not match, i.e. the 3008c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// alias' diagnostics should have a lower priority. 3009c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR: error: expected compatible register or logical immediate 301072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orn wsp, w3, w5 3011c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: ^ 301272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 301372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bics x20, sp, x9, lsr #0 301472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3015c6a4f5e819217e1e12c458aed8e7b122e23a3a58Stephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 301672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orn x2, x6, sp, lsl #3 301772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 301872062f5744557e270a38192554c3126ea5f97434Tim Northover 301972062f5744557e270a38192554c3126ea5f97434Tim Northover //// Mismatched registers 302072062f5744557e270a38192554c3126ea5f97434Tim Northover and x3, w2, w1 302172062f5744557e270a38192554c3126ea5f97434Tim Northover ands w1, x12, w2 302272062f5744557e270a38192554c3126ea5f97434Tim Northover and x4, x5, w6, lsl #12 302372062f5744557e270a38192554c3126ea5f97434Tim Northover orr w2, w5, x7, asr #0 302472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 302572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x3, w2, w1 302672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 302772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 302872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands w1, x12, w2 302972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3030b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 303172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x4, x5, w6, lsl #12 303272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3033b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 303472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w2, w5, x7, asr #0 303572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 303672062f5744557e270a38192554c3126ea5f97434Tim Northover 303772062f5744557e270a38192554c3126ea5f97434Tim Northover //// Shifts should not be allowed on mov 303872062f5744557e270a38192554c3126ea5f97434Tim Northover mov w3, w7, lsl #13 303972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 304072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mov w3, w7, lsl #13 304172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 304272062f5744557e270a38192554c3126ea5f97434Tim Northover 304372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 304472062f5744557e270a38192554c3126ea5f97434Tim Northover// Move wide (immediate) 304572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 304672062f5744557e270a38192554c3126ea5f97434Tim Northover 304772062f5744557e270a38192554c3126ea5f97434Tim Northover movz w3, #65536, lsl #0 304872062f5744557e270a38192554c3126ea5f97434Tim Northover movz w4, #65536 304972062f5744557e270a38192554c3126ea5f97434Tim Northover movn w1, #2, lsl #1 305072062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #0, lsl #-1 305172062f5744557e270a38192554c3126ea5f97434Tim Northover movn w2, #-1, lsl #0 305272062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #-1 305372062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #1, lsl #32 305472062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #12, lsl #64 3055dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 305672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w3, #65536, lsl #0 305772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3058dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 305972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w4, #65536 306072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3061dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535] 3062dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0 or 16 306372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w1, #2, lsl #1 306472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3065dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: only 'lsl #+N' valid after immediate 3066dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected integer shift amount 306772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #0, lsl #-1 306872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3069dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 307072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w2, #-1, lsl #0 307172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3072dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 307372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #-1 307472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3075dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535] 3076dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0 or 16 307772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #1, lsl #32 307872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3079dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535] 3080dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0, 16, 32 or 48 308172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x2, #12, lsl #64 308272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 308372062f5744557e270a38192554c3126ea5f97434Tim Northover 308472062f5744557e270a38192554c3126ea5f97434Tim Northover movz x12, #:abs_g0:sym, lsl #16 308572062f5744557e270a38192554c3126ea5f97434Tim Northover movz x12, #:abs_g0:sym, lsl #0 308672062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #:abs_g0:sym 308772062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g0:sym 308872062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #:abs_g0_nc:sym 308972062f5744557e270a38192554c3126ea5f97434Tim Northover movn x4, #:abs_g0_nc:sym 3090dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 309172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x12, #:abs_g0:sym, lsl #16 309272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3093dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 309472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x12, #:abs_g0:sym, lsl #0 309572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3096dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3097dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x2, #:abs_g0:sym 3098dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3099dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 310072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g0:sym 310172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3102dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 310372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #:abs_g0_nc:sym 310472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3105dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 310672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x4, #:abs_g0_nc:sym 310772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 310872062f5744557e270a38192554c3126ea5f97434Tim Northover 310972062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #:abs_g1:sym 311072062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g1:sym 311172062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #:abs_g1_nc:sym 311272062f5744557e270a38192554c3126ea5f97434Tim Northover movn x4, #:abs_g1_nc:sym 3113dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3114dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x2, #:abs_g1:sym 3115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3116dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 311772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g1:sym 311872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3119dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 312072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #:abs_g1_nc:sym 312172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3122dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 312372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x4, #:abs_g1_nc:sym 312472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 312572062f5744557e270a38192554c3126ea5f97434Tim Northover 312672062f5744557e270a38192554c3126ea5f97434Tim Northover movz w12, #:abs_g2:sym 312772062f5744557e270a38192554c3126ea5f97434Tim Northover movn x12, #:abs_g2:sym 312872062f5744557e270a38192554c3126ea5f97434Tim Northover movk x13, #:abs_g2:sym 312972062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g2_nc:sym 313072062f5744557e270a38192554c3126ea5f97434Tim Northover movz x13, #:abs_g2_nc:sym 313172062f5744557e270a38192554c3126ea5f97434Tim Northover movn x24, #:abs_g2_nc:sym 3132dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 313372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w12, #:abs_g2:sym 313472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3135dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3136dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x12, #:abs_g2:sym 3137dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3138dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 313972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x13, #:abs_g2:sym 314072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3141dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 314272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g2_nc:sym 314372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3144dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 314572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x13, #:abs_g2_nc:sym 314672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3147dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 314872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x24, #:abs_g2_nc:sym 314972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 315072062f5744557e270a38192554c3126ea5f97434Tim Northover 315172062f5744557e270a38192554c3126ea5f97434Tim Northover movn x19, #:abs_g3:sym 315272062f5744557e270a38192554c3126ea5f97434Tim Northover movz w20, #:abs_g3:sym 315372062f5744557e270a38192554c3126ea5f97434Tim Northover movk w21, #:abs_g3:sym 3154dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3155dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x19, #:abs_g3:sym 3156dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3157dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 315872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w20, #:abs_g3:sym 315972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3160dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 316172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w21, #:abs_g3:sym 316272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 316372062f5744557e270a38192554c3126ea5f97434Tim Northover 316472062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g0_s:sym 316572062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g0_s:sym 3166dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 316772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g0_s:sym 316872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3169dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 317072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g0_s:sym 317172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 317272062f5744557e270a38192554c3126ea5f97434Tim Northover 317372062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g1_s:sym 317472062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g1_s:sym 3175dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 317672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g1_s:sym 317772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3178dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 317972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g1_s:sym 318072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 318172062f5744557e270a38192554c3126ea5f97434Tim Northover 318272062f5744557e270a38192554c3126ea5f97434Tim Northover movz w2, #:abs_g2_s:sym 318372062f5744557e270a38192554c3126ea5f97434Tim Northover movn w29, #:abs_g2_s:sym 318472062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g2_s:sym 318572062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g2_s:sym 3186dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 318772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w2, #:abs_g2_s:sym 318872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3189dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 319072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w29, #:abs_g2_s:sym 319172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3192dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 319372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g2_s:sym 319472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3195dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 319672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g2_s:sym 319772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 319872062f5744557e270a38192554c3126ea5f97434Tim Northover 319972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 320072062f5744557e270a38192554c3126ea5f97434Tim Northover// PC-relative addressing 320172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 320272062f5744557e270a38192554c3126ea5f97434Tim Northover 320372062f5744557e270a38192554c3126ea5f97434Tim Northover adr sp, loc // expects xzr 320472062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x3, #20 // Immediate unaligned 320572062f5744557e270a38192554c3126ea5f97434Tim Northover adrp w2, loc // 64-bit register needed 320672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 320772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr sp, loc 320872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3209b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 321072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x3, #20 321172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 321272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 321372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp w2, loc 321472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 321572062f5744557e270a38192554c3126ea5f97434Tim Northover 321672062f5744557e270a38192554c3126ea5f97434Tim Northover adr x9, #1048576 321772062f5744557e270a38192554c3126ea5f97434Tim Northover adr x2, #-1048577 321872062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x9, #4294967296 321972062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x20, #-4294971392 3220b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 322172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr x9, #1048576 322272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3223b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 322472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr x2, #-1048577 322572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3226b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 322772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x9, #4294967296 322872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3229b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 323072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x20, #-4294971392 323172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 323272062f5744557e270a38192554c3126ea5f97434Tim Northover 323372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 323472062f5744557e270a38192554c3126ea5f97434Tim Northover// System 323572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 323672062f5744557e270a38192554c3126ea5f97434Tim Northover 323772062f5744557e270a38192554c3126ea5f97434Tim Northover hint #-1 323872062f5744557e270a38192554c3126ea5f97434Tim Northover hint #128 3239dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 127] 324072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hint #-1 324172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3242dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 127] 324372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hint #128 324472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 324572062f5744557e270a38192554c3126ea5f97434Tim Northover 324672062f5744557e270a38192554c3126ea5f97434Tim Northover clrex #-1 324772062f5744557e270a38192554c3126ea5f97434Tim Northover clrex #16 3248dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 324972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: clrex #-1 325072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3251dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 325272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: clrex #16 325372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 325472062f5744557e270a38192554c3126ea5f97434Tim Northover 325572062f5744557e270a38192554c3126ea5f97434Tim Northover dsb #-1 325672062f5744557e270a38192554c3126ea5f97434Tim Northover dsb #16 325772062f5744557e270a38192554c3126ea5f97434Tim Northover dmb #-1 325872062f5744557e270a38192554c3126ea5f97434Tim Northover dmb #16 3259dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 326072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dsb #-1 326172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3262dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 326372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dsb #16 326472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3265dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 326672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dmb #-1 326772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3268dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 326972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dmb #16 327072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 327172062f5744557e270a38192554c3126ea5f97434Tim Northover 327272062f5744557e270a38192554c3126ea5f97434Tim Northover isb #-1 327372062f5744557e270a38192554c3126ea5f97434Tim Northover isb #16 3274dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 327572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: isb #-1 327672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3277dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 327872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: isb #16 327972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 328072062f5744557e270a38192554c3126ea5f97434Tim Northover 328172062f5744557e270a38192554c3126ea5f97434Tim Northover msr daifset, x4 3282b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover msr spsel, #-1 328372062f5744557e270a38192554c3126ea5f97434Tim Northover msr spsel #-1 328472062f5744557e270a38192554c3126ea5f97434Tim Northover msr daifclr, #16 3285dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 328672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr daifset, x4 328772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3288dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 3289b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: msr spsel, #-1 3290b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 3291dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected comma before next operand|unexpected token in argument list}} 329272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr spsel #-1 329372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3294dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 329572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr daifclr, #16 329672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 329772062f5744557e270a38192554c3126ea5f97434Tim Northover 329872062f5744557e270a38192554c3126ea5f97434Tim Northover sys #8, c1, c2, #7, x9 329972062f5744557e270a38192554c3126ea5f97434Tim Northover sys #3, c16, c2, #3, x10 330072062f5744557e270a38192554c3126ea5f97434Tim Northover sys #2, c11, c16, #5 330172062f5744557e270a38192554c3126ea5f97434Tim Northover sys #4, c9, c8, #8, xzr 330272062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x11, #8, c1, c2, #7 330372062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x13, #3, c16, c2, #3 330472062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x9, #2, c11, c16, #5 330572062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x4, #4, c9, c8, #8 3306dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 330772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #8, c1, c2, #7, x9 330872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 331072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #3, c16, c2, #3, x10 331172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 331272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 331372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #2, c11, c16, #5 331472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3315dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 331672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #4, c9, c8, #8, xzr 331772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3318dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 331972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x11, #8, c1, c2, #7 332072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 332172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 332272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x13, #3, c16, c2, #3 332372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 332472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 332572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x9, #2, c11, c16, #5 332672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3327dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 332872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x4, #4, c9, c8, #8 332972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 333072062f5744557e270a38192554c3126ea5f97434Tim Northover 333172062f5744557e270a38192554c3126ea5f97434Tim Northover ic ialluis, x2 333272062f5744557e270a38192554c3126ea5f97434Tim Northover ic allu, x7 333372062f5744557e270a38192554c3126ea5f97434Tim Northover ic ivau 3334dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{IC|ic}} op does not use a register 333572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic ialluis, x2 333672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3337dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: operand specifier not recognised 3338dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: invalid operand for IC instruction 333972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic allu, x7 334072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3341dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{IC|ic}} op requires a register 334272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic ivau 334372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 334472062f5744557e270a38192554c3126ea5f97434Tim Northover 334572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2E1IS 334672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2LE1IS 334772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLE1IS, x12 334872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE2IS, x11 334972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE3IS, x20 335072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE1IS 335172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE2IS 335272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE3IS 335372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ASIDE1IS 335472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAAE1IS 335572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE1IS, x0 335672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE1IS 335772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE2IS 335872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE3IS 335972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLS12E1IS, xzr 336072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAALE1IS 336172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2E1 336272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2LE1 336372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLE1, x9 336472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE2, x10 336572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE3, x11 336672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE1 336772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE2 336872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE3 336972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ASIDE1 337072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAAE1 337172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE1, x25 337272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE1 337372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE2 337472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE3 337572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLS12E1, x15 337672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAALE1 3377dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 337872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2E1IS 337972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3380dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 338172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2LE1IS 338272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3383dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 338472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLE1IS, x12 338572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3386dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 338772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE2IS, x11 338872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3389dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 339072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE3IS, x20 339172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3392dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 339372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE1IS 339472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3395dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 339672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE2IS 339772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3398dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 339972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE3IS 340072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3401dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 340272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ASIDE1IS 340372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3404dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 340572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAAE1IS 340672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3407dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 340872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE1IS, x0 340972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3410dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 341172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE1IS 341272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3413dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 341472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE2IS 341572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3416dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 341772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE3IS 341872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3419dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 342072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLS12E1IS, xzr 342172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3422dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 342372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAALE1IS 342472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3425dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 342672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2E1 342772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3428dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 342972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2LE1 343072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3431dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 343272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLE1, x9 343372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3434dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 343572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE2, x10 343672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3437dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 343872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE3, x11 343972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3440dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 344172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE1 344272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3443dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 344472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE2 344572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3446dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 344772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE3 344872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3449dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 345072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ASIDE1 345172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3452dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 345372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAAE1 345472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3455dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 345672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE1, x25 345772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3458dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 345972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE1 346072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3461dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 346272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE2 346372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3464dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 346572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE3 346672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3467dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 346872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLS12E1, x15 346972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3470dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 347172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAALE1 347272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 347372062f5744557e270a38192554c3126ea5f97434Tim Northover 347472062f5744557e270a38192554c3126ea5f97434Tim Northover// For the MSR/MRS instructions, first make sure read-only and 347572062f5744557e270a38192554c3126ea5f97434Tim Northover// write-only registers actually are. 347672062f5744557e270a38192554c3126ea5f97434Tim Northover msr MDCCSR_EL0, x12 347772062f5744557e270a38192554c3126ea5f97434Tim Northover msr DBGDTRRX_EL0, x12 347872062f5744557e270a38192554c3126ea5f97434Tim Northover msr MDRAR_EL1, x12 347972062f5744557e270a38192554c3126ea5f97434Tim Northover msr OSLSR_EL1, x12 348072062f5744557e270a38192554c3126ea5f97434Tim Northover msr DBGAUTHSTATUS_EL1, x12 348172062f5744557e270a38192554c3126ea5f97434Tim Northover msr MIDR_EL1, x12 348272062f5744557e270a38192554c3126ea5f97434Tim Northover msr CCSIDR_EL1, x12 348372062f5744557e270a38192554c3126ea5f97434Tim Northover msr CLIDR_EL1, x12 348472062f5744557e270a38192554c3126ea5f97434Tim Northover msr CTR_EL0, x12 348572062f5744557e270a38192554c3126ea5f97434Tim Northover msr MPIDR_EL1, x12 348672062f5744557e270a38192554c3126ea5f97434Tim Northover msr REVIDR_EL1, x12 348772062f5744557e270a38192554c3126ea5f97434Tim Northover msr AIDR_EL1, x12 348872062f5744557e270a38192554c3126ea5f97434Tim Northover msr DCZID_EL0, x12 348972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_PFR0_EL1, x12 349072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_PFR1_EL1, x12 349172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_DFR0_EL1, x12 349272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AFR0_EL1, x12 349372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR0_EL1, x12 349472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR1_EL1, x12 349572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR2_EL1, x12 349672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR3_EL1, x12 34976948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar msr ID_MMFR4_EL1, x12 349872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR0_EL1, x12 349972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR1_EL1, x12 350072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR2_EL1, x12 350172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR3_EL1, x12 350272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR4_EL1, x12 350372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR5_EL1, x12 350472062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR0_EL1, x12 350572062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR1_EL1, x12 350672062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR2_EL1, x12 350772062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64PFR0_EL1, x12 350872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64PFR1_EL1, x12 350972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64DFR0_EL1, x12 351072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64DFR1_EL1, x12 351172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64AFR0_EL1, x12 351272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64AFR1_EL1, x12 351372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64ISAR0_EL1, x12 351472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64ISAR1_EL1, x12 351572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64MMFR0_EL1, x12 351672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64MMFR1_EL1, x12 351772062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMCEID0_EL0, x12 351872062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMCEID1_EL0, x12 351972062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL1, x12 352072062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL2, x12 352172062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL3, x12 352272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ISR_EL1, x12 352372062f5744557e270a38192554c3126ea5f97434Tim Northover msr CNTPCT_EL0, x12 352472062f5744557e270a38192554c3126ea5f97434Tim Northover msr CNTVCT_EL0, x12 352572062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMEVCNTR31_EL0, x12 352672062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMEVTYPER31_EL0, x12 3527b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected writable system register or pstate 352872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MDCCSR_EL0, x12 352972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3530b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr DBGDTRRX_EL0, x12 353272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3533b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MDRAR_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 OSLSR_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 DBGAUTHSTATUS_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 MIDR_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 CCSIDR_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 CLIDR_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 CTR_EL0, x12 355372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3554b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MPIDR_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 REVIDR_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 AIDR_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 DCZID_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 ID_PFR0_EL1, x12 356872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3569b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_PFR1_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 ID_DFR0_EL1, x12 357472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3575b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AFR0_EL1, x12 357772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3578b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 357972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR0_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 ID_MMFR1_EL1, x12 358372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3584b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 358572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR2_EL1, x12 358672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3587b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 358872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR3_EL1, x12 358972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3590b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 35916948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: msr ID_MMFR4_EL1, x12 35926948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: ^ 35936948897e478cbd66626159776a8017b3c18579b9Pirama Arumuga Nainar// CHECK-ERROR-NEXT: error: expected writable system register or pstate 359472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR0_EL1, x12 359572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3596b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 359772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR1_EL1, x12 359872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3599b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 360072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR2_EL1, x12 360172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3602b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 360372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR3_EL1, x12 360472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3605b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 360672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR4_EL1, x12 360772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3608b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 360972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_ISAR5_EL1, x12 361072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3611b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 361272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR0_EL1, x12 361372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3614b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 361572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR1_EL1, x12 361672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3617b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 361872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR2_EL1, x12 361972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3620b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 362172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64PFR0_EL1, x12 362272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3623b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 362472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64PFR1_EL1, x12 362572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3626b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 362772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64DFR0_EL1, x12 362872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3629b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 363072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64DFR1_EL1, x12 363172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3632b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 363372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64AFR0_EL1, x12 363472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3635b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 363672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64AFR1_EL1, x12 363772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3638b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 363972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64ISAR0_EL1, x12 364072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3641b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 364272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64ISAR1_EL1, x12 364372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3644b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 364572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64MMFR0_EL1, x12 364672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3647b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 364872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AA64MMFR1_EL1, x12 364972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3650b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 365172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMCEID0_EL0, x12 365272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3653b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 365472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMCEID1_EL0, x12 365572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3656b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 365772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL1, x12 365872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3659b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 366072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL2, x12 366172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3662b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 366372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL3, x12 366472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3665b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 366672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ISR_EL1, x12 366772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3668b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 366972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CNTPCT_EL0, x12 367072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3671b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 367272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CNTVCT_EL0, x12 367372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3674b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 367572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMEVCNTR31_EL0, x12 367672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3677b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 367872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMEVTYPER31_EL0, x12 367972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 368072062f5744557e270a38192554c3126ea5f97434Tim Northover 368172062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, DBGDTRTX_EL0 368272062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, OSLAR_EL1 368372062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMSWINC_EL0 368472062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMEVCNTR31_EL0 368572062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMEVTYPER31_EL0 3686b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected readable system register 368772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, DBGDTRTX_EL0 368872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3689b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, OSLAR_EL1 369172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3692b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMSWINC_EL0 369472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3695b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMEVCNTR31_EL0 369772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3698b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMEVTYPER31_EL0 370072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 370172062f5744557e270a38192554c3126ea5f97434Tim Northover 370272062f5744557e270a38192554c3126ea5f97434Tim Northover// Now check some invalid generic names 370372062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x12, s3_8_c11_c13_2 370472062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x19, s3_2_c15_c16_2 370572062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x30, s3_2_c15_c1_8 370637ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines mrs x4, s4_7_c15_c15_7 370737ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines mrs x14, s3_7_c16_c15_7 3708b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 370972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x12, s3_8_c11_c13_2 371072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3711b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 371272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x19, s3_2_c15_c16_2 371372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3714b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 371572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x30, s3_2_c15_c1_8 371672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 371737ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines// CHECK-ERROR-NEXT: error: expected readable system register 371837ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines// CHECK-ERROR-NEXT: mrs x4, s4_7_c15_c15_7 371937ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines// CHECK-ERROR-NEXT: ^ 372037ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines// CHECK-ERROR-NEXT: error: expected readable system register 372137ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines// CHECK-ERROR-NEXT: mrs x14, s3_7_c16_c15_7 372237ed9c199ca639565f6ce88105f9e39e898d82d0Stephen Hines// CHECK-ERROR-NEXT: ^ 372372062f5744557e270a38192554c3126ea5f97434Tim Northover 372472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 372572062f5744557e270a38192554c3126ea5f97434Tim Northover// Test and branch (immediate) 372672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 372772062f5744557e270a38192554c3126ea5f97434Tim Northover 372872062f5744557e270a38192554c3126ea5f97434Tim Northover tbz w3, #-1, addr 372972062f5744557e270a38192554c3126ea5f97434Tim Northover tbz w3, #32, nowhere 373072062f5744557e270a38192554c3126ea5f97434Tim Northover tbz x9, #-1, there 373172062f5744557e270a38192554c3126ea5f97434Tim Northover tbz x20, #64, dont 3732dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31] 373372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz w3, #-1, addr 373472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3735dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 373672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz w3, #32, nowhere 373772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3738dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 373972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz x9, #-1, there 374072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3741dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 374272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz x20, #64, dont 374372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 374472062f5744557e270a38192554c3126ea5f97434Tim Northover 374572062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz w3, #-1, addr 374672062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz w3, #32, nowhere 374772062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz x9, #-1, there 374872062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz x20, #64, dont 3749dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 375072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz w3, #-1, addr 375172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3752dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 375372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz w3, #32, nowhere 375472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3755dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 375672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz x9, #-1, there 375772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3758dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 375972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz x20, #64, dont 376072062f5744557e270a38192554c3126ea5f97434Tim Northover 376172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 376272062f5744557e270a38192554c3126ea5f97434Tim Northover// Unconditional branch (immediate) 376372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 376472062f5744557e270a38192554c3126ea5f97434Tim Northover 376572062f5744557e270a38192554c3126ea5f97434Tim Northover b #134217728 376672062f5744557e270a38192554c3126ea5f97434Tim Northover b #-134217732 376772062f5744557e270a38192554c3126ea5f97434Tim Northover b #1 3768b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 376972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #134217728 377072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3771b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 377272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #-134217732 377372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3774b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 377572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #1 377672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 377772062f5744557e270a38192554c3126ea5f97434Tim Northover 377872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 377972062f5744557e270a38192554c3126ea5f97434Tim Northover// Unconditional branch (register) 378072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 378172062f5744557e270a38192554c3126ea5f97434Tim Northover 378272062f5744557e270a38192554c3126ea5f97434Tim Northover br w2 378372062f5744557e270a38192554c3126ea5f97434Tim Northover br sp 378472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 378572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: br w2 378672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 378772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 378872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: br sp 378972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 379072062f5744557e270a38192554c3126ea5f97434Tim Northover 379172062f5744557e270a38192554c3126ea5f97434Tim Northover //// These ones shouldn't allow any registers 379272062f5744557e270a38192554c3126ea5f97434Tim Northover eret x2 379372062f5744557e270a38192554c3126ea5f97434Tim Northover drps x2 379472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 379572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eret x2 379672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 379772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 379872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: drps x2 379972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 380072062f5744557e270a38192554c3126ea5f97434Tim Northover 3801