(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))
|
if (op == const0_rtx || register_operand (op, mode))
|
||||||
return 1;
|
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_HIGH (op) == 0
|
||||||
&& CONST_DOUBLE_LOW (op) == 0)
|
&& CONST_DOUBLE_LOW (op) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
|
if (GET_MODE_CLASS (GET_MODE (op)) == MODE_FLOAT
|
||||||
|
&& GET_CODE (op) == CONST_DOUBLE
|
||||||
|
&& fp_zero_operand (op))
|
||||||
|
return 1;
|
||||||
return 0;
|
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. */
|
/* Nonzero if OP can appear as the dest of a RESTORE insn. */
|
||||||
int
|
int
|
||||||
restore_operand (op, mode)
|
restore_operand (op, mode)
|
||||||
|
Loading…
Reference in New Issue
Block a user