RISC-V: Add integer arithmetic instructions for T-Head VECTOR vendor extension

T-Head has a range of vendor-specific instructions. Therefore
it makes sense to group them into smaller chunks in form of
vendor extensions.

This patch adds integer arithmetic instructions for the
"XTheadVector" extension. The 'th' prefix and the
"XTheadVector" extension are documented in a PR for the
RISC-V toolchain conventions ([1]).

[1] https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/19

Co-developed-by: Lifang Xia <lifang_xia@linux.alibaba.com>
Co-developed-by: Christoph Müllner <christoph.muellner@vrull.eu>

gas/ChangeLog:

	* testsuite/gas/riscv/x-thead-vector.d: Add tests for
	integer arithmetic instructions.
	* testsuite/gas/riscv/x-thead-vector.s: Likewise.

include/ChangeLog:

	* opcode/riscv-opc.h (MATCH_TH_VADCVVM): New.

opcodes/ChangeLog:

	* riscv-opc.c: Likewise.
This commit is contained in:
Jin Ma
2023-11-18 15:07:00 +08:00
committed by Nelson Chu
parent 4d8f1ff3bc
commit c63af675b9
4 changed files with 812 additions and 0 deletions

View File

@@ -2885,6 +2885,18 @@
#define MASK_TH_VAMOMAXUWV 0xf800707f
#define MATCH_TH_VAMOMAXUDV 0xe000702f
#define MASK_TH_VAMOMAXUDV 0xf800707f
#define MATCH_TH_VADCVVM 0x42000057
#define MASK_TH_VADCVVM 0xfe00707f
#define MATCH_TH_VADCVXM 0x42004057
#define MASK_TH_VADCVXM 0xfe00707f
#define MATCH_TH_VADCVIM 0x42003057
#define MASK_TH_VADCVIM 0xfe00707f
#define MATCH_TH_VSBCVVM 0x4a000057
#define MASK_TH_VSBCVVM 0xfe00707f
#define MATCH_TH_VSBCVXM 0x4a004057
#define MASK_TH_VSBCVXM 0xfe00707f
#define MATCH_TH_VWMACCSUVV 0xf8002057
#define MASK_TH_VWMACCSUVV 0xfc00707f
/* Vendor-specific (Ventana Microsystems) XVentanaCondOps instructions */
#define MATCH_VT_MASKC 0x607b
#define MASK_VT_MASKC 0xfe00707f