summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-12-21 23:09:28 +0000
committerJim Grosbach <grosbach@apple.com>2011-12-21 23:09:28 +0000
commit260b4b336a8ff8122b70516ea6e1ed67d9fb13a5 (patch)
tree4623d2e0490f5630e0100ec341b0520175539721
parenta50e24fcb3af4d8936df9c0af1bb3c197b257714 (diff)
downloadbcm5719-llvm-260b4b336a8ff8122b70516ea6e1ed67d9fb13a5.tar.gz
bcm5719-llvm-260b4b336a8ff8122b70516ea6e1ed67d9fb13a5.zip
ARM NEON optional data type on VSWP instructions.
llvm-svn: 147103
-rw-r--r--llvm/lib/Target/ARM/ARMInstrNEON.td6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td
index 28cb1241950..43b77d7793f 100644
--- a/llvm/lib/Target/ARM/ARMInstrNEON.td
+++ b/llvm/lib/Target/ARM/ARMInstrNEON.td
@@ -6033,6 +6033,12 @@ def : NEONInstAlias<"vpadd${p}.i32 $Vdn, $Vm",
def : NEONInstAlias<"vpadd${p}.f32 $Vdn, $Vm",
(VPADDf DPR:$Vdn, DPR:$Vdn, DPR:$Vm, pred:$p)>;
+// VSWP allows, but does not require, a type suffix.
+defm : VFPDTAnyInstAlias<"vswp${p}", "$Vd, $Vm",
+ (VSWPd DPR:$Vd, DPR:$Vm, pred:$p)>;
+defm : VFPDTAnyInstAlias<"vswp${p}", "$Vd, $Vm",
+ (VSWPq QPR:$Vd, QPR:$Vm, pred:$p)>;
+
// "vmov Rd, #-imm" can be handled via "vmvn".
def : NEONInstAlias<"vmov${p}.i32 $Vd, $imm",
(VMVNv2i32 DPR:$Vd, nImmVMOVI32Neg:$imm, pred:$p)>;
OpenPOWER on IntegriCloud