RISC-V: Add zifencei and prefixed h class extensions.
authorNelson Chu <nelson.chu@sifive.com>
Fri, 20 Nov 2020 07:35:17 +0000 (15:35 +0800)
committerNelson Chu <nelson.chu@sifive.com>
Tue, 1 Dec 2020 07:11:30 +0000 (15:11 +0800)
commit5a1b31e1e1cee6e9f1c92abff59cdcfff0dddf30
treed531eba64273f93e572e27c610ddab9013bd0389
parente8d4709e6a5f4e3fad8479b8069c52294be54488
RISC-V: Add zifencei and prefixed h class extensions.

bfd/
* elfxx-riscv.c (riscv_parse_std_ext): Stop parsing standard
extensions when parsed h keyword.
(riscv_get_prefix_class): Support prefixed h class.
(riscv_std_h_ext_strtab): Likewise.
(riscv_ext_h_valid_p): Likewise.
(parse_config): Likewise.
(riscv_std_z_ext_strtab): Add zifencei.
* elfxx-riscv.h (riscv_isa_ext_class): Add RV_ISA_CLASS_H.

gas/
* testsuite/gas/riscv/march-fail-order-z.d: New testcase, check
orders of prefixed z extensions.
* testsuite/gas/riscv/march-fail-order-z.l: Likewise.
* testsuite/gas/riscv/march-fail-single-char-h.d: New testcase.
* testsuite/gas/riscv/march-fail-single-char.l: Updated.
* testsuite/gas/riscv/march-fail-unknown-h.d: New testcase.
* testsuite/gas/riscv/march-fail-unknown.l: Updated.

opcodes/
* riscv-opc.c (riscv_ext_version_table): Add zifencei.
12 files changed:
bfd/ChangeLog
bfd/elfxx-riscv.c
bfd/elfxx-riscv.h
gas/ChangeLog
gas/testsuite/gas/riscv/march-fail-order-z.d [new file with mode: 0644]
gas/testsuite/gas/riscv/march-fail-order-z.l [new file with mode: 0644]
gas/testsuite/gas/riscv/march-fail-single-char-h.d [new file with mode: 0644]
gas/testsuite/gas/riscv/march-fail-single-char.l
gas/testsuite/gas/riscv/march-fail-unknown-h.d [new file with mode: 0644]
gas/testsuite/gas/riscv/march-fail-unknown.l
opcodes/ChangeLog
opcodes/riscv-opc.c