; RUN: llvm-as < %s | llc -mtriple=thumbv7-apple-darwin9 -mcpu=cortex-a8 -relocation-model=pic -disable-fp-elim

	%struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
	%struct.JHUFF_TBL = type { [17 x i8], [256 x i8], i32 }
	%struct.JQUANT_TBL = type { [64 x i16], i32 }
	%struct.__sFILEX = type opaque
	%struct.__sbuf = type { i8*, i32 }
	%struct.anon = type { [8 x i32], [48 x i8] }
	%struct.backing_store_info = type { void (%struct.jpeg_common_struct*, %struct.backing_store_info*, i8*, i32, i32)*, void (%struct.jpeg_common_struct*, %struct.backing_store_info*, i8*, i32, i32)*, void (%struct.jpeg_common_struct*, %struct.backing_store_info*)*, %struct.FILE*, [64 x i8] }
	%struct.jpeg_color_deconverter = type { void (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*, i8***, i32, i8**, i32)* }
	%struct.jpeg_color_quantizer = type { void (%struct.jpeg_decompress_struct*, i32)*, void (%struct.jpeg_decompress_struct*, i8**, i8**, i32)*, void (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*)* }
	%struct.jpeg_common_struct = type { %struct.jpeg_error_mgr*, %struct.jpeg_memory_mgr*, %struct.jpeg_progress_mgr*, i32, i32 }
	%struct.jpeg_component_info = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.JQUANT_TBL*, i8* }
	%struct.jpeg_d_coef_controller = type { void (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*, i8***)*, %struct.jvirt_barray_control** }
	%struct.jpeg_d_main_controller = type { void (%struct.jpeg_decompress_struct*, i32)*, void (%struct.jpeg_decompress_struct*, i8**, i32*, i32)* }
	%struct.jpeg_d_post_controller = type { void (%struct.jpeg_decompress_struct*, i32)*, void (%struct.jpeg_decompress_struct*, i8***, i32*, i32, i8**, i32*, i32)* }
	%struct.jpeg_decomp_master = type { void (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*)*, i32 }
	%struct.jpeg_decompress_struct = type { %struct.jpeg_error_mgr*, %struct.jpeg_memory_mgr*, %struct.jpeg_progress_mgr*, i32, i32, %struct.jpeg_source_mgr*, i32, i32, i32, i32, i32, i32, i32, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8**, i32, i32, i32, i32, i32, [64 x i32]*, [4 x %struct.JQUANT_TBL*], [4 x %struct.JHUFF_TBL*], [4 x %struct.JHUFF_TBL*], i32, %struct.jpeg_component_info*, i32, i32, [16 x i8], [16 x i8], [16 x i8], i32, i32, i8, i16, i16, i32, i8, i32, i32, i32, i32, i32, i8*, i32, [4 x %struct.jpeg_component_info*], i32, i32, i32, [10 x i32], i32, i32, i32, i32, i32, %struct.jpeg_decomp_master*, %struct.jpeg_d_main_controller*, %struct.jpeg_d_coef_controller*, %struct.jpeg_d_post_controller*, %struct.jpeg_input_controller*, %struct.jpeg_marker_reader*, %struct.jpeg_entropy_decoder*, %struct.jpeg_inverse_dct*, %struct.jpeg_upsampler*, %struct.jpeg_color_deconverter*, %struct.jpeg_color_quantizer* }
	%struct.jpeg_entropy_decoder = type { void (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*, [64 x i16]**)* }
	%struct.jpeg_error_mgr = type { void (%struct.jpeg_common_struct*)*, void (%struct.jpeg_common_struct*, i32)*, void (%struct.jpeg_common_struct*)*, void (%struct.jpeg_common_struct*, i8*)*, void (%struct.jpeg_common_struct*)*, i32, %struct.anon, i32, i32, i8**, i32, i8**, i32, i32 }
	%struct.jpeg_input_controller = type { i32 (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*)*, i32, i32 }
	%struct.jpeg_inverse_dct = type { void (%struct.jpeg_decompress_struct*)*, [10 x void (%struct.jpeg_decompress_struct*, %struct.jpeg_component_info*, i16*, i8**, i32)*] }
	%struct.jpeg_marker_reader = type { void (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*)*, [16 x i32 (%struct.jpeg_decompress_struct*)*], i32, i32, i32, i32 }
	%struct.jpeg_memory_mgr = type { i8* (%struct.jpeg_common_struct*, i32, i32)*, i8* (%struct.jpeg_common_struct*, i32, i32)*, i8** (%struct.jpeg_common_struct*, i32, i32, i32)*, [64 x i16]** (%struct.jpeg_common_struct*, i32, i32, i32)*, %struct.jvirt_sarray_control* (%struct.jpeg_common_struct*, i32, i32, i32, i32, i32)*, %struct.jvirt_barray_control* (%struct.jpeg_common_struct*, i32, i32, i32, i32, i32)*, void (%struct.jpeg_common_struct*)*, i8** (%struct.jpeg_common_struct*, %struct.jvirt_sarray_control*, i32, i32, i32)*, [64 x i16]** (%struct.jpeg_common_struct*, %struct.jvirt_barray_control*, i32, i32, i32)*, void (%struct.jpeg_common_struct*, i32)*, void (%struct.jpeg_common_struct*)*, i32 }
	%struct.jpeg_progress_mgr = type { void (%struct.jpeg_common_struct*)*, i32, i32, i32, i32 }
	%struct.jpeg_source_mgr = type { i8*, i32, void (%struct.jpeg_decompress_struct*)*, i32 (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*, i32)*, i32 (%struct.jpeg_decompress_struct*, i32)*, void (%struct.jpeg_decompress_struct*)* }
	%struct.jpeg_upsampler = type { void (%struct.jpeg_decompress_struct*)*, void (%struct.jpeg_decompress_struct*, i8***, i32*, i32, i8**, i32*, i32)*, i32 }
	%struct.jvirt_barray_control = type { [64 x i16]**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.jvirt_barray_control*, %struct.backing_store_info }
	%struct.jvirt_sarray_control = type { i8**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.jvirt_sarray_control*, %struct.backing_store_info }

