as: s390 Literal Pool Entries

1 
1 9.40.3.8 Literal Pool Entries
1 .............................
1 
1 A literal pool is a collection of values.  To access the values a
1 pointer to the literal pool is loaded to a register, the literal pool
1 register.  Usually, register %r13 is used as the literal pool register
1 (⇒s390 Register).  Literal pool entries are created by adding the
1 suffix :lit1, :lit2, :lit4, or :lit8 to the end of an expression for an
1 instruction operand.  The expression is added to the literal pool and
1 the operand is replaced with the offset to the literal in the literal
1 pool.
1 
1 ':lit1'
1      The literal pool entry is created as an 8-bit value.  An operand
1      modifier must not be used for the original expression.
1 ':lit2'
1      The literal pool entry is created as a 16 bit value.  The operand
1      modifier @got may be used in the original expression.  The term
1      'x@got:lit2' will put the got offset for the global symbol x to the
1      literal pool as 16 bit value.
1 ':lit4'
1      The literal pool entry is created as a 32-bit value.  The operand
1      modifier @got and @plt may be used in the original expression.  The
1      term 'x@got:lit4' will put the got offset for the global symbol x
1      to the literal pool as a 32-bit value.  The term 'x@plt:lit4' will
1      put the plt offset for the global symbol x to the literal pool as a
1      32-bit value.
1 ':lit8'
1      The literal pool entry is created as a 64-bit value.  The operand
1      modifier @got and @plt may be used in the original expression.  The
1      term 'x@got:lit8' will put the got offset for the global symbol x
1      to the literal pool as a 64-bit value.  The term 'x@plt:lit8' will
1      put the plt offset for the global symbol x to the literal pool as a
1      64-bit value.
1 
1    The assembler directive '.ltorg' is used to emit all literal pool
1 entries to the current position.
1