[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