This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Calculating cosinus/sinus
- From: jacob navia <jacob at jacob dot remcomp dot fr>
- To: gcc at gcc dot gnu dot org
- Date: Sat, 11 May 2013 11:15:21 +0200
- Subject: Calculating cosinus/sinus
- Reply-to: jacob at jacob dot remcomp dot fr
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