[PATCH v2 5/6] s390: Add missing extended mnemonics
Jens Remus
jremus@linux.ibm.com
Thu Oct 24 14:49:44 GMT 2024
On 22.11.2023 17:07, Jens Remus wrote:
> Add extended mnemonics specified in the z/Architecture Principles of
> Operation [1] and z/Architecture Reference Summary [2], that were
> previously missing from the opcode table.
>
> The following added extended mnemonics are synonyms to a base mnemonic
> and therefore disassemble into their base mnemonic:
> jc, jcth, lfi, llgfi, llghi
>
> The following added extended mnemonics are more specific than their base
> mnemonic and therefore disassemble into the added extended mnemonic:
> risbhgz, risblgz, rnsbgt, rosbgt, rxsbgt
>
> The following added extended mnemonics are more specific than their base
> mnemonic, but disassemble into their base mnemonic due to design
> constraints:
> notr, notgr
>
> The missing extended mnemonic jl* conditional jump long flavors cannot
> be added, as they would clash with the existing non-standard extended
> mnemonic j* conditional jump flavors jle and jlh. The missing extended
> mnemonic jlc jump long conditional is not added, as the related jl*
> flavors cannot be added.
> Note that these missing jl* conditional jump long flavors are already
> defined as non-standard jg* flavors instead. While the related missing
> extended mnemonic jlc could be added as non-standard jgc instead it is
> forgone in favor of not adding further non-standard mnemonics.
>
> The missing extended mnemonics sllhh, sllhl, slllh, srlhh, srlhl, and
> srllh cannot be implemented using the current design, as they require
> computed operands. For that reason the following missing extended
> mnemonics are not added as well, as they fall into the same category of
> instructions that operate on high and low words of registers. They
> should better be added together, not to confuse the user, which of those
> instructions are currently implemented or not.
> lhhr, lhlr, llhfr, llchhr, llchlr, llclhr, llhhhr, llhhlr, llhlhr,
> nhhr, nhlr, nlhr, ohhr, ohlr, olhr, xhhr, xhlr, xlhr
>
> [1] IBM z/Architecture Principles of Operation, SA22-7832-13, IBM z16,
> https://publibfp.dhe.ibm.com/epubs/pdf/a227832d.pdf
> [2] IBM z/Architecture Reference Summary, SA22-7871-11,
> https://www.ibm.com/support/pages/sites/default/files/2022-09/SA22-7871-11.pdf
>
> opcodes/
> * s390-opc.c: Define operand formats R_CP16_28, U6_18, and
> U5_27. Define instruction formats RIE_RRUUU3, RIE_RRUUU4,
> and RRF_R0RR4.
> * s390-opc.txt: Add extended mnemonics jc, jcth, lfi, llgfi,
> llghi, notgr, notr, risbhgz, risblgz, rnsbgt, rosbgt, and
> rxsbgt.
>
> gas/
> * config/tc-s390.c: Add support to insert operand for format
> R_CP16_28, reusing existing logic for format V_CP16_12.
> * testsuite/gas/s390/esa-g5.s: Add test for extended mnemonic
> jc.
> * testsuite/gas/s390/esa-g5.d: Likewise.
> * testsuite/gas/s390/zarch-z900.s: Add test for extended
> mnemonic llghi.
> * testsuite/gas/s390/zarch-z900.d: Likewise.
> * testsuite/gas/s390/zarch-z9-109.s: Add tests for extended
> mnemonics lfi and llgfi.
> * testsuite/gas/s390/zarch-z9-109.d: Likewise.
> * testsuite/gas/s390/zarch-z10.s: Add tests for extended
> mnemonics rnsbgt, rosbgt, and rxsbgt.
> * testsuite/gas/s390/zarch-z10.d: Likewise.
> * testsuite/gas/s390/zarch-z196.s: Add tests for extended
> mnemonics jcth, risbhgz, and risblgz.
> * testsuite/gas/s390/zarch-z196.d: Likewise.
> * testsuite/gas/s390/zarch-arch13.s: Add tests for extended
> mnemonics notr and notgr.
> * testsuite/gas/s390/zarch-arch13.d: Likewise.
>
> Signed-off-by: Jens Remus <jremus@linux.ibm.com>
> Reviewed-by: Andreas Krebbel <krebbel@linux.ibm.com>
Backported to binutils-2_41-branch with off-list approval from Andreas.
Regards,
Jens
--
Jens Remus
Linux on Z Development (D3303) and z/VSE Support
+49-7031-16-1128 Office
jremus@de.ibm.com
IBM
IBM Deutschland Research & Development GmbH; Vorsitzender des
Aufsichtsrats: Wolfgang Wendt; Geschäftsführung: David Faller; Sitz der
Gesellschaft: Böblingen; Registergericht: Amtsgericht Stuttgart, HRB 243294
IBM Data Privacy Statement: https://www.ibm.com/privacy/
More information about the Binutils
mailing list