; RUN: llc < %s

@a_str = internal constant [8 x i8] c"a = %d\0A\00"		; <[8 x i8]*> [#uses=1]
@a_mul_str = internal constant [13 x i8] c"a * %d = %d\0A\00"		; <[13 x i8]*> [#uses=1]
@A = global i32 2		; <i32*> [#uses=1]

declare i32 @printf(i8*, ...)

define i32 @main() {
	%a = load i32, i32* @A		; <i32> [#uses=21]
	%a_s = getelementptr [8 x i8], [8 x i8]* @a_str, i64 0, i64 0		; <i8*> [#uses=1]
	%a_mul_s = getelementptr [13 x i8], [13 x i8]* @a_mul_str, i64 0, i64 0		; <i8*> [#uses=20]
	call i32 (i8*, ...) @printf( i8* %a_s, i32 %a )		; <i32>:1 [#uses=0]
	%r_0 = mul i32 %a, 0		; <i32> [#uses=1]
	%r_1 = mul i32 %a, 1		; <i32> [#uses=1]
	%r_2 = mul i32 %a, 2		; <i32> [#uses=1]
	%r_3 = mul i32 %a, 3		; <i32> [#uses=1]
	%r_4 = mul i32 %a, 4		; <i32> [#uses=1]
	%r_5 = mul i32 %a, 5		; <i32> [#uses=1]
	%r_6 = mul i32 %a, 6		; <i32> [#uses=1]
	%r_7 = mul i32 %a, 7		; <i32> [#uses=1]
	%r_8 = mul i32 %a, 8		; <i32> [#uses=1]
	%r_9 = mul i32 %a, 9		; <i32> [#uses=1]
	%r_10 = mul i32 %a, 10		; <i32> [#uses=1]
	%r_11 = mul i32 %a, 11		; <i32> [#uses=1]
	%r_12 = mul i32 %a, 12		; <i32> [#uses=1]
	%r_13 = mul i32 %a, 13		; <i32> [#uses=1]
	%r_14 = mul i32 %a, 14		; <i32> [#uses=1]
	%r_15 = mul i32 %a, 15		; <i32> [#uses=1]
	%r_16 = mul i32 %a, 16		; <i32> [#uses=1]
	%r_17 = mul i32 %a, 17		; <i32> [#uses=1]
	%r_18 = mul i32 %a, 18		; <i32> [#uses=1]
	%r_19 = mul i32 %a, 19		; <i32> [#uses=1]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 0, i32 %r_0 )		; <i32>:2 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 1, i32 %r_1 )		; <i32>:3 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 2, i32 %r_2 )		; <i32>:4 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 3, i32 %r_3 )		; <i32>:5 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 4, i32 %r_4 )		; <i32>:6 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 5, i32 %r_5 )		; <i32>:7 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 6, i32 %r_6 )		; <i32>:8 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 7, i32 %r_7 )		; <i32>:9 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 8, i32 %r_8 )		; <i32>:10 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 9, i32 %r_9 )		; <i32>:11 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 10, i32 %r_10 )		; <i32>:12 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 11, i32 %r_11 )		; <i32>:13 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 12, i32 %r_12 )		; <i32>:14 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 13, i32 %r_13 )		; <i32>:15 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 14, i32 %r_14 )		; <i32>:16 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 15, i32 %r_15 )		; <i32>:17 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 16, i32 %r_16 )		; <i32>:18 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 17, i32 %r_17 )		; <i32>:19 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 18, i32 %r_18 )		; <i32>:20 [#uses=0]
	call i32 (i8*, ...) @printf( i8* %a_mul_s, i32 19, i32 %r_19 )		; <i32>:21 [#uses=0]
	ret i32 0
}
