[X86] Update test/CodeGen/X86/avg.ll with the help of update_llc_test_checks.py....
[oota-llvm.git] / test / CodeGen / X86 / 2009-02-03-AnalyzedTwice.ll
1 ; RUN: llc < %s -march=x86
2 ; PR3411
3
4 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
5 target triple = "i386-pc-linux-gnu"
6 @g_3 = external global i32              ; <i32*> [#uses=1]
7
8 define void @bar(i64 %p_66) nounwind {
9 entry:
10         br i1 false, label %bb, label %bb1
11
12 bb:             ; preds = %entry
13         unreachable
14
15 bb1:            ; preds = %entry
16         %0 = load i32, i32* @g_3, align 4               ; <i32> [#uses=2]
17         %1 = sext i32 %0 to i64         ; <i64> [#uses=1]
18         %2 = or i64 %1, %p_66           ; <i64> [#uses=1]
19         %3 = shl i64 %2, 0              ; <i64> [#uses=1]
20         %4 = and i64 %3, %p_66          ; <i64> [#uses=1]
21         %5 = icmp eq i64 %4, 1          ; <i1> [#uses=1]
22         %6 = trunc i64 %p_66 to i32             ; <i32> [#uses=2]
23         %7 = or i32 %0, %6              ; <i32> [#uses=2]
24         %8 = sub i32 %7, %6             ; <i32> [#uses=1]
25         %iftmp.0.0 = select i1 %5, i32 %8, i32 %7               ; <i32> [#uses=1]
26         %9 = tail call i32 @foo(i32 %iftmp.0.0) nounwind                ; <i32> [#uses=0]
27         ret void
28 }
29
30 declare i32 @foo(i32)