[LLVMbugs] [Bug 9369] New: Bad legalization of vector types

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Mar 2 03:36:11 PST 2011


           Summary: Bad legalization of vector types
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nadav.rotem at intel.com
                CC: llvmbugs at cs.uiuc.edu

The code below fails with assertion in the SelectionDAG. Basically, the first
step in the SelectionDAGISel is the legalization. In the DAG there is a chain
that looks like this:

i33 extract (0, zext(v4i33))

The extract is legalized to i64 while the vector remains v4i33, and soon after
we hit an assertion because of the type mismatch.

define void @m_387() nounwind {
  %tmp658 = zext <4 x i32> undef to <4 x i33>
  br label %bb.nph11

  br label %bb.nph5

  %tmp8710 = add <4 x i33> %tmp658, undef
  br label %0

; <label>:0
  br i1 undef, label %._crit_edge6, label %0

  br i1 undef, label %._crit_edge12, label %bb.nph5

  br i1 undef, label %._crit_edge19, label %bb.nph11

  ret void

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