]>
Commit | Line | Data |
---|---|---|
6ff59fe7 HPN |
1 | ; Options for the MMIX port of the compiler. |
2 | ||
7adcbafe | 3 | ; Copyright (C) 2005-2022 Free Software Foundation, Inc. |
6ff59fe7 HPN |
4 | ; |
5 | ; This file is part of GCC. | |
6 | ; | |
7 | ; GCC is free software; you can redistribute it and/or modify it under | |
8 | ; the terms of the GNU General Public License as published by the Free | |
2f83c7d6 | 9 | ; Software Foundation; either version 3, or (at your option) any later |
6ff59fe7 HPN |
10 | ; version. |
11 | ; | |
12 | ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
13 | ; WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 | ; for more details. | |
16 | ; | |
17 | ; You should have received a copy of the GNU General Public License | |
2f83c7d6 NC |
18 | ; along with GCC; see the file COPYING3. If not see |
19 | ; <http://www.gnu.org/licenses/>. | |
6ff59fe7 HPN |
20 | |
21 | ; FIXME: Get rid of this one. | |
22 | mlibfuncs | |
eece52b5 | 23 | Target Mask(LIBFUNC) |
a7b2e184 | 24 | For intrinsics library: pass all parameters in registers. |
6ff59fe7 HPN |
25 | |
26 | mabi=mmixware | |
eece52b5 | 27 | Target RejectNegative InverseMask(ABI_GNU) |
a7b2e184 | 28 | Use register stack for parameters and return value. |
6ff59fe7 HPN |
29 | |
30 | mabi=gnu | |
eece52b5 | 31 | Target RejectNegative Mask(ABI_GNU) |
a7b2e184 | 32 | Use call-clobbered registers for parameters and return value. |
6ff59fe7 HPN |
33 | |
34 | ; FIXME: Provide a way to *load* the epsilon register. | |
35 | mepsilon | |
eece52b5 | 36 | Target Mask(FCMP_EPSILON) |
a7b2e184 | 37 | Use epsilon-respecting floating point compare instructions. |
6ff59fe7 HPN |
38 | |
39 | mzero-extend | |
eece52b5 | 40 | Target Mask(ZERO_EXTEND) |
a7b2e184 | 41 | Use zero-extending memory loads, not sign-extending ones. |
6ff59fe7 HPN |
42 | |
43 | mknuthdiv | |
eece52b5 | 44 | Target Mask(KNUTH_DIVISION) |
a7b2e184 | 45 | Generate divide results with reminder having the same sign as the divisor (not the dividend). |
6ff59fe7 HPN |
46 | |
47 | mtoplevel-symbols | |
eece52b5 | 48 | Target Mask(TOPLEVEL_SYMBOLS) |
a7b2e184 | 49 | Prepend global symbols with \":\" (for use with PREFIX). |
6ff59fe7 HPN |
50 | |
51 | mno-set-program-start | |
eece52b5 | 52 | Target RejectNegative |
a7b2e184 | 53 | Do not provide a default start-address 0x100 of the program. |
6ff59fe7 HPN |
54 | |
55 | melf | |
eece52b5 | 56 | Target RejectNegative |
a7b2e184 | 57 | Link to emit program in ELF format (rather than mmo). |
6ff59fe7 HPN |
58 | |
59 | mbranch-predict | |
eece52b5 | 60 | Target RejectNegative Mask(BRANCH_PREDICT) |
a7b2e184 | 61 | Use P-mnemonics for branches statically predicted as taken. |
6ff59fe7 HPN |
62 | |
63 | mno-branch-predict | |
eece52b5 | 64 | Target RejectNegative InverseMask(BRANCH_PREDICT) |
a7b2e184 | 65 | Don't use P-mnemonics for branches. |
6ff59fe7 HPN |
66 | |
67 | ; We use the term "base address" since that's what Knuth uses. The base | |
68 | ; address goes in a global register. When addressing, it's more like | |
69 | ; "base address plus offset", with the offset being 0..255 from the base, | |
70 | ; which itself can be a symbol plus an offset. The effect is like having | |
71 | ; a constant pool in global registers, code offsetting from those | |
72 | ; registers (automatically causing a request for a suitable constant base | |
73 | ; address register) without having to know the specific register or the | |
74 | ; specific offset. The setback is that there's a limited number of | |
75 | ; registers, and you'll not find out until link time whether you | |
76 | ; should have compiled with -mno-base-addresses. | |
77 | mbase-addresses | |
eece52b5 | 78 | Target RejectNegative Mask(BASE_ADDRESSES) |
a7b2e184 | 79 | Use addresses that allocate global registers. |
6ff59fe7 HPN |
80 | |
81 | mno-base-addresses | |
eece52b5 | 82 | Target RejectNegative InverseMask(BASE_ADDRESSES) |
a7b2e184 | 83 | Do not use addresses that allocate global registers. |
6ff59fe7 HPN |
84 | |
85 | msingle-exit | |
eece52b5 | 86 | Target RejectNegative InverseMask(USE_RETURN_INSN) |
a7b2e184 | 87 | Generate a single exit point for each function. |
6ff59fe7 HPN |
88 | |
89 | mno-single-exit | |
eece52b5 | 90 | Target RejectNegative Mask(USE_RETURN_INSN) |
a7b2e184 | 91 | Do not generate a single exit point for each function. |
6ff59fe7 HPN |
92 | |
93 | mset-program-start= | |
eece52b5 | 94 | Target RejectNegative Joined |
a7b2e184 | 95 | Set start-address of the program. |
6ff59fe7 HPN |
96 | |
97 | mset-data-start= | |
eece52b5 | 98 | Target RejectNegative Joined |
a7b2e184 | 99 | Set start-address of data. |