diff options
author | Tsukasa OI <research_trasio@irq.a4lg.com> | 2022-12-27 03:31:19 +0000 |
---|---|---|
committer | Tsukasa OI <research_trasio@irq.a4lg.com> | 2022-12-29 01:00:13 +0000 |
commit | c509db05e4f1500736f4de994ed2aede544234d5 (patch) | |
tree | 63baaf07835a670717105f0f983788207702329e | |
parent | dc20b8f00abb74e2c26846c615ec5ba3a62f8677 (diff) | |
download | binutils-c509db05e4f1500736f4de994ed2aede544234d5.zip binutils-c509db05e4f1500736f4de994ed2aede544234d5.tar.gz binutils-c509db05e4f1500736f4de994ed2aede544234d5.tar.bz2 |
RISC-V: Simplify riscv_csr_address logic on state enable extensions
This commit makes CSR class handling for 'Smstateen' and 'Ssstateen'
extensions simpler using fall-throughs (as used in CSR_CLASS_I{,_32}).
gas/ChangeLog:
* config/tc-riscv.c (riscv_csr_address): Simplify the logic for
'Smstateen' and 'Ssstateen' extensions.
-rw-r--r-- | gas/config/tc-riscv.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index 77c0d2e..cc0d749 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -1049,9 +1049,10 @@ riscv_csr_address (const char *csr_name, case CSR_CLASS_SMAIA: extension = "smaia"; break; - case CSR_CLASS_SMSTATEEN: case CSR_CLASS_SMSTATEEN_32: - is_rv32_only = (csr_class == CSR_CLASS_SMSTATEEN_32); + is_rv32_only = true; + /* Fall through. */ + case CSR_CLASS_SMSTATEEN: extension = "smstateen"; break; case CSR_CLASS_SSAIA: @@ -1064,12 +1065,13 @@ riscv_csr_address (const char *csr_name, || csr_class == CSR_CLASS_SSAIA_AND_H_32); extension = "ssaia"; break; - case CSR_CLASS_SSSTATEEN: - case CSR_CLASS_SSSTATEEN_AND_H: case CSR_CLASS_SSSTATEEN_AND_H_32: - is_rv32_only = (csr_class == CSR_CLASS_SSSTATEEN_AND_H_32); - is_h_required = (csr_class == CSR_CLASS_SSSTATEEN_AND_H - || csr_class == CSR_CLASS_SSSTATEEN_AND_H_32); + is_rv32_only = true; + /* Fall through. */ + case CSR_CLASS_SSSTATEEN_AND_H: + is_h_required = true; + /* Fall through. */ + case CSR_CLASS_SSSTATEEN: extension = "ssstateen"; break; case CSR_CLASS_SSCOFPMF_32: |