debug_get_bool_option: SWRAST_NO_PRESENT = FALSE debug_get_option: GALLIUM_DRIVER = llvmpipe debug_get_flags_option: LP_DEBUG = 0x0 debug_get_flags_option: GALLIVM_DEBUG = 0x0 util_cpu_caps.arch = 4 util_cpu_caps.nr_cpus = 1 util_cpu_caps.x86_cpu_type = 8 util_cpu_caps.cacheline = 64 util_cpu_caps.has_tsc = 1 util_cpu_caps.has_mmx = 1 util_cpu_caps.has_mmx2 = 1 util_cpu_caps.has_sse = 1 util_cpu_caps.has_sse2 = 1 util_cpu_caps.has_sse3 = 1 util_cpu_caps.has_ssse3 = 0 util_cpu_caps.has_sse4_1 = 0 util_cpu_caps.has_3dnow = 1 util_cpu_caps.has_3dnow_ext = 1 util_cpu_caps.has_altivec = 0 debug_get_num_option: LP_NUM_THREADS = 1 couldn't open libtxc_dxtn.so, software DXTn compression/decompression unavailable debug_get_bool_option: GALLIUM_RBUG = FALSE debug_get_option: GALLIUM_TRACE = (null) debug_get_flags_option: GALLIVM_DEBUG = 0x0 debug_get_bool_option: DRAW_FSE = FALSE debug_get_bool_option: DRAW_NO_FSE = FALSE debug_get_bool_option: DRAW_USE_LLVM = TRUE debug_get_bool_option: GALLIUM_DUMP_VS = FALSE debug_get_bool_option: LP_NO_RAST = FALSE debug_get_bool_option: MESA_MVP_DP4 = FALSE debug_get_flags_option: GALLIVM_DEBUG = 0x0 Integer arithmetic operators only work with integral types! %pos.x.a = add <4 x float> %24, ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %pos.y.a = add <4 x float> %29, ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %pos.z.dadxy = add float %pos.z.dadx, %pos.z.dady ; [#uses=1] Instruction does not dominate all uses! %pos.z.dadxy = add float %pos.z.dadx, %pos.z.dady ; [#uses=1] %pos.z.dadq = insertelement <4 x float> %34, float %pos.z.dadxy, i32 3 ; <<4 x float>> [#uses=6] Integer arithmetic operators only work with integral types! %35 = add <4 x float> %pos.z.dadq, %pos.z.dadq ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %36 = mul float %18, %pos.z.dadx ; [#uses=1] Integer arithmetic operators only work with integral types! %37 = add float %pos.z.a0, %36 ; [#uses=1] Integer arithmetic operators only work with integral types! %38 = mul float %19, %pos.z.dady ; [#uses=1] Integer arithmetic operators only work with integral types! %39 = add float %37, %38 ; [#uses=4] Instruction does not dominate all uses! %39 = add float %37, %38 ; [#uses=4] %40 = insertelement <4 x float> undef, float %39, i32 0 ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %40 = insertelement <4 x float> undef, float %39, i32 0 ; <<4 x float>> [#uses=1] %41 = insertelement <4 x float> %40, float %39, i32 1 ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %41 = insertelement <4 x float> %40, float %39, i32 1 ; <<4 x float>> [#uses=1] %42 = insertelement <4 x float> %41, float %39, i32 2 ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %42 = insertelement <4 x float> %41, float %39, i32 2 ; <<4 x float>> [#uses=1] %43 = insertelement <4 x float> %42, float %39, i32 3 ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %pos.z.a = add <4 x float> %43, %35 ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %pos.w.dadxy = add float %pos.w.dadx, %pos.w.dady ; [#uses=1] Instruction does not dominate all uses! %pos.w.dadxy = add float %pos.w.dadx, %pos.w.dady ; [#uses=1] %pos.w.dadq = insertelement <4 x float> %48, float %pos.w.dadxy, i32 3 ; <<4 x float>> [#uses=6] Integer arithmetic operators only work with integral types! %49 = add <4 x float> %pos.w.dadq, %pos.w.dadq ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %50 = mul float %18, %pos.w.dadx ; [#uses=1] Integer arithmetic operators only work with integral types! %51 = add float %pos.w.a0, %50 ; [#uses=1] Integer arithmetic operators only work with integral types! %52 = mul float %19, %pos.w.dady ; [#uses=1] Integer arithmetic operators only work with integral types! %53 = add float %51, %52 ; [#uses=4] Instruction does not dominate all uses! %53 = add float %51, %52 ; [#uses=4] %54 = insertelement <4 x float> undef, float %53, i32 0 ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %54 = insertelement <4 x float> undef, float %53, i32 0 ; <<4 x float>> [#uses=1] %55 = insertelement <4 x float> %54, float %53, i32 1 ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %55 = insertelement <4 x float> %54, float %53, i32 1 ; <<4 x float>> [#uses=1] %56 = insertelement <4 x float> %55, float %53, i32 2 ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %56 = insertelement <4 x float> %55, float %53, i32 2 ; <<4 x float>> [#uses=1] %57 = insertelement <4 x float> %56, float %53, i32 3 ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %pos.w.a = add <4 x float> %57, %49 ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %input0.x.a = add <4 x float> %62, ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %input0.y.a = add <4 x float> %67, ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %input0.z.a = add <4 x float> %72, ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %input0.w.a = add <4 x float> %77, ; <<4 x float>> [#uses=4] Instruction does not dominate all uses! %pos.x.a = add <4 x float> %24, ; <<4 x float>> [#uses=4] %78 = shufflevector <4 x float> %pos.x.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %pos.x = add <4 x float> %78, ; <<4 x float>> [#uses=0] Instruction does not dominate all uses! %pos.y.a = add <4 x float> %29, ; <<4 x float>> [#uses=4] %79 = shufflevector <4 x float> %pos.y.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %pos.y = add <4 x float> %79, ; <<4 x float>> [#uses=0] Instruction does not dominate all uses! %pos.z.a = add <4 x float> %43, %35 ; <<4 x float>> [#uses=4] %80 = shufflevector <4 x float> %pos.z.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %pos.z = add <4 x float> %80, %pos.z.dadq ; <<4 x float>> [#uses=4] Instruction does not dominate all uses! %pos.w.a = add <4 x float> %57, %49 ; <<4 x float>> [#uses=4] %81 = shufflevector <4 x float> %pos.w.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %pos.w = add <4 x float> %81, %pos.w.dadq ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %84 = mul <4 x float> %pos.z, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %85 = add <4 x float> %84, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %85 = add <4 x float> %84, ; <<4 x float>> [#uses=1] %86 = bitcast <4 x float> %85 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %86 = bitcast <4 x float> %85 to <4 x i32> ; <<4 x i32>> [#uses=1] %87 = shl <4 x i32> %86, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %87 = shl <4 x i32> %86, ; <<4 x i32>> [#uses=1] %88 = lshr <4 x i32> %87, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %88 = lshr <4 x i32> %87, ; <<4 x i32>> [#uses=1] %89 = and <4 x i32> %88, ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %89 = and <4 x i32> %88, ; <<4 x i32>> [#uses=2] %90 = icmp ult <4 x i32> %89, %zsbuf.z ; <<4 x i1>> [#uses=1] Instruction does not dominate all uses! %90 = icmp ult <4 x i32> %89, %zsbuf.z ; <<4 x i1>> [#uses=1] %91 = sext <4 x i1> %90 to <4 x i32> ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %91 = sext <4 x i1> %90 to <4 x i32> ; <<4 x i32>> [#uses=2] %92 = and <4 x i32> , %91 ; <<4 x i32>> [#uses=4] Instruction does not dominate all uses! %92 = and <4 x i32> , %91 ; <<4 x i32>> [#uses=4] %93 = bitcast <4 x i32> %92 to i128 ; [#uses=1] Instruction does not dominate all uses! %93 = bitcast <4 x i32> %92 to i128 ; [#uses=1] %94 = icmp eq i128 %93, 0 ; [#uses=1] Instruction does not dominate all uses! %94 = icmp eq i128 %93, 0 ; [#uses=1] br i1 %94, label %106, label %95 Integer arithmetic operators only work with integral types! %pos.x1 = add <4 x float> %113, ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %pos.y2 = add <4 x float> %114, ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %pos.z3 = add <4 x float> %115, %pos.z.dadq ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %pos.w4 = add <4 x float> %116, %pos.w.dadq ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %119 = mul <4 x float> %pos.z3, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %120 = add <4 x float> %119, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %120 = add <4 x float> %119, ; <<4 x float>> [#uses=1] %121 = bitcast <4 x float> %120 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %121 = bitcast <4 x float> %120 to <4 x i32> ; <<4 x i32>> [#uses=1] %122 = shl <4 x i32> %121, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %122 = shl <4 x i32> %121, ; <<4 x i32>> [#uses=1] %123 = lshr <4 x i32> %122, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %123 = lshr <4 x i32> %122, ; <<4 x i32>> [#uses=1] %124 = and <4 x i32> %123, ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %124 = and <4 x i32> %123, ; <<4 x i32>> [#uses=2] %125 = icmp ult <4 x i32> %124, %zsbuf.z12 ; <<4 x i1>> [#uses=1] Instruction does not dominate all uses! %125 = icmp ult <4 x i32> %124, %zsbuf.z12 ; <<4 x i1>> [#uses=1] %126 = sext <4 x i1> %125 to <4 x i32> ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %126 = sext <4 x i1> %125 to <4 x i32> ; <<4 x i32>> [#uses=2] %127 = and <4 x i32> , %126 ; <<4 x i32>> [#uses=4] Instruction does not dominate all uses! %127 = and <4 x i32> , %126 ; <<4 x i32>> [#uses=4] %128 = bitcast <4 x i32> %127 to i128 ; [#uses=1] Instruction does not dominate all uses! %128 = bitcast <4 x i32> %127 to i128 ; [#uses=1] %129 = icmp eq i128 %128, 0 ; [#uses=1] Instruction does not dominate all uses! %129 = icmp eq i128 %128, 0 ; [#uses=1] br i1 %129, label %141, label %130 Integer arithmetic operators only work with integral types! %pos.x15 = add <4 x float> %148, ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %pos.y16 = add <4 x float> %149, ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %pos.z17 = add <4 x float> %150, %pos.z.dadq ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %pos.w18 = add <4 x float> %151, %pos.w.dadq ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %154 = mul <4 x float> %pos.z17, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %155 = add <4 x float> %154, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %155 = add <4 x float> %154, ; <<4 x float>> [#uses=1] %156 = bitcast <4 x float> %155 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %156 = bitcast <4 x float> %155 to <4 x i32> ; <<4 x i32>> [#uses=1] %157 = shl <4 x i32> %156, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %157 = shl <4 x i32> %156, ; <<4 x i32>> [#uses=1] %158 = lshr <4 x i32> %157, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %158 = lshr <4 x i32> %157, ; <<4 x i32>> [#uses=1] %159 = and <4 x i32> %158, ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %159 = and <4 x i32> %158, ; <<4 x i32>> [#uses=2] %160 = icmp ult <4 x i32> %159, %zsbuf.z26 ; <<4 x i1>> [#uses=1] Instruction does not dominate all uses! %160 = icmp ult <4 x i32> %159, %zsbuf.z26 ; <<4 x i1>> [#uses=1] %161 = sext <4 x i1> %160 to <4 x i32> ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %161 = sext <4 x i1> %160 to <4 x i32> ; <<4 x i32>> [#uses=2] %162 = and <4 x i32> , %161 ; <<4 x i32>> [#uses=4] Instruction does not dominate all uses! %162 = and <4 x i32> , %161 ; <<4 x i32>> [#uses=4] %163 = bitcast <4 x i32> %162 to i128 ; [#uses=1] Instruction does not dominate all uses! %163 = bitcast <4 x i32> %162 to i128 ; [#uses=1] %164 = icmp eq i128 %163, 0 ; [#uses=1] Instruction does not dominate all uses! %164 = icmp eq i128 %163, 0 ; [#uses=1] br i1 %164, label %176, label %165 Integer arithmetic operators only work with integral types! %pos.x29 = add <4 x float> %183, ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %pos.y30 = add <4 x float> %184, ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %pos.z31 = add <4 x float> %185, %pos.z.dadq ; <<4 x float>> [#uses=4] Integer arithmetic operators only work with integral types! %pos.w32 = add <4 x float> %186, %pos.w.dadq ; <<4 x float>> [#uses=0] Integer arithmetic operators only work with integral types! %189 = mul <4 x float> %pos.z31, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %190 = add <4 x float> %189, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %190 = add <4 x float> %189, ; <<4 x float>> [#uses=1] %191 = bitcast <4 x float> %190 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %191 = bitcast <4 x float> %190 to <4 x i32> ; <<4 x i32>> [#uses=1] %192 = shl <4 x i32> %191, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %192 = shl <4 x i32> %191, ; <<4 x i32>> [#uses=1] %193 = lshr <4 x i32> %192, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %193 = lshr <4 x i32> %192, ; <<4 x i32>> [#uses=1] %194 = and <4 x i32> %193, ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %194 = and <4 x i32> %193, ; <<4 x i32>> [#uses=2] %195 = icmp ult <4 x i32> %194, %zsbuf.z40 ; <<4 x i1>> [#uses=1] Instruction does not dominate all uses! %195 = icmp ult <4 x i32> %194, %zsbuf.z40 ; <<4 x i1>> [#uses=1] %196 = sext <4 x i1> %195 to <4 x i32> ; <<4 x i32>> [#uses=2] Instruction does not dominate all uses! %196 = sext <4 x i1> %195 to <4 x i32> ; <<4 x i32>> [#uses=2] %197 = and <4 x i32> , %196 ; <<4 x i32>> [#uses=4] Instruction does not dominate all uses! %197 = and <4 x i32> , %196 ; <<4 x i32>> [#uses=4] %198 = bitcast <4 x i32> %197 to i128 ; [#uses=1] Instruction does not dominate all uses! %198 = bitcast <4 x i32> %197 to i128 ; [#uses=1] %199 = icmp eq i128 %198, 0 ; [#uses=1] Instruction does not dominate all uses! %199 = icmp eq i128 %198, 0 ; [#uses=1] br i1 %199, label %211, label %200 Integer arithmetic operators only work with integral types! %226 = mul <4 x float> %222, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %227 = add <4 x float> %226, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %227 = add <4 x float> %226, ; <<4 x float>> [#uses=1] %228 = bitcast <4 x float> %227 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %228 = bitcast <4 x float> %227 to <4 x i32> ; <<4 x i32>> [#uses=1] %229 = and <4 x i32> %228, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %230 = mul <4 x float> %223, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %231 = add <4 x float> %230, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %231 = add <4 x float> %230, ; <<4 x float>> [#uses=1] %232 = bitcast <4 x float> %231 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %232 = bitcast <4 x float> %231 to <4 x i32> ; <<4 x i32>> [#uses=1] %233 = and <4 x i32> %232, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %234 = mul <4 x float> %224, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %235 = add <4 x float> %234, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %235 = add <4 x float> %234, ; <<4 x float>> [#uses=1] %236 = bitcast <4 x float> %235 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %236 = bitcast <4 x float> %235 to <4 x i32> ; <<4 x i32>> [#uses=1] %237 = and <4 x i32> %236, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %238 = mul <4 x float> %225, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %239 = add <4 x float> %238, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %239 = add <4 x float> %238, ; <<4 x float>> [#uses=1] %240 = bitcast <4 x float> %239 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %240 = bitcast <4 x float> %239 to <4 x i32> ; <<4 x i32>> [#uses=1] %241 = and <4 x i32> %240, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %229 = and <4 x i32> %228, ; <<4 x i32>> [#uses=1] %242 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %229, <4 x i32> %233) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %237 = and <4 x i32> %236, ; <<4 x i32>> [#uses=1] %243 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %237, <4 x i32> %241) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %242 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %229, <4 x i32> %233) ; <<8 x i16>> [#uses=1] %res.r = call <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16> %242, <8 x i16> %243) ; <<16 x i8>> [#uses=1] Integer arithmetic operators only work with integral types! %252 = mul <4 x float> %248, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %253 = add <4 x float> %252, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %253 = add <4 x float> %252, ; <<4 x float>> [#uses=1] %254 = bitcast <4 x float> %253 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %254 = bitcast <4 x float> %253 to <4 x i32> ; <<4 x i32>> [#uses=1] %255 = and <4 x i32> %254, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %256 = mul <4 x float> %249, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %257 = add <4 x float> %256, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %257 = add <4 x float> %256, ; <<4 x float>> [#uses=1] %258 = bitcast <4 x float> %257 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %258 = bitcast <4 x float> %257 to <4 x i32> ; <<4 x i32>> [#uses=1] %259 = and <4 x i32> %258, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %260 = mul <4 x float> %250, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %261 = add <4 x float> %260, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %261 = add <4 x float> %260, ; <<4 x float>> [#uses=1] %262 = bitcast <4 x float> %261 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %262 = bitcast <4 x float> %261 to <4 x i32> ; <<4 x i32>> [#uses=1] %263 = and <4 x i32> %262, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %264 = mul <4 x float> %251, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %265 = add <4 x float> %264, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %265 = add <4 x float> %264, ; <<4 x float>> [#uses=1] %266 = bitcast <4 x float> %265 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %266 = bitcast <4 x float> %265 to <4 x i32> ; <<4 x i32>> [#uses=1] %267 = and <4 x i32> %266, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %255 = and <4 x i32> %254, ; <<4 x i32>> [#uses=1] %268 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %255, <4 x i32> %259) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %263 = and <4 x i32> %262, ; <<4 x i32>> [#uses=1] %269 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %263, <4 x i32> %267) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %268 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %255, <4 x i32> %259) ; <<8 x i16>> [#uses=1] %res.g = call <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16> %268, <8 x i16> %269) ; <<16 x i8>> [#uses=1] Integer arithmetic operators only work with integral types! %278 = mul <4 x float> %274, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %279 = add <4 x float> %278, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %279 = add <4 x float> %278, ; <<4 x float>> [#uses=1] %280 = bitcast <4 x float> %279 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %280 = bitcast <4 x float> %279 to <4 x i32> ; <<4 x i32>> [#uses=1] %281 = and <4 x i32> %280, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %282 = mul <4 x float> %275, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %283 = add <4 x float> %282, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %283 = add <4 x float> %282, ; <<4 x float>> [#uses=1] %284 = bitcast <4 x float> %283 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %284 = bitcast <4 x float> %283 to <4 x i32> ; <<4 x i32>> [#uses=1] %285 = and <4 x i32> %284, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %286 = mul <4 x float> %276, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %287 = add <4 x float> %286, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %287 = add <4 x float> %286, ; <<4 x float>> [#uses=1] %288 = bitcast <4 x float> %287 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %288 = bitcast <4 x float> %287 to <4 x i32> ; <<4 x i32>> [#uses=1] %289 = and <4 x i32> %288, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %290 = mul <4 x float> %277, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %291 = add <4 x float> %290, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %291 = add <4 x float> %290, ; <<4 x float>> [#uses=1] %292 = bitcast <4 x float> %291 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %292 = bitcast <4 x float> %291 to <4 x i32> ; <<4 x i32>> [#uses=1] %293 = and <4 x i32> %292, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %281 = and <4 x i32> %280, ; <<4 x i32>> [#uses=1] %294 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %281, <4 x i32> %285) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %289 = and <4 x i32> %288, ; <<4 x i32>> [#uses=1] %295 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %289, <4 x i32> %293) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %294 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %281, <4 x i32> %285) ; <<8 x i16>> [#uses=1] %res.b = call <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16> %294, <8 x i16> %295) ; <<16 x i8>> [#uses=1] Integer arithmetic operators only work with integral types! %304 = mul <4 x float> %300, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %305 = add <4 x float> %304, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %305 = add <4 x float> %304, ; <<4 x float>> [#uses=1] %306 = bitcast <4 x float> %305 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %306 = bitcast <4 x float> %305 to <4 x i32> ; <<4 x i32>> [#uses=1] %307 = and <4 x i32> %306, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %308 = mul <4 x float> %301, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %309 = add <4 x float> %308, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %309 = add <4 x float> %308, ; <<4 x float>> [#uses=1] %310 = bitcast <4 x float> %309 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %310 = bitcast <4 x float> %309 to <4 x i32> ; <<4 x i32>> [#uses=1] %311 = and <4 x i32> %310, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %312 = mul <4 x float> %302, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %313 = add <4 x float> %312, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %313 = add <4 x float> %312, ; <<4 x float>> [#uses=1] %314 = bitcast <4 x float> %313 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %314 = bitcast <4 x float> %313 to <4 x i32> ; <<4 x i32>> [#uses=1] %315 = and <4 x i32> %314, ; <<4 x i32>> [#uses=1] Integer arithmetic operators only work with integral types! %316 = mul <4 x float> %303, ; <<4 x float>> [#uses=1] Integer arithmetic operators only work with integral types! %317 = add <4 x float> %316, ; <<4 x float>> [#uses=1] Instruction does not dominate all uses! %317 = add <4 x float> %316, ; <<4 x float>> [#uses=1] %318 = bitcast <4 x float> %317 to <4 x i32> ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %318 = bitcast <4 x float> %317 to <4 x i32> ; <<4 x i32>> [#uses=1] %319 = and <4 x i32> %318, ; <<4 x i32>> [#uses=1] Instruction does not dominate all uses! %307 = and <4 x i32> %306, ; <<4 x i32>> [#uses=1] %320 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %307, <4 x i32> %311) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %315 = and <4 x i32> %314, ; <<4 x i32>> [#uses=1] %321 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %315, <4 x i32> %319) ; <<8 x i16>> [#uses=1] Instruction does not dominate all uses! %320 = call <8 x i16> @llvm.x86.sse2.packssdw.128(<4 x i32> %307, <4 x i32> %311) ; <<8 x i16>> [#uses=1] %color0.a = call <16 x i8> @llvm.x86.sse2.packuswb.128(<8 x i16> %320, <8 x i16> %321) ; <<16 x i8>> [#uses=0] Broken module found, verification continues. define void @fs4_variant0_whole(%context* noalias %context, i32 %x, i32 %y, float, float* noalias %a0, float* noalias %dadx, float* noalias %dady, <16 x i8>** noalias %color_ptr_ptr, <4 x i32>* noalias %depth, i32 %mask_input, i32* noalias) { entry: %2 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %3 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %4 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %5 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %6 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %7 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %8 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %9 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %10 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %11 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %12 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %13 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %14 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %15 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %16 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %17 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %18 = sitofp i32 %x to float ; [#uses=6] %19 = sitofp i32 %y to float ; [#uses=6] %20 = getelementptr float* %a0, i32 0 ; [#uses=1] %pos.x.a0 = load float* %20 ; [#uses=0] %21 = insertelement <4 x float> undef, float %18, i32 0 ; <<4 x float>> [#uses=1] %22 = insertelement <4 x float> %21, float %18, i32 1 ; <<4 x float>> [#uses=1] %23 = insertelement <4 x float> %22, float %18, i32 2 ; <<4 x float>> [#uses=1] %24 = insertelement <4 x float> %23, float %18, i32 3 ; <<4 x float>> [#uses=1] %pos.x.a = add <4 x float> %24, ; <<4 x float>> [#uses=4] %25 = getelementptr float* %a0, i32 1 ; [#uses=1] %pos.y.a0 = load float* %25 ; [#uses=0] %26 = insertelement <4 x float> undef, float %19, i32 0 ; <<4 x float>> [#uses=1] %27 = insertelement <4 x float> %26, float %19, i32 1 ; <<4 x float>> [#uses=1] %28 = insertelement <4 x float> %27, float %19, i32 2 ; <<4 x float>> [#uses=1] %29 = insertelement <4 x float> %28, float %19, i32 3 ; <<4 x float>> [#uses=1] %pos.y.a = add <4 x float> %29, ; <<4 x float>> [#uses=4] %30 = getelementptr float* %dadx, i32 2 ; [#uses=1] %pos.z.dadx = load float* %30 ; [#uses=3] %31 = getelementptr float* %dady, i32 2 ; [#uses=1] %pos.z.dady = load float* %31 ; [#uses=3] %pos.z.dadxy = add float %pos.z.dadx, %pos.z.dady ; [#uses=1] %32 = getelementptr float* %a0, i32 2 ; [#uses=1] %pos.z.a0 = load float* %32 ; [#uses=1] %33 = insertelement <4 x float> , float %pos.z.dadx, i32 1 ; <<4 x float>> [#uses=1] %34 = insertelement <4 x float> %33, float %pos.z.dady, i32 2 ; <<4 x float>> [#uses=1] %pos.z.dadq = insertelement <4 x float> %34, float %pos.z.dadxy, i32 3 ; <<4 x float>> [#uses=6] %35 = add <4 x float> %pos.z.dadq, %pos.z.dadq ; <<4 x float>> [#uses=1] %36 = mul float %18, %pos.z.dadx ; [#uses=1] %37 = add float %pos.z.a0, %36 ; [#uses=1] %38 = mul float %19, %pos.z.dady ; [#uses=1] %39 = add float %37, %38 ; [#uses=4] %40 = insertelement <4 x float> undef, float %39, i32 0 ; <<4 x float>> [#uses=1] %41 = insertelement <4 x float> %40, float %39, i32 1 ; <<4 x float>> [#uses=1] %42 = insertelement <4 x float> %41, float %39, i32 2 ; <<4 x float>> [#uses=1] %43 = insertelement <4 x float> %42, float %39, i32 3 ; <<4 x float>> [#uses=1] %pos.z.a = add <4 x float> %43, %35 ; <<4 x float>> [#uses=4] %44 = getelementptr float* %dadx, i32 3 ; [#uses=1] %pos.w.dadx = load float* %44 ; [#uses=3] %45 = getelementptr float* %dady, i32 3 ; [#uses=1] %pos.w.dady = load float* %45 ; [#uses=3] %pos.w.dadxy = add float %pos.w.dadx, %pos.w.dady ; [#uses=1] %46 = getelementptr float* %a0, i32 3 ; [#uses=1] %pos.w.a0 = load float* %46 ; [#uses=1] %47 = insertelement <4 x float> , float %pos.w.dadx, i32 1 ; <<4 x float>> [#uses=1] %48 = insertelement <4 x float> %47, float %pos.w.dady, i32 2 ; <<4 x float>> [#uses=1] %pos.w.dadq = insertelement <4 x float> %48, float %pos.w.dadxy, i32 3 ; <<4 x float>> [#uses=6] %49 = add <4 x float> %pos.w.dadq, %pos.w.dadq ; <<4 x float>> [#uses=1] %50 = mul float %18, %pos.w.dadx ; [#uses=1] %51 = add float %pos.w.a0, %50 ; [#uses=1] %52 = mul float %19, %pos.w.dady ; [#uses=1] %53 = add float %51, %52 ; [#uses=4] %54 = insertelement <4 x float> undef, float %53, i32 0 ; <<4 x float>> [#uses=1] %55 = insertelement <4 x float> %54, float %53, i32 1 ; <<4 x float>> [#uses=1] %56 = insertelement <4 x float> %55, float %53, i32 2 ; <<4 x float>> [#uses=1] %57 = insertelement <4 x float> %56, float %53, i32 3 ; <<4 x float>> [#uses=1] %pos.w.a = add <4 x float> %57, %49 ; <<4 x float>> [#uses=4] %58 = getelementptr float* %a0, i32 4 ; [#uses=1] %input0.x.a0 = load float* %58 ; [#uses=4] %59 = insertelement <4 x float> undef, float %input0.x.a0, i32 0 ; <<4 x float>> [#uses=1] %60 = insertelement <4 x float> %59, float %input0.x.a0, i32 1 ; <<4 x float>> [#uses=1] %61 = insertelement <4 x float> %60, float %input0.x.a0, i32 2 ; <<4 x float>> [#uses=1] %62 = insertelement <4 x float> %61, float %input0.x.a0, i32 3 ; <<4 x float>> [#uses=1] %input0.x.a = add <4 x float> %62, ; <<4 x float>> [#uses=4] %63 = getelementptr float* %a0, i32 5 ; [#uses=1] %input0.y.a0 = load float* %63 ; [#uses=4] %64 = insertelement <4 x float> undef, float %input0.y.a0, i32 0 ; <<4 x float>> [#uses=1] %65 = insertelement <4 x float> %64, float %input0.y.a0, i32 1 ; <<4 x float>> [#uses=1] %66 = insertelement <4 x float> %65, float %input0.y.a0, i32 2 ; <<4 x float>> [#uses=1] %67 = insertelement <4 x float> %66, float %input0.y.a0, i32 3 ; <<4 x float>> [#uses=1] %input0.y.a = add <4 x float> %67, ; <<4 x float>> [#uses=4] %68 = getelementptr float* %a0, i32 6 ; [#uses=1] %input0.z.a0 = load float* %68 ; [#uses=4] %69 = insertelement <4 x float> undef, float %input0.z.a0, i32 0 ; <<4 x float>> [#uses=1] %70 = insertelement <4 x float> %69, float %input0.z.a0, i32 1 ; <<4 x float>> [#uses=1] %71 = insertelement <4 x float> %70, float %input0.z.a0, i32 2 ; <<4 x float>> [#uses=1] %72 = insertelement <4 x float> %71, float %input0.z.a0, i32 3 ; <<4 x float>> [#uses=1] %input0.z.a = add <4 x float> %72, ; <<4 x float>> [#uses=4] %73 = getelementptr float* %a0, i32 7 ; [#uses=1] %input0.w.a0 = load float* %73 ; [#uses=4] %74 = insertelement <4 x float> undef, float %input0.w.a0, i32 0 ; <<4 x float>> [#uses=1] %75 = insertelement <4 x float> %74, float %input0.w.a0, i32 1 ; <<4 x float>> [#uses=1] %76 = insertelement <4 x float> %75, float %input0.w.a0, i32 2 ; <<4 x float>> [#uses=1] %77 = insertelement <4 x float> %76, float %input0.w.a0, i32 3 ; <<4 x float>> [#uses=1] %input0.w.a = add <4 x float> %77, ; <<4 x float>> [#uses=4] %78 = shufflevector <4 x float> %pos.x.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %pos.x = add <4 x float> %78, ; <<4 x float>> [#uses=0] %79 = shufflevector <4 x float> %pos.y.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %pos.y = add <4 x float> %79, ; <<4 x float>> [#uses=0] %80 = shufflevector <4 x float> %pos.z.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %pos.z = add <4 x float> %80, %pos.z.dadq ; <<4 x float>> [#uses=4] %81 = shufflevector <4 x float> %pos.w.a, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %pos.w = add <4 x float> %81, %pos.w.dadq ; <<4 x float>> [#uses=0] %82 = getelementptr <4 x i32>* %depth, i32 0 ; <<4 x i32>*> [#uses=2] %context.stencil_ref_front_ptr = getelementptr %context* %context, i32 0, i32 2 ; [#uses=1] %context.stencil_ref_front = load i32* %context.stencil_ref_front_ptr ; [#uses=0] %context.stencil_ref_back_ptr = getelementptr %context* %context, i32 0, i32 3 ; [#uses=1] %context.stencil_ref_back = load i32* %context.stencil_ref_back_ptr ; [#uses=0] %context.constants_ptr = getelementptr %context* %context, i32 0, i32 0 ; [#uses=1] %context.constants = load float** %context.constants_ptr ; [#uses=0] br i1 icmp eq (i128 bitcast (<4 x i32> to i128), i128 0), label %106, label %83 ;