[ARM] Adjust how NEON shifts are lowered
commita9d10c1c1f4dba1c4984931481a68e33cb2e8d64
authorDavid Green <david.green@arm.com>
Mon, 15 Jul 2019 10:44:50 +0000 (15 10:44 +0000)
committerDavid Green <david.green@arm.com>
Mon, 15 Jul 2019 10:44:50 +0000 (15 10:44 +0000)
treef99a9a0bc4e106eb915fec76f1a3ccebc0a3f4f6
parent3432f06be35b1cdf14345e6ee39ef03d14dec77a
[ARM] Adjust how NEON shifts are lowered

This adjusts the way that we lower NEON shifts to use a DAG target node, not
via a neon intrinsic. This is useful for handling MVE shifts operations in the
same the way. It also renames some of the immediate shift nodes for
consistency, and moves some of the processing of immediate shifts into
LowerShift allowing it to capture more cases.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366051 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrNEON.td
test/CodeGen/ARM/vpadd.ll
test/CodeGen/ARM/vuzp.ll