Commit 6871dd65 by Richard Henderson Committed by Richard Henderson

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
parent f711a22b
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.
......
......@@ -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;
}
......
......@@ -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}}, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment