diff options
author | Richard Henderson <rth@cygnus.com> | 1999-10-13 21:42:57 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-10-13 21:42:57 -0700 |
commit | 6871dd65ab8357f73862aa4b44e84f5971022e38 (patch) | |
tree | b3b02036d7e4da257ba581c301281cfe9ba71ff3 /gcc/config/sparc/sparc.c | |
parent | f711a22be39013147e9d2ff4f11f56de7e68bc98 (diff) | |
download | gcc-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.c | 9 |
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; } |