------- Comment #10 from rakdver at gcc dot gnu dot org  2006-09-28 14:15 
-------
(In reply to comment #8)
>   D.1563 = -&a;
>   MEM[base: (int *) D.1563 + &c, index: D.1562] = MEM[base: D.1562];
> 
> WTFFFFFFF

ivopts are having fun :-)  On the other hand, this is (one of several possible)
cheapest ways how to express the code, and it should not affect creation of
offsetted modes on RTL, so although this is indeed somewhat curious (well, bug
in fact, from reasons unrelated to the problem covered by this PR), it is not
the cause of this problem.

On x86, tree optimizers seem to do just fine, producing

MEM[symbol: c, index: D.1569, step: 8B] = MEM[symbol: a, index: D.1569, step:
8B];

However, on RTL, we fail to create offsetted version of this addressing mode
after unrolling.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29256

Reply via email to