[Bug target/60039] sh3 optimisation bug with -O2
olegendo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Mar 16 22:01:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60039
Oleg Endo <olegendo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kkojima at gcc dot gnu.org
--- Comment #5 from Oleg Endo <olegendo at gcc dot gnu.org> ---
On 4.9 r208592 and my newlib cross setup, I've tried compiling the
pre-processed source from attachment 32020 with '-std=gnu99 -O2 -m3 -ml -fpic'
and I get
dt r1
bt.s .L44
mov r7,r2
.L45:
mov r2,r3
add r13,r3 // r3 = op + sz
mov.l r3,@r2 // op->ov_next = ...
dt r1 // r1 = nblks - 1
bf.s .L45
mov r3,r2 // op = op + sz
mov r7,r2
.L44:
tst r2,r2
bf .L39
so the code is basically the same, just the mem store is placed before the
branch instead of the delay slot. As far as I can see, that's what is written
in the C code. Am I missing something?
More information about the Gcc-bugs
mailing list