aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-10-17 20:33:13 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-10-17 20:33:13 +0000
commitc01c87c8baa5e7dd1e11a3bacbd3b4e94ebe6c5d (patch)
treef4bb4b3fc79633d16feceef4ac93acd7899123df
parentb7188b168492d6efe5bb3b7f80b1c43414a80b5c (diff)
add FABSS and FABSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31012 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td8
-rw-r--r--test/CodeGen/ARM/fparith.ll16
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index 5109eea347..f252f605cc 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -288,6 +288,14 @@ def FNEGD : InstARM<(ops DFPRegs:$dst, DFPRegs:$src),
"fnegd $dst, $src",
[(set DFPRegs:$dst, (fneg DFPRegs:$src))]>;
+def FABSS : InstARM<(ops FPRegs:$dst, FPRegs:$src),
+ "fabss $dst, $src",
+ [(set FPRegs:$dst, (fabs FPRegs:$src))]>;
+
+def FABSD : InstARM<(ops DFPRegs:$dst, DFPRegs:$src),
+ "fabsd $dst, $src",
+ [(set DFPRegs:$dst, (fabs DFPRegs:$src))]>;
+
def FMULS : FPBinOp<"fmuls", fmul>;
def FMULD : DFPBinOp<"fmuld", fmul>;
def FDIVS : FPBinOp<"fdivs", fdiv>;
diff --git a/test/CodeGen/ARM/fparith.ll b/test/CodeGen/ARM/fparith.ll
index f83aa771db..db115a95f0 100644
--- a/test/CodeGen/ARM/fparith.ll
+++ b/test/CodeGen/ARM/fparith.ll
@@ -67,3 +67,19 @@ entry:
%tmp1 = div double %a, %b
ret double %tmp1
}
+
+float %f11(float %a) {
+entry:
+ %tmp1 = call float %fabsf(float %a)
+ ret float %tmp1
+}
+
+declare float %fabsf(float)
+
+double %f12(double %a) {
+entry:
+ %tmp1 = call double %fabs(double %a)
+ ret double %tmp1
+}
+
+declare double %fabs(double)