summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-11-15 22:15:10 +0000
committerJim Grosbach <grosbach@apple.com>2011-11-15 22:15:10 +0000
commita01033709fc000e89d82bf0855d37aac2af8492a (patch)
treebf5295e7c61aa8d7da7414ac63bbce09926a1cb8
parent8279c1828f62b56a22b70f615e96410fc9709d02 (diff)
downloadbcm5719-llvm-a01033709fc000e89d82bf0855d37aac2af8492a.tar.gz
bcm5719-llvm-a01033709fc000e89d82bf0855d37aac2af8492a.zip
ARM VFP assembly parsing for VADD and VSUB two-operand forms.
llvm-svn: 144710
-rw-r--r--llvm/lib/Target/ARM/ARMInstrVFP.td10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrVFP.td b/llvm/lib/Target/ARM/ARMInstrVFP.td
index 7c0048af99b..e4201355f7b 100644
--- a/llvm/lib/Target/ARM/ARMInstrVFP.td
+++ b/llvm/lib/Target/ARM/ARMInstrVFP.td
@@ -1178,6 +1178,16 @@ def : VFP2InstAlias<"vmul${p}.f64 $Dn, $Dm",
(VMULD DPR:$Dn, DPR:$Dn, DPR:$Dm, pred:$p)>;
def : VFP2InstAlias<"vmul${p}.f32 $Sn, $Sm",
(VMULS SPR:$Sn, SPR:$Sn, SPR:$Sm, pred:$p)>;
+// VADD has a two-operand form (implied destination operand)
+def : VFP2InstAlias<"vadd${p}.f64 $Dn, $Dm",
+ (VADDD DPR:$Dn, DPR:$Dn, DPR:$Dm, pred:$p)>;
+def : VFP2InstAlias<"vadd${p}.f32 $Sn, $Sm",
+ (VADDS SPR:$Sn, SPR:$Sn, SPR:$Sm, pred:$p)>;
+// VSUB has a two-operand form (implied destination operand)
+def : VFP2InstAlias<"vsub${p}.f64 $Dn, $Dm",
+ (VSUBD DPR:$Dn, DPR:$Dn, DPR:$Dm, pred:$p)>;
+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",
OpenPOWER on IntegriCloud