blob: 896c9686cc4e3af41168b05deae755a5334ea2e9 [file] [log] [blame]
Dan Gohman36a09472009-09-08 23:54:48 +00001; RUN: llc < %s -march=x86-64
Chris Lattner66b8bc32009-03-09 20:22:18 +00002; PR3763
3 %struct.__block_descriptor = type { i64, i64 }
4
5define %struct.__block_descriptor @evUTCTime() nounwind {
6entry:
7 br i1 false, label %if.then, label %return
8
9if.then: ; preds = %entry
10 %srcval18 = load i128* null, align 8 ; <i128> [#uses=1]
11 %tmp15 = lshr i128 %srcval18, 64 ; <i128> [#uses=1]
12 %tmp9 = mul i128 %tmp15, 18446744073709551616000 ; <i128> [#uses=1]
13 br label %return
14
15return: ; preds = %if.then, %entry
16 %retval.0 = phi i128 [ %tmp9, %if.then ], [ undef, %entry ] ; <i128> [#uses=0]
17 ret %struct.__block_descriptor undef
18}
19
20define i128 @test(i128 %arg) nounwind {
21 %A = shl i128 1, 92
22 %B = sub i128 0, %A
23 %C = mul i128 %arg, %B
24 ret i128 %C ;; should codegen to neg(shift)
25}