1 ; Options for the MMIX port of the compiler.
3 ; Copyright (C) 2005 Free Software Foundation, Inc.
5 ; This file is part of GCC.
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
9 ; Software Foundation; either version 2, or (at your option) any later
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
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING. If not, write to the Free
19 ; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
22 ; FIXME: Get rid of this one.
24 Target Report Mask(LIBFUNC)
25 For intrinsics library: pass all parameters in registers
28 Target Report RejectNegative InverseMask(ABI_GNU)
29 Use register stack for parameters and return value
32 Target Report RejectNegative Mask(ABI_GNU)
33 Use call-clobbered registers for parameters and return value
35 ; FIXME: Provide a way to *load* the epsilon register.
37 Target Report Mask(FCMP_EPSILON)
38 Use epsilon-respecting floating point compare instructions
41 Target Report Mask(ZERO_EXTEND)
42 Use zero-extending memory loads, not sign-extending ones
45 Target Report Mask(KNUTH_DIVISION)
46 Generate divide results with reminder having the same sign as the divisor (not the dividend)
49 Target Report Mask(TOPLEVEL_SYMBOLS)
50 Prepend global symbols with \":\" (for use with PREFIX)
53 Target Report RejectNegative
54 Do not provide a default start-address 0x100 of the program
57 Target Report RejectNegative
58 Link to emit program in ELF format (rather than mmo)
61 Target Report RejectNegative Mask(BRANCH_PREDICT)
62 Use P-mnemonics for branches statically predicted as taken
65 Target Report RejectNegative InverseMask(BRANCH_PREDICT)
66 Don't use P-mnemonics for branches
68 ; We use the term "base address" since that's what Knuth uses. The base
69 ; address goes in a global register. When addressing, it's more like
70 ; "base address plus offset", with the offset being 0..255 from the base,
71 ; which itself can be a symbol plus an offset. The effect is like having
72 ; a constant pool in global registers, code offsetting from those
73 ; registers (automatically causing a request for a suitable constant base
74 ; address register) without having to know the specific register or the
75 ; specific offset. The setback is that there's a limited number of
76 ; registers, and you'll not find out until link time whether you
77 ; should have compiled with -mno-base-addresses.
79 Target Report RejectNegative Mask(BASE_ADDRESSES)
80 Use addresses that allocate global registers
83 Target Report RejectNegative InverseMask(BASE_ADDRESSES)
84 Do not use addresses that allocate global registers
87 Target Report RejectNegative InverseMask(USE_RETURN_INSN)
88 Generate a single exit point for each function
91 Target Report RejectNegative Mask(USE_RETURN_INSN)
92 Do not generate a single exit point for each function
95 Target Report RejectNegative Joined
96 Set start-address of the program
99 Target Report RejectNegative Joined
100 Set start-address of data