blob: 670c142c0ffe5eec306a8bad6598c7a6b0093763 [file] [log] [blame]
Eric Christopher79cc1e32014-09-02 22:28:02 +00001; RUN: %lli -force-interpreter=true %s | FileCheck %s
Eli Benderskyed61b062013-04-08 19:51:36 +00002; CHECK: 40091eb8
3
Danil Malyshev7c5db452012-05-17 21:07:47 +00004define i32 @test(double %x) {
5entry:
6 %x46.i = bitcast double %x to i64
7 %tmp343.i = lshr i64 %x46.i, 32
8 %tmp344.i = trunc i64 %tmp343.i to i32
9 ret i32 %tmp344.i
10}
11
12define i32 @main()
13{
14 %res = call i32 @test(double 3.14)
David Blaikie79e6c742015-02-27 19:29:02 +000015 %ptr = getelementptr [4 x i8], [4 x i8]* @format, i32 0, i32 0
David Blaikie23af6482015-04-16 23:24:18 +000016 call i32 (i8*,...) @printf(i8* %ptr, i32 %res)
Danil Malyshev7c5db452012-05-17 21:07:47 +000017 ret i32 0
18}
19
20declare i32 @printf(i8*, ...)
21@format = internal constant [4 x i8] c"%x\0A\00"