diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-02 21:17:37 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-05-02 21:17:37 +0000 |
commit | 1eb18897e44f2dbbed4c63f795bf54d0adb51c2a (patch) | |
tree | d9821c4e11c438b7f285a3e241b818cc8f2212bf /gcc/config/mmix/mmix.h | |
parent | b943ebc02ca8c11b980f9d6f2c3d469c2e90bb63 (diff) | |
download | gcc-1eb18897e44f2dbbed4c63f795bf54d0adb51c2a.tar.gz |
* config/mmix/mmix.opt: New file.
* config/mmix/mmix.h: Move options-related comments to mmix.opt.
(mmix_cc1_ignored_option): Don't declare.
(TARGET_OPTIONS, TARGET_MASK_LIBFUNCS, TARGET_MASK_ABI_GNU)
(TARGET_MASK_FCMP_EPSILON, TARGET_MASK_ZERO_EXTEND)
(TARGET_MASK_KNUTH_DIVISION, TARGET_MASK_TOPLEVEL_SYMBOLS)
(TARGET_MASK_BRANCH_PREDICT, TARGET_MASK_USE_RETURN_INSN)
(TARGET_MASK_BASE_ADDRESSES, TARGET_LIBFUNC, TARGET_ABI_GNU,
(TARGET_FCMP_EPSILON, TARGET_ZERO_EXTEND, TARGET_KNUTH_DIVISION)
(TARGET_TOPLEVEL_SYMBOLS, TARGET_BRANCH_PREDICT)
(TARGET_BASE_ADDRESSES, TARGET_USE_RETURN_INSN, TARGET_SWITCHES):
Don't define.
(TARGET_DEFAULT): Change TARGET_MASK_... to MASK_...
* config/mmix/mmix.c (mmix_cc1_ignored_option): Remove.
(TARGET_DEFAULT_TARGET_FLAGS): Override default.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99122 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mmix/mmix.h')
-rw-r--r-- | gcc/config/mmix/mmix.h | 83 |
1 files changed, 1 insertions, 82 deletions
diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h index 627231747e8..52aa98cfc25 100644 --- a/gcc/config/mmix/mmix.h +++ b/gcc/config/mmix/mmix.h @@ -124,15 +124,6 @@ struct machine_function GTY(()) %{!r:--defsym __.MMIX.start..text=0x100}}}\ %{!melf:%{!r:-m mmo}}%{melf|r:-m elf64mmix}" -/* Put unused option values here. */ -extern const char *mmix_cc1_ignored_option; - -#define TARGET_OPTIONS \ - {{"set-program-start=", &mmix_cc1_ignored_option, \ - N_("Set start-address of the program"), 0}, \ - {"set-data-start=", &mmix_cc1_ignored_option, \ - N_("Set start-address of data"), 0} } - /* FIXME: There's no provision for profiling here. */ #define STARTFILE_SPEC \ "crti%O%s crtbegin%O%s" @@ -156,80 +147,8 @@ extern const char *mmix_cc1_ignored_option; extern int target_flags; -#define TARGET_MASK_LIBFUNCS 1 -#define TARGET_MASK_ABI_GNU 2 -#define TARGET_MASK_FCMP_EPSILON 4 -#define TARGET_MASK_ZERO_EXTEND 8 -#define TARGET_MASK_KNUTH_DIVISION 16 -#define TARGET_MASK_TOPLEVEL_SYMBOLS 32 -#define TARGET_MASK_BRANCH_PREDICT 64 -#define TARGET_MASK_USE_RETURN_INSN 128 - -/* 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. */ -#define TARGET_MASK_BASE_ADDRESSES 128 - -/* FIXME: Get rid of this one. */ -#define TARGET_LIBFUNC (target_flags & TARGET_MASK_LIBFUNCS) -#define TARGET_ABI_GNU (target_flags & TARGET_MASK_ABI_GNU) -#define TARGET_FCMP_EPSILON (target_flags & TARGET_MASK_FCMP_EPSILON) -#define TARGET_ZERO_EXTEND (target_flags & TARGET_MASK_ZERO_EXTEND) -#define TARGET_KNUTH_DIVISION (target_flags & TARGET_MASK_KNUTH_DIVISION) -#define TARGET_TOPLEVEL_SYMBOLS (target_flags & TARGET_MASK_TOPLEVEL_SYMBOLS) -#define TARGET_BRANCH_PREDICT (target_flags & TARGET_MASK_BRANCH_PREDICT) -#define TARGET_BASE_ADDRESSES (target_flags & TARGET_MASK_BASE_ADDRESSES) -#define TARGET_USE_RETURN_INSN (target_flags & TARGET_MASK_USE_RETURN_INSN) - #define TARGET_DEFAULT \ - (TARGET_MASK_BRANCH_PREDICT | TARGET_MASK_BASE_ADDRESSES \ - | TARGET_MASK_USE_RETURN_INSN) - -/* FIXME: Provide a way to *load* the epsilon register. */ -#define TARGET_SWITCHES \ - {{"libfuncs", TARGET_MASK_LIBFUNCS, \ - N_("For intrinsics library: pass all parameters in registers")}, \ - {"no-libfuncs", -TARGET_MASK_LIBFUNCS, ""}, \ - {"abi=mmixware", -TARGET_MASK_ABI_GNU, \ - N_("Use register stack for parameters and return value")}, \ - {"abi=gnu", TARGET_MASK_ABI_GNU, \ - N_("Use call-clobbered registers for parameters and return value")}, \ - {"epsilon", TARGET_MASK_FCMP_EPSILON, \ - N_("Use epsilon-respecting floating point compare instructions")}, \ - {"no-epsilon", -TARGET_MASK_FCMP_EPSILON, ""}, \ - {"zero-extend", TARGET_MASK_ZERO_EXTEND, \ - N_("Use zero-extending memory loads, not sign-extending ones")}, \ - {"no-zero-extend", -TARGET_MASK_ZERO_EXTEND, ""}, \ - {"knuthdiv", TARGET_MASK_KNUTH_DIVISION, \ - N_("Generate divide results with reminder having the same sign as the\ - divisor (not the dividend)")}, \ - {"no-knuthdiv", -TARGET_MASK_KNUTH_DIVISION, ""}, \ - {"toplevel-symbols", TARGET_MASK_TOPLEVEL_SYMBOLS, \ - N_("Prepend global symbols with \":\" (for use with PREFIX)")}, \ - {"no-toplevel-symbols", -TARGET_MASK_TOPLEVEL_SYMBOLS, \ - N_("Do not provide a default start-address 0x100 of the program")}, \ - {"elf", 0, \ - N_("Link to emit program in ELF format (rather than mmo)")}, \ - {"branch-predict", TARGET_MASK_BRANCH_PREDICT, \ - N_("Use P-mnemonics for branches statically predicted as taken")}, \ - {"no-branch-predict", -TARGET_MASK_BRANCH_PREDICT, \ - N_("Don't use P-mnemonics for branches")}, \ - {"base-addresses", TARGET_MASK_BASE_ADDRESSES, \ - N_("Use addresses that allocate global registers")}, \ - {"no-base-addresses", -TARGET_MASK_BASE_ADDRESSES, \ - N_("Do not use addresses that allocate global registers")}, \ - {"single-exit", -TARGET_MASK_USE_RETURN_INSN, \ - N_("Generate a single exit point for each function")}, \ - {"no-single-exit", TARGET_MASK_USE_RETURN_INSN, \ - N_("Do not generate a single exit point for each function")}, \ - {"", TARGET_DEFAULT, ""}} + (MASK_BRANCH_PREDICT | MASK_BASE_ADDRESSES | MASK_USE_RETURN_INSN) /* Unfortunately, this must not reference anything in "mmix.c". */ #define TARGET_VERSION \ |