RISC-V: Add support for XXTVarith and XXTVcoder extensions
Adds support for XuanTie vendor-specific XXTVarith and XXTVcoder RISC-V extensions to binutils.
This patch introduces support for the XuanTie vendor-specific RISC-V extensions, XXTVarith and XXTVcoder, within the binutils project. The changes include updates to BFD for ELF subset handling, GAS for new test cases and opcode definitions, and inclusion of the ‘xt.’ vendor prefix.
- proposer
Submits a patch to add support for XuanTie vendor-specific RISC-V extensions XXTVarith and XXTVcoder, detailing their functionalities and the vendor prefix used.
“This patch adds support for XuanTie vendor-specific XXTVarith [1] and XXTVcoder [2] extensions. XXTVarith contains arithmetic instructions like vector interleave, Galois-field multiply-xor, and fast CRC folding operations. XXTVcoder contains similar instructions to those in Zvabd. The vendor prefix used in XXTVarith and XXTVcoder is "xt." [3].”
In Details
This patch series adds support for XuanTie's custom RISC-V extensions, XXTVarith and XXTVcoder, to binutils. These extensions augment the RISC-V vector (V) and bit-manipulation (B) standard extensions with specialized arithmetic and CRC operations. The changes involve updating the BFD backend for ELF extension subset identification and the GAS assembler for new opcodes and test cases, using the 'xt.' vendor prefix as per RISC-V toolchain conventions.
- XXTVarith
- A XuanTie vendor-specific RISC-V extension providing advanced arithmetic operations, including vector interleave, Galois-field multiply-xor, and CRC folding.
- XXTVcoder
- A XuanTie vendor-specific RISC-V extension, similar to Zvabd, likely for vector-based coding or processing operations.
- binutils
- A collection of programming tools for creating and managing executable programs, including the GNU Assembler (gas) and the GNU Binary File Descriptor library (BFD).
- RISC-V
- An open-standard instruction set architecture (ISA) based on reduced instruction set computing principles.
- BFD
- Binary File Descriptor library, a GNU library that provides a common interface to various object file formats, including ELF.
- GAS
- The GNU Assembler, part of binutils, responsible for translating assembly language code into machine code.
- ELF
- Executable and Linkable Format, a common standard file format for executables, object code, shared libraries, and core dumps.