diff options
author | Chao-ying Fu <cfu@wavecomp.com> | 2025-05-09 09:52:17 +0800 |
---|---|---|
committer | Nelson Chu <nelson@rivosinc.com> | 2025-05-09 12:24:15 +0800 |
commit | 617ead3c20a6891f825e86b33a12caea7bb9336e (patch) | |
tree | dbb8545f2f624979e7f47b92271c48aeb52a715a /bfd | |
parent | 4480aaee575a98779823eba8346fdf3b24b645af (diff) | |
download | binutils-617ead3c20a6891f825e86b33a12caea7bb9336e.zip binutils-617ead3c20a6891f825e86b33a12caea7bb9336e.tar.gz binutils-617ead3c20a6891f825e86b33a12caea7bb9336e.tar.bz2 |
RISC-V: Added vendor extensions, xmipscbop, xmipscmov, xmipsexectl and xmipslsp
Spec:
https://mips.com/wp-content/uploads/2025/03/P8700-F_Programmers_Reference_Manual_Rev1.82_3-19-2025.pdf
Added MIPS vendor extensions, xmipscbop, xmipscmov, xmipsexectl and xmipslsp
with verison 1.0.
Passed binutils testsuites of targets elf32/elf64/linux32/linux64.
Signed-off-by: Jovan Dmitrović <jovan.dmitrovic@htecgroup.com>
Signed-off-by: Chao-ying Fu <cfu@wavecomp.com>
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/elfxx-riscv.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index ec25491..5cb2500 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1523,6 +1523,10 @@ static struct riscv_supported_ext riscv_supported_vendor_x_ext[] = {"xsfvqmaccqoq", ISA_SPEC_CLASS_DRAFT, 1, 0, 0}, {"xsfvqmaccdod", ISA_SPEC_CLASS_DRAFT, 1, 0, 0}, {"xsfvfnrclipxfqf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0}, + {"xmipscbop", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"xmipscmov", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"xmipsexectl", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"xmipslsp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {NULL, 0, 0, 0, 0} }; @@ -2863,6 +2867,14 @@ riscv_multi_subset_supports (riscv_parse_subset_t *rps, return riscv_subset_supports (rps, "xsfvqmaccdod"); case INSN_CLASS_XSFVFNRCLIPXFQF: return riscv_subset_supports (rps, "xsfvfnrclipxfqf"); + case INSN_CLASS_XMIPSCBOP: + return riscv_subset_supports (rps, "xmipscbop"); + case INSN_CLASS_XMIPSCMOV: + return riscv_subset_supports (rps, "xmipscmov"); + case INSN_CLASS_XMIPSEXECTL: + return riscv_subset_supports (rps, "xmipsexectl"); + case INSN_CLASS_XMIPSLSP: + return riscv_subset_supports (rps, "xmipslsp"); default: rps->error_handler (_("internal: unreachable INSN_CLASS_*")); |