binutils-gdb/opcodes
Richard Sandiford 0c608d6b62 [AArch64][SVE 20/32] Add support for tied operands
SVE has some instructions in which the same register appears twice
in the assembly string, once as an input and once as an output.
This patch adds a general mechanism for that.

The patch needs to add new information to the instruction entries.
One option would have been to extend the flags field of the opcode
to 64 bits (since we already rely on 64-bit integers being available
on the host).  However, the *_INSN macros mean that it's easy to add
new information as top-level fields without affecting the existing
table entries too much.  Going for that option seemed to give slightly
neater code.

include/
	* opcode/aarch64.h (aarch64_opcode): Add a tied_operand field.
	(AARCH64_OPDE_UNTIED_OPERAND): New aarch64_operand_error_kind.

opcodes/
	* aarch64-tbl.h (CORE_INSN, __FP_INSN, SIMD_INSN, CRYP_INSN)
	(_CRC_INSN, _LSE_INSN, _LOR_INSN, RDMA_INSN, FP16_INSN, SF16_INSN)
	(V8_2_INSN, aarch64_opcode_table): Initialize tied_operand field.
	* aarch64-opc.c (aarch64_match_operands_constraint): Check for
	tied operands.

gas/
	* config/tc-aarch64.c (output_operand_error_record): Handle
	AARCH64_OPDE_UNTIED_OPERAND.
