[ARM] Add sign and zero extend patterns for MVE
commit5e13867aa38a53e87ac373299c74e9489c9ea6a3
authorDavid Green <david.green@arm.com>
Sat, 13 Jul 2019 15:43:00 +0000 (13 15:43 +0000)
committerDavid Green <david.green@arm.com>
Sat, 13 Jul 2019 15:43:00 +0000 (13 15:43 +0000)
tree31ff2c4f5c4eaf6f842d808bba21452836a20c85
parenta0b295955465b32b046197cdf626ae482759ad39
[ARM] Add sign and zero extend patterns for MVE

The vmovlb instructions can be uses to sign or zero extend vector registers
between types. This adds some patterns for them and relevant testing. The
VBICIMM generation is also put behind a hasNEON check (as is already done for
VORRIMM).

Code originally by David Sherwood.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366008 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrMVE.td
test/CodeGen/Thumb2/mve-sext.ll [new file with mode: 0644]