[LLVMbugs] [Bug 2762] New: LegalizeTypes abort on vector cast

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Sep 4 11:45:50 PDT 2008


           Summary: LegalizeTypes abort on vector cast
           Product: libraries
           Version: trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: gohman at apple.com
                CC: llvmbugs at cs.uiuc.edu

Running the following on x86 with legalize-types enabled:

define void @foo(<4 x i32>* %p, <4 x double>* %q) {
  %n = load <4 x i32>* %p
  %z = sitofp <4 x i32> %n to <4 x double>
  store <4 x double> %z, <4 x double>* %q
  ret void

results in this assertion failure:

Assertion failed: (Entry.first.getNode() && "Operand isn't split"), function
GetSplitVector, file lib/CodeGen/SelectionDAG/LegalizeTypes.cpp, line 532.

The <4 x i32> is Legal, so it isn't split, but then the <4 x double> is
not Legal and needs to be split, and LegalizeTypes assumes that the
operands have already been split.

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