2016-09-21 16:52:30 +01:00
..
po
.gitignore
aarch64-asm-2.c [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm 2016-09-21 16:51:24 +01:00
aarch64-asm.c [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm 2016-09-21 16:51:24 +01:00
aarch64-asm.h [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm 2016-09-21 16:51:24 +01:00
aarch64-dis-2.c [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm 2016-09-21 16:51:24 +01:00
aarch64-dis.c [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm 2016-09-21 16:51:24 +01:00
aarch64-dis.h [AArch64][SVE 16/32] Use specific insert/extract methods for fpimm 2016-09-21 16:51:24 +01:00
aarch64-gen.c [AArch64][SVE 02/32] Avoid hard-coded limit in indented_print 2016-09-21 16:48:06 +01:00
aarch64-opc-2.c
aarch64-opc.c [AArch64][SVE 20/32] Add support for tied operands 2016-09-21 16:52:30 +01:00
aarch64-opc.h
aarch64-tbl.h [AArch64][SVE 20/32] Add support for tied operands 2016-09-21 16:52:30 +01:00
aclocal.m4
alpha-dis.c
alpha-opc.c
arc-dis.c [ARC] Disassemble correctly extension instructions. 2016-09-16 14:49:33 +02:00
arc-dis.h [ARC] C++ compatibility for arc-dis.h 2016-08-24 14:23:00 +02:00
arc-ext-tbl.h
arc-ext.c Begin implementing ARC NPS-400 Accelerator instructions 2016-07-27 15:57:18 +01:00
arc-ext.h addmore extern C 2016-06-22 12:59:58 -04:00
arc-fxi.h
arc-nps400-tbl.h Begin implementing ARC NPS-400 Accelerator instructions 2016-07-27 15:57:18 +01:00
arc-opc.c Begin implementing ARC NPS-400 Accelerator instructions 2016-07-27 15:57:18 +01:00
arc-regs.h
arc-tbl.h [ARC] Update instruction type and delay slot info. 2016-05-23 17:41:54 +02:00
arm-dis.c Add missing ARMv8-M special registers 2016-08-26 11:53:30 +01:00
avr-dis.c Print symbol names in comments for LDS/STS disassembly. 2016-06-09 19:00:57 +03:00
bfin-dis.c
cgen-asm.c
cgen-asm.in
cgen-bitset.c
cgen-dis.c
cgen-dis.in
cgen-ibld.in
cgen-opc.c
cgen.sh
ChangeLog [AArch64][SVE 20/32] Add support for tied operands 2016-09-21 16:52:30 +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-9297
ChangeLog-9899
config.in
configure Set BFD_VERSION to 2.27.51 2016-07-21 15:22:13 -07:00
configure.ac
configure.com
cr16-dis.c
cr16-opc.c
cris-dis.c
cris-opc.c
crx-dis.c
crx-opc.c
d10v-dis.c
d10v-opc.c
d30v-dis.c
d30v-opc.c
dep-in.sed
dis-buf.c
dis-init.c
disassemble.c Add support to the ARC disassembler for selecting instruction classes. 2016-07-20 17:08:07 +01:00
dlx-dis.c
epiphany-asm.c
epiphany-desc.c
epiphany-desc.h
epiphany-dis.c
epiphany-ibld.c
epiphany-opc.c
epiphany-opc.h
fr30-asm.c
fr30-desc.c
fr30-desc.h
fr30-dis.c
fr30-ibld.c
fr30-opc.c
fr30-opc.h
frv-asm.c
frv-desc.c
frv-desc.h
frv-dis.c
frv-ibld.c
frv-opc.c
frv-opc.h
ft32-dis.c
ft32-opc.c FT32: adjust disassembly opcode match fields 2016-07-08 11:38:35 -07:00
h8300-dis.c
h8500-dis.c
h8500-opc.h
hppa-dis.c
i370-dis.c
i370-opc.c
i386-dis-evex.h
i386-dis.c X86: Add ptwrite instruction 2016-08-24 15:29:39 -07:00
i386-gen.c X86: Allow additional ISAs for IAMCU in assembler 2016-09-07 09:22:19 -07:00
i386-init.h X86: Allow additional ISAs for IAMCU in assembler 2016-09-07 09:22:19 -07:00
i386-opc.c
i386-opc.h X86: Add ptwrite instruction 2016-08-24 15:29:39 -07:00
i386-opc.tbl X86: Add ptwrite instruction 2016-08-24 15:29:39 -07:00
i386-reg.tbl
i386-tbl.h X86: Add ptwrite instruction 2016-08-24 15:29:39 -07:00
i860-dis.c
i960-dis.c
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
ip2k-desc.c
ip2k-desc.h
ip2k-dis.c
ip2k-ibld.c
ip2k-opc.c
ip2k-opc.h
iq2000-asm.c
iq2000-desc.c
iq2000-desc.h
iq2000-dis.c
iq2000-ibld.c
iq2000-opc.c
iq2000-opc.h
lm32-asm.c
lm32-desc.c
lm32-desc.h
lm32-dis.c
lm32-ibld.c
lm32-opc.c
lm32-opc.h
lm32-opinst.c
m32c-asm.c
m32c-desc.c
m32c-desc.h
m32c-dis.c
m32c-ibld.c
m32c-opc.c
m32c-opc.h
m32r-asm.c
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-opc.c
m88k-dis.c
m10200-dis.c
m10200-opc.c
m10300-dis.c
m10300-opc.c
MAINTAINERS
Makefile.am
Makefile.in
makefile.vms
mcore-dis.c remove a few sentinals 2016-06-25 11:54:28 -04:00
mcore-opc.h remove a few sentinals 2016-06-25 11:54:28 -04:00
mep-asm.c
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 MIPS/GAS: Implement microMIPS branch/jump compaction 2016-07-27 17:38:31 +01:00
mips16-opc.c
mips-dis.c
mips-formats.h
mips-opc.c MIPS/opcodes: Address issues with NAL disassembly 2016-07-13 17:42:43 +01:00
mmix-dis.c
mmix-opc.c
moxie-dis.c
moxie-opc.c
msp430-decode.c
msp430-decode.opc
msp430-dis.c Improve the MSP430 disassembler's handling of memory read errors. 2016-05-27 13:49:58 +01:00
mt-asm.c
mt-desc.c
mt-desc.h
mt-dis.c
mt-ibld.c
mt-opc.c
mt-opc.h
nds32-asm.c
nds32-asm.h add more extern C 2016-06-01 21:26:32 -04:00
nds32-dis.c Fix simple gas testsuite failures. 2016-06-15 16:25:34 +01:00
nds32-opc.h
nios2-dis.c
nios2-opc.c
ns32k-dis.c
opc2c.c
opintl.h
or1k-asm.c
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 Fix some PowerPC VLE BFD issues and add some PowerPC VLE instructions. 2016-08-01 09:42:31 -07:00
ppc-opc.c Modify POWER9 support to match final ISA 3.0 documentation. 2016-09-14 22:10:51 -05:00
rl78-decode.c
rl78-decode.opc
rl78-dis.c
rx-decode.c
rx-decode.opc
rx-dis.c
s390-dis.c S/390: Dump unknown instructions according to their length. 2016-06-10 13:41:42 +02:00
s390-mkopc.c S/390: Add alternate processor names. 2016-09-12 16:32:02 +02:00
s390-opc.c
s390-opc.txt S/390: Fix kmctr instruction type. 2016-09-12 16:32:02 +02:00
score7-dis.c
score-dis.c
score-opc.h
sh64-dis.c
sh64-opc.c
sh64-opc.h
sh-dis.c
sh-opc.h add more extern C 2016-06-01 21:26:32 -04:00
sparc-dis.c opcodes,gas: sparc: fix rdasr,wrasr,rdpr,wrpr,rdhpr,wrhpr insns. 2016-06-17 02:15:43 -07:00
sparc-opc.c opcodes, gas: fix mnemonic of sparc camellia_fl 2016-08-26 07:31:31 -07:00
spu-dis.c
spu-opc.c
stamp-h.in
sysdep.h
tic4x-dis.c
tic6x-dis.c
tic30-dis.c
tic54x-dis.c tic54x: rename typedef of struct symbol_ 2016-05-23 01:17:12 -04:00
tic54x-opc.c tic54x: rename typedef of struct symbol_ 2016-05-23 01:17:12 -04:00
tic80-dis.c
tic80-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
w65-dis.c
w65-opc.h
xc16x-asm.c
xc16x-desc.c
xc16x-desc.h
xc16x-dis.c
xc16x-ibld.c
xc16x-opc.c
xc16x-opc.h
xgate-dis.c
xgate-opc.c
xstormy16-asm.c
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