simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to simplify_relational_operation() unless...
* simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to simplify_relational_operation() unless both operands are of VOIDmode. * cse.c (fold_rtx): Likewise. From-SVN: r35904
This commit is contained in:
parent
f17eb5d40f
commit
95d0e5f1d0
|
@ -1,3 +1,10 @@
|
||||||
|
Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
|
* simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
|
||||||
|
simplify_relational_operation() unless both operands are of
|
||||||
|
VOIDmode.
|
||||||
|
* cse.c (fold_rtx): Likewise.
|
||||||
|
|
||||||
Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
|
Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com)
|
||||||
|
|
||||||
* rtlanal.c (rtx_unstable_p): The pic register is stable
|
* rtlanal.c (rtx_unstable_p): The pic register is stable
|
||||||
|
|
14
gcc/cse.c
14
gcc/cse.c
|
@ -3858,7 +3858,19 @@ fold_rtx (x, insn)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new = simplify_relational_operation (code, mode_arg0,
|
new = simplify_relational_operation (code,
|
||||||
|
(mode_arg0 != VOIDmode
|
||||||
|
? mode_arg0
|
||||||
|
: (GET_MODE (const_arg0
|
||||||
|
? const_arg0
|
||||||
|
: folded_arg0)
|
||||||
|
!= VOIDmode)
|
||||||
|
? GET_MODE (const_arg0
|
||||||
|
? const_arg0
|
||||||
|
: folded_arg0)
|
||||||
|
: GET_MODE (const_arg1
|
||||||
|
? const_arg1
|
||||||
|
: folded_arg1)),
|
||||||
const_arg0 ? const_arg0 : folded_arg0,
|
const_arg0 ? const_arg0 : folded_arg0,
|
||||||
const_arg1 ? const_arg1 : folded_arg1);
|
const_arg1 ? const_arg1 : folded_arg1);
|
||||||
#ifdef FLOAT_STORE_FLAG_VALUE
|
#ifdef FLOAT_STORE_FLAG_VALUE
|
||||||
|
|
|
@ -1694,7 +1694,7 @@ simplify_relational_operation (code, mode, op0, op1)
|
||||||
if (mode == VOIDmode
|
if (mode == VOIDmode
|
||||||
&& (GET_MODE (op0) != VOIDmode
|
&& (GET_MODE (op0) != VOIDmode
|
||||||
|| GET_MODE (op1) != VOIDmode))
|
|| GET_MODE (op1) != VOIDmode))
|
||||||
abort();
|
abort ();
|
||||||
|
|
||||||
/* If op0 is a compare, extract the comparison arguments from it. */
|
/* If op0 is a compare, extract the comparison arguments from it. */
|
||||||
if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
|
if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
|
||||||
|
@ -2091,7 +2091,10 @@ simplify_rtx (x)
|
||||||
XEXP (x, 0), XEXP (x, 1), XEXP (x, 2));
|
XEXP (x, 0), XEXP (x, 1), XEXP (x, 2));
|
||||||
|
|
||||||
case '<':
|
case '<':
|
||||||
return simplify_relational_operation (code, GET_MODE (XEXP (x, 0)),
|
return simplify_relational_operation (code,
|
||||||
|
(GET_MODE (XEXP (x, 0)) != VOIDmode
|
||||||
|
? GET_MODE (XEXP (x, 0))
|
||||||
|
: GET_MODE (XEXP (x, 1))),
|
||||||
XEXP (x, 0), XEXP (x, 1));
|
XEXP (x, 0), XEXP (x, 1));
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue