Re: [Bug rtl-optimization/44323] New: IRA/reload moves asm statement

2010-05-29 Thread Andrew Pinski
I don't think this is valid. You cannot depend on where the spill will happen around a function call. It is spilling to save the volatile register. With -O, we don't use volatile registers to keep variables across functions. While at -O2 we do so it saves it right before the function call.

[Bug rtl-optimization/44323] New: IRA/reload moves asm statement

2010-05-29 Thread hjl dot tools at gmail dot com
On Linux/x86-64, IRA/reload moves asm statement by adding "movss" at -O2: [...@gnu-6 vzeroupper-1]$ cat foo.c extern void bar2 (void); float foo (float y) { asm volatile ("nop"); bar2 (); return y; } [...@gnu-6 vzeroupper-1]$ gcc -S -O foo.c [...@gnu-6 vzeroupper-1]$ cat foo.s .file