diff options
author | Joseph Myers <jsm28@cam.ac.uk> | 1999-04-06 16:13:57 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-04-06 16:13:57 -0600 |
commit | ed03c6cdbb986180b009fe365d03542a9597bb3c (patch) | |
tree | bc810a47f06b18eb75de61d77ccfcc92ede919c3 /gcc/config/pdp11 | |
parent | 34487bf85731112fd68f579b0cb1c888c71ebfef (diff) | |
download | gcc-ed03c6cdbb986180b009fe365d03542a9597bb3c.zip gcc-ed03c6cdbb986180b009fe365d03542a9597bb3c.tar.gz gcc-ed03c6cdbb986180b009fe365d03542a9597bb3c.tar.bz2 |
pdp11.c (simple_memory_operand): Add default case in switch.
* pdp11.c (simple_memory_operand): Add default case in switch.
* pdp11.h (TARGET_SWITCHES): Add help strings.
(NOTICE_UPDATE_CC): Don't include excess argument to format.
(ASM_OUTPUT_DOUBLE_INT): Remove.
From-SVN: r26227
Diffstat (limited to 'gcc/config/pdp11')
-rw-r--r-- | gcc/config/pdp11/pdp11.c | 5 | ||||
-rw-r--r-- | gcc/config/pdp11/pdp11.h | 88 |
2 files changed, 49 insertions, 44 deletions
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c index 8ca31d6..61da8c4 100644 --- a/gcc/config/pdp11/pdp11.c +++ b/gcc/config/pdp11/pdp11.c @@ -1,5 +1,5 @@ /* Subroutines for gcc2 for pdp11. - Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997, 1999 Free Software Foundation, Inc. Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at). This file is part of GNU CC. @@ -1089,6 +1089,9 @@ int simple_memory_operand(op, mode) case PLUS: /* X(R0) - extra cost */ return 0; + + default: + break; } return FALSE; diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h index 7cb7360..c8f6cd0 100644 --- a/gcc/config/pdp11/pdp11.h +++ b/gcc/config/pdp11/pdp11.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler, for the pdp-11 - Copyright (C) 1994, 1995, 1996, 1998 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1998, 1999 Free Software Foundation, Inc. Contributed by Michael K. Gschwind (mike@vlsivie.tuwien.ac.at). This file is part of GNU CC. @@ -61,50 +61,51 @@ int simple_memory_operand (); extern int target_flags; /* Macro to define tables used to set the flags. - This is a list in braces of pairs in braces, - each pair being { "NAME", VALUE } - where VALUE is the bits to set or minus the bits to clear. + This is a list in braces of triplets in braces, + each triplet being { "NAME", VALUE, DOC } + where VALUE is the bits to set or minus the bits to clear and DOC + is the documentation for --help (NULL if intentionally undocumented). An empty string NAME is used to identify the default VALUE. */ #define TARGET_SWITCHES \ -{ { "fpu", 1}, \ - { "soft-float", -1}, \ -/* return float result in ac0 */\ - { "ac0", 2}, \ - { "no-ac0", -2}, \ -/* is 11/40 */ \ - { "40", 4}, \ - { "no-40", -4}, \ -/* is 11/45 */ \ - { "45", 8}, \ - { "no-45", -8}, \ -/* is 11/10 */ \ - { "10", -12}, \ -/* use movstrhi for bcopy */ \ - { "bcopy", 16}, \ - { "bcopy-builtin", -16}, \ -/* use 32 bit for int */ \ - { "int32", 32}, \ - { "no-int16", 32}, \ - { "int16", -32}, \ - { "no-int32", -32}, \ -/* use 32 bit for float */ \ - { "float32", 64}, \ - { "no-float64", 64}, \ - { "float64", -64}, \ - { "no-float32", -64}, \ +{ { "fpu", 1, "Use hardware floating point" }, \ + { "soft-float", -1, "Do not use hardware floating point" }, \ +/* return float result in ac0 */ \ + { "ac0", 2, "Return floating point results in ac0" }, \ + { "no-ac0", -2, "Return floating point results in memory" },\ +/* is 11/40 */ \ + { "40", 4, "Generate code for an 11/40" }, \ + { "no-40", -4, "" }, \ +/* is 11/45 */ \ + { "45", 8, "Generate code for an 11/45" }, \ + { "no-45", -8, "" }, \ +/* is 11/10 */ \ + { "10", -12, "Generate code for an 11/10" }, \ +/* use movstrhi for bcopy */ \ + { "bcopy", 16, NULL }, \ + { "bcopy-builtin", -16, NULL }, \ +/* use 32 bit for int */ \ + { "int32", 32, "Use 32 bit int" }, \ + { "no-int16", 32, "Use 32 bit int" }, \ + { "int16", -32, "Use 16 bit int" }, \ + { "no-int32", -32, "Use 16 bit int" }, \ +/* use 32 bit for float */ \ + { "float32", 64, "Use 32 bit float" }, \ + { "no-float64", 64, "Use 32 bit float" }, \ + { "float64", -64, "Use 64 bit float" }, \ + { "no-float32", -64, "Use 64 bit float" }, \ /* allow abshi pattern? - can trigger "optimizations" which make code SLOW! */\ - { "abshi", 128}, \ - { "no-abshi", -128}, \ + { "abshi", 128, NULL }, \ + { "no-abshi", -128, NULL }, \ /* is branching expensive - on a PDP, it's actually really cheap */ \ /* this is just to play around and check what code gcc generates */ \ - { "branch-expensive", 256}, \ - { "branch-cheap", -256}, \ -/* split instruction and data memory? */ \ - { "split", 1024 }, \ - { "no-split", -1024 }, \ + { "branch-expensive", 256, NULL }, \ + { "branch-cheap", -256, NULL }, \ +/* split instruction and data memory? */ \ + { "split", 1024, "Target has split I&D" }, \ + { "no-split", -1024, "Target does not have split I&D" }, \ /* default */ \ - { "", TARGET_DEFAULT} \ + { "", TARGET_DEFAULT, NULL} \ } #define TARGET_DEFAULT (1 | 8 | 128) @@ -398,7 +399,7 @@ enum reg_class { NO_REGS, MUL_REGS, GENERAL_REGS, LOAD_FPU_REGS, NO_LOAD_FPU_REG This is an initializer for a vector of HARD_REG_SET of length N_REG_CLASSES. */ -#define REG_CLASS_CONTENTS {0, 0x00aa, 0x00ff, 0x0f00, 0x3000, 0x3f00, 0x3fff} +#define REG_CLASS_CONTENTS {{0}, {0x00aa}, {0x00ff}, {0x0f00}, {0x3000}, {0x3f00}, {0x3fff}} /* The same information, inverted: Return the class number of the smallest class containing @@ -1024,8 +1025,11 @@ extern struct rtx_def *cc0_reg_rtx; { /* all bets are off */ CC_STATUS_INIT; } \ if (cc_status.value1 && GET_CODE (cc_status.value1) == REG \ && cc_status.value2 \ - && reg_overlap_mentioned_p (cc_status.value1, cc_status.value2)) \ - printf ("here!\n", cc_status.value2 = 0); \ + && reg_overlap_mentioned_p (cc_status.value1, cc_status.value2)) \ + { \ + printf ("here!\n"); \ + cc_status.value2 = 0; \ + } \ } /* Control the assembler format that we output. */ @@ -1250,8 +1254,6 @@ fprintf (FILE, "$help$: . = .+8 ; space for tmp moves!\n") \ #define ASM_IDENTIFY_GCC(FILE) \ fprintf(FILE, "gcc_compiled:\n") -#define ASM_OUTPUT_DOUBLE_INT(a,b) fprintf(a,"%d", b) - /* trampoline - how should i do it in separate i+d ? have some allocate_trampoline magic??? |