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

Reply via email to