[llvm-commits] [llvm] r154970 - /llvm/trunk/test/Transforms/SimplifyLibCalls/floor.ll

Joe Groff arcata at gmail.com
Tue Apr 17 17:36:07 PDT 2012


Author: joe
Date: Tue Apr 17 19:36:07 2012
New Revision: 154970

URL: http://llvm.org/viewvc/llvm-project?rev=154970&view=rev
Log:
FileCheckify, un-XFAIL SimplifyLibCalls/floor test
Fixes build on MSVC

Modified:
    llvm/trunk/test/Transforms/SimplifyLibCalls/floor.ll

Modified: llvm/trunk/test/Transforms/SimplifyLibCalls/floor.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SimplifyLibCalls/floor.ll?rev=154970&r1=154969&r2=154970&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/SimplifyLibCalls/floor.ll (original)
+++ llvm/trunk/test/Transforms/SimplifyLibCalls/floor.ll Tue Apr 17 19:36:07 2012
@@ -1,16 +1,31 @@
-; RUN: opt < %s -simplify-libcalls -S > %t
-; RUN: not grep {call.*floor(} %t
-; RUN: grep {call.*floorf(} %t
-; RUN: not grep {call.*ceil(} %t
-; RUN: grep {call.*ceilf(} %t
-; RUN: not grep {call.*nearbyint(} %t
-; RUN: grep {call.*nearbyintf(} %t
-; XFAIL: sparc
+; RUN: opt < %s -simplify-libcalls -S -mtriple "i386-pc-linux" | FileCheck -check-prefix=DO-SIMPLIFY %s
+; RUN: opt < %s -simplify-libcalls -S -mtriple "i386-pc-win32" | FileCheck -check-prefix=DONT-SIMPLIFY %s
+; RUN: opt < %s -simplify-libcalls -S -mtriple "x86_64-pc-win32" | FileCheck -check-prefix=C89-SIMPLIFY %s
+; RUN: opt < %s -simplify-libcalls -S -mtriple "i386-pc-mingw32" | FileCheck -check-prefix=DO-SIMPLIFY %s
+; RUN: opt < %s -simplify-libcalls -S -mtriple "x86_64-pc-mingw32" | FileCheck -check-prefix=DO-SIMPLIFY %s
+; RUN: opt < %s -simplify-libcalls -S -mtriple "sparc-sun-solaris" | FileCheck -check-prefix=DO-SIMPLIFY %s
+
+; DO-SIMPLIFY: call float @floorf(
+; DO-SIMPLIFY: call float @ceilf(
+; DO-SIMPLIFY: call float @roundf(
+; DO-SIMPLIFY: call float @nearbyintf(
+
+; C89-SIMPLIFY: call float @floorf(
+; C89-SIMPLIFY: call float @ceilf(
+; C89-SIMPLIFY: call double @round(
+; C89-SIMPLIFY: call double @nearbyint(
+
+; DONT-SIMPLIFY: call double @floor(
+; DONT-SIMPLIFY: call double @ceil(
+; DONT-SIMPLIFY: call double @round(
+; DONT-SIMPLIFY: call double @nearbyint(
 
 declare double @floor(double)
 
 declare double @ceil(double)
 
+declare double @round(double)
+
 declare double @nearbyint(double)
 
 define float @test_floor(float %C) {
@@ -29,8 +44,14 @@
 	ret float %F
 }
 
-; PR8466
-; XFAIL: win32
+define float @test_round(float %C) {
+	%D = fpext float %C to double		; <double> [#uses=1]
+	; --> roundf
+        %E = call double @round( double %D )		; <double> [#uses=1]
+	%F = fptrunc double %E to float		; <float> [#uses=1]
+	ret float %F
+}
+
 define float @test_nearbyint(float %C) {
 	%D = fpext float %C to double		; <double> [#uses=1]
 	; --> nearbyintf





More information about the llvm-commits mailing list