https://llvm.org/bugs/show_bug.cgi?id=30614

            Bug ID: 30614
           Summary: [i686, pre-SSE41] vec3 type legalization fails for
                    zero_extend_vector_inreg
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected]
    Classification: Unclassified

The following IR fails type legalization:

$ cat < vec3-zext.ll
define <3 x i16> @_Z14convert_short3Dv3_h(<3 x i8>) local_unnamed_addr #6 {
  %2 = zext <3 x i8> %0 to <3 x i16>
  ret <3 x i16> %2
}

$ llc -mtriple=i686-android-linux vec3-zext.ll -O 3 -mcpu=atom
pirama@pirama:XX:llvm-build$ llc -mtriple=i686-android-linux ext.ll -O 3
-mcpu=atom
PromoteIntegerResult #0: t29: v4i16 = zero_extend_vector_inreg t28

Do not know how to promote this operator!
UNREACHABLE executed at
/ssd1/pirama/llvm-upstream/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:51!

This was introduced in r264062 where zero_extend changed to
zero_extend_vector_inreg during DAG combine.

I'll add the relevant legalization hooks to make this test pass.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to