diff options
author | Lang Hames <lhames@gmail.com> | 2012-02-13 23:37:19 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2012-02-13 23:37:19 +0000 |
commit | 2cc494b963e68895d6b6173bcc2ea02995d71442 (patch) | |
tree | 9a87eea785ef54c169c59c862f5a3a8db48a98be /lib | |
parent | 16a7ff31655aa2de65d86472edcb71cf2df3ac3a (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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/ARM/ARMInstrNEON.td | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/ARM/ARMInstrNEON.td b/lib/Target/ARM/ARMInstrNEON.td index d597a121ec..77e47e88ae 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. |