; Options for the MMIX port of the compiler. ; Copyright (C) 2005-2022 Free Software Foundation, Inc. ; ; This file is part of GCC. ; ; GCC is free software; you can redistribute it and/or modify it under ; the terms of the GNU General Public License as published by the Free ; Software Foundation; either version 3, or (at your option) any later ; version. ; ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY ; WARRANTY; without even the implied warranty of MERCHANTABILITY or ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ; for more details. ; ; You should have received a copy of the GNU General Public License ; along with GCC; see the file COPYING3. If not see ; . ; FIXME: Get rid of this one. mlibfuncs Target Mask(LIBFUNC) For intrinsics library: pass all parameters in registers. mabi=mmixware Target RejectNegative InverseMask(ABI_GNU) Use register stack for parameters and return value. mabi=gnu Target RejectNegative Mask(ABI_GNU) Use call-clobbered registers for parameters and return value. ; FIXME: Provide a way to *load* the epsilon register. mepsilon Target Mask(FCMP_EPSILON) Use epsilon-respecting floating point compare instructions. mzero-extend Target Mask(ZERO_EXTEND) Use zero-extending memory loads, not sign-extending ones. mknuthdiv Target Mask(KNUTH_DIVISION) Generate divide results with reminder having the same sign as the divisor (not the dividend). mtoplevel-symbols Target Mask(TOPLEVEL_SYMBOLS) Prepend global symbols with \":\" (for use with PREFIX). mno-set-program-start Target RejectNegative Do not provide a default start-address 0x100 of the program. melf Target RejectNegative Link to emit program in ELF format (rather than mmo). mbranch-predict Target RejectNegative Mask(BRANCH_PREDICT) Use P-mnemonics for branches statically predicted as taken. mno-branch-predict Target RejectNegative InverseMask(BRANCH_PREDICT) Don't use P-mnemonics for branches. ; We use the term "base address" since that's what Knuth uses. The base ; address goes in a global register. When addressing, it's more like ; "base address plus offset", with the offset being 0..255 from the base, ; which itself can be a symbol plus an offset. The effect is like having ; a constant pool in global registers, code offsetting from those ; registers (automatically causing a request for a suitable constant base ; address register) without having to know the specific register or the ; specific offset. The setback is that there's a limited number of ; registers, and you'll not find out until link time whether you ; should have compiled with -mno-base-addresses. mbase-addresses Target RejectNegative Mask(BASE_ADDRESSES) Use addresses that allocate global registers. mno-base-addresses Target RejectNegative InverseMask(BASE_ADDRESSES) Do not use addresses that allocate global registers. msingle-exit Target RejectNegative InverseMask(USE_RETURN_INSN) Generate a single exit point for each function. mno-single-exit Target RejectNegative Mask(USE_RETURN_INSN) Do not generate a single exit point for each function. mset-program-start= Target RejectNegative Joined Set start-address of the program. mset-data-start= Target RejectNegative Joined Set start-address of data.