binutils-gdb/opcodes
Jiawei 00ef37e860 RISC-V: Add Zcmt instructions and csr.
This patch supports Zcmt[1] instruction 'cm.jt' and 'cm.jalt'.
Add new CSR jvt for tablejump using. Since 'cm.jt' and 'cm.jalt'
have the same instructiong encoding, use 'match_cm_jt' and 'match_cm_jalt'
check the 'zcmt_index' field to distinguish them.

[1] https://github.com/riscvarchive/riscv-code-size-reduction/releases

Co-Authored by: Charlie Keaney <charlie.keaney@embecosm.com>
Co-Authored by: Mary Bennett <mary.bennett@embecosm.com>
Co-Authored by: Nandni Jamnadas <nandni.jamnadas@embecosm.com>
Co-Authored by: Sinan Lin <sinan.lin@linux.alibaba.com>
Co-Authored by: Simon Cook <simon.cook@embecosm.com>
Co-Authored by: Shihua Liao <shihua@iscas.ac.cn>
Co-Authored by: Yulong Shi <yulong@iscas.ac.cn>

bfd/ChangeLog:

	* elfxx-riscv.c (riscv_multi_subset_supports): New extension.
	(riscv_multi_subset_supports_ext): Ditto.

gas/ChangeLog:

	* config/tc-riscv.c (enum riscv_csr_class): New CSR.
	(riscv_csr_address): Ditto.
	(validate_riscv_insn): New operand.
	(riscv_ip): Ditto.
	* testsuite/gas/riscv/csr-version-1p10.d: New CSR.
	* testsuite/gas/riscv/csr-version-1p10.l: Ditto.
	* testsuite/gas/riscv/csr-version-1p11.d: Ditto.
	* testsuite/gas/riscv/csr-version-1p11.l: Ditto.
	* testsuite/gas/riscv/csr-version-1p12.d: Ditto.
	* testsuite/gas/riscv/csr-version-1p12.l: Ditto.
	* testsuite/gas/riscv/csr.s: Ditto.
	* testsuite/gas/riscv/march-help.l: New extension.
	* testsuite/gas/riscv/zcmt-fail.d: New test.
	* testsuite/gas/riscv/zcmt-fail.l: New test.
	* testsuite/gas/riscv/zcmt-fail.s: New test.
	* testsuite/gas/riscv/zcmt.d: New test.
	* testsuite/gas/riscv/zcmt.s: New test.

include/ChangeLog:

	* opcode/riscv-opc.h (MATCH_CM_JT): New opcode.
	(MASK_CM_JT): New mask.
	(MATCH_CM_JALT): New opcode.
	(MASK_CM_JALT): New mask.
	(CSR_JVT): New CSR.
	(DECLARE_INSN): New declaration.
	(DECLARE_CSR): Ditto.
	* opcode/riscv.h (EXTRACT_ZCMT_INDEX): New marco.
	(ENCODE_ZCMT_INDEX): Ditto.
	(enum riscv_insn_class): New class.

opcodes/ChangeLog:

	* riscv-dis.c (print_insn_args): New operand.
	* riscv-opc.c (match_cm_jt): New function.
	(match_cm_jalt): Ditto.