define arm_apcscc void @jpeg_idct_float(%struct.jpeg_decompress_struct* nocapture %cinfo, %struct.jpeg_component_info* nocapture %compptr, i16* nocapture %coef_block, i8** nocapture %output_buf, i32 %output_col) nounwind {
entry:
	%workspace = alloca [64 x float], align 4		; <[64 x float]*> [#uses=11]
	%0 = load i8** undef, align 4		; <i8*> [#uses=5]
	br label %bb

bb:		; preds = %bb, %entry
	%indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ]		; <i32> [#uses=11]
	%tmp39 = add i32 %indvar, 8		; <i32> [#uses=0]
	%tmp41 = add i32 %indvar, 16		; <i32> [#uses=2]
	%scevgep42 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp41		; <float*> [#uses=1]
	%tmp43 = add i32 %indvar, 24		; <i32> [#uses=1]
	%scevgep44 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp43		; <float*> [#uses=1]
	%tmp45 = add i32 %indvar, 32		; <i32> [#uses=1]
	%scevgep46 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp45		; <float*> [#uses=1]
	%tmp47 = add i32 %indvar, 40		; <i32> [#uses=1]
	%scevgep48 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp47		; <float*> [#uses=1]
	%tmp49 = add i32 %indvar, 48		; <i32> [#uses=1]
	%scevgep50 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp49		; <float*> [#uses=1]
	%tmp51 = add i32 %indvar, 56		; <i32> [#uses=1]
	%scevgep52 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp51		; <float*> [#uses=1]
	%wsptr.119 = getelementptr [64 x float]* %workspace, i32 0, i32 %indvar		; <float*> [#uses=1]
	%tmp54 = shl i32 %indvar, 2		; <i32> [#uses=1]
	%scevgep76 = getelementptr i8* undef, i32 %tmp54		; <i8*> [#uses=1]
	%quantptr.118 = bitcast i8* %scevgep76 to float*		; <float*> [#uses=1]
	%scevgep79 = getelementptr i16* %coef_block, i32 %tmp41		; <i16*> [#uses=0]
	%inptr.117 = getelementptr i16* %coef_block, i32 %indvar		; <i16*> [#uses=1]
	%1 = load i16* null, align 2		; <i16> [#uses=1]
	%2 = load i16* undef, align 2		; <i16> [#uses=1]
	%3 = load i16* %inptr.117, align 2		; <i16> [#uses=1]
	%4 = sitofp i16 %3 to float		; <float> [#uses=1]
	%5 = load float* %quantptr.118, align 4		; <float> [#uses=1]
	%6 = fmul float %4, %5		; <float> [#uses=1]
	%7 = fsub float %6, undef		; <float> [#uses=2]
	%8 = fmul float undef, 0x3FF6A09E60000000		; <float> [#uses=1]
	%9 = fsub float %8, 0.000000e+00		; <float> [#uses=2]
	%10 = fadd float undef, 0.000000e+00		; <float> [#uses=2]
	%11 = fadd float %7, %9		; <float> [#uses=2]
	%12 = fsub float %7, %9		; <float> [#uses=2]
	%13 = sitofp i16 %1 to float		; <float> [#uses=1]
	%14 = fmul float %13, undef		; <float> [#uses=2]
	%15 = sitofp i16 %2 to float		; <float> [#uses=1]
	%16 = load float* undef, align 4		; <float> [#uses=1]
	%17 = fmul float %15, %16		; <float> [#uses=1]
	%18 = fadd float %14, undef		; <float> [#uses=2]
	%19 = fsub float %14, undef		; <float> [#uses=2]
	%20 = fadd float undef, %17		; <float> [#uses=2]
	%21 = fadd float %20, %18		; <float> [#uses=3]
	%22 = fsub float %20, %18		; <float> [#uses=1]
	%23 = fmul float %22, 0x3FF6A09E60000000		; <float> [#uses=1]
	%24 = fadd float %19, undef		; <float> [#uses=1]
	%25 = fmul float %24, 0x3FFD906BC0000000		; <float> [#uses=2]
	%26 = fmul float undef, 0x3FF1517A80000000		; <float> [#uses=1]
	%27 = fsub float %26, %25		; <float> [#uses=1]
	%28 = fmul float %19, 0xC004E7AEA0000000		; <float> [#uses=1]
	%29 = fadd float %28, %25		; <float> [#uses=1]
	%30 = fsub float %29, %21		; <float> [#uses=3]
	%31 = fsub float %23, %30		; <float> [#uses=3]
	%32 = fadd float %27, %31		; <float> [#uses=1]
	%33 = fadd float %10, %21		; <float> [#uses=1]
	store float %33, float* %wsptr.119, align 4
	%34 = fsub float %10, %21		; <float> [#uses=1]
	store float %34, float* %scevgep52, align 4
	%35 = fadd float %11, %30		; <float> [#uses=1]
	store float %35, float* null, align 4
	%36 = fsub float %11, %30		; <float> [#uses=1]
	store float %36, float* %scevgep50, align 4
	%37 = fadd float %12, %31		; <float> [#uses=1]
	store float %37, float* %scevgep42, align 4
	%38 = fsub float %12, %31		; <float> [#uses=1]
	store float %38, float* %scevgep48, align 4
	%39 = fadd float undef, %32		; <float> [#uses=1]
	store float %39, float* %scevgep46, align 4
	store float undef, float* %scevgep44, align 4
	%indvar.next = add i32 %indvar, 1		; <i32> [#uses=1]
	br i1 undef, label %bb6, label %bb

bb6:		; preds = %bb
	%.sum10 = add i32 %output_col, 1		; <i32> [#uses=1]
	%.sum8 = add i32 %output_col, 6		; <i32> [#uses=1]
	%.sum6 = add i32 %output_col, 2		; <i32> [#uses=1]
	%.sum = add i32 %output_col, 3		; <i32> [#uses=1]
	br label %bb8

bb8:		; preds = %bb8, %bb6
	%ctr.116 = phi i32 [ 0, %bb6 ], [ %88, %bb8 ]		; <i32> [#uses=3]
	%scevgep = getelementptr i8** %output_buf, i32 %ctr.116		; <i8**> [#uses=1]
	%tmp = shl i32 %ctr.116, 3		; <i32> [#uses=5]
	%tmp2392 = or i32 %tmp, 4		; <i32> [#uses=1]
	%scevgep24 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp2392		; <float*> [#uses=1]
	%tmp2591 = or i32 %tmp, 2		; <i32> [#uses=1]
	%scevgep26 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp2591		; <float*> [#uses=1]
	%tmp2790 = or i32 %tmp, 6		; <i32> [#uses=1]
	%scevgep28 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp2790		; <float*> [#uses=1]
	%tmp3586 = or i32 %tmp, 7		; <i32> [#uses=0]
	%wsptr.215 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp		; <float*> [#uses=1]
	%40 = load i8** %scevgep, align 4		; <i8*> [#uses=4]
	%41 = load float* %wsptr.215, align 4		; <float> [#uses=1]
	%42 = load float* %scevgep24, align 4		; <float> [#uses=1]
	%43 = fadd float %41, %42		; <float> [#uses=1]
	%44 = load float* %scevgep26, align 4		; <float> [#uses=1]
	%45 = load float* %scevgep28, align 4		; <float> [#uses=1]
	%46 = fadd float %44, %45		; <float> [#uses=1]
	%47 = fsub float %43, %46		; <float> [#uses=2]
	%48 = fsub float undef, 0.000000e+00		; <float> [#uses=1]
	%49 = fadd float 0.000000e+00, undef		; <float> [#uses=1]
	%50 = fptosi float %49 to i32		; <i32> [#uses=1]
	%51 = add i32 %50, 4		; <i32> [#uses=1]
	%52 = lshr i32 %51, 3		; <i32> [#uses=1]
	%53 = and i32 %52, 1023		; <i32> [#uses=1]
	%.sum14 = add i32 %53, 128		; <i32> [#uses=1]
	%54 = getelementptr i8* %0, i32 %.sum14		; <i8*> [#uses=1]
	%55 = load i8* %54, align 1		; <i8> [#uses=1]
	store i8 %55, i8* null, align 1
	%56 = getelementptr i8* %40, i32 %.sum10		; <i8*> [#uses=1]
	store i8 0, i8* %56, align 1
	%57 = load i8* null, align 1		; <i8> [#uses=1]
	%58 = getelementptr i8* %40, i32 %.sum8		; <i8*> [#uses=1]
	store i8 %57, i8* %58, align 1
	%59 = fadd float undef, %48		; <float> [#uses=1]
	%60 = fptosi float %59 to i32		; <i32> [#uses=1]
	%61 = add i32 %60, 4		; <i32> [#uses=1]
	%62 = lshr i32 %61, 3		; <i32> [#uses=1]
	%63 = and i32 %62, 1023		; <i32> [#uses=1]
	%.sum7 = add i32 %63, 128		; <i32> [#uses=1]
	%64 = getelementptr i8* %0, i32 %.sum7		; <i8*> [#uses=1]
	%65 = load i8* %64, align 1		; <i8> [#uses=1]
	%66 = getelementptr i8* %40, i32 %.sum6		; <i8*> [#uses=1]
	store i8 %65, i8* %66, align 1
	%67 = fptosi float undef to i32		; <i32> [#uses=1]
	%68 = add i32 %67, 4		; <i32> [#uses=1]
	%69 = lshr i32 %68, 3		; <i32> [#uses=1]
	%70 = and i32 %69, 1023		; <i32> [#uses=1]
	%.sum5 = add i32 %70, 128		; <i32> [#uses=1]
	%71 = getelementptr i8* %0, i32 %.sum5		; <i8*> [#uses=1]
	%72 = load i8* %71, align 1		; <i8> [#uses=1]
	store i8 %72, i8* undef, align 1
	%73 = fadd float %47, undef		; <float> [#uses=1]
	%74 = fptosi float %73 to i32		; <i32> [#uses=1]
	%75 = add i32 %74, 4		; <i32> [#uses=1]
	%76 = lshr i32 %75, 3		; <i32> [#uses=1]
	%77 = and i32 %76, 1023		; <i32> [#uses=1]
	%.sum3 = add i32 %77, 128		; <i32> [#uses=1]
	%78 = getelementptr i8* %0, i32 %.sum3		; <i8*> [#uses=1]
	%79 = load i8* %78, align 1		; <i8> [#uses=1]
	store i8 %79, i8* undef, align 1
	%80 = fsub float %47, undef		; <float> [#uses=1]
	%81 = fptosi float %80 to i32		; <i32> [#uses=1]
	%82 = add i32 %81, 4		; <i32> [#uses=1]
	%83 = lshr i32 %82, 3		; <i32> [#uses=1]
	%84 = and i32 %83, 1023		; <i32> [#uses=1]
	%.sum1 = add i32 %84, 128		; <i32> [#uses=1]
	%85 = getelementptr i8* %0, i32 %.sum1		; <i8*> [#uses=1]
	%86 = load i8* %85, align 1		; <i8> [#uses=1]
	%87 = getelementptr i8* %40, i32 %.sum		; <i8*> [#uses=1]
	store i8 %86, i8* %87, align 1
	%88 = add i32 %ctr.116, 1		; <i32> [#uses=2]
	%exitcond = icmp eq i32 %88, 8		; <i1> [#uses=1]
	br i1 %exitcond, label %return, label %bb8

return:		; preds = %bb8
	ret void
}
