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

Reply via email to