HomePhabricator

[ARM] MVE vector shuffles

Description

[ARM] MVE vector shuffles

This patch adds necessary shuffle vector and buildvector support for ARM MVE.
It essentially adds support for VDUP, VREVs and some VMOVs, which are often
required by other code (like upcoming patches).

This mostly uses the same code from Neon that already generated
NEONvdup/NEONvduplane/NEONvrev's. These have been renamed to ARMvdup/etc and
moved to ARMInstrInfo as they are common to both architectures. Most of the
selection code seems to be applicable to both, but NEON does have some more
instructions making some parts specific.

Most code originally by David Sherwood.

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

Details

Committed
dmgreenJun 28 2019, 12:08 AM
Differential Revision
D63567: [ARM] Mve vector shuffles
Parents
rL364625: [X86] Connect the output chain properly when combining vzext_movl+load into…
Branches
Unknown
Tags
Unknown