2014-03-25 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / config / mmix / mmix.opt
blob1a003baae15a5c82158d4db4904affb93a378367
1 ; Options for the MMIX port of the compiler.
3 ; Copyright (C) 2005-2014 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 3, or (at your option) any later
10 ; version.
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.
17 ; You should have received a copy of the GNU General Public License
18 ; along with GCC; see the file COPYING3.  If not see
19 ; <http://www.gnu.org/licenses/>.
21 ; FIXME: Get rid of this one.
22 mlibfuncs
23 Target Report Mask(LIBFUNC)
24 For intrinsics library: pass all parameters in registers
26 mabi=mmixware
27 Target Report RejectNegative InverseMask(ABI_GNU)
28 Use register stack for parameters and return value
30 mabi=gnu
31 Target Report RejectNegative Mask(ABI_GNU)
32 Use call-clobbered registers for parameters and return value
34 ; FIXME: Provide a way to *load* the epsilon register.
35 mepsilon
36 Target Report Mask(FCMP_EPSILON)
37 Use epsilon-respecting floating point compare instructions
39 mzero-extend
40 Target Report Mask(ZERO_EXTEND)
41 Use zero-extending memory loads, not sign-extending ones
43 mknuthdiv
44 Target Report Mask(KNUTH_DIVISION)
45 Generate divide results with reminder having the same sign as the divisor (not the dividend)
47 mtoplevel-symbols
48 Target Report Mask(TOPLEVEL_SYMBOLS)
49 Prepend global symbols with \":\" (for use with PREFIX)
51 mno-set-program-start
52 Target Report RejectNegative
53 Do not provide a default start-address 0x100 of the program
55 melf
56 Target Report RejectNegative
57 Link to emit program in ELF format (rather than mmo)
59 mbranch-predict
60 Target Report RejectNegative Mask(BRANCH_PREDICT)
61 Use P-mnemonics for branches statically predicted as taken
63 mno-branch-predict
64 Target Report RejectNegative InverseMask(BRANCH_PREDICT)
65 Don't use P-mnemonics for branches
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
78 Target Report RejectNegative Mask(BASE_ADDRESSES)
79 Use addresses that allocate global registers
81 mno-base-addresses
82 Target Report RejectNegative InverseMask(BASE_ADDRESSES)
83 Do not use addresses that allocate global registers
85 msingle-exit
86 Target Report RejectNegative InverseMask(USE_RETURN_INSN)
87 Generate a single exit point for each function
89 mno-single-exit
90 Target Report RejectNegative Mask(USE_RETURN_INSN)
91 Do not generate a single exit point for each function
93 mset-program-start=
94 Target Report RejectNegative Joined
95 Set start-address of the program
97 mset-data-start=
98 Target Report RejectNegative Joined
99 Set start-address of data