Commit 5141ed42 by Jeff Law Committed by Jeff Law

re PR rtl-optimization/42522 ((zero_extract:SI (mem:QI) ...) misoptimized)

        PR rtl-optimization/42522
        * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
        SIGN_EXTRACT as a whole object rather than simplifying
        its operand.

From-SVN: r222125
parent 366ee94b
2015-04-15 Jeff Law <law@redhat.com>
PR rtl-optimization/42522
* cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
SIGN_EXTRACT as a whole object rather than simplifying
its operand.
2015-04-15 Jakub Jelinek <jakub@redhat.com>
PR ipa/65765
......
......@@ -3150,6 +3150,15 @@ fold_rtx (rtx x, rtx_insn *insn)
{
case MEM:
case SUBREG:
/* The first operand of a SIGN/ZERO_EXTRACT has a different meaning
than it would in other contexts. Basically its mode does not
signify the size of the object read. That information is carried
by size operand. If we happen to have a MEM of the appropriate
mode in our tables with a constant value we could simplify the
extraction incorrectly if we allowed substitution of that value
for the MEM. */
case ZERO_EXTRACT:
case SIGN_EXTRACT:
if ((new_rtx = equiv_constant (x)) != NULL_RTX)
return new_rtx;
return x;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment