]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gas/doc/c-kvx.texi
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / gas / doc / c-kvx.texi
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
13 Labels 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
36 Dump the full list of instructions.
37
38 @cindex @samp{-march} option, KVX
39 @item -march=
40 The assembler supports the following architectures: kv3-1, kv3-2.
41
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
45 default.
46
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.
50
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.
57
58 @cindex @samp{--dump-table} option, KVX
59 @item --dump-table
60 Dump the table of opcodes.
61
62 @cindex @samp{--mpic} option, KVX
63 @cindex @samp{--mPIC} option, KVX
64 @item --mpic | --mPIC
65 Generate position independent code.
66
67 @cindex @samp{--mnopic} option, KVX
68 @item --mnopic
69 Generate position dependent code.
70
71 @cindex @samp{-m32} option, KVX
72 @item -m32
73 Generate 32-bits code.
74
75 @cindex @samp{--all-sfr} option, KVX
76 @item --all-sfr
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.
81
82 @cindex @samp{--diagnostics} option, KVX
83 @item --diagnostics
84 Print multi-line errors. This is the default.
85
86 @cindex @samp{--no-diagnostics} option, KVX
87 @item --no-diagnostics
88 Print 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 ALIGNEMENT
102 Pad with NOPs until the next boundary with the required ALIGNEMENT.
103
104 @cindex @code{.dword} directive, KVX
105 @item .dword
106 Declare a double-word-sized (8 bytes) constant.
107
108 @cindex @code{.endp} directive, KVX
109 @item .endp [PROC]
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).
112
113 @smallexample
114 .proc NAME
115 ...
116 .endp NAME
117 @end smallexample
118
119 is 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
129 This 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
134 This directive is only supported when producting ELF files.
135 @pxref{Line,,@code{.line}} for details.
136
137 @cindex @code{.proc} directive, KVX
138 @item .proc PROC
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.
142
143 @cindex @code{.word} directive, KVX
144 @item .word
145 Declare a word-sized (4 bytes) constant.
146
147 @end table