diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index c070394a366..0043b6b69cb 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1184,8 +1184,8 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"zcb", "zca", check_implicit_always}, {"smaia", "ssaia", check_implicit_always}, {"smcntrpmf", "zicsr", check_implicit_always}, - {"smstateen", "ssstateen", check_implicit_always}, {"smepmp", "zicsr", check_implicit_always}, + {"smstateen", "ssstateen", check_implicit_always}, {"ssaia", "zicsr", check_implicit_always}, {"sscofpmf", "zicsr", check_implicit_always}, {"ssstateen", "zicsr", check_implicit_always}, diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 5759d3a5fc4..aeeb4189e24 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -82,11 +82,11 @@ enum riscv_csr_class CSR_CLASS_SSAIA_AND_H, /* Ssaia with H */ CSR_CLASS_SSAIA_32, /* Ssaia, rv32 only */ CSR_CLASS_SSAIA_AND_H_32, /* Ssaia with H, rv32 only */ + CSR_CLASS_SSCOFPMF, /* Sscofpmf only */ + CSR_CLASS_SSCOFPMF_32, /* Sscofpmf RV32 only */ CSR_CLASS_SSSTATEEN, /* S[ms]stateen only */ CSR_CLASS_SSSTATEEN_AND_H, /* S[ms]stateen only (with H) */ CSR_CLASS_SSSTATEEN_AND_H_32, /* S[ms]stateen RV32 only (with H) */ - CSR_CLASS_SSCOFPMF, /* Sscofpmf only */ - CSR_CLASS_SSCOFPMF_32, /* Sscofpmf RV32 only */ CSR_CLASS_SSTC, /* Sstc only */ CSR_CLASS_SSTC_AND_H, /* Sstc only (with H) */ CSR_CLASS_SSTC_32, /* Sstc RV32 only */ @@ -1077,6 +1077,12 @@ riscv_csr_address (const char *csr_name, || csr_class == CSR_CLASS_SSAIA_AND_H_32); extension = "ssaia"; break; + case CSR_CLASS_SSCOFPMF_32: + is_rv32_only = true; + /* Fall through. */ + case CSR_CLASS_SSCOFPMF: + extension = "sscofpmf"; + break; case CSR_CLASS_SSSTATEEN_AND_H_32: is_rv32_only = true; /* Fall through. */ @@ -1086,12 +1092,6 @@ riscv_csr_address (const char *csr_name, case CSR_CLASS_SSSTATEEN: extension = "ssstateen"; break; - case CSR_CLASS_SSCOFPMF_32: - is_rv32_only = true; - /* Fall through. */ - case CSR_CLASS_SSCOFPMF: - extension = "sscofpmf"; - break; case CSR_CLASS_SSTC: case CSR_CLASS_SSTC_AND_H: case CSR_CLASS_SSTC_32: