]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
RISC-V: Ssnpm, smnpm and smmpm imply zicsr.
authorDongyan Chen <chendongyan@isrc.iscas.ac.cn>
Thu, 20 Mar 2025 04:51:02 +0000 (12:51 +0800)
committerNelson Chu <nelson@rivosinc.com>
Fri, 21 Mar 2025 02:58:53 +0000 (10:58 +0800)
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.

bfd/elfxx-riscv.c

index 481bac91d73624f8f010caa9e6d4d04f0df00e47..92e024bbe35b23e5573bf399b6edb668d24aabd0 100644 (file)
@@ -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},