OSDN Git Service

[X86][AVX] insert_subvector(bitcast(v), bitcast(s), c1) -> bitcast(insert_subvector...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 31 Jan 2019 17:38:10 +0000 (17:38 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 31 Jan 2019 17:38:10 +0000 (17:38 +0000)
commitf4b5e068af8b2f388de2f70ffc15663afd804c70
treecc3b600cc91a4bb62d444db6d607f039038ce9b0
parent05f65683d04a202936d735e1e879c6bdef672db4
[X86][AVX] insert_subvector(bitcast(v), bitcast(s), c1) -> bitcast(insert_subvector(v,s,c2))

Similar to what we already do in DAGCombiner, but this version also handles bitcasts from types with different scalar sizes, which x86 is better at handling.

Differential Revision: https://reviews.llvm.org/D57514

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352773 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/combine-sdiv.ll
test/CodeGen/X86/insert-into-constant-vector.ll
test/CodeGen/X86/vector-shuffle-256-v16.ll
test/CodeGen/X86/x86-interleaved-access.ll