xref: /netbsd-src/external/gpl3/binutils/dist/gas/doc/c-kvx.texi (revision cb63e24e8d6aae7ddac1859a9015f48b1d8bd90e)
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.
5@c man end
6
7@ifset GENERIC
8@page
9@node KVX-Dependent
10@chapter KVX Dependent Features
11@end ifset
12
13Labels followed by `::' are extern symbols.
14
15@ifclear GENERIC
16@node Machine Dependencies
17@chapter KVX Dependent Features
18@end ifclear
19
20@cindex KVX support
21@menu
22* KVX Options::         Options
23* KVX Directives::      KVX Machine Directives
24@end menu
25
26@node KVX Options
27@section Options
28@cindex KVX Options
29@cindex options for KVX
30
31@c man begin OPTIONS
32@table @gcctabopt
33
34@cindex @samp{--dump-insn} option, KVX
35@item --dump-insn
36Dump the full list of instructions.
37
38@cindex @samp{-march} option, KVX
39@item -march=
40The assembler supports the following architectures: kv3-1, kv3-2.
41
42@cindex @samp{--check-resources} option, KVX
43@item --check-resources
44Check that each bundle does not use more resources than available.  This is the
45default.
46
47@cindex @samp{--no-check-resources} option, KVX
48@item --no-check-resources
49Do not check that each bundle does not use more resources than available.
50
51@cindex @samp{--generate-illegal-code} option, KVX
52@item --generate-illegal-code
53For debugging purposes only.  In order to properly work, the bundle is sorted
54with respect to the issues it uses.  If this option is turned on the assembler
55will not sort the bundle instructions and illegal bundles might be formed unless
56they were properly sorted by hand.
57
58@cindex @samp{--dump-table} option, KVX
59@item --dump-table
60Dump the table of opcodes.
61
62@cindex @samp{--mpic} option, KVX
63@cindex @samp{--mPIC} option, KVX
64@item --mpic | --mPIC
65Generate position independent code.
66
67@cindex @samp{--mnopic} option, KVX
68@item --mnopic
69Generate position dependent code.
70
71@cindex @samp{-m32} option, KVX
72@item -m32
73Generate 32-bits code.
74
75@cindex @samp{--all-sfr} option, KVX
76@item --all-sfr
77This switch enables the register class "system register".  This register
78class is used when performing system validation and allows the full class of
79system registers to be used even on instructions that are only valid with some
80specific system registers.
81
82@cindex @samp{--diagnostics} option, KVX
83@item --diagnostics
84Print multi-line errors.  This is the default.
85
86@cindex @samp{--no-diagnostics} option, KVX
87@item --no-diagnostics
88Print succinct diagnostics on one line.
89
90@end table
91@c man end
92
93@node KVX Directives
94@section KVX Machine Directives
95
96@cindex machine directives, AArch64
97@cindex AArch64 machine directives
98@table @code
99
100@cindex @code{.align} directive, KVX
101@item .align ALIGNMENT
102Pad with NOPs until the next boundary with the required ALIGNMENT.
103
104@cindex @code{.dword} directive, KVX
105@item .dword
106Declare a double-word-sized (8 bytes) constant.
107
108@cindex @code{.endp} directive, KVX
109@item .endp [PROC]
110This directive marks the end of the procedure PROC.  The name of the procedure
111is always ignored (it is only here as a visual indicator).
112
113@smallexample
114.proc NAME
115...
116.endp NAME
117@end smallexample
118
119is equivalent to the more traditional
120
121@smallexample
122.type NAME, @@function
123...
124.size NAME,.-NAME
125@end smallexample
126
127@cindex @code{.file} directive, KVX
128@item .file
129This directive is only supported when producing ELF files.
130@pxref{File,,@code{.file}} for details.
131
132@cindex @code{.loc} directive, KVX
133@item .loc FILENO LINENO
134This directive is only supported when producing ELF files.
135@pxref{Line,,@code{.line}} for details.
136
137@cindex @code{.proc} directive, KVX
138@item .proc PROC
139This directive marks the start of procedure, the name of the procedure PROC is
140mandatory and all @code{.proc} directive should be matched by exactly one
141@code{.endp} directive.
142
143@cindex @code{.word} directive, KVX
144@item .word
145Declare a word-sized (4 bytes) constant.
146
147@end table
148