Calculating cosinus/sinus

jacob navia jacob@jacob.remcomp.fr
Sat May 11 09:15:00 GMT 2013


Hi

When caculating the cos/sinus, gcc generates a call to a complicated 
routine that takes several thousand instructions to execute.

Suppose the value is stored in some XMM register, say xmm0 and the 
result should be in another xmm register, say xmm1.

Why it doesn't generate:

     movsd    %xmm0,(%rsp)
     fldl     (%rsp)
     fsin
     fstpl    (%rsp)
     movsd    (%rsp),%xmm1

My compiler system (lcc-win) is generating that when optimizations are 
ON. Maybe there are some flags in gcc that I am missing?

Ã’r there is some other reason?

Thanks in advance for your attention.

jacob



More information about the Gcc mailing list