diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-05-04 03:35:17 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-05-04 03:35:17 +0000 |
commit | 05047444099daca7b269549e2c003a5e45f805da (patch) | |
tree | 9f5219f7bda066203d0ef28e0817f12c0870578b /test/ExecutionEngine | |
parent | 48c85b84c1b66fb6a1b0d2afddf33da5bd82960d (diff) |
Add a test case for testing the LLI interpreter wrt bitcast of fp to integer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36732 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/ExecutionEngine')
-rw-r--r-- | test/ExecutionEngine/fpbitcast.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/ExecutionEngine/fpbitcast.ll b/test/ExecutionEngine/fpbitcast.ll new file mode 100644 index 0000000000..34ca129ead --- /dev/null +++ b/test/ExecutionEngine/fpbitcast.ll @@ -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" |