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 7872062f5744557e270a38192554c3126ea5f97434Tim Northover// Out of range immediates: < 0 or more than 12 bits 7972062f5744557e270a38192554c3126ea5f97434Tim Northover add w4, w5, #-1 8072062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w6, #0x1000 8172062f5744557e270a38192554c3126ea5f97434Tim Northover add w4, w5, #-1, lsl #12 8272062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w6, #0x1000, lsl #12 83b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 8472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w4, w5, #-1 8572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 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] 9072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w4, w5, #-1, lsl #12 9172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 92b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 9372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w5, w6, #0x1000, lsl #12 9472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 9572062f5744557e270a38192554c3126ea5f97434Tim Northover 9672062f5744557e270a38192554c3126ea5f97434Tim Northover// Only lsl #0 and lsl #12 are allowed 9772062f5744557e270a38192554c3126ea5f97434Tim Northover add w2, w3, #0x1, lsl #1 9872062f5744557e270a38192554c3126ea5f97434Tim Northover add w5, w17, #0xfff, lsl #13 9972062f5744557e270a38192554c3126ea5f97434Tim Northover add w17, w20, #0x1000, lsl #12 10072062f5744557e270a38192554c3126ea5f97434Tim Northover sub xsp, x34, #0x100, lsl #-1 101b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register, symbol or integer in range [0, 4095] 10272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w2, w3, #0x1, lsl #1 10372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 104b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 10572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w5, w17, #0xfff, lsl #13 10672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 107b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register, symbol or integer in range [0, 4095] 10872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w17, w20, #0x1000, lsl #12 10972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 11072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: only 'lsl #+N' valid after immediate 11172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub xsp, x34, #0x100, lsl #-1 11272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 11372062f5744557e270a38192554c3126ea5f97434Tim Northover 11472062f5744557e270a38192554c3126ea5f97434Tim Northover// Incorrect registers (w31 doesn't exist at all, and 31 decodes to sp for these). 11572062f5744557e270a38192554c3126ea5f97434Tim Northover add w31, w20, #1234 11672062f5744557e270a38192554c3126ea5f97434Tim Northover add wzr, w20, #0x123 11772062f5744557e270a38192554c3126ea5f97434Tim Northover add w20, wzr, #0x321 11872062f5744557e270a38192554c3126ea5f97434Tim Northover add wzr, wzr, #0xfff 11972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 12072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w31, w20, #1234 12172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 12272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 12372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add wzr, w20, #0x123 12472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 12572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 12672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add w20, wzr, #0x321 12772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 12872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 12972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add wzr, wzr, #0xfff 13072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 13172062f5744557e270a38192554c3126ea5f97434Tim Northover 13272062f5744557e270a38192554c3126ea5f97434Tim Northover// Mixed register classes 13372062f5744557e270a38192554c3126ea5f97434Tim Northover add xsp, w2, #123 13472062f5744557e270a38192554c3126ea5f97434Tim Northover sub w2, x30, #32 13572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 13672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: add xsp, w2, #123 13772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 13872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 13972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sub w2, x30, #32 14072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 14172062f5744557e270a38192554c3126ea5f97434Tim Northover 14272062f5744557e270a38192554c3126ea5f97434Tim Northover// Out of range immediate 14372062f5744557e270a38192554c3126ea5f97434Tim Northover adds w0, w5, #0x10000 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//------------------------------------------------------------------------------ 732cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// Logical (immediates) 733cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines//------------------------------------------------------------------------------ 734cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines 735cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines and w2, w3, #4294967296 736cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines eor w2, w3, #4294967296 737cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines orr w2, w3, #4294967296 738cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines ands w2, w3, #4294967296 739cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR: error: expected compatible register or logical immediate 740cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: and w2, w3, #4294967296 741cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 742cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 743cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: eor w2, w3, #4294967296 744cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 745cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 746cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: orr w2, w3, #4294967296 747cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 748cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 749cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ands w2, w3, #4294967296 750cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 751cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines 752cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen 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 109172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 109272062f5744557e270a38192554c3126ea5f97434Tim Northover// Compare & branch (immediate) 109372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 109472062f5744557e270a38192554c3126ea5f97434Tim Northover 109572062f5744557e270a38192554c3126ea5f97434Tim Northover cbnz wsp, lbl 109672062f5744557e270a38192554c3126ea5f97434Tim Northover cbz sp, lbl 109772062f5744557e270a38192554c3126ea5f97434Tim Northover cbz x3, x5 109872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 109972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbnz wsp, lbl 110072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 110172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 110272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz sp, lbl 110372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1104b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 110572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz x3, x5 110672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 110772062f5744557e270a38192554c3126ea5f97434Tim Northover 110872062f5744557e270a38192554c3126ea5f97434Tim Northover cbz w20, #1048576 110972062f5744557e270a38192554c3126ea5f97434Tim Northover cbnz xzr, #-1048580 111072062f5744557e270a38192554c3126ea5f97434Tim Northover cbz x29, #1 1111b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 111272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz w20, #1048576 111372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1114b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 111572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbnz xzr, #-1048580 111672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1117b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 111872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cbz x29, #1 111972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 112072062f5744557e270a38192554c3126ea5f97434Tim Northover 112172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 112272062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional branch (immediate) 112372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 112472062f5744557e270a38192554c3126ea5f97434Tim Northover 112572062f5744557e270a38192554c3126ea5f97434Tim Northover b.zf lbl 112672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid condition code 112772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.zf lbl 112872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 112972062f5744557e270a38192554c3126ea5f97434Tim Northover 113072062f5744557e270a38192554c3126ea5f97434Tim Northover b.eq #1048576 113172062f5744557e270a38192554c3126ea5f97434Tim Northover b.ge #-1048580 113272062f5744557e270a38192554c3126ea5f97434Tim Northover b.cc #1 1133b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 113472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.eq #1048576 113572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1136b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 113772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.ge #-1048580 113872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1139b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 114072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b.cc #1 114172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 114272062f5744557e270a38192554c3126ea5f97434Tim Northover 114372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 114472062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional compare (immediate) 114572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 114672062f5744557e270a38192554c3126ea5f97434Tim Northover 114772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp wsp, #4, #2, ne 114872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w25, #-1, #15, hs 114972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w3, #32, #0, ge 115072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w19, #5, #-1, lt 115172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w20, #7, #16, hs 115272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 115372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp wsp, #4, #2, ne 115472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1155dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 115672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w25, #-1, #15, hs 115772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1158dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 115972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w3, #32, #0, ge 116072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1161dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 116272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w19, #5, #-1, lt 116372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1164dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 116572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w20, #7, #16, hs 116672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 116772062f5744557e270a38192554c3126ea5f97434Tim Northover 116872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp sp, #4, #2, ne 116972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x25, #-1, #15, hs 117072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x3, #32, #0, ge 117172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x19, #5, #-1, lt 117272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x20, #7, #16, hs 117372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 117472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp sp, #4, #2, ne 117572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1176dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 117772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x25, #-1, #15, hs 117872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1179dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 118072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x3, #32, #0, ge 118172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1182dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 118372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x19, #5, #-1, lt 118472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1185dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 118672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp x20, #7, #16, hs 118772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 118872062f5744557e270a38192554c3126ea5f97434Tim Northover 118972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn wsp, #4, #2, ne 119072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w25, #-1, #15, hs 119172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w3, #32, #0, ge 119272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w19, #5, #-1, lt 119372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w20, #7, #16, hs 119472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 119572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn wsp, #4, #2, ne 119672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1197dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 119872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w25, #-1, #15, hs 119972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1200dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 120172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w3, #32, #0, ge 120272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1203dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 120472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w19, #5, #-1, lt 120572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1206dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 120772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn w20, #7, #16, hs 120872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 120972062f5744557e270a38192554c3126ea5f97434Tim Northover 121072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn sp, #4, #2, ne 121172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x25, #-1, #15, hs 121272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x3, #32, #0, ge 121372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x19, #5, #-1, lt 121472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x20, #7, #16, hs 121572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 121672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn sp, #4, #2, ne 121772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1218dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 121972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x25, #-1, #15, hs 122072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1221dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 122272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x3, #32, #0, ge 122372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1224dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 122572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x19, #5, #-1, lt 122672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1227dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 122872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn x20, #7, #16, hs 122972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 123072062f5744557e270a38192554c3126ea5f97434Tim Northover 123172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 123272062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional compare (register) 123372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 123472062f5744557e270a38192554c3126ea5f97434Tim Northover 123572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp wsp, w4, #2, ne 123672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w3, wsp, #0, ge 123772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w19, w5, #-1, lt 123872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp w20, w7, #16, hs 123972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 124072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp wsp, w4, #2, ne 124172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1242dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 124372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w3, wsp, #0, ge 124472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1245dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 124672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w19, w5, #-1, lt 124772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1248dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 124972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp w20, w7, #16, hs 125072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 125172062f5744557e270a38192554c3126ea5f97434Tim Northover 125272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp sp, x4, #2, ne 125372062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x25, sp, #15, hs 125472062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x19, x5, #-1, lt 125572062f5744557e270a38192554c3126ea5f97434Tim Northover ccmp x20, x7, #16, hs 125672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 125772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmp sp, x4, #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 x25, sp, #15, hs 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 x19, x5, #-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 x20, x7, #16, hs 126772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 126872062f5744557e270a38192554c3126ea5f97434Tim Northover 126972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn wsp, w4, #2, ne 127072062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w25, wsp, #15, hs 127172062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w19, w5, #-1, lt 127272062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn w20, w7, #16, hs 127372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 127472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn wsp, w4, #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: ccmn w25, wsp, #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: ccmn w19, w5, #-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: ccmn w20, w7, #16, hs 128472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 128572062f5744557e270a38192554c3126ea5f97434Tim Northover 128672062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn sp, x4, #2, ne 128772062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x25, sp, #15, hs 128872062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x19, x5, #-1, lt 128972062f5744557e270a38192554c3126ea5f97434Tim Northover ccmn x20, x7, #16, hs 129072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 129172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ccmn sp, x4, #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 x25, sp, #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 x19, x5, #-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 x20, x7, #16, hs 130172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 130272062f5744557e270a38192554c3126ea5f97434Tim Northover 130372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 130472062f5744557e270a38192554c3126ea5f97434Tim Northover// Conditional select 130572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 130672062f5744557e270a38192554c3126ea5f97434Tim Northover 130772062f5744557e270a38192554c3126ea5f97434Tim Northover csel w4, wsp, w9, eq 130872062f5744557e270a38192554c3126ea5f97434Tim Northover csel wsp, w2, w3, ne 130972062f5744557e270a38192554c3126ea5f97434Tim Northover csel w10, w11, wsp, ge 131072062f5744557e270a38192554c3126ea5f97434Tim Northover csel w1, w2, w3, #3 131172062f5744557e270a38192554c3126ea5f97434Tim Northover csel x4, sp, x9, eq 131272062f5744557e270a38192554c3126ea5f97434Tim Northover csel sp, x2, x3, ne 131372062f5744557e270a38192554c3126ea5f97434Tim Northover csel x10, x11, sp, ge 131472062f5744557e270a38192554c3126ea5f97434Tim Northover csel x1, x2, x3, #3 131572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 131672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w4, wsp, w9, eq 131772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 131872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 131972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel wsp, w2, w3, ne 132072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 132172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 132272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w10, w11, wsp, ge 132372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1324b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected AArch64 condition code 132572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel w1, w2, w3, #3 132672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 132772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 132872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x4, sp, x9, eq 132972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 133172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel sp, x2, x3, ne 133272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 133472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x10, x11, sp, ge 133572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1336b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected AArch64 condition code 133772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csel x1, x2, x3, #3 133872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 133972062f5744557e270a38192554c3126ea5f97434Tim Northover 134072062f5744557e270a38192554c3126ea5f97434Tim Northover csinc w20, w21, wsp, mi 134172062f5744557e270a38192554c3126ea5f97434Tim Northover csinc sp, x30, x29, eq 134272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 134372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinc w20, w21, wsp, mi 134472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 134572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 134672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinc sp, x30, x29, eq 134772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 134872062f5744557e270a38192554c3126ea5f97434Tim Northover 134972062f5744557e270a38192554c3126ea5f97434Tim Northover csinv w20, wsp, wsp, mi 135072062f5744557e270a38192554c3126ea5f97434Tim Northover csinv sp, x30, x29, le 135172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 135272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinv w20, wsp, wsp, mi 135372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 135472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 135572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csinv sp, x30, x29, le 135672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 135772062f5744557e270a38192554c3126ea5f97434Tim Northover 135872062f5744557e270a38192554c3126ea5f97434Tim Northover csneg w20, w21, wsp, mi 135972062f5744557e270a38192554c3126ea5f97434Tim Northover csneg x0, sp, x29, le 136072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 136172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csneg w20, w21, wsp, mi 136272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 136372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 136472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csneg x0, sp, x29, le 136572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 136672062f5744557e270a38192554c3126ea5f97434Tim Northover 136772062f5744557e270a38192554c3126ea5f97434Tim Northover cset wsp, lt 136872062f5744557e270a38192554c3126ea5f97434Tim Northover csetm sp, ge 1369cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines cset w1, al 1370cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines csetm x6, nv 137172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 137272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cset wsp, lt 137372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 137472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 137572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: csetm sp, ge 137672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1377cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1378cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: cset w1, al 1379cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 1380cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1381cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: csetm x6, nv 1382cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 138372062f5744557e270a38192554c3126ea5f97434Tim Northover 138472062f5744557e270a38192554c3126ea5f97434Tim Northover cinc w3, wsp, ne 138572062f5744557e270a38192554c3126ea5f97434Tim Northover cinc sp, x9, eq 1386cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines cinc x2, x0, nv 138772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 138872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinc w3, wsp, ne 138972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 139072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 139172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinc sp, x9, eq 139272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1393cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1394cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: cinc x2, x0, nv 1395cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 139672062f5744557e270a38192554c3126ea5f97434Tim Northover 139772062f5744557e270a38192554c3126ea5f97434Tim Northover cinv w3, wsp, ne 139872062f5744557e270a38192554c3126ea5f97434Tim Northover cinv sp, x9, eq 1399cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines cinv w8, x7, nv 140072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 140172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinv w3, wsp, ne 140272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 140372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 140472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cinv sp, x9, eq 140572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1406cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1407cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: cinv w8, x7, nv 1408cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 140972062f5744557e270a38192554c3126ea5f97434Tim Northover 141072062f5744557e270a38192554c3126ea5f97434Tim Northover cneg w3, wsp, ne 141172062f5744557e270a38192554c3126ea5f97434Tim Northover cneg sp, x9, eq 1412cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines cneg x4, x5, al 141372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 141472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cneg w3, wsp, ne 141572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 141672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 141772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: cneg sp, x9, eq 141872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1419cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: condition codes AL and NV are invalid for this instruction 1420cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: cneg x4, x5, al 1421cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 142272062f5744557e270a38192554c3126ea5f97434Tim Northover 142372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 142472062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (1 source) 142572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 142672062f5744557e270a38192554c3126ea5f97434Tim Northover rbit x23, w2 142772062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 142872062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: rbit x23, w2 142972062f5744557e270a38192554c3126ea5f97434Tim Northover 143072062f5744557e270a38192554c3126ea5f97434Tim Northover cls sp, x2 143172062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 143272062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: cls sp, x2 143372062f5744557e270a38192554c3126ea5f97434Tim Northover 143472062f5744557e270a38192554c3126ea5f97434Tim Northover clz wsp, w3 143572062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 143672062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: clz wsp, w3 143772062f5744557e270a38192554c3126ea5f97434Tim Northover 143872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 143972062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (2 sources) 144072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 144172062f5744557e270a38192554c3126ea5f97434Tim Northover udiv x23, w2, x18 144272062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 144372062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: udiv x23, w2, x18 144472062f5744557e270a38192554c3126ea5f97434Tim Northover 144572062f5744557e270a38192554c3126ea5f97434Tim Northover lsl sp, x2, x4 144672062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 144772062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: lsl sp, x2, x4 144872062f5744557e270a38192554c3126ea5f97434Tim Northover 144972062f5744557e270a38192554c3126ea5f97434Tim Northover asr wsp, w3, w9 145072062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 145172062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: asr wsp, w3, w9 145272062f5744557e270a38192554c3126ea5f97434Tim Northover 145372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 145472062f5744557e270a38192554c3126ea5f97434Tim Northover// Data Processing (3 sources) 145572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 145672062f5744557e270a38192554c3126ea5f97434Tim Northover 145772062f5744557e270a38192554c3126ea5f97434Tim Northover madd sp, x3, x9, x10 145872062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR: error: invalid operand for instruction 145972062f5744557e270a38192554c3126ea5f97434Tim Northover//CHECK-ERROR-NEXT: madd sp, x3, x9, x10 146072062f5744557e270a38192554c3126ea5f97434Tim Northover 146172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 146272062f5744557e270a38192554c3126ea5f97434Tim Northover// Exception generation 146372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 146472062f5744557e270a38192554c3126ea5f97434Tim Northover svc #-1 146572062f5744557e270a38192554c3126ea5f97434Tim Northover hlt #65536 146672062f5744557e270a38192554c3126ea5f97434Tim Northover dcps4 #43 146772062f5744557e270a38192554c3126ea5f97434Tim Northover dcps4 1468dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 65535] 146972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: svc #-1 147072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1471dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 65535] 147272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hlt #65536 147372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1474dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{invalid instruction|unrecognized instruction mnemonic}} 147572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dcps4 #43 147672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1477dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{invalid instruction|unrecognized instruction mnemonic}} 147872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dcps4 147972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 148072062f5744557e270a38192554c3126ea5f97434Tim Northover 148172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 148272062f5744557e270a38192554c3126ea5f97434Tim Northover// Extract (immediate) 148372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 148472062f5744557e270a38192554c3126ea5f97434Tim Northover 148572062f5744557e270a38192554c3126ea5f97434Tim Northover extr w2, w20, w30, #-1 148672062f5744557e270a38192554c3126ea5f97434Tim Northover extr w9, w19, w20, #32 1487dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 148872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr w2, w20, w30, #-1 148972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1490dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 149172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr w9, w19, w20, #32 149272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 149372062f5744557e270a38192554c3126ea5f97434Tim Northover 149472062f5744557e270a38192554c3126ea5f97434Tim Northover extr x10, x15, x20, #-1 149572062f5744557e270a38192554c3126ea5f97434Tim Northover extr x20, x25, x30, #64 1496dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 149772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr x10, x15, x20, #-1 149872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1499dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 150072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: extr x20, x25, x30, #64 150172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 150272062f5744557e270a38192554c3126ea5f97434Tim Northover 150372062f5744557e270a38192554c3126ea5f97434Tim Northover ror w9, w10, #32 150472062f5744557e270a38192554c3126ea5f97434Tim Northover ror x10, x11, #64 1505dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 150672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ror w9, w10, #32 150772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1508dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 150972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ror x10, x11, #64 151072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 151172062f5744557e270a38192554c3126ea5f97434Tim Northover 151272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 151372062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point compare 151472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 151572062f5744557e270a38192554c3126ea5f97434Tim Northover 151672062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s3, d2 1517dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected floating-point constant #0.0 1518dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: invalid operand for instruction 151972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s3, d2 152072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 152172062f5744557e270a38192554c3126ea5f97434Tim Northover 152272062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s9, #-0.0 152372062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp d3, #-0.0 152472062f5744557e270a38192554c3126ea5f97434Tim Northover fcmp s1, #1.0 152572062f5744557e270a38192554c3126ea5f97434Tim Northover fcmpe s30, #-0.0 1526b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected floating-point constant #0.0 152772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s9, #-0.0 152872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1529b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 153072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp d3, #-0.0 153172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1532b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 153372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmp s1, #1.0 153472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1535b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected floating-point constant #0.0 153672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcmpe s30, #-0.0 153772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 153872062f5744557e270a38192554c3126ea5f97434Tim Northover 153972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 154072062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 154172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 154272062f5744557e270a38192554c3126ea5f97434Tim Northover 154372062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp s19, s5, #-1, lt 154472062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp s20, s7, #16, hs 1545dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 154672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp s19, s5, #-1, lt 154772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1548dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 154972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp s20, s7, #16, hs 155072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 155172062f5744557e270a38192554c3126ea5f97434Tim Northover 155272062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp d19, d5, #-1, lt 155372062f5744557e270a38192554c3126ea5f97434Tim Northover fccmp d20, d7, #16, hs 1554dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 155572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp d19, d5, #-1, lt 155672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1557dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 155872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmp d20, d7, #16, hs 155972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 156072062f5744557e270a38192554c3126ea5f97434Tim Northover 156172062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe s19, s5, #-1, lt 156272062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe s20, s7, #16, hs 1563dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 156472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe s19, s5, #-1, lt 156572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1566dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 156772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe s20, s7, #16, hs 156872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 156972062f5744557e270a38192554c3126ea5f97434Tim Northover 157072062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe d19, d5, #-1, lt 157172062f5744557e270a38192554c3126ea5f97434Tim Northover fccmpe d20, d7, #16, hs 1572dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 157372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe d19, d5, #-1, lt 157472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1575dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 157672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fccmpe d20, d7, #16, hs 157772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 157872062f5744557e270a38192554c3126ea5f97434Tim Northover 157972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 158072062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 158172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 158272062f5744557e270a38192554c3126ea5f97434Tim Northover 158372062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel q3, q20, q9, pl 158472062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel h9, h10, h11, mi 158572062f5744557e270a38192554c3126ea5f97434Tim Northover fcsel b9, b10, b11, mi 158672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 158772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel q3, q20, q9, pl 158872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 158972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 159072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel h9, h10, h11, mi 159172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 159372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcsel b9, b10, b11, mi 159472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 159572062f5744557e270a38192554c3126ea5f97434Tim Northover 159672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 159772062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (1 source) 159872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 159972062f5744557e270a38192554c3126ea5f97434Tim Northover 160072062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d0, s3 160172062f5744557e270a38192554c3126ea5f97434Tim Northover fcvt d0, d1 1602b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 160372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d0, s3 1604b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 160572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 160672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvt d0, d1 1607b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 160872062f5744557e270a38192554c3126ea5f97434Tim Northover 160972062f5744557e270a38192554c3126ea5f97434Tim Northover 161072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 161172062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (2 sources) 161272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 161372062f5744557e270a38192554c3126ea5f97434Tim Northover 161472062f5744557e270a38192554c3126ea5f97434Tim Northover fadd s0, d3, d7 161572062f5744557e270a38192554c3126ea5f97434Tim Northover fmaxnm d3, s19, d12 161672062f5744557e270a38192554c3126ea5f97434Tim Northover fnmul d1, d9, s18 161772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 161872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fadd s0, d3, d7 161972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 162072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 162172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmaxnm d3, s19, d12 162272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 162372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 162472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmul d1, d9, s18 162572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 162672062f5744557e270a38192554c3126ea5f97434Tim Northover 162772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 162872062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point data-processing (3 sources) 162972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 163072062f5744557e270a38192554c3126ea5f97434Tim Northover 163172062f5744557e270a38192554c3126ea5f97434Tim Northover fmadd b3, b4, b5, b6 163272062f5744557e270a38192554c3126ea5f97434Tim Northover fmsub h1, h2, h3, h4 163372062f5744557e270a38192554c3126ea5f97434Tim Northover fnmadd q3, q5, q6, q7 163472062f5744557e270a38192554c3126ea5f97434Tim Northover fnmsub s2, s4, d5, h9 163572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 163672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmadd b3, b4, b5, b6 163772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 163872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 163972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmsub h1, h2, h3, h4 164072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 164172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 164272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmadd q3, q5, q6, q7 164372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 164472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 164572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fnmsub s2, s4, d5, h9 164672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 164772062f5744557e270a38192554c3126ea5f97434Tim Northover 164872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 164972062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point conditional compare 165072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 165172062f5744557e270a38192554c3126ea5f97434Tim Northover 165272062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs w13, s31, #0 165372062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs w19, s20, #33 165472062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs wsp, s19, #14 1655dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 165672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs w13, s31, #0 165772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1658dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 165972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs w19, s20, #33 166072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 166272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs wsp, s19, #14 166372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 166472062f5744557e270a38192554c3126ea5f97434Tim Northover 166572062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs x13, s31, #0 166672062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs x19, s20, #65 166772062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzs sp, s19, #14 1668dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 166972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs x13, s31, #0 167072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1671dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 167272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs x19, s20, #65 167372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 167472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 167572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzs sp, s19, #14 167672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 167772062f5744557e270a38192554c3126ea5f97434Tim Northover 167872062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu w13, s31, #0 167972062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu w19, s20, #33 168072062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu wsp, s19, #14 1681dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 168272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu w13, s31, #0 168372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1684dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 32] 168572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu w19, s20, #33 168672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 168772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 168872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu wsp, s19, #14 168972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 169072062f5744557e270a38192554c3126ea5f97434Tim Northover 169172062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu x13, s31, #0 169272062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu x19, s20, #65 169372062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtzu sp, s19, #14 1694dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 169572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu x13, s31, #0 169672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1697dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [1, 64] 169872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu x19, s20, #65 169972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 170172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtzu sp, s19, #14 170272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 170372062f5744557e270a38192554c3126ea5f97434Tim Northover 170472062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf w13, s31, #0 170572062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf w19, s20, #33 170672062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf wsp, s19, #14 170772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 170872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf w13, s31, #0 170972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 171072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 171172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf w19, s20, #33 171272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 171372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 171472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf wsp, s19, #14 171572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 171672062f5744557e270a38192554c3126ea5f97434Tim Northover 171772062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf x13, s31, #0 171872062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf x19, s20, #65 171972062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf sp, s19, #14 172072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 172172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf x13, s31, #0 172272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 172372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 172472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf x19, s20, #65 172572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 172672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 172772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf sp, s19, #14 172872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 172972062f5744557e270a38192554c3126ea5f97434Tim Northover 173072062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf w13, s31, #0 173172062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf w19, s20, #33 173272062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf wsp, s19, #14 173372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 173472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf w13, s31, #0 173572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 173672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 173772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf w19, s20, #33 173872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 173972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 174072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf wsp, s19, #14 174172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 174272062f5744557e270a38192554c3126ea5f97434Tim Northover 174372062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf x13, s31, #0 174472062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf x19, s20, #65 174572062f5744557e270a38192554c3126ea5f97434Tim Northover ucvtf sp, s19, #14 174672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 174772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf x13, s31, #0 174872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 174972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf x19, s20, #65 175172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 175372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ucvtf sp, s19, #14 175472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 175572062f5744557e270a38192554c3126ea5f97434Tim Northover 175672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 175772062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point immediate 175872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 175972062f5744557e270a38192554c3126ea5f97434Tim Northover ;; Exponent too large 176072062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d3, #0.0625 176172062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s2, #32.0 1762b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 176372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov d3, #0.0625 176472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1765b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant 176672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s2, #32.0 176772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 176872062f5744557e270a38192554c3126ea5f97434Tim Northover 176972062f5744557e270a38192554c3126ea5f97434Tim Northover ;; Fraction too precise 177072062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s9, #1.03125 177172062f5744557e270a38192554c3126ea5f97434Tim Northover fmov s28, #1.96875 1772b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or floating-point constant 177372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s9, #1.03125 177472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1775b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or floating-point constant 177672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov s28, #1.96875 177772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 177872062f5744557e270a38192554c3126ea5f97434Tim Northover 177972062f5744557e270a38192554c3126ea5f97434Tim Northover ;; No particular reason, but a striking omission 178072062f5744557e270a38192554c3126ea5f97434Tim Northover fmov d0, #0.0 1781dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected compatible register or floating-point constant 1782dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: fmov d0, #0.0 1783dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 178472062f5744557e270a38192554c3126ea5f97434Tim Northover 178572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 178672062f5744557e270a38192554c3126ea5f97434Tim Northover// Floating-point <-> integer conversion 178772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 178872062f5744557e270a38192554c3126ea5f97434Tim Northover 178972062f5744557e270a38192554c3126ea5f97434Tim Northover fmov x3, v0.d[0] 179072062f5744557e270a38192554c3126ea5f97434Tim Northover fmov v29.1d[1], x2 179172062f5744557e270a38192554c3126ea5f97434Tim Northover fmov x7, v0.d[2] 179272062f5744557e270a38192554c3126ea5f97434Tim Northover fcvtns sp, s5 179372062f5744557e270a38192554c3126ea5f97434Tim Northover scvtf s6, wsp 1794b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected lane specifier '[1]' 179572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov x3, v0.d[0] 1796b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 1797dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: lane number incompatible with layout 1798dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: invalid operand for instruction 179972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov v29.1d[1], x2 180072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1801dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: lane number incompatible with layout 1802dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected lane specifier '[1]' 180372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fmov x7, v0.d[2] 180472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 180572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 180672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: fcvtns sp, s5 180772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 180872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 180972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: scvtf s6, wsp 181072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 181172062f5744557e270a38192554c3126ea5f97434Tim Northover 181272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 181372062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-register (literal) 181472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 181572062f5744557e270a38192554c3126ea5f97434Tim Northover 181672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr sp, some_label 181772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw w3, somewhere 181872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 181972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr sp, some_label 182072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 182272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw w3, somewhere 182372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 182472062f5744557e270a38192554c3126ea5f97434Tim Northover 182572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, #1048576 182672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q0, #-1048580 182772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x0, #2 1828b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 182972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, #1048576 183072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1831b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 183272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q0, #-1048580 183372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1834b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 183572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x0, #2 183672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 183772062f5744557e270a38192554c3126ea5f97434Tim Northover 183872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 183972062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store exclusive 184072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 184172062f5744557e270a38192554c3126ea5f97434Tim Northover 1842dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines stxrb w2, w3, [x4, #20] 184372062f5744557e270a38192554c3126ea5f97434Tim Northover stlxrh w10, w11, [w2] 1844dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: expected '#0' 1845dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: index must be absent or #0 1846dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: stxrb w2, w3, [x4, #20] 184772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 184872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 184972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxrh w10, w11, [w2] 185072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 185172062f5744557e270a38192554c3126ea5f97434Tim Northover 185272062f5744557e270a38192554c3126ea5f97434Tim Northover stlxr x20, w21, [sp] 185372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 185472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxr x20, w21, [sp] 185572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 185672062f5744557e270a38192554c3126ea5f97434Tim Northover 185772062f5744557e270a38192554c3126ea5f97434Tim Northover ldxr sp, [sp] 185872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 185972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldxr sp, [sp] 186072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 186172062f5744557e270a38192554c3126ea5f97434Tim Northover 186272062f5744557e270a38192554c3126ea5f97434Tim Northover stxp x1, x2, x3, [x4] 186372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 186472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stxp x1, x2, x3, [x4] 186572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 186672062f5744557e270a38192554c3126ea5f97434Tim Northover 186772062f5744557e270a38192554c3126ea5f97434Tim Northover stlxp w5, x1, w4, [x5] 186872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 186972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxp w5, x1, w4, [x5] 187072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 187172062f5744557e270a38192554c3126ea5f97434Tim Northover 187272062f5744557e270a38192554c3126ea5f97434Tim Northover stlxp w17, w6, x7, [x22] 187372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 187472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stlxp w17, w6, x7, [x22] 187572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 187672062f5744557e270a38192554c3126ea5f97434Tim Northover 187772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 187872062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unscaled immediate) 187972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 188072062f5744557e270a38192554c3126ea5f97434Tim Northover 188172062f5744557e270a38192554c3126ea5f97434Tim Northover ldurb w2, [sp, #256] 188272062f5744557e270a38192554c3126ea5f97434Tim Northover sturh w17, [x1, #256] 188372062f5744557e270a38192554c3126ea5f97434Tim Northover ldursw x20, [x1, #256] 188472062f5744557e270a38192554c3126ea5f97434Tim Northover ldur x12, [sp, #256] 1885dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 188672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldurb w2, [sp, #256] 188772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1888dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 188972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sturh w17, [x1, #256] 189072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1891dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 189272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldursw x20, [x1, #256] 189372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1894dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 189572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldur x12, [sp, #256] 189672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 189772062f5744557e270a38192554c3126ea5f97434Tim Northover 189872062f5744557e270a38192554c3126ea5f97434Tim Northover stur h2, [x2, #-257] 189972062f5744557e270a38192554c3126ea5f97434Tim Northover stur b2, [x2, #-257] 190072062f5744557e270a38192554c3126ea5f97434Tim Northover ldursb x9, [sp, #-257] 190172062f5744557e270a38192554c3126ea5f97434Tim Northover ldur w2, [x30, #-257] 190272062f5744557e270a38192554c3126ea5f97434Tim Northover stur q9, [x20, #-257] 1903dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 190472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur h2, [x2, #-257] 190572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1906dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 190772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur b2, [x2, #-257] 190872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1909dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 191072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldursb x9, [sp, #-257] 191172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1912dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 191372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldur w2, [x30, #-257] 191472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1915dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 191672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stur q9, [x20, #-257] 191772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 191872062f5744557e270a38192554c3126ea5f97434Tim Northover 191972062f5744557e270a38192554c3126ea5f97434Tim Northover prfum pstl3strm, [xzr] 192072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 192172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfum pstl3strm, [xzr] 192272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 192372062f5744557e270a38192554c3126ea5f97434Tim Northover 192472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 192572062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-store register (immediate post-indexed) 192672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 192772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x3, [x4, #25], #0 192872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x4, [x9, #0], #4 1929dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: {{expected symbolic reference or integer|index must be a multiple of 8}} in range [0, 32760] 1930dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: invalid operand for instruction 193172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x3, [x4, #25], #0 193272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1933dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: invalid operand for instruction 1934dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ldr x4, [x9, #0], #4 1935dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 193672062f5744557e270a38192554c3126ea5f97434Tim Northover 193772062f5744557e270a38192554c3126ea5f97434Tim Northover strb w1, [x19], #256 193872062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [sp], #-257 193972062f5744557e270a38192554c3126ea5f97434Tim Northover strh w1, [x19], #256 194072062f5744557e270a38192554c3126ea5f97434Tim Northover strh w9, [sp], #-257 194172062f5744557e270a38192554c3126ea5f97434Tim Northover str w1, [x19], #256 194272062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [sp], #-257 1943dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 194472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w1, [x19], #256 194572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1946dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 194772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [sp], #-257 194872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1949dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 195072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w1, [x19], #256 195172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1952dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 195372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w9, [sp], #-257 195472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1955dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 195672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w1, [x19], #256 195772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1958dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 195972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [sp], #-257 196072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 196172062f5744557e270a38192554c3126ea5f97434Tim Northover 196272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w1, [x19], #256 196372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w9, [sp], #-257 196472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w1, [x19], #256 196572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w9, [sp], #-257 196672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w1, [x19], #256 196772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [sp], #-257 1968dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 196972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w1, [x19], #256 197072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1971dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 197272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w9, [sp], #-257 197372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1974dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 197572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w1, [x19], #256 197672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1977dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 197872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w9, [sp], #-257 197972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1980dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 198172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w1, [x19], #256 198272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1983dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 198472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [sp], #-257 198572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 198672062f5744557e270a38192554c3126ea5f97434Tim Northover 198772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x2, [x3], #256 198872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x22, [x13], #-257 198972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x2, [x3], #256 199072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x22, [x13], #-257 199172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, [x3], #256 199272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x22, [x13], #-257 1993dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 199472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x2, [x3], #256 199572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1996dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 199772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x22, [x13], #-257 199872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 1999dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 200072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x2, [x3], #256 200172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2002dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 200372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x22, [x13], #-257 200472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2005dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 200672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, [x3], #256 200772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2008dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 200972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x22, [x13], #-257 201072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 201172062f5744557e270a38192554c3126ea5f97434Tim Northover 201272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w2, [x3], #256 201372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w22, [x13], #-257 201472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x3], #256 201572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w22, [x13], #-257 2016dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 201772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w2, [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: ldrsb w22, [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: ldrsh w2, [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: ldrsh w22, [x13], #-257 202772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 202872062f5744557e270a38192554c3126ea5f97434Tim Northover 202972062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x3], #256 203072062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x13], #-257 203172062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x3], #256 203272062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x13], #-257 203372062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x3], #256 203472062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x13], #-257 203572062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x3], #256 203672062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x13], #-257 203772062f5744557e270a38192554c3126ea5f97434Tim Northover str q3, [x3], #256 203872062f5744557e270a38192554c3126ea5f97434Tim Northover str q3, [x13], #-257 2039dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 204072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [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: str b3, [x13], #-257 204472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2045dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 204672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x3], #256 204772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2048dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 204972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x13], #-257 205072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2051dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 205272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x3], #256 205372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2054dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 205572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x13], #-257 205672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2057dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 205872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x3], #256 205972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2060dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x13], #-257 206272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2063dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q3, [x3], #256 206572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2066dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 206772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q3, [x13], #-257 206872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 206972062f5744557e270a38192554c3126ea5f97434Tim Northover 207072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x3], #256 207172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x13], #-257 207272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x3], #256 207372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x13], #-257 207472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x3], #256 207572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x13], #-257 207672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x3], #256 207772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x13], #-257 207872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q3, [x3], #256 207972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q3, [x13], #-257 2080dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 208172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [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: ldr b3, [x13], #-257 208572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2086dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 208772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x3], #256 208872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2089dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 209072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x13], #-257 209172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2092dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 209372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x3], #256 209472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2095dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 209672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x13], #-257 209772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2098dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 209972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x3], #256 210072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2101dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 210272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x13], #-257 210372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2104dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 210572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q3, [x3], #256 210672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2107dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 210872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q3, [x13], #-257 210972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 211072062f5744557e270a38192554c3126ea5f97434Tim Northover 211172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 211272062f5744557e270a38192554c3126ea5f97434Tim Northover// Load-store register (immediate pre-indexed) 211372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 211472062f5744557e270a38192554c3126ea5f97434Tim Northover 211572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x3, [x4]! 211672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: 211772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x3, [x4]! 211872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 211972062f5744557e270a38192554c3126ea5f97434Tim Northover 212072062f5744557e270a38192554c3126ea5f97434Tim Northover strb w1, [x19, #256]! 212172062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [sp, #-257]! 212272062f5744557e270a38192554c3126ea5f97434Tim Northover strh w1, [x19, #256]! 212372062f5744557e270a38192554c3126ea5f97434Tim Northover strh w9, [sp, #-257]! 212472062f5744557e270a38192554c3126ea5f97434Tim Northover str w1, [x19, #256]! 212572062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [sp, #-257]! 212672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 212772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w1, [x19, #256]! 212872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2129dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 213072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [sp, #-257]! 213172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 213272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 213372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w1, [x19, #256]! 213472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2135dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 213672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strh w9, [sp, #-257]! 213772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 213872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 213972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w1, [x19, #256]! 214072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2141dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 214272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [sp, #-257]! 214372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 214472062f5744557e270a38192554c3126ea5f97434Tim Northover 214572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w1, [x19, #256]! 214672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w9, [sp, #-257]! 214772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w1, [x19, #256]! 214872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w9, [sp, #-257]! 214972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w1, [x19, #256]! 215072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [sp, #-257]! 215172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 215272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w1, [x19, #256]! 215372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2154dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 215572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w9, [sp, #-257]! 215672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 215772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 215872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w1, [x19, #256]! 215972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2160dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 216172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w9, [sp, #-257]! 216272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 216372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 216472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w1, [x19, #256]! 216572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2166dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 216772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [sp, #-257]! 216872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 216972062f5744557e270a38192554c3126ea5f97434Tim Northover 217072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x2, [x3, #256]! 217172062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb x22, [x13, #-257]! 217272062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x2, [x3, #256]! 217372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x22, [x13, #-257]! 217472062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x2, [x3, #256]! 217572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x22, [x13, #-257]! 217672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 217772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x2, [x3, #256]! 217872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2179dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 218072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb x22, [x13, #-257]! 218172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 218372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x2, [x3, #256]! 218472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2185dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 218672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x22, [x13, #-257]! 218772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 218872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 218972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x2, [x3, #256]! 219072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2191dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 219272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x22, [x13, #-257]! 219372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 219472062f5744557e270a38192554c3126ea5f97434Tim Northover 219572062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w2, [x3, #256]! 219672062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w22, [x13, #-257]! 219772062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x3, #256]! 219872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w22, [x13, #-257]! 219972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 220072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w2, [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: ldrsb w22, [x13, #-257]! 220472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 220572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 220672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w2, [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: ldrsh w22, [x13, #-257]! 221072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 221172062f5744557e270a38192554c3126ea5f97434Tim Northover 221272062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x3, #256]! 221372062f5744557e270a38192554c3126ea5f97434Tim Northover str b3, [x13, #-257]! 221472062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x3, #256]! 221572062f5744557e270a38192554c3126ea5f97434Tim Northover str h3, [x13, #-257]! 221672062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x3, #256]! 221772062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [x13, #-257]! 221872062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x3, #256]! 221972062f5744557e270a38192554c3126ea5f97434Tim Northover str d3, [x13, #-257]! 222072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 222172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x3, #256]! 222272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2223dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 222472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str b3, [x13, #-257]! 222572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 222672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 222772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x3, #256]! 222872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2229dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 223072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str h3, [x13, #-257]! 223172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 223272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 223372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x3, #256]! 223472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2235dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 223672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [x13, #-257]! 223772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 223872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 223972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x3, #256]! 224072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2241dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 224272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str d3, [x13, #-257]! 224372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 224472062f5744557e270a38192554c3126ea5f97434Tim Northover 224572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x3, #256]! 224672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr b3, [x13, #-257]! 224772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x3, #256]! 224872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h3, [x13, #-257]! 224972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x3, #256]! 225072062f5744557e270a38192554c3126ea5f97434Tim Northover ldr s3, [x13, #-257]! 225172062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x3, #256]! 225272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x13, #-257]! 225372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 225472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x3, #256]! 225572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2256dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 225772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr b3, [x13, #-257]! 225872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 225972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 226072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x3, #256]! 226172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2262dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 226372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h3, [x13, #-257]! 226472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 226572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 226672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x3, #256]! 226772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2268dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 226972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr s3, [x13, #-257]! 227072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 227172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 227272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x3, #256]! 227372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2274dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 227572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x13, #-257]! 227672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 227772062f5744557e270a38192554c3126ea5f97434Tim Northover 227872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 227972062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unprivileged) 228072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 228172062f5744557e270a38192554c3126ea5f97434Tim Northover 228272062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrb w2, [sp, #256] 228372062f5744557e270a38192554c3126ea5f97434Tim Northover sttrh w17, [x1, #256] 228472062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrsw x20, [x1, #256] 228572062f5744557e270a38192554c3126ea5f97434Tim Northover ldtr x12, [sp, #256] 2286dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 228772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrb w2, [sp, #256] 228872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2289dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 229072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttrh w17, [x1, #256] 229172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2292dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 229372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrsw x20, [x1, #256] 229472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2295dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 229672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtr x12, [sp, #256] 229772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 229872062f5744557e270a38192554c3126ea5f97434Tim Northover 229972062f5744557e270a38192554c3126ea5f97434Tim Northover sttr h2, [x2, #-257] 230072062f5744557e270a38192554c3126ea5f97434Tim Northover sttr b2, [x2, #-257] 230172062f5744557e270a38192554c3126ea5f97434Tim Northover ldtrsb x9, [sp, #-257] 230272062f5744557e270a38192554c3126ea5f97434Tim Northover ldtr w2, [x30, #-257] 230372062f5744557e270a38192554c3126ea5f97434Tim Northover sttr q9, [x20, #-257] 230472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 230572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr h2, [x2, #-257] 2306b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 230772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 230872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr b2, [x2, #-257] 2309b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2310dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 231172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtrsb x9, [sp, #-257] 231272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2313dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 231472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldtr w2, [x30, #-257] 231572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 231672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 231772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sttr q9, [x20, #-257] 231872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 231972062f5744557e270a38192554c3126ea5f97434Tim Northover 232072062f5744557e270a38192554c3126ea5f97434Tim Northover 232172062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 232272062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store (unsigned immediate) 232372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 232472062f5744557e270a38192554c3126ea5f97434Tim Northover 232572062f5744557e270a38192554c3126ea5f97434Tim Northover//// Out of range immediates 232672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q0, [x11, #65536] 232772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr x0, [sp, #32768] 232872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [x4, #16384] 232972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrh w2, [x21, #8192] 233072062f5744557e270a38192554c3126ea5f97434Tim Northover ldrb w3, [x12, #4096] 2331dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|index must be an}} integer in range [-256, 255] 233272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q0, [x11, #65536] 233372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2334dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 233572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr x0, [sp, #32768] 233672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2337dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 233872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [x4, #16384] 233972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2340dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 234172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrh w2, [x21, #8192] 234272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2343dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 234472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrb w3, [x12, #4096] 234572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 234672062f5744557e270a38192554c3126ea5f97434Tim Northover 234772062f5744557e270a38192554c3126ea5f97434Tim Northover//// Misaligned addresses 234872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [x0, #2] 234972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w2, [x0, #123] 235072062f5744557e270a38192554c3126ea5f97434Tim Northover str q0, [x0, #8] 2351dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: too few operands for instruction 2352dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ldr w0, [x0, #2] 2353dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2354dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction 2355dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ldrsh w2, [x0, #123] 2356dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2357dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction 2358dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: str q0, [x0, #8] 2359dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 236072062f5744557e270a38192554c3126ea5f97434Tim Northover 236172062f5744557e270a38192554c3126ea5f97434Tim Northover//// 32-bit addresses 236272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w0, [w20] 236372062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh x3, [wsp] 236472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 236572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w0, [w20] 236672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 236772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 236872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh x3, [wsp] 236972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 237072062f5744557e270a38192554c3126ea5f97434Tim Northover 237172062f5744557e270a38192554c3126ea5f97434Tim Northover//// Store things 237272062f5744557e270a38192554c3126ea5f97434Tim Northover strb w0, [wsp] 237372062f5744557e270a38192554c3126ea5f97434Tim Northover strh w31, [x23, #1] 237472062f5744557e270a38192554c3126ea5f97434Tim Northover str x5, [x22, #12] 237572062f5744557e270a38192554c3126ea5f97434Tim Northover str w7, [x12, #16384] 237672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 237772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w0, [wsp] 237872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2379dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: invalid operand for instruction 2380dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: strh w31, [x23, #1] 2381dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2382dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: too few operands for instruction 2383dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: str x5, [x22, #12] 2384dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 2385dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|index must be an}} integer in range [-256, 255] 238672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w7, [x12, #16384] 238772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 238872062f5744557e270a38192554c3126ea5f97434Tim Northover 238972062f5744557e270a38192554c3126ea5f97434Tim Northover//// Bad PRFMs 239072062f5744557e270a38192554c3126ea5f97434Tim Northover prfm #-1, [sp] 239172062f5744557e270a38192554c3126ea5f97434Tim Northover prfm #32, [sp, #8] 239272062f5744557e270a38192554c3126ea5f97434Tim Northover prfm pldl1strm, [w3, #8] 239372062f5744557e270a38192554c3126ea5f97434Tim Northover prfm wibble, [sp] 2394dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: Invalid immediate for instruction 2395dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64: error: prefetch operand out of range, [0,31] expected 239672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm #-1, [sp] 239772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2398dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: Invalid immediate for instruction 2399dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: prefetch operand out of range, [0,31] expected 240072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm #32, [sp, #8] 240172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 240272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 240372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm pldl1strm, [w3, #8] 240472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2405dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: operand specifier not recognised 2406dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: pre-fetch hint expected 240772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm wibble, [sp] 240872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 240972062f5744557e270a38192554c3126ea5f97434Tim Northover 241072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 241172062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register (register offset) 241272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 241372062f5744557e270a38192554c3126ea5f97434Tim Northover 241472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w3, [xzr, x3] 241572062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w4, [x0, x4, lsl] 241672062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w9, [x5, x5, uxtw] 241772062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w10, [x6, x9, sxtw #2] 241872062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w11, [x7, w2, lsl #2] 241972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr w12, [x8, w1, sxtx] 242072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 242172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w3, [xzr, x3] 242272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 242372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected #imm after shift specifier 242472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w4, [x0, x4, lsl] 242572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2426b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 242772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w9, [x5, x5, uxtw] 242872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2429b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 243072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w10, [x6, x9, sxtw #2] 243172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2432b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 243372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w11, [x7, w2, lsl #2] 243472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2435b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 243672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr w12, [x8, w1, sxtx] 243772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 243872062f5744557e270a38192554c3126ea5f97434Tim Northover 243972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsb w9, [x4, x2, lsl #-1] 244072062f5744557e270a38192554c3126ea5f97434Tim Northover strb w9, [x4, x2, lsl #1] 244172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 244272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsb w9, [x4, x2, lsl #-1] 244372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2444b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 244572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: strb w9, [x4, x2, lsl #1] 244672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 244772062f5744557e270a38192554c3126ea5f97434Tim Northover 244872062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsh w9, [x4, x2, lsl #-1] 244972062f5744557e270a38192554c3126ea5f97434Tim Northover ldr h13, [x4, w2, uxtw #2] 245072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 245172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsh w9, [x4, x2, lsl #-1] 245272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2453b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #1 245472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr h13, [x4, w2, uxtw #2] 2455b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 245672062f5744557e270a38192554c3126ea5f97434Tim Northover 245772062f5744557e270a38192554c3126ea5f97434Tim Northover str w9, [x5, w9, sxtw #-1] 245872062f5744557e270a38192554c3126ea5f97434Tim Northover str s3, [sp, w9, uxtw #1] 245972062f5744557e270a38192554c3126ea5f97434Tim Northover ldrsw x9, [x15, x4, sxtx #3] 246072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 246172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str w9, [x5, w9, sxtw #-1] 246272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2463b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #2 246472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str s3, [sp, w9, uxtw #1] 2465b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2466b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #2 246772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldrsw x9, [x15, x4, sxtx #3] 2468b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 246972062f5744557e270a38192554c3126ea5f97434Tim Northover 247072062f5744557e270a38192554c3126ea5f97434Tim Northover str xzr, [x5, x9, sxtx #-1] 247172062f5744557e270a38192554c3126ea5f97434Tim Northover prfm pldl3keep, [sp, x20, lsl #2] 247272062f5744557e270a38192554c3126ea5f97434Tim Northover ldr d3, [x20, wzr, uxtw #4] 247372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 247472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str xzr, [x5, x9, sxtx #-1] 247572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2476b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl' or 'sxtx' with optional shift of #0 or #3 247772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: prfm pldl3keep, [sp, x20, lsl #2] 247872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2479b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #3 248072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr d3, [x20, wzr, uxtw #4] 248172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 248272062f5744557e270a38192554c3126ea5f97434Tim Northover 248372062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q5, [sp, x2, lsl #-1] 248472062f5744557e270a38192554c3126ea5f97434Tim Northover ldr q10, [x20, w4, uxtw #2] 248572062f5744557e270a38192554c3126ea5f97434Tim Northover str q21, [x20, w4, uxtw #5] 248672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected integer shift amount 248772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q5, [sp, x2, lsl #-1] 248872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2489dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4 2490dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #4 249172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldr q10, [x20, w4, uxtw #2] 249272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2493dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected 'lsl' or 'sxtw' with optional shift of #0 or #4 2494dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'uxtw' or 'sxtw' with optional shift of #0 or #4 249572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: str q21, [x20, w4, uxtw #5] 249672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 249772062f5744557e270a38192554c3126ea5f97434Tim Northover 249872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 249972062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (offset) 250072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 250172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4, #1] 250272062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3, #253] 250372062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5, #256] 250472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9, #-260] 250572062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp] 2506dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 250772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4, #1] 2508b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2509dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 251072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3, #253] 251172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2512dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 251372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5, #256] 251472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2515dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 251672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9, #-260] 251772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 251872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 251972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp] 252072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 252172062f5744557e270a38192554c3126ea5f97434Tim Northover 252272062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp, #2] 252372062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10, #256] 252472062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11, #-260] 2525dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 252672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp, #2] 252772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2528dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 252972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10, #256] 253072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2531dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 253272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11, #-260] 253372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 253472062f5744557e270a38192554c3126ea5f97434Tim Northover 253572062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp, #4] 253672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9, #512] 253772062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10, #-520] 2538dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 253972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4] 254072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2541dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 254272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512] 254372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2544dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 254572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520] 254672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 254772062f5744557e270a38192554c3126ea5f97434Tim Northover 254872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10] 254972062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9] 255072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 255172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10] 255272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 255372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 255472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9] 255572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 255672062f5744557e270a38192554c3126ea5f97434Tim Northover 255772062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp, #-2] 255872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4, #-260] 255972062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5, #256] 2560dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 256172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp, #-2] 256272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2563dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 256472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4, #-260] 256572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2566dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 256772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5, #256] 256872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 256972062f5744557e270a38192554c3126ea5f97434Tim Northover 257072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr] 257172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0, #512] 257272062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0, #-520] 257372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 257472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr] 257572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2576dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 257772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512] 257872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2579dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 258072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520] 258172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 258272062f5744557e270a38192554c3126ea5f97434Tim Northover 258372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp] 258472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp, #8] 258572062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5, #1024] 258672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23, #-1040] 258772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 258872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp] 258972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2590dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 259172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8] 259272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2593dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 259472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024] 259572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2596dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 259772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040] 259872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 259972062f5744557e270a38192554c3126ea5f97434Tim Northover 260072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 260172062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (post-indexed) 260272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 260372062f5744557e270a38192554c3126ea5f97434Tim Northover 260472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4], #1 260572062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3], #253 260672062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5], #256 260772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9], #-260 260872062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp], #0 2609dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 261072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4], #1 261172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2612dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 261372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3], #253 261472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2615dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 261672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5], #256 261772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2618dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 261972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9], #-260 262072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 262172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 262272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp], #0 262372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 262472062f5744557e270a38192554c3126ea5f97434Tim Northover 262572062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp], #2 262672062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10], #256 262772062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11], #-260 2628dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 262972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp], #2 263072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2631dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 263272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10], #256 263372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2634dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 263572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11], #-260 263672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 263772062f5744557e270a38192554c3126ea5f97434Tim Northover 263872062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp], #4 263972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9], #512 264072062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10], #-520 2641dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 264272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp], #4 2643b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2644dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 264572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9], #512 2646b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2647dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 264872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10], #-520 2649b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 265072062f5744557e270a38192554c3126ea5f97434Tim Northover 265172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10], #0 265272062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9], #0 265372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 265472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10], #0 265572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 265672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 265772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9], #0 265872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 265972062f5744557e270a38192554c3126ea5f97434Tim Northover 266072062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp], #-2 266172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4], #-260 266272062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5], #256 2663dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 266472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp], #-2 266572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2666dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 266772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4], #-260 266872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2669dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 267072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5], #256 267172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 267272062f5744557e270a38192554c3126ea5f97434Tim Northover 267372062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr], #0 267472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0], #512 267572062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0], #-520 267672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 267772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr], #0 267872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2679dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 268072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0], #512 268172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2682dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 268372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0], #-520 268472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 268572062f5744557e270a38192554c3126ea5f97434Tim Northover 268672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp], #0 268772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp], #8 268872062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5], #1024 268972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23], #-1040 269072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 269172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp], #0 269272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2693dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 269472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp], #8 269572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2696dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 269772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5], #1024 269872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2699dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 270072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23], #-1040 270172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 270272062f5744557e270a38192554c3126ea5f97434Tim Northover 270372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 270472062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (pre-indexed) 270572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 270672062f5744557e270a38192554c3126ea5f97434Tim Northover 270772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w3, w2, [x4, #1]! 270872062f5744557e270a38192554c3126ea5f97434Tim Northover stp w1, w2, [x3, #253]! 270972062f5744557e270a38192554c3126ea5f97434Tim Northover stp w9, w10, [x5, #256]! 271072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp w11, w12, [x9, #-260]! 271172062f5744557e270a38192554c3126ea5f97434Tim Northover stp wsp, w9, [sp, #0]! 2712dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 271372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w3, w2, [x4, #1]! 271472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2715dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 271672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w1, w2, [x3, #253]! 271772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2718dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 271972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp w9, w10, [x5, #256]! 272072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2721dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 272272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp w11, w12, [x9, #-260]! 272372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 272472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 272572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp wsp, w9, [sp, #0]! 272672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 272772062f5744557e270a38192554c3126ea5f97434Tim Northover 272872062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x9, x2, [sp, #2]! 272972062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x1, x2, [x10, #256]! 273072062f5744557e270a38192554c3126ea5f97434Tim Northover ldpsw x3, x4, [x11, #-260]! 2731dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x9, x2, [sp, #2]! 273372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2734dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x1, x2, [x10, #256]! 273672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2737dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 273872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldpsw x3, x4, [x11, #-260]! 273972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 274072062f5744557e270a38192554c3126ea5f97434Tim Northover 274172062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x2, x5, [sp, #4]! 274272062f5744557e270a38192554c3126ea5f97434Tim Northover ldp x5, x6, [x9, #512]! 274372062f5744557e270a38192554c3126ea5f97434Tim Northover stp x7, x8, [x10, #-520]! 2744dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 274572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x2, x5, [sp, #4]! 274672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2747dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 274872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp x5, x6, [x9, #512]! 274972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2750dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 275172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x7, x8, [x10, #-520]! 275272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 275372062f5744557e270a38192554c3126ea5f97434Tim Northover 275472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp sp, x3, [x10, #0]! 275572062f5744557e270a38192554c3126ea5f97434Tim Northover stp x3, sp, [x9, #0]! 275672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 275772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp sp, x3, [x10, #0]! 275872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 275972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 276072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp x3, sp, [x9, #0]! 276172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 276272062f5744557e270a38192554c3126ea5f97434Tim Northover 276372062f5744557e270a38192554c3126ea5f97434Tim Northover stp s3, s5, [sp, #-2]! 276472062f5744557e270a38192554c3126ea5f97434Tim Northover ldp s6, s26, [x4, #-260]! 276572062f5744557e270a38192554c3126ea5f97434Tim Northover stp s13, s19, [x5, #256]! 2766dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 276772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s3, s5, [sp, #-2]! 276872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2769dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 277072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp s6, s26, [x4, #-260]! 277172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2772dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 277372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp s13, s19, [x5, #256]! 277472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 277572062f5744557e270a38192554c3126ea5f97434Tim Northover 277672062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, d4, [xzr, #0]! 277772062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d5, d6, [x0, #512]! 277872062f5744557e270a38192554c3126ea5f97434Tim Northover stp d7, d8, [x0, #-520]! 277972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 278072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, d4, [xzr, #0]! 278172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2782dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 278372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d5, d6, [x0, #512]! 278472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2785dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 278672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp d7, d8, [x0, #-520]! 278772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 278872062f5744557e270a38192554c3126ea5f97434Tim Northover 278972062f5744557e270a38192554c3126ea5f97434Tim Northover ldp d3, q2, [sp, #0]! 279072062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q3, q5, [sp, #8]! 279172062f5744557e270a38192554c3126ea5f97434Tim Northover stp q20, q25, [x5, #1024]! 279272062f5744557e270a38192554c3126ea5f97434Tim Northover ldp q30, q15, [x23, #-1040]! 279372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 279472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp d3, q2, [sp, #0]! 279572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2796dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 279772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q3, q5, [sp, #8]! 279872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2799dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 280072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stp q20, q25, [x5, #1024]! 280172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2802dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 280372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldp q30, q15, [x23, #-1040]! 280472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 280572062f5744557e270a38192554c3126ea5f97434Tim Northover 280672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 280772062f5744557e270a38192554c3126ea5f97434Tim Northover// Load/store register pair (offset) 280872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 280972062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp w3, w2, [x4, #1] 281072062f5744557e270a38192554c3126ea5f97434Tim Northover stnp w1, w2, [x3, #253] 281172062f5744557e270a38192554c3126ea5f97434Tim Northover stnp w9, w10, [x5, #256] 281272062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp w11, w12, [x9, #-260] 281372062f5744557e270a38192554c3126ea5f97434Tim Northover stnp wsp, w9, [sp] 2814dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 281572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp w3, w2, [x4, #1] 2816b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2817dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 281872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp w1, w2, [x3, #253] 2819b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2820dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 282172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp w9, w10, [x5, #256] 2822b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2823dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 282472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp w11, w12, [x9, #-260] 2825b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 282672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 282772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp wsp, w9, [sp] 2828b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 282972062f5744557e270a38192554c3126ea5f97434Tim Northover 283072062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp x2, x5, [sp, #4] 283172062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp x5, x6, [x9, #512] 283272062f5744557e270a38192554c3126ea5f97434Tim Northover stnp x7, x8, [x10, #-520] 2833dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 283472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp x2, x5, [sp, #4] 2835b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2836dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 283772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp x5, x6, [x9, #512] 2838b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 2839dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 284072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp x7, x8, [x10, #-520] 2841b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 284272062f5744557e270a38192554c3126ea5f97434Tim Northover 284372062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp sp, x3, [x10] 284472062f5744557e270a38192554c3126ea5f97434Tim Northover stnp x3, sp, [x9] 284572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 284672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp sp, x3, [x10] 284772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 284872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 284972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp x3, sp, [x9] 285072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 285172062f5744557e270a38192554c3126ea5f97434Tim Northover 285272062f5744557e270a38192554c3126ea5f97434Tim Northover stnp s3, s5, [sp, #-2] 285372062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp s6, s26, [x4, #-260] 285472062f5744557e270a38192554c3126ea5f97434Tim Northover stnp s13, s19, [x5, #256] 2855dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 285672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp s3, s5, [sp, #-2] 285772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2858dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 285972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp s6, s26, [x4, #-260] 286072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2861dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 4 in range [-256, 252] 286272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp s13, s19, [x5, #256] 286372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 286472062f5744557e270a38192554c3126ea5f97434Tim Northover 286572062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d3, d4, [xzr] 286672062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d5, d6, [x0, #512] 286772062f5744557e270a38192554c3126ea5f97434Tim Northover stnp d7, d8, [x0, #-520] 286872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 286972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d3, d4, [xzr] 287072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2871dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 287272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d5, d6, [x0, #512] 287372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2874dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 8 in range [-512, 504] 287572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp d7, d8, [x0, #-520] 287672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 287772062f5744557e270a38192554c3126ea5f97434Tim Northover 287872062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp d3, q2, [sp] 287972062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp q3, q5, [sp, #8] 288072062f5744557e270a38192554c3126ea5f97434Tim Northover stnp q20, q25, [x5, #1024] 288172062f5744557e270a38192554c3126ea5f97434Tim Northover ldnp q30, q15, [x23, #-1040] 288272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 288372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp d3, q2, [sp] 288472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2885dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 288672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp q3, q5, [sp, #8] 288772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2888dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 288972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: stnp q20, q25, [x5, #1024] 289072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2891dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected integer|index must be a}} multiple of 16 in range [-1024, 1008] 289272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ldnp q30, q15, [x23, #-1040] 289372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 289472062f5744557e270a38192554c3126ea5f97434Tim Northover 289572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 289672062f5744557e270a38192554c3126ea5f97434Tim Northover// Logical (shifted register) 289772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 289872062f5744557e270a38192554c3126ea5f97434Tim Northover orr w0, w1, #0xffffffff 289972062f5744557e270a38192554c3126ea5f97434Tim Northover and x3, x5, #0xffffffffffffffff 2900b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 290172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w0, w1, #0xffffffff 290272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2903b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 290472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x3, x5, #0xffffffffffffffff 290572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 290672062f5744557e270a38192554c3126ea5f97434Tim Northover 290772062f5744557e270a38192554c3126ea5f97434Tim Northover ands w3, w9, #0x0 290872062f5744557e270a38192554c3126ea5f97434Tim Northover eor x2, x0, #0x0 2909b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 291072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands w3, w9, #0x0 291172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2912b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 291372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor x2, x0, #0x0 291472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 291572062f5744557e270a38192554c3126ea5f97434Tim Northover 291672062f5744557e270a38192554c3126ea5f97434Tim Northover eor w3, w5, #0x83 291772062f5744557e270a38192554c3126ea5f97434Tim Northover eor x9, x20, #0x1234 2918b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected compatible register or logical immediate 291972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor w3, w5, #0x83 292072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2921b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 292272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor x9, x20, #0x1234 292372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 292472062f5744557e270a38192554c3126ea5f97434Tim Northover 292572062f5744557e270a38192554c3126ea5f97434Tim Northover and wzr, w4, 0xffff0000 292672062f5744557e270a38192554c3126ea5f97434Tim Northover eor xzr, x9, #0xffff0000ffff0000 292772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 292872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and wzr, w4, 0xffff0000 292972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 293072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 293172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eor xzr, x9, #0xffff0000ffff0000 293272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 293372062f5744557e270a38192554c3126ea5f97434Tim Northover 293472062f5744557e270a38192554c3126ea5f97434Tim Northover orr w3, wsp, #0xf0f0f0f0 293572062f5744557e270a38192554c3126ea5f97434Tim Northover ands x3, sp, #0xaaaaaaaaaaaaaaaa 293672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 293772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w3, wsp, #0xf0f0f0f0 293872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 293972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 294072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands x3, sp, #0xaaaaaaaaaaaaaaaa 294172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 294272062f5744557e270a38192554c3126ea5f97434Tim Northover 294372062f5744557e270a38192554c3126ea5f97434Tim Northover tst sp, #0xe0e0e0e0e0e0e0e0 294472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 294572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tst sp, #0xe0e0e0e0e0e0e0e0 294672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 294772062f5744557e270a38192554c3126ea5f97434Tim Northover 294872062f5744557e270a38192554c3126ea5f97434Tim Northover // movi has been removed from the specification. Make sure it's really gone. 294972062f5744557e270a38192554c3126ea5f97434Tim Northover movi wzr, #0x44444444 295072062f5744557e270a38192554c3126ea5f97434Tim Northover movi w3, #0xffff 295172062f5744557e270a38192554c3126ea5f97434Tim Northover movi x9, #0x0000ffff00000000 295287773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 295372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi wzr, #0x44444444 295472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 295587773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 295672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi w3, #0xffff 295772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 295887773c318fcee853fb34a80a10c4347d523bdafbTim Northover// CHECK-ERROR: error: invalid operand for instruction 295972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movi x9, #0x0000ffff00000000 296072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 296172062f5744557e270a38192554c3126ea5f97434Tim Northover 296272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 296372062f5744557e270a38192554c3126ea5f97434Tim Northover// Logical (shifted register) 296472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 296572062f5744557e270a38192554c3126ea5f97434Tim Northover 296672062f5744557e270a38192554c3126ea5f97434Tim Northover //// Out of range shifts 296772062f5744557e270a38192554c3126ea5f97434Tim Northover and w2, w24, w6, lsl #-1 296872062f5744557e270a38192554c3126ea5f97434Tim Northover and w4, w6, w12, lsl #32 296972062f5744557e270a38192554c3126ea5f97434Tim Northover and x4, x6, x12, lsl #64 297072062f5744557e270a38192554c3126ea5f97434Tim Northover and x2, x5, x11, asr 297172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: expected integer shift amount 297272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and w2, w24, w6, lsl #-1 297372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2974b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 31] 297572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and w4, w6, w12, lsl #32 297672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2977b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected 'lsl', 'lsr' or 'asr' with optional integer in range [0, 63] 297872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x4, x6, x12, lsl #64 297972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 298072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: expected #imm after shift specifier 298172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x2, x5, x11, asr 298272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 298372062f5744557e270a38192554c3126ea5f97434Tim Northover 298472062f5744557e270a38192554c3126ea5f97434Tim Northover //// sp not allowed 298572062f5744557e270a38192554c3126ea5f97434Tim Northover orn wsp, w3, w5 298672062f5744557e270a38192554c3126ea5f97434Tim Northover bics x20, sp, x9, lsr #0 298772062f5744557e270a38192554c3126ea5f97434Tim Northover orn x2, x6, sp, lsl #3 2988cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// FIXME: the diagnostic we get for 'orn wsp, w3, w5' is from the orn alias, 2989cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// which is a better match than the genuine ORNWri, whereas it would be better 2990cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// to get the ORNWri diagnostic when the alias did not match, i.e. the 2991cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// alias' diagnostics should have a lower priority. 2992cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR: error: expected compatible register or logical immediate 299372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orn wsp, w3, w5 2994cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: ^ 299572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 299672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: bics x20, sp, x9, lsr #0 299772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 2998cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 299972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orn x2, x6, sp, lsl #3 300072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 300172062f5744557e270a38192554c3126ea5f97434Tim Northover 300272062f5744557e270a38192554c3126ea5f97434Tim Northover //// Mismatched registers 300372062f5744557e270a38192554c3126ea5f97434Tim Northover and x3, w2, w1 300472062f5744557e270a38192554c3126ea5f97434Tim Northover ands w1, x12, w2 300572062f5744557e270a38192554c3126ea5f97434Tim Northover and x4, x5, w6, lsl #12 300672062f5744557e270a38192554c3126ea5f97434Tim Northover orr w2, w5, x7, asr #0 300772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 300872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x3, w2, w1 300972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 301072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 301172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ands w1, x12, w2 301272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3013b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 301472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: and x4, x5, w6, lsl #12 301572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3016b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected compatible register or logical immediate 301772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: orr w2, w5, x7, asr #0 301872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 301972062f5744557e270a38192554c3126ea5f97434Tim Northover 302072062f5744557e270a38192554c3126ea5f97434Tim Northover //// Shifts should not be allowed on mov 302172062f5744557e270a38192554c3126ea5f97434Tim Northover mov w3, w7, lsl #13 302272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 302372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mov w3, w7, lsl #13 302472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 302572062f5744557e270a38192554c3126ea5f97434Tim Northover 302672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 302772062f5744557e270a38192554c3126ea5f97434Tim Northover// Move wide (immediate) 302872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 302972062f5744557e270a38192554c3126ea5f97434Tim Northover 303072062f5744557e270a38192554c3126ea5f97434Tim Northover movz w3, #65536, lsl #0 303172062f5744557e270a38192554c3126ea5f97434Tim Northover movz w4, #65536 303272062f5744557e270a38192554c3126ea5f97434Tim Northover movn w1, #2, lsl #1 303372062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #0, lsl #-1 303472062f5744557e270a38192554c3126ea5f97434Tim Northover movn w2, #-1, lsl #0 303572062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #-1 303672062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #1, lsl #32 303772062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #12, lsl #64 3038dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 303972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w3, #65536, lsl #0 304072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3041dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 304272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w4, #65536 304372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3044dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535] 3045dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0 or 16 304672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w1, #2, lsl #1 304772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3048dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: only 'lsl #+N' valid after immediate 3049dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected integer shift amount 305072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #0, lsl #-1 305172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3052dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 305372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w2, #-1, lsl #0 305472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3055dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 305672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #-1 305772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3058dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535] 3059dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0 or 16 306072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #1, lsl #32 306172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3062dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: expected relocated symbol or integer in range [0, 65535] 3063dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: expected 'lsl' with optional integer 0, 16, 32 or 48 306472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x2, #12, lsl #64 306572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 306672062f5744557e270a38192554c3126ea5f97434Tim Northover 306772062f5744557e270a38192554c3126ea5f97434Tim Northover movz x12, #:abs_g0:sym, lsl #16 306872062f5744557e270a38192554c3126ea5f97434Tim Northover movz x12, #:abs_g0:sym, lsl #0 306972062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #:abs_g0:sym 307072062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g0:sym 307172062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #:abs_g0_nc:sym 307272062f5744557e270a38192554c3126ea5f97434Tim Northover movn x4, #:abs_g0_nc:sym 3073dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 307472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x12, #:abs_g0:sym, lsl #16 307572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3076dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 307772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x12, #:abs_g0:sym, lsl #0 307872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3079dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3080dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x2, #:abs_g0:sym 3081dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3082dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 308372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g0:sym 308472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3085dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 308672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x3, #:abs_g0_nc:sym 308772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3088dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 308972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x4, #:abs_g0_nc:sym 309072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 309172062f5744557e270a38192554c3126ea5f97434Tim Northover 309272062f5744557e270a38192554c3126ea5f97434Tim Northover movn x2, #:abs_g1:sym 309372062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g1:sym 309472062f5744557e270a38192554c3126ea5f97434Tim Northover movz x3, #:abs_g1_nc:sym 309572062f5744557e270a38192554c3126ea5f97434Tim Northover movn x4, #:abs_g1_nc:sym 3096dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3097dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x2, #:abs_g1: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_g1: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_g1_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_g1_nc:sym 310772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 310872062f5744557e270a38192554c3126ea5f97434Tim Northover 310972062f5744557e270a38192554c3126ea5f97434Tim Northover movz w12, #:abs_g2:sym 311072062f5744557e270a38192554c3126ea5f97434Tim Northover movn x12, #:abs_g2:sym 311172062f5744557e270a38192554c3126ea5f97434Tim Northover movk x13, #:abs_g2:sym 311272062f5744557e270a38192554c3126ea5f97434Tim Northover movk w3, #:abs_g2_nc:sym 311372062f5744557e270a38192554c3126ea5f97434Tim Northover movz x13, #:abs_g2_nc:sym 311472062f5744557e270a38192554c3126ea5f97434Tim Northover movn x24, #:abs_g2_nc:sym 3115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 311672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w12, #:abs_g2:sym 311772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3118dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3119dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x12, #:abs_g2:sym 3120dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3121dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 312272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x13, #:abs_g2:sym 312372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3124dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 312572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w3, #:abs_g2_nc:sym 312672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3127dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 312872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz x13, #:abs_g2_nc:sym 312972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3130dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 313172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn x24, #:abs_g2_nc:sym 313272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 313372062f5744557e270a38192554c3126ea5f97434Tim Northover 313472062f5744557e270a38192554c3126ea5f97434Tim Northover movn x19, #:abs_g3:sym 313572062f5744557e270a38192554c3126ea5f97434Tim Northover movz w20, #:abs_g3:sym 313672062f5744557e270a38192554c3126ea5f97434Tim Northover movk w21, #:abs_g3:sym 3137dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 3138dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: movn x19, #:abs_g3:sym 3139dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: ^ 3140dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 314172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w20, #:abs_g3:sym 314272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3143dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 314472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w21, #:abs_g3:sym 314572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 314672062f5744557e270a38192554c3126ea5f97434Tim Northover 314772062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g0_s:sym 314872062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g0_s:sym 3149dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 315072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g0_s:sym 315172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3152dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 315372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g0_s:sym 315472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 315572062f5744557e270a38192554c3126ea5f97434Tim Northover 315672062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g1_s:sym 315772062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g1_s:sym 3158dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 315972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g1_s:sym 316072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3161dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 316272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk w23, #:abs_g1_s:sym 316372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 316472062f5744557e270a38192554c3126ea5f97434Tim Northover 316572062f5744557e270a38192554c3126ea5f97434Tim Northover movz w2, #:abs_g2_s:sym 316672062f5744557e270a38192554c3126ea5f97434Tim Northover movn w29, #:abs_g2_s:sym 316772062f5744557e270a38192554c3126ea5f97434Tim Northover movk x19, #:abs_g2_s:sym 316872062f5744557e270a38192554c3126ea5f97434Tim Northover movk w23, #:abs_g2_s:sym 3169dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 317072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movz w2, #:abs_g2_s:sym 317172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3172dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 317372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movn w29, #:abs_g2_s:sym 317472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3175dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected relocated symbol or|immediate must be an}} integer in range [0, 65535] 317672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: movk x19, #:abs_g2_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_g2_s:sym 318072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 318172062f5744557e270a38192554c3126ea5f97434Tim Northover 318272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 318372062f5744557e270a38192554c3126ea5f97434Tim Northover// PC-relative addressing 318472062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 318572062f5744557e270a38192554c3126ea5f97434Tim Northover 318672062f5744557e270a38192554c3126ea5f97434Tim Northover adr sp, loc // expects xzr 318772062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x3, #20 // Immediate unaligned 318872062f5744557e270a38192554c3126ea5f97434Tim Northover adrp w2, loc // 64-bit register needed 318972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 319072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr sp, loc 319172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3192b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 319372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x3, #20 319472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 319572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 319672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp w2, loc 319772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 319872062f5744557e270a38192554c3126ea5f97434Tim Northover 319972062f5744557e270a38192554c3126ea5f97434Tim Northover adr x9, #1048576 320072062f5744557e270a38192554c3126ea5f97434Tim Northover adr x2, #-1048577 320172062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x9, #4294967296 320272062f5744557e270a38192554c3126ea5f97434Tim Northover adrp x20, #-4294971392 3203b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 320472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr x9, #1048576 320572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3206b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 320772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adr x2, #-1048577 320872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3209b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 321072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x9, #4294967296 321172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3212b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 321372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: adrp x20, #-4294971392 321472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 321572062f5744557e270a38192554c3126ea5f97434Tim Northover 321672062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 321772062f5744557e270a38192554c3126ea5f97434Tim Northover// System 321872062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 321972062f5744557e270a38192554c3126ea5f97434Tim Northover 322072062f5744557e270a38192554c3126ea5f97434Tim Northover hint #-1 322172062f5744557e270a38192554c3126ea5f97434Tim Northover hint #128 3222dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 127] 322372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hint #-1 322472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3225dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 127] 322672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: hint #128 322772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 322872062f5744557e270a38192554c3126ea5f97434Tim Northover 322972062f5744557e270a38192554c3126ea5f97434Tim Northover clrex #-1 323072062f5744557e270a38192554c3126ea5f97434Tim Northover clrex #16 3231dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 323272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: clrex #-1 323372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3234dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 323572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: clrex #16 323672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 323772062f5744557e270a38192554c3126ea5f97434Tim Northover 323872062f5744557e270a38192554c3126ea5f97434Tim Northover dsb #-1 323972062f5744557e270a38192554c3126ea5f97434Tim Northover dsb #16 324072062f5744557e270a38192554c3126ea5f97434Tim Northover dmb #-1 324172062f5744557e270a38192554c3126ea5f97434Tim Northover dmb #16 3242dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 324372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dsb #-1 324472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3245dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 324672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dsb #16 324772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3248dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 324972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dmb #-1 325072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3251dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 325272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: dmb #16 325372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 325472062f5744557e270a38192554c3126ea5f97434Tim Northover 325572062f5744557e270a38192554c3126ea5f97434Tim Northover isb #-1 325672062f5744557e270a38192554c3126ea5f97434Tim Northover isb #16 3257dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 325872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: isb #-1 325972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3260dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}} 326172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: isb #16 326272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 326372062f5744557e270a38192554c3126ea5f97434Tim Northover 326472062f5744557e270a38192554c3126ea5f97434Tim Northover msr daifset, x4 3265b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover msr spsel, #-1 326672062f5744557e270a38192554c3126ea5f97434Tim Northover msr spsel #-1 326772062f5744557e270a38192554c3126ea5f97434Tim Northover msr daifclr, #16 3268dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 326972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr daifset, x4 327072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3271dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 3272b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: msr spsel, #-1 3273b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: ^ 3274dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected comma before next operand|unexpected token in argument list}} 327572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr spsel #-1 327672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3277dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 15] 327872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr daifclr, #16 327972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 328072062f5744557e270a38192554c3126ea5f97434Tim Northover 328172062f5744557e270a38192554c3126ea5f97434Tim Northover sys #8, c1, c2, #7, x9 328272062f5744557e270a38192554c3126ea5f97434Tim Northover sys #3, c16, c2, #3, x10 328372062f5744557e270a38192554c3126ea5f97434Tim Northover sys #2, c11, c16, #5 328472062f5744557e270a38192554c3126ea5f97434Tim Northover sys #4, c9, c8, #8, xzr 328572062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x11, #8, c1, c2, #7 328672062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x13, #3, c16, c2, #3 328772062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x9, #2, c11, c16, #5 328872062f5744557e270a38192554c3126ea5f97434Tim Northover sysl x4, #4, c9, c8, #8 3289dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 329072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #8, c1, c2, #7, x9 329172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 329272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 329372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #3, c16, c2, #3, x10 329472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 329572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 329672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #2, c11, c16, #5 329772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3298dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 329972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sys #4, c9, c8, #8, xzr 330072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3301dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 330272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x11, #8, c1, c2, #7 330372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 330572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x13, #3, c16, c2, #3 330672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 330772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: Expected cN operand where 0 <= N <= 15 330872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x9, #2, c11, c16, #5 330972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3310dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 7] 331172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: sysl x4, #4, c9, c8, #8 331272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 331372062f5744557e270a38192554c3126ea5f97434Tim Northover 331472062f5744557e270a38192554c3126ea5f97434Tim Northover ic ialluis, x2 331572062f5744557e270a38192554c3126ea5f97434Tim Northover ic allu, x7 331672062f5744557e270a38192554c3126ea5f97434Tim Northover ic ivau 3317dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{IC|ic}} op does not use a register 331872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic ialluis, x2 331972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3320dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-AARCH64-NEXT: error: operand specifier not recognised 3321dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-ARM64-NEXT: error: invalid operand for IC instruction 332272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic allu, x7 332372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3324dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{IC|ic}} op requires a register 332572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ic ivau 332672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 332772062f5744557e270a38192554c3126ea5f97434Tim Northover 332872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2E1IS 332972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2LE1IS 333072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLE1IS, x12 333172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE2IS, x11 333272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE3IS, x20 333372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE1IS 333472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE2IS 333572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE3IS 333672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ASIDE1IS 333772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAAE1IS 333872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE1IS, x0 333972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE1IS 334072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE2IS 334172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE3IS 334272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLS12E1IS, xzr 334372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAALE1IS 334472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2E1 334572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi IPAS2LE1 334672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLE1, x9 334772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE2, x10 334872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE3, x11 334972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE1 335072062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE2 335172062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAE3 335272062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ASIDE1 335372062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAAE1 335472062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi ALLE1, x25 335572062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE1 335672062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE2 335772062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VALE3 335872062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VMALLS12E1, x15 335972062f5744557e270a38192554c3126ea5f97434Tim Northover tlbi VAALE1 3360dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 336172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2E1IS 336272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3363dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 336472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2LE1IS 336572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3366dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 336772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLE1IS, x12 336872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3369dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 337072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE2IS, x11 337172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3372dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 337372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE3IS, x20 337472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3375dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 337672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE1IS 337772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3378dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 337972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE2IS 338072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3381dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 338272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE3IS 338372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3384dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 338572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ASIDE1IS 338672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3387dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 338872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAAE1IS 338972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3390dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 339172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE1IS, x0 339272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3393dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 339472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE1IS 339572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3396dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 339772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE2IS 339872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3399dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 340072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE3IS 340172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3402dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 340372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLS12E1IS, xzr 340472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3405dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 340672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAALE1IS 340772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3408dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 340972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2E1 341072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3411dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 341272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi IPAS2LE1 341372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3414dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 341572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLE1, x9 341672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3417dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 341872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE2, x10 341972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3420dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 342172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE3, x11 342272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3423dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 342472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE1 342572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3426dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 342772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE2 342872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3429dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 343072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAE3 343172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3432dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 343372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ASIDE1 343472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3435dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 343672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAAE1 343772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3438dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 343972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi ALLE1, x25 344072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3441dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 344272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE1 344372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3444dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 344572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE2 344672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3447dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 344872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VALE3 344972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3450dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op does not use a register 345172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VMALLS12E1, x15 345272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3453dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: specified {{TLBI|tlbi}} op requires a register 345472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tlbi VAALE1 345572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 345672062f5744557e270a38192554c3126ea5f97434Tim Northover 345772062f5744557e270a38192554c3126ea5f97434Tim Northover// For the MSR/MRS instructions, first make sure read-only and 345872062f5744557e270a38192554c3126ea5f97434Tim Northover// write-only registers actually are. 345972062f5744557e270a38192554c3126ea5f97434Tim Northover msr MDCCSR_EL0, x12 346072062f5744557e270a38192554c3126ea5f97434Tim Northover msr DBGDTRRX_EL0, x12 346172062f5744557e270a38192554c3126ea5f97434Tim Northover msr MDRAR_EL1, x12 346272062f5744557e270a38192554c3126ea5f97434Tim Northover msr OSLSR_EL1, x12 346372062f5744557e270a38192554c3126ea5f97434Tim Northover msr DBGAUTHSTATUS_EL1, x12 346472062f5744557e270a38192554c3126ea5f97434Tim Northover msr MIDR_EL1, x12 346572062f5744557e270a38192554c3126ea5f97434Tim Northover msr CCSIDR_EL1, x12 346672062f5744557e270a38192554c3126ea5f97434Tim Northover msr CLIDR_EL1, x12 346772062f5744557e270a38192554c3126ea5f97434Tim Northover msr CTR_EL0, x12 346872062f5744557e270a38192554c3126ea5f97434Tim Northover msr MPIDR_EL1, x12 346972062f5744557e270a38192554c3126ea5f97434Tim Northover msr REVIDR_EL1, x12 347072062f5744557e270a38192554c3126ea5f97434Tim Northover msr AIDR_EL1, x12 347172062f5744557e270a38192554c3126ea5f97434Tim Northover msr DCZID_EL0, x12 347272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_PFR0_EL1, x12 347372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_PFR1_EL1, x12 347472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_DFR0_EL1, x12 347572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AFR0_EL1, x12 347672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR0_EL1, x12 347772062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR1_EL1, x12 347872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR2_EL1, x12 347972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_MMFR3_EL1, x12 348072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR0_EL1, x12 348172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR1_EL1, x12 348272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR2_EL1, x12 348372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR3_EL1, x12 348472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR4_EL1, x12 348572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_ISAR5_EL1, x12 348672062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR0_EL1, x12 348772062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR1_EL1, x12 348872062f5744557e270a38192554c3126ea5f97434Tim Northover msr MVFR2_EL1, x12 348972062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64PFR0_EL1, x12 349072062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64PFR1_EL1, x12 349172062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64DFR0_EL1, x12 349272062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64DFR1_EL1, x12 349372062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64AFR0_EL1, x12 349472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64AFR1_EL1, x12 349572062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64ISAR0_EL1, x12 349672062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64ISAR1_EL1, x12 349772062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64MMFR0_EL1, x12 349872062f5744557e270a38192554c3126ea5f97434Tim Northover msr ID_AA64MMFR1_EL1, x12 349972062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMCEID0_EL0, x12 350072062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMCEID1_EL0, x12 350172062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL1, x12 350272062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL2, x12 350372062f5744557e270a38192554c3126ea5f97434Tim Northover msr RVBAR_EL3, x12 350472062f5744557e270a38192554c3126ea5f97434Tim Northover msr ISR_EL1, x12 350572062f5744557e270a38192554c3126ea5f97434Tim Northover msr CNTPCT_EL0, x12 350672062f5744557e270a38192554c3126ea5f97434Tim Northover msr CNTVCT_EL0, x12 350772062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMEVCNTR31_EL0, x12 350872062f5744557e270a38192554c3126ea5f97434Tim Northover msr PMEVTYPER31_EL0, x12 3509b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected writable system register or pstate 351072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MDCCSR_EL0, x12 351172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3512b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr DBGDTRRX_EL0, x12 351472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3515b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MDRAR_EL1, x12 351772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3518b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 351972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr OSLSR_EL1, x12 352072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3521b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 352272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr DBGAUTHSTATUS_EL1, x12 352372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3524b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 352572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MIDR_EL1, x12 352672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3527b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 352872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CCSIDR_EL1, x12 352972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3530b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CLIDR_EL1, x12 353272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3533b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CTR_EL0, x12 353572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3536b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 353772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MPIDR_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 REVIDR_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 AIDR_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 DCZID_EL0, x12 354772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3548b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 354972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_PFR0_EL1, x12 355072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3551b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_PFR1_EL1, x12 355372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3554b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_DFR0_EL1, x12 355672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3557b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 355872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_AFR0_EL1, x12 355972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3560b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 356172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ID_MMFR0_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 ID_MMFR1_EL1, 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_MMFR2_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_MMFR3_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_ISAR0_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_ISAR1_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_ISAR2_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_ISAR3_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_ISAR4_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_ISAR5_EL1, x12 358972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3590b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 359172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR0_EL1, x12 359272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3593b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 359472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr MVFR1_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 MVFR2_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_AA64PFR0_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_AA64PFR1_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_AA64DFR0_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_AA64DFR1_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 ID_AA64AFR0_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 ID_AA64AFR1_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 ID_AA64ISAR0_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_AA64ISAR1_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_AA64MMFR0_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_AA64MMFR1_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 PMCEID0_EL0, x12 363172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3632b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 363372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr PMCEID1_EL0, x12 363472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3635b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 363672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_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 RVBAR_EL2, x12 364072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3641b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 364272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr RVBAR_EL3, x12 364372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3644b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 364572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr ISR_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 CNTPCT_EL0, x12 364972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3650b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected writable system register or pstate 365172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: msr CNTVCT_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 PMEVCNTR31_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 PMEVTYPER31_EL0, x12 365872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 365972062f5744557e270a38192554c3126ea5f97434Tim Northover 366072062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, DBGDTRTX_EL0 366172062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, OSLAR_EL1 366272062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMSWINC_EL0 366372062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMEVCNTR31_EL0 366472062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x9, PMEVTYPER31_EL0 3665b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected readable system register 366672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, DBGDTRTX_EL0 366772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3668b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 366972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, OSLAR_EL1 367072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3671b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 367272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMSWINC_EL0 367372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3674b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 367572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMEVCNTR31_EL0 367672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3677b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 367872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x9, PMEVTYPER31_EL0 367972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 368072062f5744557e270a38192554c3126ea5f97434Tim Northover 368172062f5744557e270a38192554c3126ea5f97434Tim Northover// Now check some invalid generic names 368272062f5744557e270a38192554c3126ea5f97434Tim Northover mrs xzr, s2_5_c11_c13_2 368372062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x12, s3_8_c11_c13_2 368472062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x13, s3_3_c12_c13_2 368572062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x19, s3_2_c15_c16_2 368672062f5744557e270a38192554c3126ea5f97434Tim Northover mrs x30, s3_2_c15_c1_8 3687b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 368872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs xzr, s2_5_c11_c13_2 368972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3690b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x12, s3_8_c11_c13_2 369272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3693b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x13, s3_3_c12_c13_2 369572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3696b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 369772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x19, s3_2_c15_c16_2 369872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3699b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected readable system register 370072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: mrs x30, s3_2_c15_c1_8 370172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 370272062f5744557e270a38192554c3126ea5f97434Tim Northover 370372062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 370472062f5744557e270a38192554c3126ea5f97434Tim Northover// Test and branch (immediate) 370572062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 370672062f5744557e270a38192554c3126ea5f97434Tim Northover 370772062f5744557e270a38192554c3126ea5f97434Tim Northover tbz w3, #-1, addr 370872062f5744557e270a38192554c3126ea5f97434Tim Northover tbz w3, #32, nowhere 370972062f5744557e270a38192554c3126ea5f97434Tim Northover tbz x9, #-1, there 371072062f5744557e270a38192554c3126ea5f97434Tim Northover tbz x20, #64, dont 3711dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31] 371272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz w3, #-1, addr 371372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3714dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 371572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz w3, #32, nowhere 371672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3717dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 371872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz x9, #-1, there 371972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3720dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 372172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbz x20, #64, dont 372272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 372372062f5744557e270a38192554c3126ea5f97434Tim Northover 372472062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz w3, #-1, addr 372572062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz w3, #32, nowhere 372672062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz x9, #-1, there 372772062f5744557e270a38192554c3126ea5f97434Tim Northover tbnz x20, #64, dont 3728dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 372972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz w3, #-1, addr 373072062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3731dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 31] 373272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz w3, #32, nowhere 373372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3734dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 373572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz x9, #-1, there 373672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3737dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK-ERROR-NEXT: error: {{expected|immediate must be an}} integer in range [0, 63] 373872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: tbnz x20, #64, dont 373972062f5744557e270a38192554c3126ea5f97434Tim Northover 374072062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 374172062f5744557e270a38192554c3126ea5f97434Tim Northover// Unconditional branch (immediate) 374272062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 374372062f5744557e270a38192554c3126ea5f97434Tim Northover 374472062f5744557e270a38192554c3126ea5f97434Tim Northover b #134217728 374572062f5744557e270a38192554c3126ea5f97434Tim Northover b #-134217732 374672062f5744557e270a38192554c3126ea5f97434Tim Northover b #1 3747b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR: error: expected label or encodable integer pc offset 374872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #134217728 374972062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3750b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 375172062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #-134217732 375272062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 3753b5161863866b64498a7faa20e612c55de4bca6f8Tim Northover// CHECK-ERROR-NEXT: error: expected label or encodable integer pc offset 375472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: b #1 375572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 375672062f5744557e270a38192554c3126ea5f97434Tim Northover 375772062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 375872062f5744557e270a38192554c3126ea5f97434Tim Northover// Unconditional branch (register) 375972062f5744557e270a38192554c3126ea5f97434Tim Northover//------------------------------------------------------------------------------ 376072062f5744557e270a38192554c3126ea5f97434Tim Northover 376172062f5744557e270a38192554c3126ea5f97434Tim Northover br w2 376272062f5744557e270a38192554c3126ea5f97434Tim Northover br sp 376372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 376472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: br w2 376572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 376672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 376772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: br sp 376872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 376972062f5744557e270a38192554c3126ea5f97434Tim Northover 377072062f5744557e270a38192554c3126ea5f97434Tim Northover //// These ones shouldn't allow any registers 377172062f5744557e270a38192554c3126ea5f97434Tim Northover eret x2 377272062f5744557e270a38192554c3126ea5f97434Tim Northover drps x2 377372062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR: error: invalid operand for instruction 377472062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: eret x2 377572062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 377672062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: error: invalid operand for instruction 377772062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: drps x2 377872062f5744557e270a38192554c3126ea5f97434Tim Northover// CHECK-ERROR-NEXT: ^ 377972062f5744557e270a38192554c3126ea5f97434Tim Northover 3780