From: Chris Lattner Date: Sun, 8 Nov 2009 08:36:40 +0000 (+0000) Subject: another more interesting test. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ce306a450fd7902501c4df5dd70350ff1d2a606e;p=oota-llvm.git another more interesting test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86445 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/InstCombine/phi.ll b/test/Transforms/InstCombine/phi.ll index 23e41cab025..f4cb6223e74 100644 --- a/test/Transforms/InstCombine/phi.ll +++ b/test/Transforms/InstCombine/phi.ll @@ -253,3 +253,34 @@ end: ; CHECK: ret i64 } +declare void @test13f(double, i32) + +define void @test13(i1 %cond, i32 %V1, double %Vald) { +entry: + %tmp42 = zext i32 %V1 to i128 + br i1 %cond, label %end, label %two + +two: + %Val = bitcast double %Vald to i64 + %tmp36 = zext i64 %Val to i128 ; [#uses=1] + %tmp37 = shl i128 %tmp36, 64 ; [#uses=1] + %ins39 = or i128 %tmp42, %tmp37 ; [#uses=1] + br label %end + +end: + %tmp869.0 = phi i128 [ %tmp42, %entry ], [ %ins39, %two ] + %tmp32 = trunc i128 %tmp869.0 to i32 + %tmp29 = lshr i128 %tmp869.0, 64 ; [#uses=1] + %tmp30 = trunc i128 %tmp29 to i64 ; [#uses=1] + %tmp31 = bitcast i64 %tmp30 to double + + call void @test13f(double %tmp31, i32 %tmp32) + ret void +; CHECK: @test13 +; CHECK-NOT: zext +; CHECK: end: +; CHECK-NEXT: phi double [ 0.000000e+00, %entry ], [ %Vald, %two ] +; CHECK-NEXT: call void @test13f(double {{[^,]*}}, i32 %V1) +; CHECK: ret void +} +