[ARM/AArch64] Ensure valid vector element types for interleaved accesses
authorMatthew Simpson <mssimpso@codeaurora.org>
Mon, 10 Apr 2017 18:34:37 +0000 (18:34 +0000)
committerMatthew Simpson <mssimpso@codeaurora.org>
Mon, 10 Apr 2017 18:34:37 +0000 (18:34 +0000)
commit1468d3e04ee4f93e7951e902afbc74e585243f3f
treeb284aae10829b331611f33dd37f565ab2936b716
parent0d830ff7bf86e68d53931259af81dfa70bb9935b
[ARM/AArch64] Ensure valid vector element types for interleaved accesses

This patch refactors and strengthens the type checks performed for interleaved
accesses. The primary functional change is to ensure that the interleaved
accesses have valid element types. The added test cases previously failed
because the element type is f128.

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

llvm-svn: 299864
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMISelLowering.h
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
llvm/test/Transforms/InterleavedAccess/AArch64/interleaved-accesses.ll
llvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll