OSDN Git Service

* sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Oct 1999 04:42:57 +0000 (04:42 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 14 Oct 1999 04:42:57 +0000 (04:42 +0000)
        * sparc.h (PREDICATE_CODES): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29960 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h

index ec3c93f..392a957 100644 (file)
@@ -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.
index a9e49e7..69422c8 100644 (file)
@@ -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;
     }
index 1abb047..315ea25 100644 (file)
@@ -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}},                                  \