[X86][AVX] combineExtractSubvector - 'little to big' extract_subvector(bitcast()...
commit1b9deee54e2518acf32e2b3c75fd8b41daf4afac
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 26 Jun 2019 11:21:09 +0000 (26 11:21 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 26 Jun 2019 11:21:09 +0000 (26 11:21 +0000)
tree690ee30e7c351526b00ab47f015efa0330c96a8a
parent9eaa8818a5766f3230b2dff91ad40d706800329d
[X86][AVX] combineExtractSubvector - 'little to big' extract_subvector(bitcast()) support

Ideally this needs to be a generic combine in DAGCombiner::visitEXTRACT_SUBVECTOR but there's some nasty regressions in aarch64 due to neon shuffles not handling bitcasts at all.....

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364407 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avg.ll
test/CodeGen/X86/horizontal-reduce-smax.ll
test/CodeGen/X86/horizontal-reduce-smin.ll
test/CodeGen/X86/horizontal-reduce-umax.ll
test/CodeGen/X86/horizontal-reduce-umin.ll
test/CodeGen/X86/vector-reduce-mul-widen.ll
test/CodeGen/X86/vector-reduce-mul.ll
test/CodeGen/X86/vselect.ll