diff options
Diffstat (limited to 'gas/config/tc-aarch64.c')
-rw-r--r-- | gas/config/tc-aarch64.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 930b07a..6b9ae29 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -5501,6 +5501,7 @@ parse_operands (char *str, const aarch64_opcode *opcode) break; case AARCH64_OPND_CCMP_IMM: + case AARCH64_OPND_SIMM5: case AARCH64_OPND_FBITS: case AARCH64_OPND_UIMM4: case AARCH64_OPND_UIMM3_OP1: @@ -5508,10 +5509,36 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_IMM_VLSL: case AARCH64_OPND_IMM: case AARCH64_OPND_WIDTH: + case AARCH64_OPND_SVE_INV_LIMM: + case AARCH64_OPND_SVE_LIMM: + case AARCH64_OPND_SVE_LIMM_MOV: + case AARCH64_OPND_SVE_SHLIMM_PRED: + case AARCH64_OPND_SVE_SHLIMM_UNPRED: + case AARCH64_OPND_SVE_SHRIMM_PRED: + case AARCH64_OPND_SVE_SHRIMM_UNPRED: + case AARCH64_OPND_SVE_SIMM5: + case AARCH64_OPND_SVE_SIMM5B: + case AARCH64_OPND_SVE_SIMM6: + case AARCH64_OPND_SVE_SIMM8: + case AARCH64_OPND_SVE_UIMM3: + case AARCH64_OPND_SVE_UIMM7: + case AARCH64_OPND_SVE_UIMM8: + case AARCH64_OPND_SVE_UIMM8_53: po_imm_nc_or_fail (); info->imm.value = val; break; + case AARCH64_OPND_SVE_AIMM: + case AARCH64_OPND_SVE_ASIMM: + po_imm_nc_or_fail (); + info->imm.value = val; + skip_whitespace (str); + if (skip_past_comma (&str)) + po_misc_or_fail (parse_shift (&str, info, SHIFTED_LSL)); + else + inst.base.operands[i].shifter.kind = AARCH64_MOD_LSL; + break; + case AARCH64_OPND_SVE_PATTERN: po_enum_or_fail (aarch64_sve_pattern_array); info->imm.value = val; |