binutils-gdb/opcodes
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
..
po Updated translations for the bfd, binutils, gas, ld and opcodes directories 2024-07-29 11:57:25 +01:00
.gitattributes opcodes: add a .gitattributes file for aarch64 autogenerated file exceptions 2024-05-28 10:16:23 +01:00
.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 support for sme2.1 zero instructions. 2024-07-12 15:41:56 +01:00
aarch64-opc.h aarch64: Add support for sme2.1 movaz instructions. 2024-07-12 15:40:48 +01: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: Put DBNZ instruction to a separate class 2024-02-14 11:36:52 +01:00
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 arc: Put DBNZ instruction to a separate class 2024-02-14 11:36:52 +01:00
arm-dis.c ARM print_insn_mve assertion 2024-07-26 10:34:54 +09:30
avr-dis.c
bfin-dis.c
bpf-dis.c
bpf-opc.c objdump, as: add callx support for BPF CPU v1 2024-02-15 15:11:44 +01:00
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 APX CFCMOV 2024-07-04 15:55:00 +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 Add W table for USER_MSR under MAP4. 2024-04-17 13:57:50 +08:00
i386-dis-evex.h x86/APX: drop %SW disassembler macro again 2024-08-30 11:23:51 +02:00
i386-dis.c x86/APX: correct disassembly for EVEX.B4 2024-09-11 13:52:42 +02:00
i386-gen.c Support ymm rounding control for Intel AVX10.2 2024-09-02 10:53:59 +08:00
i386-init.h Support ymm rounding control for Intel AVX10.2 2024-09-02 10:53:59 +08:00
i386-mnem.h Support APX CFCMOV 2024-07-04 15:55:00 +08:00
i386-opc.h Support ymm rounding control for Intel AVX10.2 2024-09-02 10:53:59 +08:00
i386-opc.tbl x86/APX: use D for 2-operand CFCMOVcc 2024-09-06 08:35:42 +02:00
i386-reg.tbl x86: limit RegRex64 use 2024-08-30 11:23:16 +02:00
i386-tbl.h x86/APX: use D for 2-operand CFCMOVcc 2024-09-06 08:35:42 +02: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 kvx: gas: missing aliases for $r14r15 in assembler. 2024-02-20 12:07:57 +01:00
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: Discard extra spaces in objdump output 2024-01-11 14:08:24 +08:00
loongarch-opc.c LoongArch: gas: Add support for s9 register 2024-01-26 16:49:43 +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-opc.c
m10200-dis.c
m10200-opc.c
m10300-dis.c
m10300-opc.c
MAINTAINERS
Makefile.am opcodes: Fix build verbosity 2024-03-13 18:23:26 +00:00
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
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 disassemble memory leak 2024-04-19 10:00:57 +09:30
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 Fix illegal memory access when bfd_get_section_contents is called with a NULL section pointer. 2024-06-05 13:30:27 +01:00
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 PowerPC: Add support for Power11 options 2024-02-09 10:52:23 -06:00
ppc-opc.c
pru-dis.c
pru-opc.c
riscv-dis.c RISC-V: Add support for XCVsimd extension in CV32E40P 2024-09-03 12:02:28 +08:00
riscv-opc.c RISC-V: Add support for XCVsimd extension in CV32E40P 2024-09-03 12:02:28 +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: Use proper string lengths when parsing opcode table flags 2024-03-01 11:12:40 +01:00
s390-opc.c s390: Simplify (dis)assembly of insn operands with const bits 2024-09-12 15:06:06 +02:00
s390-opc.txt s390: Align opcodes to lower-case 2024-09-09 17:05:28 +02: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 opcodes: tic4x_disassemble swap xcalloc arguments 2024-01-22 18:16:42 +01:00
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