implement fadds, faddd, fmuls and fmuld

llvm-svn: 30801
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td
index cbdc5b9..3aa4a53 100644
--- a/llvm/lib/Target/ARM/ARMInstrInfo.td
+++ b/llvm/lib/Target/ARM/ARMInstrInfo.td
@@ -187,3 +187,21 @@
 
 def FSITOD  : InstARM<(ops DFPRegs:$dst, FPRegs:$src),
                        "fsitod $dst, $src", [(set DFPRegs:$dst, (armfsitod FPRegs:$src))]>;
+
+
+// Floating Point Arithmetic
+def FADDS   : InstARM<(ops FPRegs:$dst, FPRegs:$a, FPRegs:$b),
+                       "fadds $dst, $a, $b",
+		       [(set FPRegs:$dst, (fadd FPRegs:$a, FPRegs:$b))]>;
+
+def FADDD   : InstARM<(ops DFPRegs:$dst, DFPRegs:$a, DFPRegs:$b),
+                       "faddd $dst, $a, $b",
+		       [(set DFPRegs:$dst, (fadd 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))]>;
+
+def FMULD   : InstARM<(ops DFPRegs:$dst, DFPRegs:$a, DFPRegs:$b),
+                       "fmuld $dst, $a, $b",
+		       [(set DFPRegs:$dst, (fmul DFPRegs:$a, DFPRegs:$b))]>;