[ARM] MVE vector for 64bit types
commitad47ff39b68ece00e0c8131d68927115847b41d7
authorDavid Green <david.green@arm.com>
Mon, 15 Jul 2019 18:42:54 +0000 (15 18:42 +0000)
committerDavid Green <david.green@arm.com>
Mon, 15 Jul 2019 18:42:54 +0000 (15 18:42 +0000)
tree18026ecf3d27a35a82ae024f4afdb7e5eb5bbd11
parent270015111050e60a6a0963addd1d0ca3ee145db6
[ARM] MVE vector for 64bit types

We need to make sure that we are sensibly dealing with vectors of types v2i64
and v2f64, even if most of the time we cannot generate native operations for
them. This mostly adds a lot of testing, plus fixes up a couple of the issues
found. And, or and xor can be legal for v2i64, and shifts combining needs a
slight fixup.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366106 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrMVE.td
test/CodeGen/Thumb2/mve-abs.ll
test/CodeGen/Thumb2/mve-bitarith.ll
test/CodeGen/Thumb2/mve-div-expand.ll
test/CodeGen/Thumb2/mve-fmath.ll
test/CodeGen/Thumb2/mve-fp-negabs.ll
test/CodeGen/Thumb2/mve-frint.ll
test/CodeGen/Thumb2/mve-minmax.ll
test/CodeGen/Thumb2/mve-neg.ll
test/CodeGen/Thumb2/mve-sext.ll
test/CodeGen/Thumb2/mve-shifts.ll
test/CodeGen/Thumb2/mve-shuffle.ll
test/CodeGen/Thumb2/mve-simple-arith.ll
test/CodeGen/Thumb2/mve-soft-float-abi.ll
test/CodeGen/Thumb2/mve-vcvt.ll
test/CodeGen/Thumb2/mve-vdup.ll
test/CodeGen/Thumb2/mve-vmovimm.ll
test/CodeGen/Thumb2/mve-vmvnimm.ll