aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-riscv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/tc-riscv.c')
-rw-r--r--gas/config/tc-riscv.c59
1 files changed, 2 insertions, 57 deletions
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
index aaf8b9b..297bb9b 100644
--- a/gas/config/tc-riscv.c
+++ b/gas/config/tc-riscv.c
@@ -337,8 +337,7 @@ riscv_set_arch (const char *s)
riscv_reset_subsets_list_arch_str ();
riscv_set_rvc (false);
- if (riscv_subset_supports (&riscv_rps_as, "c")
- || riscv_subset_supports (&riscv_rps_as, "zca"))
+ if (riscv_subset_supports (&riscv_rps_as, "c"))
riscv_set_rvc (true);
if (riscv_subset_supports (&riscv_rps_as, "ztso"))
@@ -1426,18 +1425,6 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length)
goto unknown_validate_operand;
}
break;
- case 'c':
- switch (*++oparg)
- {
- /* byte immediate operators, load/store byte insns. */
- case 'h': used_bits |= ENCODE_ZCB_HALFWORD_UIMM (-1U); break;
- /* halfword immediate operators, load/store halfword insns. */
- case 'b': used_bits |= ENCODE_ZCB_BYTE_UIMM (-1U); break;
- case 'f': break;
- default:
- goto unknown_validate_operand;
- }
- break;
default:
goto unknown_validate_operand;
}
@@ -3571,47 +3558,6 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
goto unknown_riscv_ip_operand;
}
break;
-
- case 'c':
- switch (*++oparg)
- {
- case 'h': /* Immediate field for c.lh/c.lhu/c.sh. */
- /* Handle cases, such as c.sh rs2', (rs1'). */
- if (riscv_handle_implicit_zero_offset (imm_expr, asarg))
- continue;
- if (my_getSmallExpression (imm_expr, imm_reloc, asarg, p)
- || imm_expr->X_op != O_constant
- || !VALID_ZCB_HALFWORD_UIMM ((valueT) imm_expr->X_add_number))
- break;
- ip->insn_opcode |= ENCODE_ZCB_HALFWORD_UIMM (imm_expr->X_add_number);
- goto rvc_imm_done;
-
- case 'b': /* Immediate field for c.lbu/c.sb. */
- /* Handle cases, such as c.lbu rd', (rs1'). */
- if (riscv_handle_implicit_zero_offset (imm_expr, asarg))
- continue;
- if (my_getSmallExpression (imm_expr, imm_reloc, asarg, p)
- || imm_expr->X_op != O_constant
- || !VALID_ZCB_BYTE_UIMM ((valueT) imm_expr->X_add_number))
- break;
- ip->insn_opcode |= ENCODE_ZCB_BYTE_UIMM (imm_expr->X_add_number);
- goto rvc_imm_done;
-
- case 'f': /* Operand for matching immediate 255. */
- if (my_getSmallExpression (imm_expr, imm_reloc, asarg, p)
- || imm_expr->X_op != O_constant
- || imm_expr->X_add_number != 255)
- break;
- /* This operand is used for matching immediate 255, and
- we do not write anything to encoding by this operand. */
- asarg = expr_parse_end;
- imm_expr->X_op = O_absent;
- continue;
-
- default:
- goto unknown_riscv_ip_operand;
- }
- break;
default:
goto unknown_riscv_ip_operand;
}
@@ -4376,8 +4322,7 @@ s_riscv_option (int x ATTRIBUTE_UNUSED)
riscv_reset_subsets_list_arch_str ();
riscv_set_rvc (false);
- if (riscv_subset_supports (&riscv_rps_as, "c")
- || riscv_subset_supports (&riscv_rps_as, "zca"))
+ if (riscv_subset_supports (&riscv_rps_as, "c"))
riscv_set_rvc (true);
if (riscv_subset_supports (&riscv_rps_as, "ztso"))