Add a test case for testing the LLI interpreter wrt bitcast of fp to integer.
authorReid Spencer <rspencer@reidspencer.com>
Fri, 4 May 2007 03:35:17 +0000 (03:35 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Fri, 4 May 2007 03:35:17 +0000 (03:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36732 91177308-0d34-0410-b5e6-96231b3b80d8

test/ExecutionEngine/fpbitcast.ll [new file with mode: 0644]

diff --git a/test/ExecutionEngine/fpbitcast.ll b/test/ExecutionEngine/fpbitcast.ll
new file mode 100644 (file)
index 0000000..34ca129
--- /dev/null
@@ -0,0 +1,21 @@
+; RUN: llvm-as < %s > %t.bc
+; RUN: lli -force-interpreter=true %t.bc | grep 40091eb8
+;
+define i32 @test(double %x) {
+entry:
+       %x46.i = bitcast double %x to i64       
+       %tmp343.i = lshr i64 %x46.i, 32 
+       %tmp344.i = trunc i64 %tmp343.i to i32
+        ret i32 %tmp344.i
+}
+
+define i32 @main()
+{
+       %res = call i32 @test(double 3.14)
+       %ptr = getelementptr [4 x i8]* @format, i32 0, i32 0
+       call i32 (i8*,...)* @printf(i8* %ptr, i32 %res)
+       ret i32 0
+}
+
+declare i32 @printf(i8*, ...)
+@format = internal constant [4 x i8] c"%x\0A\00"