Hi, This question is not appropriate for this mailing list. Please take any further discussions to the gcc-help mailing list.
On Sat, 2013-05-11 at 11:15 +0200, jacob navia wrote: > 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? These optimizations are usually turned on with -ffast-math. You also have to make sure to select the appropriate CPU or architecture type to enable the usage of certain instructions. For more information see: http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html Cheers, Oleg