------- Comment #2 from gunnar at greyhound-data dot com  2008-07-10 09:18 
-------
(In reply to comment #1)
> forward-propagate is causing some of the issues as shown by:
> int *test2(int *a ){
>   a[1]=a[0];
>   a++;
>   return a;
> }

Your example creates the following ASM code:
test2:
        mr 9,3
        addi 3,3,4
        lwz 0,0(9)
        stw 0,4(9)
        blr

Correct would be:
test2:
        lwz 0,0(3)
        stwu 0,4(3)
        blr

Is you can see the created bad code is just the same.
This is independent of the register pinning.

Can I understand you comment a verification that the forward propagation is
broken in GCC/PPC?


Kind regards

Gunnar von Boehn


-- 


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

Reply via email to