blob: d26541596da5b8533812c6bb315a6090a179275e [file] [log] [blame]
Tanya Lattner53a66d12008-02-19 01:41:04 +00001; RUN: llvm-as < %s | llc
Chris Lattnerdfde14e2004-06-25 07:47:13 +00002
Tanya Lattner53a66d12008-02-19 01:41:04 +00003@.str_1 = internal constant [16 x i8] c"%d %d %d %d %d\0A\00" ; <[16 x i8]*> [#uses=1]
4@XA = external global i32 ; <i32*> [#uses=1]
5@XB = external global i32 ; <i32*> [#uses=1]
Chris Lattnerdfde14e2004-06-25 07:47:13 +00006
Tanya Lattner53a66d12008-02-19 01:41:04 +00007declare i32 @printf(i8*, ...)
Chris Lattnerdfde14e2004-06-25 07:47:13 +00008
Tanya Lattner53a66d12008-02-19 01:41:04 +00009define void @test(i32 %A, i32 %B, i32 %C, i32 %D) {
Chris Lattnerdfde14e2004-06-25 07:47:13 +000010entry:
Tanya Lattner53a66d12008-02-19 01:41:04 +000011 %t1 = icmp slt i32 %A, 0 ; <i1> [#uses=1]
12 br i1 %t1, label %less, label %not_less
13
14less: ; preds = %entry
Chris Lattnerdfde14e2004-06-25 07:47:13 +000015 br label %not_less
Tanya Lattner53a66d12008-02-19 01:41:04 +000016
17not_less: ; preds = %less, %entry
18 %t2 = phi i32 [ sub (i32 ptrtoint (i32* @XA to i32), i32 ptrtoint (i32* @XB to i32)), %less ], [ sub (i32 ptrtoint (i32* @XA to i32), i32 ptrtoint (i32* @XB to i32)), %entry ] ; <i32> [#uses=1]
19 %tmp.39 = call i32 (i8*, ...)* @printf( i8* getelementptr ([16 x i8]* @.str_1, i64 0, i64 0), i32 %t2 ) ; <i32> [#uses=0]
20 ret void
Chris Lattnerdfde14e2004-06-25 07:47:13 +000021}
22