diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-04 07:44:33 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-04-04 07:44:33 +0000 |
commit | 0a04a0322b8755ae29cef226d23f2fe470c43af5 (patch) | |
tree | 75ecd626acd03323c27d662f064484348860982c /gcc/config/pdp11/pdp11.c | |
parent | 98fc7ffa300b1dc33a609033b0fad285fb35373d (diff) | |
download | gcc-0a04a0322b8755ae29cef226d23f2fe470c43af5.tar.gz |
* config/pdp11/pdp11.h (target_flags, TARGET_SWITCHES, TARGET_DEFAULT)
(TARGET_FPU, TARGET_SOFT_FLOAT, TARGET_AC0, TARGET_NO_AC0, TARGET_45)
(TARGET_BCOPY_BUILTIN, TARGET_INT16, TARGET_INT32, TARGET_FLOAT32)
(TARGET_FLOAT64, TARGET_ABSHI_BUILTIN, TARGET_BRANCH_EXPENSIVE)
(TARGET_BRANCH_CHEAP, TARGET_SPLIT, TARGET_NOSPLIT)
(TARGET_UNIX_ASM): Delete.
(TARGET_40_PLUS): Redefine in terms of TARGET_40 and TARGET_45.
* config/pdp11/2bsd.h (TARGET_UNIX_ASM_DEFAULT): Use MASK_UNIX_ASM.
* config/pdp11/pdp11.c (pdp11_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
* config/pdp11/pdp11.opt: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97525 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/pdp11/pdp11.c')
-rw-r--r-- | gcc/config/pdp11/pdp11.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c index b0f6e3de391..9f37d589912 100644 --- a/gcc/config/pdp11/pdp11.c +++ b/gcc/config/pdp11/pdp11.c @@ -138,6 +138,7 @@ decode_pdp11_d (const struct real_format *fmt ATTRIBUTE_UNUSED, /* This is where the condition code register lives. */ /* rtx cc0_reg_rtx; - no longer needed? */ +static bool pdp11_handle_option (size_t, const char *, int); static rtx find_addr_reg (rtx); static const char *singlemove_string (rtx *); static bool pdp11_assemble_integer (rtx, unsigned int, int); @@ -166,6 +167,12 @@ static bool pdp11_return_in_memory (tree, tree); #undef TARGET_ASM_CLOSE_PAREN #define TARGET_ASM_CLOSE_PAREN "]" +#undef TARGET_DEFAULT_TARGET_FLAGS +#define TARGET_DEFAULT_TARGET_FLAGS \ + (MASK_FPU | MASK_45 | MASK_ABSHI_BUILTIN | TARGET_UNIX_ASM_DEFAULT) +#undef TARGET_HANDLE_OPTION +#define TARGET_HANDLE_OPTION pdp11_handle_option + #undef TARGET_RTX_COSTS #define TARGET_RTX_COSTS pdp11_rtx_costs @@ -174,6 +181,23 @@ static bool pdp11_return_in_memory (tree, tree); struct gcc_target targetm = TARGET_INITIALIZER; +/* Implement TARGET_HANDLE_OPTION. */ + +static bool +pdp11_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED, + int value ATTRIBUTE_UNUSED) +{ + switch (code) + { + case OPT_m10: + target_flags &= ~(MASK_40 | MASK_45); + return true; + + default: + return true; + } +} + /* Nonzero if OP is a valid second operand for an arithmetic insn. */ int |