aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index cbdc5b9628..3aa4a53534 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -187,3 +187,21 @@ def FSITOS : InstARM<(ops FPRegs:$dst, FPRegs:$src),
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))]>;