Make operands for VSWP read-modify-write.
authorLang Hames <lhames@gmail.com>
Mon, 13 Feb 2012 23:37:19 +0000 (23:37 +0000)
committerLang Hames <lhames@gmail.com>
Mon, 13 Feb 2012 23:37:19 +0000 (23:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150433 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrNEON.td

index d597a121ec1bfe893464915f87017483b2b2327b..77e47e88aeb10ae7637159b32f25e0d198065286 100644 (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.