]> granicus.if.org Git - llvm/commit
[X86] CombineShuffleWithExtract - only require 1 source to be EXTRACT_SUBVECTOR
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 28 Jun 2019 12:24:49 +0000 (12:24 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Fri, 28 Jun 2019 12:24:49 +0000 (12:24 +0000)
commitef0e051c6d035ff067d4f73fa2ed90bacfaafbae
treeb11dc691c079632d7fff5f3f5fde59ec6ac08ef7
parent5f0953343c73ccd627b25f96faf562415c724735
[X86] CombineShuffleWithExtract - only require 1 source to be EXTRACT_SUBVECTOR

We were requiring that both shuffle operands were EXTRACT_SUBVECTORs, but we can relax this to only require one of them to be.

Also, we shouldn't bother attempting this if both operands are from the lowest subvector (or not EXTRACT_SUBVECTOR at all).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364644 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/shuffle-vs-trunc-512-widen.ll
test/CodeGen/X86/shuffle-vs-trunc-512.ll
test/CodeGen/X86/vector-shuffle-256-v32.ll