[X86][SSE] lowerV16I8Shuffle - tryToWidenViaDuplication - undef unpack args
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 19 Oct 2019 13:18:02 +0000 (13:18 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 19 Oct 2019 13:18:02 +0000 (13:18 +0000)
commitb5088aa9442fb610f452c5a6c93c1964962c4159
treef1342d431621b363a94f67af399005936e90d5d5
parent6ada70d1b55b9efb8b0603575a0b86e14f049553
[X86][SSE] lowerV16I8Shuffle - tryToWidenViaDuplication - undef unpack args

tryToWidenViaDuplication lowers using the shuffle_v8i16(unpack_v16i8(shuffle_v8i16(x),shuffle_v8i16(x))) pattern, but the unpack only needs the even/odd 16i8 args if the original v16i8 shuffle mask references the even/odd elements - which isn't true for many extension style shuffles.

llvm-svn: 375342
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/bitcast-and-setcc-128.ll
llvm/test/CodeGen/X86/bitcast-setcc-128.ll
llvm/test/CodeGen/X86/vec_int_to_fp.ll
llvm/test/CodeGen/X86/vector-reduce-mul.ll
llvm/test/CodeGen/X86/vector-sext.ll
llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
llvm/test/CodeGen/X86/widen_conv-3.ll