summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2012-02-13 23:37:19 +0000
committerLang Hames <lhames@gmail.com>2012-02-13 23:37:19 +0000
commit2cc494b963e68895d6b6173bcc2ea02995d71442 (patch)
tree9a87eea785ef54c169c59c862f5a3a8db48a98be
parent16a7ff31655aa2de65d86472edcb71cf2df3ac3a (diff)
Make operands for VSWP read-modify-write.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150433 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrNEON.td10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMInstrNEON.td b/lib/Target/ARM/ARMInstrNEON.td
index d597a121ec1..77e47e88aeb 100644
--- a/lib/Target/ARM/ARMInstrNEON.td
+++ b/lib/Target/ARM/ARMInstrNEON.td
@@ -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.