[LLVMbugs] [Bug 14647] New: With loop vectorizer enabled, clang -march=x86-64 is non-deterministic

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Dec 19 02:14:23 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=14647

             Bug #: 14647
           Summary: With loop vectorizer enabled, clang -march=x86-64 is
                    non-deterministic
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: chandlerc at gmail.com
                CC: llvmbugs at cs.uiuc.edu, matthewbg at google.com,
                    nrotem at apple.com
    Classification: Unclassified


To reproduce this, bootstrap clang with -march=x86-64 and -O2 with the loop
vectorizer enabled. Copy the binary to the host, and then build clang again.
The new binary will not match the original.

This appears to be specific to -march=x86-64; without that flag (and thus with
the equivalent of -march=native on a nehalem-ep system) I get deterministic
results!

Nadav had some ideas about the cause of this (PHI node ordering) but I'm not
yet sure. Anyways, I'll turn the loop vectorizer back off tomorrow morning so
we can get builders and testers that do a 3-stage build back online.

-- 
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