]> granicus.if.org Git - llvm/commit
[X86] Combine zext(packus(x),packus(y)) -> concat(x,y) (PR39637)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 24 Feb 2019 19:57:52 +0000 (19:57 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 24 Feb 2019 19:57:52 +0000 (19:57 +0000)
commitbeec1204cee41df48cdfa3ee929cddc4256c3131
treee99c379689247a31e90e7ea2bd92c2e4634842e1
parent638ee4f4fc9e2844294cf3b827c986298f86b71f
[X86] Combine zext(packus(x),packus(y)) -> concat(x,y) (PR39637)

Its proving tricky to combine shuffles across multiple vector sizes, so for now I'm adding this more specific combine - the pattern is common enough to be worth it as a first step.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354757 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/combine-udiv.ll
test/CodeGen/X86/vector-idiv-udiv-128.ll
test/CodeGen/X86/vector-reduce-mul-widen.ll
test/CodeGen/X86/vector-reduce-mul.ll