diff options
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index ed8aca5..1c1a441 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6518,7 +6518,7 @@ find_equiv_reg (rtx goal, rtx insn, enum reg_class class, int other, enum rtx_code code = GET_CODE (XEXP (goal, 0)); if (MEM_VOLATILE_P (goal)) return 0; - if (flag_float_store && GET_MODE_CLASS (GET_MODE (goal)) == MODE_FLOAT) + if (flag_float_store && SCALAR_FLOAT_MODE_P (GET_MODE (goal))) return 0; /* An address with side effects must be reexecuted. */ switch (code) @@ -6609,8 +6609,7 @@ find_equiv_reg (rtx goal, rtx insn, enum reg_class class, int other, = true_regnum (valtry = SET_DEST (pat))) >= 0) || (REG_P (SET_DEST (pat)) && GET_CODE (XEXP (tem, 0)) == CONST_DOUBLE - && (GET_MODE_CLASS (GET_MODE (XEXP (tem, 0))) - == MODE_FLOAT) + && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0))) && GET_CODE (goal) == CONST_INT && 0 != (goaltry = operand_subword (XEXP (tem, 0), 0, 0, @@ -6624,8 +6623,7 @@ find_equiv_reg (rtx goal, rtx insn, enum reg_class class, int other, NULL_RTX)) && REG_P (SET_DEST (pat)) && GET_CODE (XEXP (tem, 0)) == CONST_DOUBLE - && (GET_MODE_CLASS (GET_MODE (XEXP (tem, 0))) - == MODE_FLOAT) + && SCALAR_FLOAT_MODE_P (GET_MODE (XEXP (tem, 0))) && GET_CODE (goal) == CONST_INT && 0 != (goaltry = operand_subword (XEXP (tem, 0), 1, 0, VOIDmode)) |