[LLVMbugs] [Bug 6121] New: Operations among __m128 and -ffast-math

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Jan 23 12:49:21 PST 2010


           Summary: Operations among __m128 and -ffast-math
           Product: new-bugs
           Version: 2.6
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Keywords: code-quality
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: bearophile at mailas.com
                CC: llvmbugs at cs.uiuc.edu

In the attach there is a small C++ program that performs few operators (* and
+) among SSE registers, that contains two versions of a function that computes
sin in a naive way (the program doesn't run, there's no main function, but it's
not hard to write a simple one). The first function is not manually optimized,
the second is a little more optimized.

If I compile both the code with llvm-g++ and -ffast-math those functions get
compiled to 66 and 43 instructions long. Without -ffast-math they become 85 and
43 instructions. So -ffast-math is doing something, but in theory when using
-ffast-math LLVM can compile the first function to something similar to the
second function. I can be wrong, I am not expert about this :-)

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list