Make operands for VSWP read-modify-write.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150433 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lang Hames 2012-02-13 23:37:19 +00:00
parent 16a7ff3165
commit 2cc494b963

View File

@ -4869,11 +4869,13 @@ def VCNTq : N2VQInt<0b11, 0b11, 0b00, 0b00, 0b01010, 0,
// Vector Swap
def VSWPd : N2VX<0b11, 0b11, 0b00, 0b10, 0b00000, 0, 0,
(outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
"vswp", "$Vd, $Vm", "", []>;
(outs DPR:$Vd, DPR:$Vd1), (ins DPR:$Vm, DPR:$Vm1),
NoItinerary, "vswp", "$Vd, $Vm", "$Vm = $Vd1, $Vm1 = $Vd",
[]>;
def VSWPq : N2VX<0b11, 0b11, 0b00, 0b10, 0b00000, 1, 0,
(outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
"vswp", "$Vd, $Vm", "", []>;
(outs QPR:$Vd, QPR:$Vd1), (ins QPR:$Vm, QPR:$Vm1),
NoItinerary, "vswp", "$Vd, $Vm", "$Vm = $Vd1, $Vm1 = $Vd",
[]>;
// Vector Move Operations.