[Bug middle-end/52835] [4.7/4.8 Regression] -O3 wrongly optimizes loop __builtin_memcpy away
arnaud02 at users dot sourceforge.net
gcc-bugzilla@gcc.gnu.org
Mon Apr 2 17:54:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52835
--- Comment #3 from Arnaud Desitter <arnaud02 at users dot sourceforge.net> 2012-04-02 17:54:06 UTC ---
Additionally:
>cat xxx.f
SUBROUTINE XXX(RES,ALP,REN,NN )
DIMENSION ALP(NN),REN (NN),RES (NN)
DO IP = 1,NN
REN(IP) = 0.0
ALP(IP) = 0.0
CALL YYY(ALP(IP),REN(IP),RES(IP))
ENDDO
END
>gfortran470 -c -O3 -o xxx_O3.o xxx.f ; gfortran470 -c -O2 -o xxx_O2.o xxx.f ; nm xxx*.o
xxx_O2.o:
0000000000000000 T xxx_
U yyy_
xxx_O3.o:
U memset
0000000000000000 T xxx_
When compiled with -O3, the call to "YYY" is not generated. This is a pretty
serious wrong code generation.
More information about the Gcc-bugs
mailing list