diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-14 04:42:57 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-14 04:42:57 +0000 |
commit | a277275f7e46ec5ecd83ab591a4ded35376ed4ce (patch) | |
tree | b3b02036d7e4da257ba581c301281cfe9ba71ff3 /gcc | |
parent | bb4e263cda9ef80b576650fcf7c158fb601f47db (diff) | |
download | gcc-a277275f7e46ec5ecd83ab591a4ded35376ed4ce.tar.gz |
* sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
* sparc.h (PREDICATE_CODES): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29960 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 9 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.h | 2 |
3 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ec3c93f99bb..392a9579564 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 13 21:41:59 1999 Richard Henderson <rth@cygnus.com> + + * sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE. + * sparc.h (PREDICATE_CODES): Update. + Wed Oct 13 21:18:17 1999 Richard Henderson <rth@cygnus.com> * alpha.c (some_ni_operand): New. diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index a9e49e719f3..69422c8c022 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -490,6 +490,11 @@ symbolic_operand (op, mode) register rtx op; enum machine_mode mode; { + enum machine_mode omode = GET_MODE (op); + + if (omode != mode && omode != VOIDmode && mode != VOIDmode) + return 0; + switch (GET_CODE (op)) { case SYMBOL_REF: @@ -502,10 +507,6 @@ symbolic_operand (op, mode) || GET_CODE (XEXP (op, 0)) == LABEL_REF) && GET_CODE (XEXP (op, 1)) == CONST_INT); - /* ??? This clause seems to be irrelevant. */ - case CONST_DOUBLE: - return GET_MODE (op) == mode; - default: return 0; } diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 1abb0479b37..315ea251cbb 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -3238,7 +3238,7 @@ do { \ {"call_operand", {MEM}}, \ {"call_operand_address", {SYMBOL_REF, LABEL_REF, CONST, CONST_DOUBLE, \ ADDRESSOF, SUBREG, REG, PLUS, LO_SUM, CONST_INT}}, \ -{"symbolic_operand", {SYMBOL_REF, LABEL_REF, CONST, CONST_DOUBLE}}, \ +{"symbolic_operand", {SYMBOL_REF, LABEL_REF, CONST}}, \ {"symbolic_memory_operand", {SUBREG, MEM}}, \ {"label_ref_operand", {LABEL_REF}}, \ {"sp64_medium_pic_operand", {CONST}}, \ |