[ARM] Add earlyclobber for cross beat MVE instructions
commita1571b769799215f7e08ea6883b256956d3e4b1d
authorDavid Green <david.green@arm.com>
Fri, 13 Sep 2019 11:20:17 +0000 (13 11:20 +0000)
committerDavid Green <david.green@arm.com>
Fri, 13 Sep 2019 11:20:17 +0000 (13 11:20 +0000)
tree6c1540d83219a35865ef64e7b954b96777b2ab8c
parent70adb95bf9e0d2e85c591d2cfd8a3b832af24386
[ARM] Add earlyclobber for cross beat MVE instructions

rL367544 added @earlyclobbers for the MVE VREV64 instruction. This adds the
same for a number of other 32bit instructions that are similarly unpredictable
if the destination equals the source (due to the cross beat nature of the
instructions).
This includes:
  VCADD.f32
  VCADD.i32
  VCMUL.f32
  VHCADD.s32
  VMULLT/B.s/u32
  VQDMLADH{X}.s32
  VQRDMLADH{X}.s32
  VQDMLSDH{X}.s32
  VQRDMLSDH{X}.s32
  VQDMULLT/B.s32 with Qm and Rm

No tests here as this would require intrinsics (or very interesting codegen) to
manifest. The tests will follow naturally as the intrinsics are added.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371838 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrMVE.td