OSDN Git Service

add fp sub
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 10 Oct 2006 19:35:01 +0000 (19:35 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 10 Oct 2006 19:35:01 +0000 (19:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30859 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td
test/CodeGen/ARM/fparith.ll

index 13153de..5965774 100644 (file)
@@ -235,6 +235,14 @@ def FADDD   : InstARM<(ops DFPRegs:$dst, DFPRegs:$a, DFPRegs:$b),
                        "faddd $dst, $a, $b",
                       [(set DFPRegs:$dst, (fadd DFPRegs:$a, DFPRegs:$b))]>;
 
+def FSUBS   : InstARM<(ops FPRegs:$dst, FPRegs:$a, FPRegs:$b),
+                       "fsubs $dst, $a, $b",
+                      [(set FPRegs:$dst, (fsub FPRegs:$a, FPRegs:$b))]>;
+
+def FSUBD   : InstARM<(ops DFPRegs:$dst, DFPRegs:$a, DFPRegs:$b),
+                       "fsubd $dst, $a, $b",
+                      [(set DFPRegs:$dst, (fsub DFPRegs:$a, DFPRegs:$b))]>;
+
 def FMULS   : InstARM<(ops FPRegs:$dst, FPRegs:$a, FPRegs:$b),
                        "fmuls $dst, $a, $b",
                       [(set FPRegs:$dst, (fmul FPRegs:$a, FPRegs:$b))]>;
index abf4426..7210eee 100644 (file)
@@ -4,26 +4,38 @@
 ; RUN: llvm-as < %s | llc -march=arm | grep fmuls &&
 ; RUN: llvm-as < %s | llc -march=arm | grep fmuld
 
-float %f(float %a, float %b) {
+float %f1(float %a, float %b) {
 entry:
        %tmp = add float %a, %b
        ret float %tmp
 }
 
-double %g(double %a, double %b) {
+double %f2(double %a, double %b) {
 entry:
        %tmp = add double %a, %b
        ret double %tmp
 }
 
-float %h(float %a, float %b) {
+float %f3(float %a, float %b) {
 entry:
        %tmp = mul float %a, %b
        ret float %tmp
 }
 
-double %i(double %a, double %b) {
+double %f4(double %a, double %b) {
 entry:
        %tmp = mul double %a, %b
        ret double %tmp
 }
+
+float %f5(float %a, float %b) {
+entry:
+       %tmp = sub float %a, %b
+       ret float %tmp
+}
+
+double %f6(double %a, double %b) {
+entry:
+       %tmp = sub double %a, %b
+       ret double %tmp
+}