]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst
sphinx: add missing trailing newline
[thirdparty/gcc.git] / gcc / doc / gcc / gcc-command-options / machine-dependent-options / cris-options.rst
1 ..
2 Copyright 1988-2022 Free Software Foundation, Inc.
3 This is part of the GCC manual.
4 For copying conditions, see the copyright.rst file.
5
6 .. program:: CRIS
7
8 .. index:: CRIS Options
9
10 .. _cris-options:
11
12 CRIS Options
13 ^^^^^^^^^^^^
14
15 These options are defined specifically for the CRIS ports.
16
17 .. option:: -march={architecture-type}
18
19 Generate code for the specified architecture. The choices for
20 :samp:`{architecture-type}` are :samp:`v3`, :samp:`v8` and :samp:`v10` for
21 respectively ETRAX4, ETRAX100, and ETRAX100LX.
22 Default is :samp:`v0`.
23
24 .. option:: -mtune={architecture-type}
25
26 Tune to :samp:`{architecture-type}` everything applicable about the generated
27 code, except for the ABI and the set of available instructions. The
28 choices for :samp:`{architecture-type}` are the same as for
29 :option:`-march=architecture-type`.
30
31 .. option:: -mmax-stack-frame={n}
32
33 Warn when the stack frame of a function exceeds :samp:`{n}` bytes.
34
35 .. option:: -metrax4, -metrax100
36
37 The options :option:`-metrax4` and :option:`-metrax100` are synonyms for
38 :option:`-march=v3` and :option:`-march=v8` respectively.
39
40 .. option:: -mmul-bug-workaround, -mno-mul-bug-workaround
41
42 Work around a bug in the ``muls`` and ``mulu`` instructions for CPU
43 models where it applies. This option is disabled by default.
44
45 .. option:: -mpdebug
46
47 Enable CRIS-specific verbose debug-related information in the assembly
48 code. This option also has the effect of turning off the :samp:`#NO_APP`
49 formatted-code indicator to the assembler at the beginning of the
50 assembly file.
51
52 .. option:: -mcc-init
53
54 Do not use condition-code results from previous instruction; always emit
55 compare and test instructions before use of condition codes.
56
57 .. option:: -mno-side-effects
58
59 Do not emit instructions with side effects in addressing modes other than
60 post-increment.
61
62 .. option:: -mside-effects
63
64 Default setting; overrides :option:`-mno-side-effects`.
65
66 .. option:: -mstack-align, -mno-stack-align, -mdata-align, -mno-data-align, -mconst-align, -mno-const-align
67
68 These options (:samp:`no-` options) arrange (eliminate arrangements) for the
69 stack frame, individual data and constants to be aligned for the maximum
70 single data access size for the chosen CPU model. The default is to
71 arrange for 32-bit alignment. ABI details such as structure layout are
72 not affected by these options.
73
74 .. option:: -m32-bit, -m16-bit, -m8-bit
75
76 Similar to the stack- data- and const-align options above, these options
77 arrange for stack frame, writable data and constants to all be 32-bit,
78 16-bit or 8-bit aligned. The default is 32-bit alignment.
79
80 .. option:: -mno-prologue-epilogue, -mprologue-epilogue
81
82 With :option:`-mno-prologue-epilogue`, the normal function prologue and
83 epilogue which set up the stack frame are omitted and no return
84 instructions or return sequences are generated in the code. Use this
85 option only together with visual inspection of the compiled code: no
86 warnings or errors are generated when call-saved registers must be saved,
87 or storage for local variables needs to be allocated.
88
89 .. option:: -melf
90
91 Legacy no-op option.
92
93 .. option:: -sim
94
95 This option arranges
96 to link with input-output functions from a simulator library. Code,
97 initialized data and zero-initialized data are allocated consecutively.
98
99 .. option:: -sim2
100
101 Like :option:`-sim`, but pass linker options to locate initialized data at
102 0x40000000 and zero-initialized data at 0x80000000.