[VE] Add lvm/svm intrinsic instructions
authorKazushi (Jam) Marukawa <marukawa@nec.com>
Sat, 14 Nov 2020 14:37:46 +0000 (23:37 +0900)
committerKazushi (Jam) Marukawa <marukawa@nec.com>
Mon, 16 Nov 2020 22:05:36 +0000 (07:05 +0900)
commit38621c45a8fe8ef6b96f4c92919f6fd35b15f3d6
tree16e2b820bef23fba2662b85b1e122bf1a6a65882
parentc7cbf32f5770c5eec2a2dd6eb7cf3153e654ed08
[VE] Add lvm/svm intrinsic instructions

Add lvm/svm intrinsic instructions and a regression test.  Change
RegisterInfo to specify that VM0/VMP0 are constant and reserved
registers.  This modifies a vst regression test, so update it.
Also add pseudo instructions for VM512 register classes
and mechanism to expand them after register allocation.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D91541
llvm/include/llvm/IR/IntrinsicsVEVL.gen.td
llvm/lib/Target/VE/VEInstrInfo.cpp
llvm/lib/Target/VE/VEInstrIntrinsicVL.gen.td
llvm/lib/Target/VE/VEInstrVec.td
llvm/lib/Target/VE/VERegisterInfo.cpp
llvm/test/CodeGen/VE/VELIntrinsics/lvm.ll [new file with mode: 0644]
llvm/test/CodeGen/VE/VELIntrinsics/vst.ll