; RUN: opt < %s -loop-reduce -S | grep mul | count 1
; LSR should not make two copies of the Q*L expression in the preheader!

define i8 @test(i8* %A, i8* %B, i32 %L, i32 %Q, i32 %N.s) {
entry:
	%tmp.6 = mul i32 %Q, %L		; <i32> [#uses=1]
	%N = bitcast i32 %N.s to i32		; <i32> [#uses=1]
	br label %no_exit
no_exit:		; preds = %no_exit, %entry
	%indvar.ui = phi i32 [ 0, %entry ], [ %indvar.next, %no_exit ]		; <i32> [#uses=2]
	%Sum.0.0 = phi i8 [ 0, %entry ], [ %tmp.21, %no_exit ]		; <i8> [#uses=1]
	%indvar = bitcast i32 %indvar.ui to i32		; <i32> [#uses=1]
	%N_addr.0.0 = sub i32 %N.s, %indvar		; <i32> [#uses=1]
	%tmp.8 = add i32 %N_addr.0.0, %tmp.6		; <i32> [#uses=2]
	%tmp.9 = getelementptr i8* %A, i32 %tmp.8		; <i8*> [#uses=1]
	%tmp.10 = load i8* %tmp.9		; <i8> [#uses=1]
	%tmp.17 = getelementptr i8* %B, i32 %tmp.8		; <i8*> [#uses=1]
	%tmp.18 = load i8* %tmp.17		; <i8> [#uses=1]
	%tmp.19 = sub i8 %tmp.10, %tmp.18		; <i8> [#uses=1]
	%tmp.21 = add i8 %tmp.19, %Sum.0.0		; <i8> [#uses=2]
	%indvar.next = add i32 %indvar.ui, 1		; <i32> [#uses=2]
	%exitcond = icmp eq i32 %indvar.next, %N		; <i1> [#uses=1]
	br i1 %exitcond, label %loopexit, label %no_exit
loopexit:		; preds = %no_exit
	ret i8 %tmp.21
}

