Hi all,<br><br>I am observing an excessive use of xmm registers in the output assembly produced by x86 backend.  Basically, for a code like this<br><br><pre>double test(double a, double b) {<br> double c;<br><br> c = 1.0 + sin (a + b*b);<br>
<br> return c;<br>}</pre><br>llc produced somthing like....<br><pre>movsd   16(%ebp), %xmm0<br>       mulsd   %xmm0, %xmm0<br>       addsd   8(%ebp), %xmm0<br>       movsd   %xmm0, (%esp)<br>       .......<br>       fstpl   -8(%ebp<br>
       movsd   -8(%ebp), %xmm0<br>       addsd   .LC1, %xmm0<br>       movsd   %xmm0, -8(%ebp)<br>       fldl    -8(%ebp)</pre><br>LLVM Backend is using xmms it involves a lot of register moves. llc has one option -mcpu=686, where output does not use xmm but it disables some other instructions also. Is there any fine grain optimization flag like ( -mfpmath = 387 which is present in gcc) which would just instruction backend to use fpstack instead of SSE instructions and still not limit the instructions<br>
<br>Thanks<br><br>--Kapil<br><br>.<br>