[LLVMbugs] [Bug 3197] New: llvm.umul.with.overflow.i32 broken on x86

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Dec 10 20:57:04 PST 2008


           Summary: llvm.umul.with.overflow.i32 broken on x86
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sharparrow1 at yahoo.com
                CC: llvmbugs at cs.uiuc.edu

Per summary; simple testcase below.

declare {i32, i1} @llvm.umul.with.overflow.i32(i32, i32)

define i32 @main() nounwind {
  %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 -1, i32 -1)
  %sum = extractvalue {i32, i1} %t, 0
  %obit = extractvalue {i32, i1} %t, 1 ; This should be 1
  %notobit = xor i1 %obit, 1
  %ret = zext i1 %notobit to i32
  ret i32 %ret ; This should return 0

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