[LLVMbugs] [Bug 749] NEW: [x86] Miscompilation of code, and extra loads

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Apr 26 23:16:52 PDT 2006


           Summary: [x86] Miscompilation of code, and extra loads
           Product: libraries
           Version: 1.7
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org
                CC: evan.cheng at apple.com,jingyuuiuc at gmail.com

Consider this code: http://llvm.org/bugs/show_bug.cgi?id=748#c3

We currently compile it to this:

        mov %EAX, %EDX
        mov %ESI, 1
        add %ESI, DWORD PTR [last]
        mov DWORD PTR [last], %ESI
        mov %ESI, DWORD PTR [last]
        mov %EDI, DWORD PTR [block]
        mov BYTE PTR [%EDI + %ESI + 1], %AL
        mov %EAX, DWORD PTR [last]
        cmp %EAX, %ECX
        setl %AL
        cmp %EDX, 257
        setne %CL
        and %AL, %CL
        test %AL, %AL

Among other badness, this has turned two loads from last into 3.  Apparently, according to Bug 748, 
we also miscompile this.

Evan, can you look into this please?


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list