simplify-rtx.c (simplify_binary_operation): Simplify contents of CONST.

* simplify-rtx.c (simplify_binary_operation): Simplify contents
        of CONST.

From-SVN: r45447
This commit is contained in:
Richard Henderson 2001-09-06 15:14:43 -07:00 committed by Richard Henderson
parent a1dc9455a3
commit 7d8be4dab0
2 changed files with 27 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2001-09-06 Richard Henderson <rth@redhat.com>
* simplify-rtx.c (simplify_binary_operation): Simplify contents
of CONST.
2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register

View File

@ -1275,6 +1275,28 @@ simplify_binary_operation (code, mode, op0, op1)
return simplify_gen_binary (AND, mode, op0,
gen_rtx_NOT (mode, XEXP (op1, 0)));
}
/* Simplify operations with constants containing embedded offsets. */
if (GET_CODE (op0) == CONST)
{
tem = simplify_binary_operation (code, mode, XEXP (op0, 0), op1);
if (tem)
{
if (CONSTANT_P (op1) && ! CONSTANT_P (tem))
tem = gen_rtx_CONST (mode, tem);
return tem;
}
}
if (GET_CODE (op1) == CONST)
{
tem = simplify_binary_operation (code, mode, op0, XEXP (op1, 0));
if (tem)
{
if (CONSTANT_P (op0) && ! CONSTANT_P (tem))
tem = gen_rtx_CONST (mode, tem);
return tem;
}
}
break;
case MULT: