aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-10-13 21:42:57 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-10-13 21:42:57 -0700
commit6871dd65ab8357f73862aa4b44e84f5971022e38 (patch)
treeb3b02036d7e4da257ba581c301281cfe9ba71ff3 /gcc/config/sparc/sparc.c
parentf711a22be39013147e9d2ff4f11f56de7e68bc98 (diff)
downloadgcc-6871dd65ab8357f73862aa4b44e84f5971022e38.zip
gcc-6871dd65ab8357f73862aa4b44e84f5971022e38.tar.gz
gcc-6871dd65ab8357f73862aa4b44e84f5971022e38.tar.bz2
sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
* sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE. * sparc.h (PREDICATE_CODES): Update. From-SVN: r29960
Diffstat (limited to 'gcc/config/sparc/sparc.c')
-rw-r--r--gcc/config/sparc/sparc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index a9e49e7..69422c8 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;
}