aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongyan Chen <chendongyan@isrc.iscas.ac.cn>2025-03-20 12:51:02 +0800
committerNelson Chu <nelson@rivosinc.com>2025-03-21 10:58:53 +0800
commitbc965121b5f02eeb52e2fc6acc94c042bb3ace02 (patch)
tree9032ea2d34d00e8a14bec7f6cef4e01905d6cf37
parentf3816fbcf8ce6412ac16a820a56e13944fa703bc (diff)
downloadbinutils-bc965121b5f02eeb52e2fc6acc94c042bb3ace02.zip
binutils-bc965121b5f02eeb52e2fc6acc94c042bb3ace02.tar.gz
binutils-bc965121b5f02eeb52e2fc6acc94c042bb3ace02.tar.bz2
RISC-V: Ssnpm, smnpm and smmpm imply zicsr.
According to the spec[1], imply zicsr for ssnpm, smnpm and smmpm. [1] https://github.com/riscv/riscv-j-extension/blob/master/zjpm/instructions.adoc bfd/ChangeLog: * elfxx-riscv.c: imply zicsr.
-rw-r--r--bfd/elfxx-riscv.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index 481bac9..92e024b 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1266,6 +1266,8 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"smstateen", "+ssstateen", check_implicit_always},
{"smepmp", "+zicsr", check_implicit_always},
{"smdbltrp", "+zicsr", check_implicit_always},
+ {"smnpm", "+zicsr", check_implicit_always},
+ {"smmpm", "+zicsr", check_implicit_always},
{"ssaia", "+zicsr", check_implicit_always},
{"sscsrind", "+zicsr", check_implicit_always},
@@ -1278,6 +1280,7 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"sstvecd", "+zicsr", check_implicit_always},
{"ssu64xl", "+zicsr", check_implicit_always},
{"ssdbltrp", "+zicsr", check_implicit_always},
+ {"ssnpm", "+zicsr", check_implicit_always},
{"svade", "+zicsr", check_implicit_always},
{"svadu", "+zicsr", check_implicit_always},