; RUN: llc < %s -march=x86 -mattr=+sse2
	%struct.foo = type opaque

define fastcc i32 @test(%struct.foo* %v, %struct.foo* %vi) {
	br i1 false, label %ilog2.exit, label %cond_true.i

cond_true.i:		; preds = %0
	ret i32 0

ilog2.exit:		; preds = %0
	%tmp24.i = load i32, i32* null		; <i32> [#uses=1]
	%tmp13.i12.i = tail call double @ldexp( double 0.000000e+00, i32 0 )		; <double> [#uses=1]
	%tmp13.i13.i = fptrunc double %tmp13.i12.i to float		; <float> [#uses=1]
	%tmp11.s = load i32, i32* null		; <i32> [#uses=1]
	%tmp11.i = bitcast i32 %tmp11.s to i32		; <i32> [#uses=1]
	%n.i = bitcast i32 %tmp24.i to i32		; <i32> [#uses=1]
	%tmp13.i7 = mul i32 %tmp11.i, %n.i		; <i32> [#uses=1]
	%tmp.i8 = tail call i8* @calloc( i32 %tmp13.i7, i32 4 )		; <i8*> [#uses=0]
	br i1 false, label %bb224.preheader.i, label %bb.i

bb.i:		; preds = %ilog2.exit
	ret i32 0

bb224.preheader.i:		; preds = %ilog2.exit
	%tmp165.i = fpext float %tmp13.i13.i to double		; <double> [#uses=0]
	ret i32 0
}

declare i8* @calloc(i32, i32)

declare double @ldexp(double, i32)