Skip to content
  • Andreas Krebbel's avatar
    IBM Z: Add support for HLASM extended mnemonics · b10b530a
    Andreas Krebbel authored
    Add extended mnemonics used in the HLASM assembler.  All of them are
    just aliases for instructions we already support and help when
    assembling code which was written for the HLASM assembler.
    
    The HLASM mnemonics are documented here:
    https://www.ibm.com/support/knowledgecenter/SSENW6_1.6.0/com.ibm.hlasm.v1r6.asm/asmr1023.pdf
    
    See the 'Branching with extended mnemonic codes' chapter.
    
    objdump will still print the existing mnemonics with the exception of
    relative nop branches (i.e. conditional branches with an empty
    condition code mask).  Now we have jnop and jgnop which will be used
    by objdump when possible.
    
    The same change have been applied to the LLVM assembler:
    https://reviews.llvm.org/D92185
    
    opcodes/
    
    	* s390-opc.txt: Add extended mnemonics.
    
    gas/
    
    	* testsuite/gas/s390/esa-g5.s: Test new extended mnemonics.
    	* testsuite/gas/s390/esa-g5.d: Likewise.
    	* testsuite/gas/s390/esa-z900.s: Likewise.
    	* testsuite/gas/s390/esa-z900.d: Likewise.
    	* testsuite/gas/s390/zarch-z900.s: Likewise.
    	* testsuite/gas/s390/zarch-z900.d: Likewise.
    
    ld/
    
    	* testsuite/ld-s390/tlsbin_64.dd: The newly added jgnop mnemonic
    	replaces long relative branches with empty condition code mask.
    b10b530a
To find the state of this project's repository at the time of any of these versions, check out the tags.