combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST

* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
        * rs6000.md: Only access a CONST_INT with INTVAL

From-SVN: r30729
This commit is contained in:
Franz Sirl 1999-11-30 23:19:06 +00:00 committed by Richard Henderson
parent e5b7ca327d
commit 481c7efae8
3 changed files with 15 additions and 3 deletions

View File

@ -1,3 +1,8 @@
Tue Nov 30 15:18:35 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
* rs6000.md: Only access a CONST_INT with INTVAL
Tue Nov 30 14:21:00 1999 Richard Henderson <rth@cygnus.com>
* lcm.c (compute_laterin): Cast bb->aux to size_t not int.

View File

@ -1547,7 +1547,9 @@ try_combine (i3, i2, i1)
if (i == XVECLEN (p2, 0))
for (i = 0; i < XVECLEN (p2, 0); i++)
if (SET_DEST (XVECEXP (p2, 0, i)) == SET_SRC (PATTERN (i3)))
if ((GET_CODE (XVECEXP (p2, 0, i)) == SET
|| GET_CODE (XVECEXP (p2, 0, i)) == CLOBBER)
&& SET_DEST (XVECEXP (p2, 0, i)) == SET_SRC (PATTERN (i3)))
{
combine_merges++;

View File

@ -1717,11 +1717,16 @@
""
"
{
int i = exact_log2 (INTVAL (operands[2]));
int i;
rtx temp1;
rtx temp2;
if (GET_CODE (operands[2]) != CONST_INT || i < 0)
if (GET_CODE (operands[2]) != CONST_INT)
FAIL;
i = exact_log2 (INTVAL (operands[2]));
if (i < 0)
FAIL;
temp1 = gen_reg_rtx (SImode);