[LLVMbugs] [Bug 5694] New: ARM backend miscompiles a <= (0 - b)

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Dec 5 14:11:04 PST 2009


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

           Summary: ARM backend miscompiles a <= (0 - b)
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: vargaz at gmail.com
                CC: llvmbugs at cs.uiuc.edu


The ARM backend seems to miscompile the attached testcase.

Expected result:
Hello, World: 0
Actual result on X86:
Hello, World: 0
Actual result on ARM:
Hello, World: 1

Compiled using:
llc -march=arm bug.ll

I think the problem is that it generates the following code:
        cmn     r0, r1
        movls   r2, #1

but the cmn instruction sets the condition flags differently than the cmp
instruction.


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