Assembler code with useless instructions

Robert Dewar dewar@adacore.com
Thu May 19 17:22:00 GMT 2011


On 5/19/2011 1:14 PM, Diego Caballero wrote:
> Hello,
>
> sorry, this is my first mail and I don't know if I'm in the right place.
> I get 10% lower performance due to an assemble instruction that seems
> to be useless.
> I have a lot of this blocks (exactly the sames) in my code:
>
>    callq     400a50<expf@plt>
>    movaps %xmm0,%xmm4
>    movss   (%r15),%xmm0
>    movss   %xmm4,0x40(%rsp)
>    callq     400a50<expf@plt>
>    ...
>
> and at the end of them:
>
>    movss   0x40(%rsp),%xmm4
>
> %xmm4 is not read in the middle, so I don't understand why gcc generates
> the second instruction, instead of something like that:
>
>    movss  %xmm0,0x40(%rsp)
>    movss  (%r15),%xmm0
>    callq  400a50<expf@plt>
>    ...
>    movss  0x40(%rsp),%xm
> Thank you in advance.
> Best regards.

you are not in the "right place", this mailing list is for
development of gcc, not helping with its use. Try gcc help
>
> --
> Diego Caballero



More information about the Gcc mailing list