http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43616
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|arm-eabi |arm-eabi, x86
Known to fail| |
--- Comment #2 from Uros Bizjak <ubizjak at gmail dot com> 2012-06-17 11:03:47
UTC ---
The same problem happens on x86_64:
--cut here--
void foo (void);
float test (float a, float b)
{
foo ();
return b;
}
--cut here--
gcc -O2
test:
.LFB0:
subq $24, %rsp
movss %xmm1, (%rsp)
call foo
A movss (%rsp), %xmm1
addq $24, %rsp
B movaps %xmm1, %xmm0
ret
We could move from stack directly to xmm0