openhwgroup / corev-binutils-gdb

GNU General Public License v2.0
9 stars 26 forks source link

Add immediate branching instructions, and GAS tests #30

Closed NBruschi closed 3 years ago

NBruschi commented 3 years ago

gas/ChangeLog.COREV:

* config/tc-riscv.c (riscv_multi_subset_supports): Add immediate
branching instruction class.
(validate_riscv_insn, riscv_ip): Add immediate branching
operand and modify PC-relative offset operand.
* doc/c-riscv.texi: Add details on CORE-V immediate
branching ops ISA options.

include/ChangeLog.COREV:

* opcode/riscv-opc.h: Add immediate branching matches and
masks.
* opcode/riscv.h (riscv_insn_class, EXTRACT_CV_BI_IMM5)
(ENCODE_CV_BI_IMM5): Add immediate branching class and macros
for 5-bit unsigned immediate.

ld/testsuite/ChangeLog.COREV:

* ld-riscv-elf/cv-bi-beqimm.d: Add new test.
* ld-riscv-elf/cv-bi-beqimm.s: Likewise.
* ld-riscv-elf/cv-bi-bneimm.d: Likewise.
* ld-riscv-elf/cv-bi-bneimm.s: Likewise.
* ld-riscv-elf/ld-riscv-elf.exp: Add CORE-V immediate
branching tests.

opcodes/ChangeLog.COREV:

* riscv-dis.c (print_insn_args): Add immediate branching
operand.
* riscv-opc.c (riscv_opcodes): Add immediate branching
opcodes.

gas/testsuite/ChangeLog.COREV:

* gas/riscv/cv-bi-beqimm.d: Add immediate branching test.
* gas/riscv/cv-bi-beqimm.s: Likewise.
* gas/riscv/cv-bi-bneimm.d: Likewise.
* gas/riscv/cv-bi-bneimm.s: Likewise.
* gas/riscv/cv-bi-fail-march.d: Likewise.
* gas/riscv/cv-bi-fail-march.l: Likewise.
* gas/riscv/cv-bi-fail-march.s: Likewise.
* gas/riscv/cv-bi-fail-operand-01.d: Likewise.
* gas/riscv/cv-bi-fail-operand-01.l: Likewise.
* gas/riscv/cv-bi-fail-operand-01.s: Likewise.
* gas/riscv/cv-bi-fail-operand-02.d: Likewise.
* gas/riscv/cv-bi-fail-operand-02.l: Likewise.
* gas/riscv/cv-bi-fail-operand-02.s: Likewise.
* gas/riscv/cv-bi-fail-operand-03.d: Likewise.
* gas/riscv/cv-bi-fail-operand-03.l: Likewise.
* gas/riscv/cv-bi-fail-operand-03.s: Likewise.
* gas/riscv/cv-bi-fail-operand-04.d: Likewise.
* gas/riscv/cv-bi-fail-operand-04.l: Likewise.
* gas/riscv/cv-bi-fail-operand-04.s: Likewise.
* gas/riscv/cv-bi-march-rv32i-xcorev.d: Likewise.
* gas/riscv/cv-bi-march-rv32i-xcorev.s: Likewise.