binutils-gdb/include/opcode
Indu Bhagat 04521e258e include: opcodes: aarch64: define new subclasses
The existing iclass information tells us the general shape and purpose
of the instructions.  In some cases, however, we need to further disect
the iclass on the basis of other finer-grain information.  E.g., for the
purpose of SCFI, we need to know whether a given insn with iclass of
ldst_* is a load or a store.  Similarly, whether a particular arithmetic
insn is an add or sub or mov, etc.

This patch defines new flags to demarcate the insns.  Also provide an
access function for subclass lookup.

Later, we will enforce (in aarch64-gen.c) that if an iclass has at least
one instruction with a non-zero subclass, all instructions of the iclass
must have a non-zero subclass information.  If none of the defined
subclasses are applicable (or not required for SCFI purposes),
F_SUBCLASS_OTHER can be used for such instructions.

include/
        * opcode/aarch64.h (F_SUBCLASS): New flag.
        (F_SUBCLASS_OTHER): Likewise.
        (F_LDST_LOAD): Likewise.
        (F_LDST_STORE): Likewise.
        (F_ARITH_ADD): Likewise.
        (F_ARITH_SUB): Likewise.
        (F_ARITH_MOV): Likewise.
        (F_BRANCH_CALL): Likewise.
        (F_BRANCH_RET): Likewise.
	(F_DP_TAG_ONLY): Likewise.
        (aarch64_opcode_subclass_p): New definition.
2024-07-18 20:54:14 -07:00
..
aarch64.h include: opcodes: aarch64: define new subclasses 2024-07-18 20:54:14 -07: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 arc: Put DBNZ instruction to a separate class 2024-02-14 11:36:52 +01:00
arm.h arm: remove disassembly support for the FPA co-processor 2024-06-05 17:45:45 +01: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 bpf: there is no ldinddw nor ldabsdw instructions 2024-01-29 19:22:41 +01:00
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 kvx: gas: rename: or -> ior, xor -> eor 2024-02-20 12:07:57 +01:00
loongarch.h LoongArch: Add -mignore-start-align option 2024-04-20 12:10:40 +08:00
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 MIPS/opcodes: Rework INSN_* flags into a consistent block 2024-06-13 14:01:54 +01:00
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 RISC-V: Add Zabha extension CAS instructions. 2024-06-28 09:57:50 +08:00
riscv.h RISC-V: Add Zabha extension CAS instructions. 2024-06-28 09:57:50 +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 s390: Warn when register name type does not match operand 2024-03-01 12:45:14 +01:00
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