as: AArch64 Directives
1
1 9.1.5 AArch64 Machine Directives
1 --------------------------------
1
1 '.arch NAME'
1 Select the target architecture. Valid values for NAME are the same
1 as for the '-march' commandline option.
1
1 Specifying '.arch' clears any previously selected architecture
1 extensions.
1
1 '.arch_extension NAME'
1 Add or remove an architecture extension to the target architecture.
1 Valid values for NAME are the same as those accepted as
1 architectural extensions by the '-mcpu' commandline option.
1
1 '.arch_extension' may be used multiple times to add or remove
1 extensions incrementally to the architecture being compiled for.
1
1 '.bss'
1 This directive switches to the '.bss' section.
1
1 '.cpu NAME'
1 Set the target processor. Valid values for NAME are the same as
1 those accepted by the '-mcpu=' command line option.
1
1 '.dword EXPRESSIONS'
1 The '.dword' directive produces 64 bit values.
1
1 '.even'
1 The '.even' directive aligns the output on the next even byte
1 boundary.
1
1 '.inst EXPRESSIONS'
1 Inserts the expressions into the output as if they were
1 instructions, rather than data.
1
1 '.ltorg'
1 This directive causes the current contents of the literal pool to
1 be dumped into the current section (which is assumed to be the
1 .text section) at the current location (aligned to a word
1 boundary). GAS maintains a separate literal pool for each section
1 and each sub-section. The '.ltorg' directive will only affect the
1 literal pool of the current section and sub-section. At the end of
1 assembly all remaining, un-empty literal pools will automatically
1 be dumped.
1
1 Note - older versions of GAS would dump the current literal pool
1 any time a section change occurred. This is no longer done, since
1 it prevents accurate control of the placement of literal pools.
1
1 '.pool'
1 This is a synonym for .ltorg.
1
1 'NAME .req REGISTER NAME'
1 This creates an alias for REGISTER NAME called NAME. For example:
1
1 foo .req w0
1
1 ip0, ip1, lr and fp are automatically defined to alias to X16, X17,
1 X30 and X29 respectively.
1
1 '.tlsdescadd'
1 Emits a TLSDESC_ADD reloc on the next instruction.
1
1 '.tlsdesccall'
1 Emits a TLSDESC_CALL reloc on the next instruction.
1
1 '.tlsdescldr'
1 Emits a TLSDESC_LDR reloc on the next instruction.
1
1 '.unreq ALIAS-NAME'
1 This undefines a register alias which was previously defined using
1 the 'req' directive. For example:
1
1 foo .req w0
1 .unreq foo
1
1 An error occurs if the name is undefined. Note - this pseudo op
1 can be used to delete builtin in register name aliases (eg 'w0').
1 This should only be done if it is really necessary.
1
1 '.variant_pcs SYMBOL'
1 This directive marks SYMBOL referencing a function that may follow
1 a variant procedure call standard with different register usage
1 convention from the base procedure call standard.
1
1 '.xword EXPRESSIONS'
1 The '.xword' directive produces 64 bit values. This is the same as
1 the '.dword' directive.
1