binutils-gdb/include/opcode
Victor Do Nascimento d30eb38d5b aarch64: Add support for xzr register in register pair operands
Analysis of the allowed operand values for `sysp' and `tlbip' reveals
a significant departure from the allowed behavior for operand register
pairs (hitherto labeled AARCH64_OPND_PAIRREG) observed for other
insns in this category.

For instructions `casp', `mrrs' and `msrr' the register pair must
always start at an even index and the second register in the pair is
the index + 1.  This precludes the use of xzr as the first register,
given it corresponds to register number 31.

This is different in the case of `sysp' and `tlbip', however.  These
allow the use of xzr and, where the first operand in the pair is
omitted, this is the default value assigned to it.  When this
operand is assigned xzr, it is expected that the second operand will
likewise take on a value of xzr.

These two instructions therefore "break" two rules of register pairs:

  * The first of the two registers is odd-numbered.
  * The index of the second register is equal to that of the first,
  and not n+1.

To allow for this departure from hitherto standard behavior, we
extend the functionality of the assembler by defining an extension of
the AARCH64_OPND_PAIRREG, called AARCH64_OPND_PAIRREG_OR_XZR.

It is used in defining `sysp' and `tlbip' and allows
`operand_general_constraint_met_p' to allow the pair to both take on
the value of xzr.
2024-01-09 10:16:40 +00:00
..
aarch64.h aarch64: Add support for xzr register in register pair operands 2024-01-09 10:16:40 +00:00
alpha.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arc-attrs.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arc-func.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
arm.h arm: Add support for Armv8.9-A and Armv9.4-A 2024-01-08 14:13:40 +00:00
avr.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
bfin.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
bpf.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
cgen.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
convex.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
cr16.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
cris.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
crx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
csky.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
d10v.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
d30v.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
dlx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ft32.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
h8300.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
hppa.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
i386.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ia64.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
kvx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
loongarch.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
m68hc11.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
m68k.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
metag.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mips.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mmix.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mn10200.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
mn10300.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
moxie.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
msp430-decode.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
msp430.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nds32.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nfp.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nios2.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nios2r1.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
nios2r2.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
np1.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ns32k.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pdp11.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pj.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pn.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
ppc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pru.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
pyr.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
riscv-opc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
riscv.h RISC-V: T-HEAD: Fix wrong instruction encoding for th.vsetvli 2024-01-05 09:59:48 +08:00
rl78.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
rx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
s12z.h Enable building the s12z target on Solaris hosts where REG_Y is defined in system header files. 2020-01-02 12:04:40 +00:00
s390.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
score-datadep.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
score-inst.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
sparc.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spu-insns.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
spu.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic4x.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic6x-control-registers.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic6x-insn-formats.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic6x-opcode-table.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic6x.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic30.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tic54x.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tilegx.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
tilepro.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
v850.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
vax.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
visium.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
wasm.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30
xgate.h Update year range in copyright notice of binutils files 2024-01-04 22:58:12 +10:30