2024-11-20 08:26:39 +08:00
..
po Updated translations for the bfd, binutils, gas, ld and opcodes directories 2024-07-29 11:57:25 +01:00
.gitattributes
.gitignore
aarch64-asm-2.c aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01:00
aarch64-asm.c aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01:00
aarch64-asm.h aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01:00
aarch64-dis-2.c aarch64: Add support for sme2.1 zero instructions. 2024-07-12 15:41:56 +01:00
aarch64-dis.c aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01:00
aarch64-dis.h aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01:00
aarch64-gen.c opcodes: aarch64: enforce checks on subclass flags in aarch64-gen.c 2024-07-18 20:54:14 -07:00
aarch64-opc-2.c aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01:00
aarch64-opc.c aarch64: add flag OPD_F_UNSIGNED to distinguish signedness of immediate operands 2024-11-08 11:35:46 +00:00
aarch64-opc.h aarch64: add flag OPD_F_UNSIGNED to distinguish signedness of immediate operands 2024-11-08 11:35:46 +00:00
aarch64-sys-regs.def aarch64: add Debug Feature Register 2 (ID_AA64DFR2_EL1) 2024-07-05 15:39:28 +01:00
aarch64-tbl.h opcodes: aarch64: denote subclasses for insns of iclass dp_2src 2024-07-18 20:54:14 -07:00
aclocal.m4
alpha-dis.c
alpha-opc.c
arc-dis.c
arc-dis.h
arc-ext-tbl.h
arc-ext.c
arc-ext.h
arc-fxi.h
arc-nps400-tbl.h
arc-opc.c
arc-regs.h
arc-tbl.h
arm-dis.c arm, objdump: print obsolote warning when 26-bit set in instructions 2024-11-08 10:06:57 +00:00
avr-dis.c
bfin-dis.c
bpf-dis.c
bpf-opc.c
cgen-asm.c
cgen-asm.in Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
cgen-bitset.c
cgen-dis.c
cgen-dis.in
cgen-ibld.in
cgen-opc.c
cgen.sh opcodes/cgen: drop trailing whitespace also for cris 2024-08-16 08:34:50 +02:00
ChangeLog Add markers for 2.43 branch/release 2024-07-20 12:43:19 +01:00
ChangeLog-0001
ChangeLog-0203
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-9297
ChangeLog-9899
config.in
configure Change version to 2.43.50 2024-07-20 13:16:33 +01:00
configure.ac Revert "Remove LIBINTL_DEP" 2024-06-20 21:15:27 +09:30
configure.com
cr16-dis.c
cr16-opc.c
cris-desc.c opcodes/cgen: drop trailing whitespace also for cris 2024-08-16 08:34:50 +02:00
cris-desc.h
cris-dis.c
cris-opc.c
cris-opc.h
crx-dis.c
crx-opc.c
csky-dis.c
csky-opc.h
d10v-dis.c
d10v-opc.c
d30v-dis.c
d30v-opc.c
dep-in.sed
dis-buf.c
dis-init.c
disassemble.c
disassemble.h
dlx-dis.c
epiphany-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
epiphany-desc.c
epiphany-desc.h
epiphany-dis.c
epiphany-ibld.c
epiphany-opc.c
epiphany-opc.h
fr30-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
fr30-desc.c
fr30-desc.h
fr30-dis.c
fr30-ibld.c
fr30-opc.c
fr30-opc.h
frv-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
frv-desc.c
frv-desc.h
frv-dis.c
frv-ibld.c
frv-opc.c
frv-opc.h
ft32-dis.c
ft32-opc.c
h8300-dis.c
hppa-dis.c
i386-dis-evex-len.h
i386-dis-evex-mod.h x86: Fix typo in i386-dis-evex-mod.h 2024-06-18 10:52:41 +08:00
i386-dis-evex-prefix.h Support Intel AVX10.2 convert instructions 2024-10-16 10:25:35 +08:00
i386-dis-evex-reg.h Support APX CCMP and CTEST 2024-06-18 10:52:40 +08:00
i386-dis-evex-w.h Support Intel AVX10.2 media instructions 2024-10-11 10:38:27 +08:00
i386-dis-evex.h Support Intel AVX10.2 convert instructions 2024-10-16 10:25:35 +08:00
i386-dis.c Support x86 Intel MSR_IMM 2024-11-19 10:45:56 +08:00
i386-gen.c Support x86 Intel MSR_IMM 2024-11-19 10:45:56 +08:00
i386-init.h Support x86 Intel MSR_IMM 2024-11-19 10:45:56 +08:00
i386-mnem.h x86/APX: support JMPABS also in assembler 2024-10-30 12:12:54 +01:00
i386-opc.h Support x86 Intel MSR_IMM 2024-11-19 10:45:56 +08:00
i386-opc.tbl Support x86 Intel MSR_IMM 2024-11-19 10:45:56 +08:00
i386-reg.tbl x86: limit RegRex64 use 2024-08-30 11:23:16 +02:00
i386-tbl.h Support x86 Intel MSR_IMM 2024-11-19 10:45:56 +08:00
ia64-asmtab.c
ia64-asmtab.h
ia64-dis.c
ia64-gen.c
ia64-ic.tbl
ia64-opc-a.c
ia64-opc-b.c
ia64-opc-d.c
ia64-opc-f.c
ia64-opc-i.c
ia64-opc-m.c
ia64-opc-x.c
ia64-opc.c
ia64-opc.h
ia64-raw.tbl
ia64-war.tbl
ia64-waw.tbl
ip2k-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
ip2k-desc.c
ip2k-desc.h
ip2k-dis.c
ip2k-ibld.c
ip2k-opc.c
ip2k-opc.h
iq2000-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
iq2000-desc.c
iq2000-desc.h
iq2000-dis.c
iq2000-ibld.c
iq2000-opc.c
iq2000-opc.h
kvx-dis.c
kvx-dis.h
kvx-opc.c
lm32-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
lm32-desc.c
lm32-desc.h
lm32-dis.c
lm32-ibld.c
lm32-opc.c
lm32-opc.h
lm32-opinst.c
loongarch-coder.c
loongarch-dis.c
loongarch-opc.c LoongArch: Fixed R_LARCH_[32/64]_PCREL generation bug 2024-10-14 09:15:16 +08:00
m32c-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
m32c-desc.c
m32c-desc.h
m32c-dis.c
m32c-ibld.c
m32c-opc.c
m32c-opc.h
m32r-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
m32r-desc.c
m32r-desc.h
m32r-dis.c
m32r-ibld.c
m32r-opc.c
m32r-opc.h
m32r-opinst.c
m68hc11-dis.c
m68hc11-opc.c
m68k-dis.c m68k: Support for jump visualization in disassembly 2024-10-07 21:26:04 +02:00
m68k-opc.c
m10200-dis.c
m10200-opc.c
m10300-dis.c
m10300-opc.c
MAINTAINERS
Makefile.am
Makefile.in Revert "Remove LIBINTL_DEP" 2024-06-20 21:15:27 +09:30
makefile.vms
mcore-dis.c
mcore-opc.h
mep-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
mep-desc.c
mep-desc.h
mep-dis.c
mep-ibld.c
mep-opc.c
mep-opc.h
metag-dis.c
microblaze-dis.c
microblaze-dis.h
microblaze-opc.h
microblaze-opcm.h
micromips-opc.c microMIPS: Add MT ASE instruction set support 2024-07-26 18:01:09 +01:00
mips16-opc.c
mips-dis.c microMIPS: Add MT ASE instruction set support 2024-07-26 18:01:09 +01:00
mips-formats.h opcodes: fix -std=gnu23 compatibility wrt static_assert 2024-11-18 03:09:15 +00:00
mips-opc.c MIPS/opcodes: Mark MT thread context move assembly idioms as aliases 2024-07-19 19:01:53 +01:00
mmix-dis.c
mmix-opc.c
moxie-dis.c
moxie-opc.c
msp430-decode.c
msp430-decode.opc
msp430-dis.c
mt-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
mt-desc.c
mt-desc.h
mt-dis.c
mt-ibld.c
mt-opc.c
mt-opc.h
nds32-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
nds32-asm.h
nds32-dis.c
nds32-opc.h
nfp-dis.c
nios2-dis.c
nios2-opc.c
ns32k-dis.c
opc2c.c
opintl.h
or1k-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
or1k-desc.c
or1k-desc.h
or1k-dis.c
or1k-ibld.c
or1k-opc.c
or1k-opc.h
or1k-opinst.c
pdp11-dis.c
pdp11-opc.c
pj-dis.c
pj-opc.c
ppc-dis.c
ppc-opc.c
pru-dis.c
pru-opc.c
riscv-dis.c RISC-V: Add Zcmt instructions and csr. 2024-11-20 08:26:39 +08:00
riscv-opc.c RISC-V: Add Zcmt instructions and csr. 2024-11-20 08:26:39 +08:00
rl78-decode.c
rl78-decode.opc
rl78-dis.c
rx-decode.c
rx-decode.opc
rx-dis.c
s12z-dis.c
s12z-opc.c
s12z-opc.h
s390-dis.c s390: Simplify (dis)assembly of insn operands with const bits 2024-09-12 15:06:06 +02:00
s390-mkopc.c s390: Add arch15 instructions 2024-10-10 12:09:40 +02:00
s390-opc.c s390: Add arch15 Concurrent-Functions Facility insns 2024-11-18 10:42:21 +01:00
s390-opc.txt s390: Add arch15 Concurrent-Functions Facility insns 2024-11-18 10:42:21 +01:00
score7-dis.c
score-dis.c
score-opc.h
sh-dis.c
sh-opc.h
sparc-dis.c
sparc-opc.c gas: sparc: Fix faligndatai assembly and disassembly 2024-08-09 08:32:54 +10:00
spu-dis.c
spu-opc.c
sysdep.h
tic4x-dis.c
tic6x-dis.c
tic30-dis.c
tic54x-dis.c
tic54x-opc.c
tilegx-dis.c
tilegx-opc.c
tilepro-dis.c
tilepro-opc.c
v850-dis.c
v850-opc.c
vax-dis.c
visium-dis.c
visium-opc.c
wasm32-dis.c
xgate-dis.c
xgate-opc.c
xstormy16-asm.c Revert "gas: have scrubber retain more whitespace" 2024-08-12 10:42:02 -07:00
xstormy16-desc.c
xstormy16-desc.h
xstormy16-dis.c
xstormy16-ibld.c
xstormy16-opc.c
xstormy16-opc.h
xtensa-dis.c
z8k-dis.c
z8k-opc.h
z8kgen.c
z80-dis.c