as: s390 Aliases

 
 9.40.3.5 Instruction Aliases
 ............................
 
 A specific bit pattern can have multiple mnemonics, for example the bit
 pattern '0xa7000000' has the mnemonics 'tmh' and 'tmlh'.  In addition,
 there are a number of mnemonics recognized by 'as' that are not present
 in the Principles of Operation.  These are the short forms of the branch
 instructions, where the condition code mask operand is encoded in the
 mnemonic.  This is relevant for the branch instructions, the compare and
 branch instructions, and the compare and trap instructions.
 
    For the branch instructions there are 20 condition code strings that
 can be used as part of the mnemonic in place of a mask operand in the
 instruction format:
 
      instruction            short form
      ----------------------------------------------
      bcr   M1,R2            b<m>r  R2
      bc    M1,D2(X2,B2)     b<m>   D2(X2,B2)
      brc   M1,I2            j<m>   I2
      brcl  M1,I2            jg<m>  I2
 
    In the mnemonic for a branch instruction the condition code string
 <m> can be any of the following:
 
      o     jump on overflow / if ones
      h     jump on A high
      p     jump on plus
      nle   jump on not low or equal
      l     jump on A low
      m     jump on minus
      nhe   jump on not high or equal
      lh    jump on low or high
      ne    jump on A not equal B
      nz    jump on not zero / if not zeros
      e     jump on A equal B
      z     jump on zero / if zeroes
      nlh   jump on not low or high
      he    jump on high or equal
      nl    jump on A not low
      nm    jump on not minus / if not mixed
      le    jump on low or equal
      nh    jump on A not high
      np    jump on not plus
      no    jump on not overflow / if not ones
 
    For the compare and branch, and compare and trap instructions there
 are 12 condition code strings that can be used as part of the mnemonic
 in place of a mask operand in the instruction format:
 
      instruction                   short form
      ------------------------------------------------------------
      crb    R1,R2,M3,D4(B4)        crb<m>    R1,R2,D4(B4)
      cgrb   R1,R2,M3,D4(B4)        cgrb<m>   R1,R2,D4(B4)
      crj    R1,R2,M3,I4            crj<m>    R1,R2,I4
      cgrj   R1,R2,M3,I4            cgrj<m>   R1,R2,I4
      cib    R1,I2,M3,D4(B4)        cib<m>    R1,I2,D4(B4)
      cgib   R1,I2,M3,D4(B4)        cgib<m>   R1,I2,D4(B4)
      cij    R1,I2,M3,I4            cij<m>    R1,I2,I4
      cgij   R1,I2,M3,I4            cgij<m>   R1,I2,I4
      crt    R1,R2,M3               crt<m>    R1,R2
      cgrt   R1,R2,M3               cgrt<m>   R1,R2
      cit    R1,I2,M3               cit<m>    R1,I2
      cgit   R1,I2,M3               cgit<m>   R1,I2
      clrb   R1,R2,M3,D4(B4)        clrb<m>   R1,R2,D4(B4)
      clgrb  R1,R2,M3,D4(B4)        clgrb<m>  R1,R2,D4(B4)
      clrj   R1,R2,M3,I4            clrj<m>   R1,R2,I4
      clgrj  R1,R2,M3,I4            clgrj<m>  R1,R2,I4
      clib   R1,I2,M3,D4(B4)        clib<m>   R1,I2,D4(B4)
      clgib  R1,I2,M3,D4(B4)        clgib<m>  R1,I2,D4(B4)
      clij   R1,I2,M3,I4            clij<m>   R1,I2,I4
      clgij  R1,I2,M3,I4            clgij<m>  R1,I2,I4
      clrt   R1,R2,M3               clrt<m>   R1,R2
      clgrt  R1,R2,M3               clgrt<m>  R1,R2
      clfit  R1,I2,M3               clfit<m>  R1,I2
      clgit  R1,I2,M3               clgit<m>  R1,I2
 
    In the mnemonic for a compare and branch and compare and trap
 instruction the condition code string <m> can be any of the following:
 
      h     jump on A high
      nle   jump on not low or equal
      l     jump on A low
      nhe   jump on not high or equal
      ne    jump on A not equal B
      lh    jump on low or high
      e     jump on A equal B
      nlh   jump on not low or high
      nl    jump on A not low
      he    jump on high or equal
      nh    jump on A not high
      le    jump on low or equal