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