[X86] Limit X86InterleavedAccessGroup to handle the same type case only
authorWang, Pengfei <pengfei.wang@intel.com>
Wed, 19 May 2021 10:01:11 +0000 (18:01 +0800)
committerWang, Pengfei <pengfei.wang@intel.com>
Wed, 19 May 2021 10:39:08 +0000 (18:39 +0800)
commitca23a38e373142a18ab56700ba4f3b947bfe9db0
tree2e9fff624db5350bc7845ee2519cf3331c1aedcf
parent81b2fcf26fcaff1dfc7fcc30eb0de79d643e85e6
[X86] Limit X86InterleavedAccessGroup to handle the same type case only

The current implementation assumes the destination type of shuffle is the same as the decomposed ones. Add the check to avoid crush when the condition is not satisfied.

This fixes PR37616.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D102751
llvm/lib/Target/X86/X86InterleavedAccess.cpp
llvm/test/CodeGen/X86/x86-interleaved-access.ll