From 1799921672835c49f6a29fc27d1840b7c36beabd Mon Sep 17 00:00:00 2001 From: Venkatraman Govindaraju Date: Sat, 8 Jun 2013 15:32:59 +0000 Subject: [Sparc] Delete FPMover Pass and remove Fp* Pseudo-instructions from Sparc backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183613 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/SPARC/float.ll | 47 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/CodeGen/SPARC/float.ll (limited to 'test') diff --git a/test/CodeGen/SPARC/float.ll b/test/CodeGen/SPARC/float.ll new file mode 100644 index 0000000..ab46fb3 --- /dev/null +++ b/test/CodeGen/SPARC/float.ll @@ -0,0 +1,47 @@ +; RUN: llc -march=sparc < %s | FileCheck %s -check-prefix=V8 +; RUN: llc -march=sparc -O0 < %s | FileCheck %s -check-prefix=V8-UNOPT +; RUN: llc -march=sparc -mattr=v9 < %s | FileCheck %s -check-prefix=V9 + + +; V8: test_neg: +; V8: call get_double +; V8: fnegs %f0, %f0 + +; V8-UNOPT: test_neg: +; V8-UNOPT: fnegs +; V8-UNOPT: ! implicit-def +; V8-UNOPT: fmovs {{.+}}, %f0 +; V8-UNOPT: fmovs {{.+}}, %f1 + +; V9: test_neg: +; V9: fnegd %f0, %f0 + +define double @test_neg() { +entry: + %0 = tail call double @get_double() + %1 = fsub double -0.000000e+00, %0 + ret double %1 +} + +; V8: test_abs: +; V8: fabss %f0, %f0 + +; V8-UNOPT: test_abs: +; V8-UNOPT: fabss +; V8-UNOPT: ! implicit-def +; V8-UNOPT: fmovs {{.+}}, %f0 +; V8-UNOPT: fmovs {{.+}}, %f1 + +; V9: test_abs: +; V9: fabsd %f0, %f0 + +define double @test_abs() { +entry: + %0 = tail call double @get_double() + %1 = tail call double @llvm.fabs.f64(double %0) + ret double %1 +} + +declare double @get_double() +declare double @llvm.fabs.f64(double) nounwind readonly + -- cgit v1.1