(reg_or_0_operand): Use fp_zero_operand.
(fp_zero_operand): New function. From-SVN: r5113
This commit is contained in:
parent
96f69de58d
commit
302484ff4a
@ -96,13 +96,28 @@ reg_or_0_operand (op, mode)
|
||||
{
|
||||
if (op == const0_rtx || register_operand (op, mode))
|
||||
return 1;
|
||||
if (GET_CODE (op) == CONST_DOUBLE
|
||||
if (GET_MODE (op) == DImode && GET_CODE (op) == CONST_DOUBLE
|
||||
&& CONST_DOUBLE_HIGH (op) == 0
|
||||
&& CONST_DOUBLE_LOW (op) == 0)
|
||||
return 1;
|
||||
if (GET_MODE_CLASS (GET_MODE (op)) == MODE_FLOAT
|
||||
&& GET_CODE (op) == CONST_DOUBLE
|
||||
&& fp_zero_operand (op))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Nonzero if OP is a floating point value with value 0.0. */
|
||||
int
|
||||
fp_zero_operand (op)
|
||||
rtx op;
|
||||
{
|
||||
REAL_VALUE_TYPE r;
|
||||
|
||||
REAL_VALUE_FROM_CONST_DOUBLE (r, op);
|
||||
return REAL_VALUES_EQUAL (r, dconst0);
|
||||
}
|
||||
|
||||
/* Nonzero if OP can appear as the dest of a RESTORE insn. */
|
||||
int
|
||||
restore_operand (op, mode)
|
||||
|
Loading…
Reference in New Issue
Block a user