summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-12-21 23:24:15 +0000
committerJim Grosbach <grosbach@apple.com>2011-12-21 23:24:15 +0000
commit7869d8c01e746e3cecfef2925a5ad799a03830b3 (patch)
treeddc29786bfa41fcc494c6e6b5f98df2afb9fadec /llvm/lib
parent260b4b336a8ff8122b70516ea6e1ed67d9fb13a5 (diff)
downloadbcm5719-llvm-7869d8c01e746e3cecfef2925a5ad799a03830b3.tar.gz
bcm5719-llvm-7869d8c01e746e3cecfef2925a5ad799a03830b3.zip
ARM VFP optional data type on VMOV GPR<-->SPR.
llvm-svn: 147104
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrVFP.td14
1 files changed, 11 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrVFP.td b/llvm/lib/Target/ARM/ARMInstrVFP.td
index e232ed3b582..e6bf1331c2c 100644
--- a/llvm/lib/Target/ARM/ARMInstrVFP.td
+++ b/llvm/lib/Target/ARM/ARMInstrVFP.td
@@ -1240,10 +1240,18 @@ def : VFP2InstAlias<"vsub${p}.f64 $Dn, $Dm",
def : VFP2InstAlias<"vsub${p}.f32 $Sn, $Sm",
(VSUBS SPR:$Sn, SPR:$Sn, SPR:$Sm, pred:$p)>;
-// VMOV can accept optional .f32/.f64 suffix.
-def : VFP2InstAlias<"vmov${p}.f32 $Rt, $Sn",
+// VMOV can accept optional 32-bit or less data type suffix suffix.
+def : VFP2InstAlias<"vmov${p}.8 $Rt, $Sn",
(VMOVRS GPR:$Rt, SPR:$Sn, pred:$p)>;
-def : VFP2InstAlias<"vmov${p}.f32 $Sn, $Rt",
+def : VFP2InstAlias<"vmov${p}.16 $Rt, $Sn",
+ (VMOVRS GPR:$Rt, SPR:$Sn, pred:$p)>;
+def : VFP2InstAlias<"vmov${p}.32 $Rt, $Sn",
+ (VMOVRS GPR:$Rt, SPR:$Sn, pred:$p)>;
+def : VFP2InstAlias<"vmov${p}.8 $Sn, $Rt",
+ (VMOVSR SPR:$Sn, GPR:$Rt, pred:$p)>;
+def : VFP2InstAlias<"vmov${p}.16 $Sn, $Rt",
+ (VMOVSR SPR:$Sn, GPR:$Rt, pred:$p)>;
+def : VFP2InstAlias<"vmov${p}.32 $Sn, $Rt",
(VMOVSR SPR:$Sn, GPR:$Rt, pred:$p)>;
def : VFP2InstAlias<"vmov${p}.f64 $Rt, $Rt2, $Dn",
OpenPOWER on IntegriCloud