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