binutils-gdb/include/opcode
Jens Remus a3f1e7c56a s390: Simplify (dis)assembly of insn operands with const bits
Simplify assembly and disassembly of extended mnemonics with operands
with constant ORed bits:
Their instruction template already contains the respective constant
operand bits, as they are significant to distinguish the extended from
their base mnemonic. Operands are ORed into the instruction template.
Therefore it is not necessary to OR the constant bits into the operand
value during assembly in s390_insert_operand.
Additionally the constant operand bits from the instruction template
can be used to mask them from the operand value during disassembly in
s390_print_insn_with_opcode. For now do so for non-length unsigned
integer operands only.

The separate instruction formats need to be retained, as their masks
differ, which is relevant during disassembly to distinguish the base
and extended mnemonics from each other.

This affects the following extended mnemonics:
- vfaebs, vfaehs, vfaefs
- vfaezb, vfaezh, vfaezf
- vfaezbs, vfaezhs, vfaezfs
- vstrcbs, vstrchs, vstrcfs
- vstrczb, vstrczh, vstrczf
- vstrczbs, vstrczhs, vstrczfs
- wcefb, wcdgb
- wcelfb, wcdlgb
- wcfeb, wcgdb
- wclfeb, wclgdb
- wfisb, wfidb, wfixb
- wledb, wflrd, wflrx

include/
	* opcode/s390.h (S390_OPERAND_OR1, S390_OPERAND_OR2,
	S390_OPERAND_OR8): Remove.

opcodes/
	* s390-opc.c (U4_OR1_24, U4_OR2_24, U4_OR8_28): Remove.
	(INSTR_VRR_VVV0U1, INSTR_VRR_VVV0U2, INSTR_VRR_VVV0U3): Define
	as INSTR_VRR_VVV0U0 while retaining respective insn fmt mask.
	(INSTR_VRR_VV0UU8): Define as INSTR_VRR_VV0UU while retaining
	respective insn fmt mask.
	(INSTR_VRR_VVVU0VB1, INSTR_VRR_VVVU0VB2, INSTR_VRR_VVVU0VB3):
	Define as INSTR_VRR_VVVU0VB while retaining respective insn fmt
	mask.
	* s390-dis.c (s390_print_insn_with_opcode): Mask constant
	operand bits set in insn template of non-length unsigned
	integer operands.

gas/
	* config/tc-s390.c (s390_insert_operand): Do not OR constant
	operand value bits.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
2024-09-12 15:06:06 +02:00
..
aarch64.h opcodes: aarch64: enforce checks on subclass flags in aarch64-gen.c 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
ChangeLog-9103
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 Add macros to get opcode of instructions approriately 2024-09-07 10:06:03 +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 microMIPS: Add MT ASE instruction set support 2024-07-26 18:01:09 +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 support for XCVsimd extension in CV32E40P 2024-09-03 12:02:28 +08:00
riscv.h RISC-V: Add support for XCVsimd extension in CV32E40P 2024-09-03 12:02:28 +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
s390.h s390: Simplify (dis)assembly of insn operands with const bits 2024-09-12 15:06:06 +02: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