@c Copyright (C) 2023-2024 Free Software Foundation, Inc. @c Contributed by Kalray SA. @c This is part of the GAS manual. @c For copying conditions, see the file as.texinfo. @c man end @ifset GENERIC @page @node KVX-Dependent @chapter KVX Dependent Features @end ifset Labels followed by `::' are extern symbols. @ifclear GENERIC @node Machine Dependencies @chapter KVX Dependent Features @end ifclear @cindex KVX support @menu * KVX Options:: Options * KVX Directives:: KVX Machine Directives @end menu @node KVX Options @section Options @cindex KVX Options @cindex options for KVX @c man begin OPTIONS @table @gcctabopt @cindex @samp{--dump-insn} option, KVX @item --dump-insn Dump the full list of instructions. @cindex @samp{-march} option, KVX @item -march= The assembler supports the following architectures: kv3-1, kv3-2. @cindex @samp{--check-resources} option, KVX @item --check-resources Check that each bundle does not use more resources than available. This is the default. @cindex @samp{--no-check-resources} option, KVX @item --no-check-resources Do not check that each bundle does not use more resources than available. @cindex @samp{--generate-illegal-code} option, KVX @item --generate-illegal-code For debugging purposes only. In order to properly work, the bundle is sorted with respect to the issues it uses. If this option is turned on the assembler will not sort the bundle instructions and illegal bundles might be formed unless they were properly sorted by hand. @cindex @samp{--dump-table} option, KVX @item --dump-table Dump the table of opcodes. @cindex @samp{--mpic} option, KVX @cindex @samp{--mPIC} option, KVX @item --mpic | --mPIC Generate position independent code. @cindex @samp{--mnopic} option, KVX @item --mnopic Generate position dependent code. @cindex @samp{-m32} option, KVX @item -m32 Generate 32-bits code. @cindex @samp{--all-sfr} option, KVX @item --all-sfr This switch enables the register class "system register". This register class is used when performing system validation and allows the full class of system registers to be used even on instructions that are only valid with some specific system registers. @cindex @samp{--diagnostics} option, KVX @item --diagnostics Print multi-line errors. This is the default. @cindex @samp{--no-diagnostics} option, KVX @item --no-diagnostics Print succinct diagnostics on one line. @end table @c man end @node KVX Directives @section KVX Machine Directives @cindex machine directives, AArch64 @cindex AArch64 machine directives @table @code @cindex @code{.align} directive, KVX @item .align ALIGNMENT Pad with NOPs until the next boundary with the required ALIGNMENT. @cindex @code{.dword} directive, KVX @item .dword Declare a double-word-sized (8 bytes) constant. @cindex @code{.endp} directive, KVX @item .endp [PROC] This directive marks the end of the procedure PROC. The name of the procedure is always ignored (it is only here as a visual indicator). @smallexample .proc NAME ... .endp NAME @end smallexample is equivalent to the more traditional @smallexample .type NAME, @@function ... .size NAME,.-NAME @end smallexample @cindex @code{.file} directive, KVX @item .file This directive is only supported when producing ELF files. @pxref{File,,@code{.file}} for details. @cindex @code{.loc} directive, KVX @item .loc FILENO LINENO This directive is only supported when producing ELF files. @pxref{Line,,@code{.line}} for details. @cindex @code{.proc} directive, KVX @item .proc PROC This directive marks the start of procedure, the name of the procedure PROC is mandatory and all @code{.proc} directive should be matched by exactly one @code{.endp} directive. @cindex @code{.word} directive, KVX @item .word Declare a word-sized (4 bytes) constant. @end table