[ARM] Add earlyclobber for cross beat MVE instructions
authorDavid Green <david.green@arm.com>
Fri, 13 Sep 2019 11:20:17 +0000 (11:20 +0000)
committerDavid Green <david.green@arm.com>
Fri, 13 Sep 2019 11:20:17 +0000 (11:20 +0000)
commitb7b7f26220c63ff7d62e83a23480c0eb1e3ebbc2
tree588b164ee35a8db2793424b04c3a08393b4bad7f
parent1f644bb163332aee3113da38d4e1621069604acf
[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

llvm-svn: 371838
llvm/lib/Target/ARM/ARMInstrMVE.td