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
This commit is contained in:
Joseph Myers 1999-04-06 16:13:57 -06:00 committed by Jeff Law
parent 34487bf857
commit ed03c6cdbb
3 changed files with 56 additions and 44 deletions

View file

@ -1,3 +1,10 @@
1999-04-06 Joseph S. Myers <jsm28@cam.ac.uk>
* 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.
Tue Apr 6 22:09:40 1999 Richard Henderson <rth@cygnus.com>
* expr.c (expand_builtin_setjmp): Put setjmp return label on

View file

@ -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;

View file

@ -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???