Both operands to ICmp instruction are not of the same type! %161 = icmp sge <4 x i32> %143, i32 0 Branch condition is not 'i1' type! br <4 x i1> %161, label %if-true-block, label %if-false-block %161 = icmp sge <4 x i32> %143, i32 0 Broken module found, verification continues. define void @fs27_variant0_partial({ float*, float, i32, i32, i8*, [16 x { i32, i32, i32, i32, i32, i8*, [14 x i32], [14 x i32], [14 x i32], float, float, float, [4 x float] }] }* noalias %context, i32 %x, i32 %y, i32, float* noalias %a0, float* noalias %dadx, float* noalias %dady, <16 x i8>** noalias %color_ptr_ptr, i8* noalias %depth, i32 %mask_input, i32* noalias) { entry: %execution_mask40 = alloca <16 x i8> %sampler0_texel_w_var = alloca <8 x float> %sampler0_texel_z_var = alloca <8 x float> %sampler0_texel_y_var = alloca <8 x float> %sampler0_texel_x_var = alloca <8 x float> %temp11 = alloca <8 x float> %temp10 = alloca <8 x float> %temp9 = alloca <8 x float> %temp = alloca <8 x float> %output8 = alloca <8 x float> %output7 = alloca <8 x float> %output6 = alloca <8 x float> %output = alloca <8 x float> %looplimiter = alloca i32 %execution_mask = alloca <8 x i32> %color5 = alloca <8 x float>, i32 2 %color4 = alloca <8 x float>, i32 2 %color3 = alloca <8 x float>, i32 2 %color = alloca <8 x float>, i32 2 %loop_counter = alloca i32 %2 = alloca <8 x float>, i32 2 %3 = alloca <8 x float>, i32 2 %mask_store = alloca <8 x i32>, i32 2 %4 = sitofp i32 %x to float %5 = sitofp i32 %y to float %6 = getelementptr <8 x float>* %3, i32 0 store <8 x float> , <8 x float>* %6 %7 = getelementptr <8 x float>* %2, i32 0 store <8 x float> , <8 x float>* %7 %8 = getelementptr <8 x float>* %3, i32 1 store <8 x float> , <8 x float>* %8 %9 = getelementptr <8 x float>* %2, i32 1 store <8 x float> , <8 x float>* %9 %10 = getelementptr float* %dadx, i32 0 %11 = bitcast float* %10 to <4 x float>* %pos.x.dadxaos = load <4 x float>* %11 %12 = getelementptr float* %dady, i32 0 %13 = bitcast float* %12 to <4 x float>* %pos.x.dadyaos = load <4 x float>* %13 %14 = getelementptr float* %a0, i32 0 %15 = bitcast float* %14 to <4 x float>* %pos.x.a0aos = load <4 x float>* %15 %16 = getelementptr float* %dadx, i32 4 %17 = bitcast float* %16 to <4 x float>* %input0.x.dadxaos = load <4 x float>* %17 %18 = getelementptr float* %dady, i32 4 %19 = bitcast float* %18 to <4 x float>* %input0.x.dadyaos = load <4 x float>* %19 %20 = getelementptr float* %a0, i32 4 %21 = bitcast float* %20 to <4 x float>* %input0.x.a0aos = load <4 x float>* %21 %mask_ptr = getelementptr <8 x i32>* %mask_store, i32 0 %22 = lshr i32 %mask_input, 0 %23 = insertelement <8 x i32> undef, i32 %22, i32 0 %24 = shufflevector <8 x i32> %23, <8 x i32> undef, <8 x i32> zeroinitializer %25 = and <8 x i32> %24, %26 = icmp ne <8 x i32> %25, zeroinitializer %27 = sext <8 x i1> %26 to <8 x i32> store <8 x i32> %27, <8 x i32>* %mask_ptr %mask_ptr1 = getelementptr <8 x i32>* %mask_store, i32 1 %28 = lshr i32 %mask_input, 8 %29 = insertelement <8 x i32> undef, i32 %28, i32 0 %30 = shufflevector <8 x i32> %29, <8 x i32> undef, <8 x i32> zeroinitializer %31 = and <8 x i32> %30, %32 = icmp ne <8 x i32> %31, zeroinitializer %33 = sext <8 x i1> %32 to <8 x i32> store <8 x i32> %33, <8 x i32>* %mask_ptr1 %context.stencil_ref_front_ptr = getelementptr { float*, float, i32, i32, i8*, [16 x { i32, i32, i32, i32, i32, i8*, [14 x i32], [14 x i32], [14 x i32], float, float, float, [4 x float] }] }* %context, i32 0, i32 2 %context.stencil_ref_front = load i32* %context.stencil_ref_front_ptr %context.stencil_ref_back_ptr = getelementptr { float*, float, i32, i32, i8*, [16 x { i32, i32, i32, i32, i32, i8*, [14 x i32], [14 x i32], [14 x i32], float, float, float, [4 x float] }] }* %context, i32 0, i32 3 %context.stencil_ref_back = load i32* %context.stencil_ref_back_ptr %context.constants_ptr = getelementptr { float*, float, i32, i32, i8*, [16 x { i32, i32, i32, i32, i32, i8*, [14 x i32], [14 x i32], [14 x i32], float, float, float, [4 x float] }] }* %context, i32 0, i32 0 %context.constants = load float** %context.constants_ptr store i32 0, i32* %loop_counter store i32 0, i32* %loop_counter br label %loop_begin loop_begin: ; preds = %skip, %entry %34 = load i32* %loop_counter %35 = icmp ult i32 %34, 2 br i1 %35, label %loop_body, label %loop_exit loop_body: ; preds = %loop_begin %mask_ptr2 = getelementptr <8 x i32>* %mask_store, i32 %34 %36 = load <8 x i32>* %mask_ptr2 %37 = mul i32 %34, 8 %38 = getelementptr i8* %depth, i32 %37 store <8 x i32> zeroinitializer, <8 x i32>* %execution_mask store <8 x i32> %36, <8 x i32>* %execution_mask %39 = load <8 x i32>* %execution_mask %40 = bitcast <8 x i32> %39 to i256 %41 = icmp eq i256 %40, 0 br i1 %41, label %skip, label %42 ;