1 @c Copyright (C) 2023-2024 Free Software Foundation, Inc.
2 @c Contributed by Kalray SA.
3 @c This is part of the GAS manual.
4 @c For copying conditions, see the file as.texinfo.
10 @chapter KVX Dependent Features
13 Labels followed by `::' are extern symbols.
16 @node Machine Dependencies
17 @chapter KVX Dependent Features
22 * KVX Options:: Options
23 * KVX Directives:: KVX Machine Directives
29 @cindex options for KVX
34 @cindex @samp{--dump-insn} option, KVX
36 Dump the full list of instructions.
38 @cindex @samp{-march} option, KVX
40 The assembler supports the following architectures: kv3-1, kv3-2.
42 @cindex @samp{--check-resources} option, KVX
43 @item --check-resources
44 Check that each bundle does not use more resources than available. This is the
47 @cindex @samp{--no-check-resources} option, KVX
48 @item --no-check-resources
49 Do not check that each bundle does not use more resources than available.
51 @cindex @samp{--generate-illegal-code} option, KVX
52 @item --generate-illegal-code
53 For debugging purposes only. In order to properly work, the bundle is sorted
54 with respect to the issues it uses. If this option is turned on the assembler
55 will not sort the bundle instructions and illegal bundles might be formed unless
56 they were properly sorted by hand.
58 @cindex @samp{--dump-table} option, KVX
60 Dump the table of opcodes.
62 @cindex @samp{--mpic} option, KVX
63 @cindex @samp{--mPIC} option, KVX
65 Generate position independent code.
67 @cindex @samp{--mnopic} option, KVX
69 Generate position dependent code.
71 @cindex @samp{-m32} option, KVX
73 Generate 32-bits code.
75 @cindex @samp{--all-sfr} option, KVX
77 This switch enables the register class "system register". This register
78 class is used when performing system validation and allows the full class of
79 system registers to be used even on instructions that are only valid with some
80 specific system registers.
82 @cindex @samp{--diagnostics} option, KVX
84 Print multi-line errors. This is the default.
86 @cindex @samp{--no-diagnostics} option, KVX
87 @item --no-diagnostics
88 Print succinct diagnostics on one line.
94 @section KVX Machine Directives
96 @cindex machine directives, AArch64
97 @cindex AArch64 machine directives
100 @cindex @code{.align} directive, KVX
101 @item .align ALIGNEMENT
102 Pad with NOPs until the next boundary with the required ALIGNEMENT.
104 @cindex @code{.dword} directive, KVX
106 Declare a double-word-sized (8 bytes) constant.
108 @cindex @code{.endp} directive, KVX
110 This directive marks the end of the procedure PROC. The name of the procedure
111 is always ignored (it is only here as a visual indicator).
119 is equivalent to the more traditional
122 .type NAME, @@function
127 @cindex @code{.file} directive, KVX
129 This directive is only supported when producing ELF files.
130 @pxref{File,,@code{.file}} for details.
132 @cindex @code{.loc} directive, KVX
133 @item .loc FILENO LINENO
134 This directive is only supported when producting ELF files.
135 @pxref{Line,,@code{.line}} for details.
137 @cindex @code{.proc} directive, KVX
139 This directive marks the start of procedure, the name of the procedure PROC is
140 mandatory and all @code{.proc} directive should be matched by exactly one
141 @code{.endp} directive.
143 @cindex @code{.word} directive, KVX
145 Declare a word-sized (4 bytes) constant.