[llvm-bugs] [Bug 30614] New: [i686, pre-SSE41] vec3 type legalization fails for zero_extend_vector_inreg

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Oct 4 15:29:41 PDT 2016


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: pirama at google.com
          Reporter: pirama at google.com
                CC: llvm-bugs at lists.llvm.org, llvm-dev at redking.me.uk,
                    srhines at google.com
    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 at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161004/6e347dfb/attachment.html>


More information about the llvm-bugs mailing list