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 debug_get_bool_option: GALLIUM_DUMP_CPU = TRUE 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_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: ST_DEBUG = 0x0 debug_get_bool_option: TGSI_PRINT_SANITY = TRUE Floating-point arithmetic operators only work with floating-point types! %24 = fadd i32 %start, %count ; [#uses=1] Broken module found, verification continues. define void @draw_llvm_shader(%draw_jit_context* noalias %context, %vertex_header3* noalias %io, i8** noalias %vbuffers, i32 %start, i32 %count, i32 %stride, %pipe_vertex_buffer* noalias %vb, i32 %instance_id) { entry: %0 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %1 = alloca <4 x float> ; <<4 x float>*> [#uses=3] %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=6] %5 = alloca <4 x float> ; <<4 x float>*> [#uses=7] %6 = alloca <4 x float> ; <<4 x float>*> [#uses=7] %7 = alloca <4 x float> ; <<4 x float>*> [#uses=7] %8 = alloca <4 x float> ; <<4 x float>*> [#uses=1] %9 = alloca <4 x float> ; <<4 x float>*> [#uses=5] %10 = alloca <4 x float> ; <<4 x float>*> [#uses=5] %11 = alloca <4 x float> ; <<4 x float>*> [#uses=8] %12 = alloca <4 x float> ; <<4 x float>*> [#uses=7] %13 = alloca <4 x float> ; <<4 x float>*> [#uses=8] %14 = alloca <4 x float> ; <<4 x float>*> [#uses=8] %15 = alloca <4 x float> ; <<4 x float>*> [#uses=8] %16 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %17 = alloca <4 x float> ; <<4 x float>*> [#uses=3] %18 = alloca <4 x float> ; <<4 x float>*> [#uses=3] %19 = alloca <4 x float> ; <<4 x float>*> [#uses=3] %20 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %21 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %22 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %23 = alloca <4 x float> ; <<4 x float>*> [#uses=2] %24 = fadd i32 %start, %count ; [#uses=1] br label %loop loop: ; preds = %loop, %entry %25 = phi i32 [ %start, %entry ], [ %578, %loop ] ; [#uses=6] %26 = sub i32 %25, %start ; [#uses=1] %27 = getelementptr %vertex_header3* %io, i32 %26 ; <%vertex_header3*> [#uses=8] %28 = add i32 %25, 0 ; [#uses=2] %29 = getelementptr %pipe_vertex_buffer* %vb, i32 0 ; <%pipe_vertex_buffer*> [#uses=3] %30 = getelementptr i8** %vbuffers, i64 0 ; [#uses=1] %.stride_ptr = getelementptr %pipe_vertex_buffer* %29, i32 0, i32 0 ; [#uses=1] %.stride = load i32* %.stride_ptr ; [#uses=1] %.max_index_ptr = getelementptr %pipe_vertex_buffer* %29, i32 0, i32 1 ; [#uses=1] %.max_index = load i32* %.max_index_ptr ; [#uses=2] %.buffer_offset_ptr = getelementptr %pipe_vertex_buffer* %29, i32 0, i32 2 ; [#uses=1] %.buffer_offset = load i32* %.buffer_offset_ptr ; [#uses=1] %31 = icmp ule i32 %28, %.max_index ; [#uses=1] %32 = select i1 %31, i32 %28, i32 %.max_index ; [#uses=1] %33 = mul i32 %.stride, %32 ; [#uses=1] %vbuffer = load i8** %30 ; [#uses=1] %34 = add i32 %33, %.buffer_offset ; [#uses=1] %35 = add i32 %34, 0 ; [#uses=1] %36 = getelementptr i8* %vbuffer, i32 %35 ; [#uses=3] %src_tmp = getelementptr i8* %36, i32 0 ; [#uses=1] %37 = bitcast i8* %src_tmp to float* ; [#uses=1] %38 = load float* %37 ; [#uses=1] %39 = insertelement <4 x float> zeroinitializer, float %38, i32 0 ; <<4 x float>> [#uses=1] %src_tmp1 = getelementptr i8* %36, i32 4 ; [#uses=1] %40 = bitcast i8* %src_tmp1 to float* ; [#uses=1] %41 = load float* %40 ; [#uses=1] %42 = insertelement <4 x float> %39, float %41, i32 1 ; <<4 x float>> [#uses=1] %src_tmp2 = getelementptr i8* %36, i32 8 ; [#uses=1] %43 = bitcast i8* %src_tmp2 to float* ; [#uses=1] %44 = load float* %43 ; [#uses=1] %45 = insertelement <4 x float> %42, float %44, i32 2 ; <<4 x float>> [#uses=1] %46 = insertelement <4 x float> %45, float 1.000000e+00, i32 3 ; <<4 x float>> [#uses=4] %47 = add i32 %25, 1 ; [#uses=2] %48 = getelementptr %pipe_vertex_buffer* %vb, i32 0 ; <%pipe_vertex_buffer*> [#uses=3] %49 = getelementptr i8** %vbuffers, i64 0 ; [#uses=1] %.stride_ptr3 = getelementptr %pipe_vertex_buffer* %48, i32 0, i32 0 ; [#uses=1] %.stride4 = load i32* %.stride_ptr3 ; [#uses=1] %.max_index_ptr5 = getelementptr %pipe_vertex_buffer* %48, i32 0, i32 1 ; [#uses=1] %.max_index6 = load i32* %.max_index_ptr5 ; [#uses=2] %.buffer_offset_ptr7 = getelementptr %pipe_vertex_buffer* %48, i32 0, i32 2 ; [#uses=1] %.buffer_offset8 = load i32* %.buffer_offset_ptr7 ; [#uses=1] %50 = icmp ule i32 %47, %.max_index6 ; [#uses=1] %51 = select i1 %50, i32 %47, i32 %.max_index6 ; [#uses=1] %52 = mul i32 %.stride4, %51 ; [#uses=1] %vbuffer9 = load i8** %49 ; [#uses=1] %53 = add i32 %52, %.buffer_offset8 ; [#uses=1] %54 = add i32 %53, 0 ; [#uses=1] %55 = getelementptr i8* %vbuffer9, i32 %54 ; [#uses=3] %src_tmp10 = getelementptr i8* %55, i32 0 ; [#uses=1] %56 = bitcast i8* %src_tmp10 to float* ; [#uses=1] %57 = load float* %56 ; [#uses=1] %58 = insertelement <4 x float> zeroinitializer, float %57, i32 0 ; <<4 x float>> [#uses=1] %src_tmp11 = getelementptr i8* %55, i32 4 ; [#uses=1] %59 = bitcast i8* %src_tmp11 to float* ; [#uses=1] %60 = load float* %59 ; [#uses=1] %61 = insertelement <4 x float> %58, float %60, i32 1 ; <<4 x float>> [#uses=1] %src_tmp12 = getelementptr i8* %55, i32 8 ; [#uses=1] %62 = bitcast i8* %src_tmp12 to float* ; [#uses=1] %63 = load float* %62 ; [#uses=1] %64 = insertelement <4 x float> %61, float %63, i32 2 ; <<4 x float>> [#uses=1] %65 = insertelement <4 x float> %64, float 1.000000e+00, i32 3 ; <<4 x float>> [#uses=4] %66 = add i32 %25, 2 ; [#uses=2] %67 = getelementptr %pipe_vertex_buffer* %vb, i32 0 ; <%pipe_vertex_buffer*> [#uses=3] %68 = getelementptr i8** %vbuffers, i64 0 ; [#uses=1] %.stride_ptr13 = getelementptr %pipe_vertex_buffer* %67, i32 0, i32 0 ; [#uses=1] %.stride14 = load i32* %.stride_ptr13 ; [#uses=1] %.max_index_ptr15 = getelementptr %pipe_vertex_buffer* %67, i32 0, i32 1 ; [#uses=1] %.max_index16 = load i32* %.max_index_ptr15 ; [#uses=2] %.buffer_offset_ptr17 = getelementptr %pipe_vertex_buffer* %67, i32 0, i32 2 ; [#uses=1] %.buffer_offset18 = load i32* %.buffer_offset_ptr17 ; [#uses=1] %69 = icmp ule i32 %66, %.max_index16 ; [#uses=1] %70 = select i1 %69, i32 %66, i32 %.max_index16 ; [#uses=1] %71 = mul i32 %.stride14, %70 ; [#uses=1] %vbuffer19 = load i8** %68 ; [#uses=1] %72 = add i32 %71, %.buffer_offset18 ; [#uses=1] %73 = add i32 %72, 0 ; [#uses=1] %74 = getelementptr i8* %vbuffer19, i32 %73 ; [#uses=3] %src_tmp20 = getelementptr i8* %74, i32 0 ; [#uses=1] %75 = bitcast i8* %src_tmp20 to float* ; [#uses=1] %76 = load float* %75 ; [#uses=1] %77 = insertelement <4 x float> zeroinitializer, float %76, i32 0 ; <<4 x float>> [#uses=1] %src_tmp21 = getelementptr i8* %74, i32 4 ; [#uses=1] %78 = bitcast i8* %src_tmp21 to float* ; [#uses=1] %79 = load float* %78 ; [#uses=1] %80 = insertelement <4 x float> %77, float %79, i32 1 ; <<4 x float>> [#uses=1] %src_tmp22 = getelementptr i8* %74, i32 8 ; [#uses=1] %81 = bitcast i8* %src_tmp22 to float* ; [#uses=1] %82 = load float* %81 ; [#uses=1] %83 = insertelement <4 x float> %80, float %82, i32 2 ; <<4 x float>> [#uses=1] %84 = insertelement <4 x float> %83, float 1.000000e+00, i32 3 ; <<4 x float>> [#uses=4] %85 = add i32 %25, 3 ; [#uses=2] %86 = getelementptr %pipe_vertex_buffer* %vb, i32 0 ; <%pipe_vertex_buffer*> [#uses=3] %87 = getelementptr i8** %vbuffers, i64 0 ; [#uses=1] %.stride_ptr23 = getelementptr %pipe_vertex_buffer* %86, i32 0, i32 0 ; [#uses=1] %.stride24 = load i32* %.stride_ptr23 ; [#uses=1] %.max_index_ptr25 = getelementptr %pipe_vertex_buffer* %86, i32 0, i32 1 ; [#uses=1] %.max_index26 = load i32* %.max_index_ptr25 ; [#uses=2] %.buffer_offset_ptr27 = getelementptr %pipe_vertex_buffer* %86, i32 0, i32 2 ; [#uses=1] %.buffer_offset28 = load i32* %.buffer_offset_ptr27 ; [#uses=1] %88 = icmp ule i32 %85, %.max_index26 ; [#uses=1] %89 = select i1 %88, i32 %85, i32 %.max_index26 ; [#uses=1] %90 = mul i32 %.stride24, %89 ; [#uses=1] %vbuffer29 = load i8** %87 ; [#uses=1] %91 = add i32 %90, %.buffer_offset28 ; [#uses=1] %92 = add i32 %91, 0 ; [#uses=1] %93 = getelementptr i8* %vbuffer29, i32 %92 ; [#uses=3] %src_tmp30 = getelementptr i8* %93, i32 0 ; [#uses=1] %94 = bitcast i8* %src_tmp30 to float* ; [#uses=1] %95 = load float* %94 ; [#uses=1] %96 = insertelement <4 x float> zeroinitializer, float %95, i32 0 ; <<4 x float>> [#uses=1] %src_tmp31 = getelementptr i8* %93, i32 4 ; [#uses=1] %97 = bitcast i8* %src_tmp31 to float* ; [#uses=1] %98 = load float* %97 ; [#uses=1] %99 = insertelement <4 x float> %96, float %98, i32 1 ; <<4 x float>> [#uses=1] %src_tmp32 = getelementptr i8* %93, i32 8 ; [#uses=1] %100 = bitcast i8* %src_tmp32 to float* ; [#uses=1] %101 = load float* %100 ; [#uses=1] %102 = insertelement <4 x float> %99, float %101, i32 2 ; <<4 x float>> [#uses=1] %103 = insertelement <4 x float> %102, float 1.000000e+00, i32 3 ; <<4 x float>> [#uses=4] %104 = extractelement <4 x float> %46, i32 0 ; [#uses=1] %105 = insertelement <4 x float> zeroinitializer, float %104, i32 0 ; <<4 x float>> [#uses=1] %106 = extractelement <4 x float> %65, i32 0 ; [#uses=1] %107 = insertelement <4 x float> %105, float %106, i32 1 ; <<4 x float>> [#uses=1] %108 = extractelement <4 x float> %84, i32 0 ; [#uses=1] %109 = insertelement <4 x float> %107, float %108, i32 2 ; <<4 x float>> [#uses=1] %110 = extractelement <4 x float> %103, i32 0 ; [#uses=1] %111 = insertelement <4 x float> %109, float %110, i32 3 ; <<4 x float>> [#uses=4] %112 = extractelement <4 x float> %46, i32 1 ; [#uses=1] %113 = insertelement <4 x float> zeroinitializer, float %112, i32 0 ; <<4 x float>> [#uses=1] %114 = extractelement <4 x float> %65, i32 1 ; [#uses=1] %115 = insertelement <4 x float> %113, float %114, i32 1 ; <<4 x float>> [#uses=1] %116 = extractelement <4 x float> %84, i32 1 ; [#uses=1] %117 = insertelement <4 x float> %115, float %116, i32 2 ; <<4 x float>> [#uses=1] %118 = extractelement <4 x float> %103, i32 1 ; [#uses=1] %119 = insertelement <4 x float> %117, float %118, i32 3 ; <<4 x float>> [#uses=4] %120 = extractelement <4 x float> %46, i32 2 ; [#uses=1] %121 = insertelement <4 x float> zeroinitializer, float %120, i32 0 ; <<4 x float>> [#uses=1] %122 = extractelement <4 x float> %65, i32 2 ; [#uses=1] %123 = insertelement <4 x float> %121, float %122, i32 1 ; <<4 x float>> [#uses=1] %124 = extractelement <4 x float> %84, i32 2 ; [#uses=1] %125 = insertelement <4 x float> %123, float %124, i32 2 ; <<4 x float>> [#uses=1] %126 = extractelement <4 x float> %103, i32 2 ; [#uses=1] %127 = insertelement <4 x float> %125, float %126, i32 3 ; <<4 x float>> [#uses=4] %128 = extractelement <4 x float> %46, i32 3 ; [#uses=1] %129 = insertelement <4 x float> zeroinitializer, float %128, i32 0 ; <<4 x float>> [#uses=1] %130 = extractelement <4 x float> %65, i32 3 ; [#uses=1] %131 = insertelement <4 x float> %129, float %130, i32 1 ; <<4 x float>> [#uses=1] %132 = extractelement <4 x float> %84, i32 3 ; [#uses=1] %133 = insertelement <4 x float> %131, float %132, i32 2 ; <<4 x float>> [#uses=1] %134 = extractelement <4 x float> %103, i32 3 ; [#uses=1] %135 = insertelement <4 x float> %133, float %134, i32 3 ; <<4 x float>> [#uses=4] %context.vs_constants_ptr = getelementptr %draw_jit_context* %context, i32 0, i32 0 ; [#uses=1] %context.vs_constants = load float** %context.vs_constants_ptr ; [#uses=44] %136 = getelementptr float* %context.vs_constants, i32 0 ; [#uses=1] %137 = load float* %136 ; [#uses=1] %138 = insertelement <4 x float> undef, float %137, i32 0 ; <<4 x float>> [#uses=1] %139 = shufflevector <4 x float> %138, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %140 = fmul <4 x float> %111, %139 ; <<4 x float>> [#uses=1] %141 = getelementptr float* %context.vs_constants, i32 1 ; [#uses=1] %142 = load float* %141 ; [#uses=1] %143 = insertelement <4 x float> undef, float %142, i32 0 ; <<4 x float>> [#uses=1] %144 = shufflevector <4 x float> %143, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %145 = fmul <4 x float> %111, %144 ; <<4 x float>> [#uses=1] %146 = getelementptr float* %context.vs_constants, i32 2 ; [#uses=1] %147 = load float* %146 ; [#uses=1] %148 = insertelement <4 x float> undef, float %147, i32 0 ; <<4 x float>> [#uses=1] %149 = shufflevector <4 x float> %148, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %150 = fmul <4 x float> %111, %149 ; <<4 x float>> [#uses=1] %151 = getelementptr float* %context.vs_constants, i32 3 ; [#uses=1] %152 = load float* %151 ; [#uses=1] %153 = insertelement <4 x float> undef, float %152, i32 0 ; <<4 x float>> [#uses=1] %154 = shufflevector <4 x float> %153, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %155 = fmul <4 x float> %111, %154 ; <<4 x float>> [#uses=1] store <4 x float> %140, <4 x float>* %15 store <4 x float> %145, <4 x float>* %14 store <4 x float> %150, <4 x float>* %13 store <4 x float> %155, <4 x float>* %12 %156 = getelementptr float* %context.vs_constants, i32 4 ; [#uses=1] %157 = load float* %156 ; [#uses=1] %158 = insertelement <4 x float> undef, float %157, i32 0 ; <<4 x float>> [#uses=1] %159 = shufflevector <4 x float> %158, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %160 = load <4 x float>* %15 ; <<4 x float>> [#uses=1] %161 = fmul <4 x float> %119, %159 ; <<4 x float>> [#uses=1] %162 = fadd <4 x float> %161, %160 ; <<4 x float>> [#uses=1] %163 = getelementptr float* %context.vs_constants, i32 5 ; [#uses=1] %164 = load float* %163 ; [#uses=1] %165 = insertelement <4 x float> undef, float %164, i32 0 ; <<4 x float>> [#uses=1] %166 = shufflevector <4 x float> %165, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %167 = load <4 x float>* %14 ; <<4 x float>> [#uses=1] %168 = fmul <4 x float> %119, %166 ; <<4 x float>> [#uses=1] %169 = fadd <4 x float> %168, %167 ; <<4 x float>> [#uses=1] %170 = getelementptr float* %context.vs_constants, i32 6 ; [#uses=1] %171 = load float* %170 ; [#uses=1] %172 = insertelement <4 x float> undef, float %171, i32 0 ; <<4 x float>> [#uses=1] %173 = shufflevector <4 x float> %172, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %174 = load <4 x float>* %13 ; <<4 x float>> [#uses=1] %175 = fmul <4 x float> %119, %173 ; <<4 x float>> [#uses=1] %176 = fadd <4 x float> %175, %174 ; <<4 x float>> [#uses=1] %177 = getelementptr float* %context.vs_constants, i32 7 ; [#uses=1] %178 = load float* %177 ; [#uses=1] %179 = insertelement <4 x float> undef, float %178, i32 0 ; <<4 x float>> [#uses=1] %180 = shufflevector <4 x float> %179, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %181 = load <4 x float>* %12 ; <<4 x float>> [#uses=1] %182 = fmul <4 x float> %119, %180 ; <<4 x float>> [#uses=1] %183 = fadd <4 x float> %182, %181 ; <<4 x float>> [#uses=1] store <4 x float> %162, <4 x float>* %15 store <4 x float> %169, <4 x float>* %14 store <4 x float> %176, <4 x float>* %13 store <4 x float> %183, <4 x float>* %12 %184 = getelementptr float* %context.vs_constants, i32 8 ; [#uses=1] %185 = load float* %184 ; [#uses=1] %186 = insertelement <4 x float> undef, float %185, i32 0 ; <<4 x float>> [#uses=1] %187 = shufflevector <4 x float> %186, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %188 = load <4 x float>* %15 ; <<4 x float>> [#uses=1] %189 = fmul <4 x float> %127, %187 ; <<4 x float>> [#uses=1] %190 = fadd <4 x float> %189, %188 ; <<4 x float>> [#uses=1] %191 = getelementptr float* %context.vs_constants, i32 9 ; [#uses=1] %192 = load float* %191 ; [#uses=1] %193 = insertelement <4 x float> undef, float %192, i32 0 ; <<4 x float>> [#uses=1] %194 = shufflevector <4 x float> %193, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %195 = load <4 x float>* %14 ; <<4 x float>> [#uses=1] %196 = fmul <4 x float> %127, %194 ; <<4 x float>> [#uses=1] %197 = fadd <4 x float> %196, %195 ; <<4 x float>> [#uses=1] %198 = getelementptr float* %context.vs_constants, i32 10 ; [#uses=1] %199 = load float* %198 ; [#uses=1] %200 = insertelement <4 x float> undef, float %199, i32 0 ; <<4 x float>> [#uses=1] %201 = shufflevector <4 x float> %200, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %202 = load <4 x float>* %13 ; <<4 x float>> [#uses=1] %203 = fmul <4 x float> %127, %201 ; <<4 x float>> [#uses=1] %204 = fadd <4 x float> %203, %202 ; <<4 x float>> [#uses=1] %205 = getelementptr float* %context.vs_constants, i32 11 ; [#uses=1] %206 = load float* %205 ; [#uses=1] %207 = insertelement <4 x float> undef, float %206, i32 0 ; <<4 x float>> [#uses=1] %208 = shufflevector <4 x float> %207, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %209 = load <4 x float>* %12 ; <<4 x float>> [#uses=1] %210 = fmul <4 x float> %127, %208 ; <<4 x float>> [#uses=1] %211 = fadd <4 x float> %210, %209 ; <<4 x float>> [#uses=1] store <4 x float> %190, <4 x float>* %15 store <4 x float> %197, <4 x float>* %14 store <4 x float> %204, <4 x float>* %13 store <4 x float> %211, <4 x float>* %12 %212 = getelementptr float* %context.vs_constants, i32 12 ; [#uses=1] %213 = load float* %212 ; [#uses=1] %214 = insertelement <4 x float> undef, float %213, i32 0 ; <<4 x float>> [#uses=1] %215 = shufflevector <4 x float> %214, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %216 = load <4 x float>* %15 ; <<4 x float>> [#uses=1] %217 = fmul <4 x float> %135, %215 ; <<4 x float>> [#uses=1] %218 = fadd <4 x float> %217, %216 ; <<4 x float>> [#uses=1] %219 = getelementptr float* %context.vs_constants, i32 13 ; [#uses=1] %220 = load float* %219 ; [#uses=1] %221 = insertelement <4 x float> undef, float %220, i32 0 ; <<4 x float>> [#uses=1] %222 = shufflevector <4 x float> %221, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %223 = load <4 x float>* %14 ; <<4 x float>> [#uses=1] %224 = fmul <4 x float> %135, %222 ; <<4 x float>> [#uses=1] %225 = fadd <4 x float> %224, %223 ; <<4 x float>> [#uses=1] %226 = getelementptr float* %context.vs_constants, i32 14 ; [#uses=1] %227 = load float* %226 ; [#uses=1] %228 = insertelement <4 x float> undef, float %227, i32 0 ; <<4 x float>> [#uses=1] %229 = shufflevector <4 x float> %228, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %230 = load <4 x float>* %13 ; <<4 x float>> [#uses=1] %231 = fmul <4 x float> %135, %229 ; <<4 x float>> [#uses=1] %232 = fadd <4 x float> %231, %230 ; <<4 x float>> [#uses=1] %233 = getelementptr float* %context.vs_constants, i32 15 ; [#uses=1] %234 = load float* %233 ; [#uses=1] %235 = insertelement <4 x float> undef, float %234, i32 0 ; <<4 x float>> [#uses=1] %236 = shufflevector <4 x float> %235, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %237 = load <4 x float>* %12 ; <<4 x float>> [#uses=1] %238 = fmul <4 x float> %135, %236 ; <<4 x float>> [#uses=1] %239 = fadd <4 x float> %238, %237 ; <<4 x float>> [#uses=1] store <4 x float> %218, <4 x float>* %23 store <4 x float> %225, <4 x float>* %22 store <4 x float> %232, <4 x float>* %21 store <4 x float> %239, <4 x float>* %20 %240 = getelementptr float* %context.vs_constants, i32 16 ; [#uses=1] %241 = load float* %240 ; [#uses=1] %242 = insertelement <4 x float> undef, float %241, i32 0 ; <<4 x float>> [#uses=1] %243 = shufflevector <4 x float> %242, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %244 = getelementptr float* %context.vs_constants, i32 16 ; [#uses=1] %245 = load float* %244 ; [#uses=1] %246 = insertelement <4 x float> undef, float %245, i32 0 ; <<4 x float>> [#uses=1] %247 = shufflevector <4 x float> %246, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %248 = fmul <4 x float> %243, %247 ; <<4 x float>> [#uses=1] %249 = getelementptr float* %context.vs_constants, i32 17 ; [#uses=1] %250 = load float* %249 ; [#uses=1] %251 = insertelement <4 x float> undef, float %250, i32 0 ; <<4 x float>> [#uses=1] %252 = shufflevector <4 x float> %251, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %253 = getelementptr float* %context.vs_constants, i32 17 ; [#uses=1] %254 = load float* %253 ; [#uses=1] %255 = insertelement <4 x float> undef, float %254, i32 0 ; <<4 x float>> [#uses=1] %256 = shufflevector <4 x float> %255, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %257 = fmul <4 x float> %252, %256 ; <<4 x float>> [#uses=1] %258 = fadd <4 x float> %248, %257 ; <<4 x float>> [#uses=1] %259 = getelementptr float* %context.vs_constants, i32 18 ; [#uses=1] %260 = load float* %259 ; [#uses=1] %261 = insertelement <4 x float> undef, float %260, i32 0 ; <<4 x float>> [#uses=1] %262 = shufflevector <4 x float> %261, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %263 = getelementptr float* %context.vs_constants, i32 18 ; [#uses=1] %264 = load float* %263 ; [#uses=1] %265 = insertelement <4 x float> undef, float %264, i32 0 ; <<4 x float>> [#uses=1] %266 = shufflevector <4 x float> %265, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %267 = fmul <4 x float> %262, %266 ; <<4 x float>> [#uses=1] %268 = fadd <4 x float> %258, %267 ; <<4 x float>> [#uses=1] store <4 x float> %268, <4 x float>* %11 %269 = load <4 x float>* %11 ; <<4 x float>> [#uses=1] %270 = bitcast <4 x float> %269 to <4 x i32> ; <<4 x i32>> [#uses=1] %271 = and <4 x i32> %270, ; <<4 x i32>> [#uses=1] %272 = bitcast <4 x i32> %271 to <4 x float> ; <<4 x float>> [#uses=1] %273 = call <4 x float> @llvm.x86.sse.rsqrt.ps(<4 x float> %272) ; <<4 x float>> [#uses=1] store <4 x float> %273, <4 x float>* %11 %274 = getelementptr float* %context.vs_constants, i32 16 ; [#uses=1] %275 = load float* %274 ; [#uses=1] %276 = insertelement <4 x float> undef, float %275, i32 0 ; <<4 x float>> [#uses=1] %277 = shufflevector <4 x float> %276, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %278 = load <4 x float>* %11 ; <<4 x float>> [#uses=1] %279 = fmul <4 x float> %277, %278 ; <<4 x float>> [#uses=1] %280 = getelementptr float* %context.vs_constants, i32 17 ; [#uses=1] %281 = load float* %280 ; [#uses=1] %282 = insertelement <4 x float> undef, float %281, i32 0 ; <<4 x float>> [#uses=1] %283 = shufflevector <4 x float> %282, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %284 = load <4 x float>* %11 ; <<4 x float>> [#uses=1] %285 = fmul <4 x float> %283, %284 ; <<4 x float>> [#uses=1] %286 = getelementptr float* %context.vs_constants, i32 18 ; [#uses=1] %287 = load float* %286 ; [#uses=1] %288 = insertelement <4 x float> undef, float %287, i32 0 ; <<4 x float>> [#uses=1] %289 = shufflevector <4 x float> %288, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %290 = load <4 x float>* %11 ; <<4 x float>> [#uses=1] %291 = fmul <4 x float> %289, %290 ; <<4 x float>> [#uses=1] %292 = getelementptr float* %context.vs_constants, i32 19 ; [#uses=1] %293 = load float* %292 ; [#uses=1] %294 = insertelement <4 x float> undef, float %293, i32 0 ; <<4 x float>> [#uses=1] %295 = shufflevector <4 x float> %294, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %296 = load <4 x float>* %11 ; <<4 x float>> [#uses=1] %297 = fmul <4 x float> %295, %296 ; <<4 x float>> [#uses=1] store <4 x float> %279, <4 x float>* %15 store <4 x float> %285, <4 x float>* %14 store <4 x float> %291, <4 x float>* %13 store <4 x float> %297, <4 x float>* %12 %298 = getelementptr float* %context.vs_constants, i32 20 ; [#uses=1] %299 = load float* %298 ; [#uses=1] %300 = insertelement <4 x float> undef, float %299, i32 0 ; <<4 x float>> [#uses=1] %301 = shufflevector <4 x float> %300, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %302 = getelementptr float* %context.vs_constants, i32 21 ; [#uses=1] %303 = load float* %302 ; [#uses=1] %304 = insertelement <4 x float> undef, float %303, i32 0 ; <<4 x float>> [#uses=1] %305 = shufflevector <4 x float> %304, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %306 = getelementptr float* %context.vs_constants, i32 22 ; [#uses=1] %307 = load float* %306 ; [#uses=1] %308 = insertelement <4 x float> undef, float %307, i32 0 ; <<4 x float>> [#uses=1] %309 = shufflevector <4 x float> %308, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %310 = getelementptr float* %context.vs_constants, i32 23 ; [#uses=1] %311 = load float* %310 ; [#uses=1] %312 = insertelement <4 x float> undef, float %311, i32 0 ; <<4 x float>> [#uses=1] %313 = shufflevector <4 x float> %312, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] store <4 x float> %301, <4 x float>* %7 store <4 x float> %305, <4 x float>* %6 store <4 x float> %309, <4 x float>* %5 store <4 x float> %313, <4 x float>* %4 %314 = load <4 x float>* %7 ; <<4 x float>> [#uses=1] %315 = load <4 x float>* %6 ; <<4 x float>> [#uses=1] %316 = load <4 x float>* %5 ; <<4 x float>> [#uses=1] %317 = load <4 x float>* %4 ; <<4 x float>> [#uses=1] store <4 x float> %314, <4 x float>* %19 store <4 x float> %315, <4 x float>* %18 store <4 x float> %316, <4 x float>* %17 store <4 x float> %317, <4 x float>* %16 %318 = load <4 x float>* %15 ; <<4 x float>> [#uses=1] %319 = getelementptr float* %context.vs_constants, i32 24 ; [#uses=1] %320 = load float* %319 ; [#uses=1] %321 = insertelement <4 x float> undef, float %320, i32 0 ; <<4 x float>> [#uses=1] %322 = shufflevector <4 x float> %321, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %323 = fmul <4 x float> %318, %322 ; <<4 x float>> [#uses=1] %324 = load <4 x float>* %14 ; <<4 x float>> [#uses=1] %325 = getelementptr float* %context.vs_constants, i32 25 ; [#uses=1] %326 = load float* %325 ; [#uses=1] %327 = insertelement <4 x float> undef, float %326, i32 0 ; <<4 x float>> [#uses=1] %328 = shufflevector <4 x float> %327, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %329 = fmul <4 x float> %324, %328 ; <<4 x float>> [#uses=1] %330 = fadd <4 x float> %323, %329 ; <<4 x float>> [#uses=1] %331 = load <4 x float>* %13 ; <<4 x float>> [#uses=1] %332 = getelementptr float* %context.vs_constants, i32 26 ; [#uses=1] %333 = load float* %332 ; [#uses=1] %334 = insertelement <4 x float> undef, float %333, i32 0 ; <<4 x float>> [#uses=1] %335 = shufflevector <4 x float> %334, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %336 = fmul <4 x float> %331, %335 ; <<4 x float>> [#uses=1] %337 = fadd <4 x float> %330, %336 ; <<4 x float>> [#uses=4] store <4 x float> %337, <4 x float>* %3 store <4 x float> %337, <4 x float>* %2 store <4 x float> %337, <4 x float>* %1 store <4 x float> %337, <4 x float>* %0 %338 = load <4 x float>* %3 ; <<4 x float>> [#uses=1] %339 = call <4 x float> @llvm.x86.sse.max.ps(<4 x float> zeroinitializer, <4 x float> %338) ; <<4 x float>> [#uses=1] %340 = load <4 x float>* %2 ; <<4 x float>> [#uses=1] %341 = call <4 x float> @llvm.x86.sse.max.ps(<4 x float> zeroinitializer, <4 x float> %340) ; <<4 x float>> [#uses=1] %342 = load <4 x float>* %1 ; <<4 x float>> [#uses=1] %343 = call <4 x float> @llvm.x86.sse.max.ps(<4 x float> zeroinitializer, <4 x float> %342) ; <<4 x float>> [#uses=1] %344 = load <4 x float>* %0 ; <<4 x float>> [#uses=1] %345 = call <4 x float> @llvm.x86.sse.max.ps(<4 x float> , <4 x float> %344) ; <<4 x float>> [#uses=1] store <4 x float> %339, <4 x float>* %11 store <4 x float> %341, <4 x float>* %10 store <4 x float> %343, <4 x float>* %9 store <4 x float> %345, <4 x float>* %8 %346 = load <4 x float>* %1 ; <<4 x float>> [#uses=1] %347 = fcmp ult <4 x float> zeroinitializer, %346 ; <<4 x i1>> [#uses=1] %348 = sext <4 x i1> %347 to <4 x i32> ; <<4 x i32>> [#uses=2] %349 = and <4 x i32> , %348 ; <<4 x i32>> [#uses=1] %350 = xor <4 x i32> %348, ; <<4 x i32>> [#uses=1] %351 = and <4 x i32> zeroinitializer, %350 ; <<4 x i32>> [#uses=1] %352 = or <4 x i32> %349, %351 ; <<4 x i32>> [#uses=1] %353 = bitcast <4 x i32> %352 to <4 x float> ; <<4 x float>> [#uses=1] store <4 x float> %353, <4 x float>* %9 %354 = getelementptr float* %context.vs_constants, i32 28 ; [#uses=1] %355 = load float* %354 ; [#uses=1] %356 = insertelement <4 x float> undef, float %355, i32 0 ; <<4 x float>> [#uses=1] %357 = shufflevector <4 x float> %356, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %358 = load <4 x float>* %7 ; <<4 x float>> [#uses=1] %359 = fadd <4 x float> %357, %358 ; <<4 x float>> [#uses=1] %360 = getelementptr float* %context.vs_constants, i32 29 ; [#uses=1] %361 = load float* %360 ; [#uses=1] %362 = insertelement <4 x float> undef, float %361, i32 0 ; <<4 x float>> [#uses=1] %363 = shufflevector <4 x float> %362, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %364 = load <4 x float>* %6 ; <<4 x float>> [#uses=1] %365 = fadd <4 x float> %363, %364 ; <<4 x float>> [#uses=1] %366 = getelementptr float* %context.vs_constants, i32 30 ; [#uses=1] %367 = load float* %366 ; [#uses=1] %368 = insertelement <4 x float> undef, float %367, i32 0 ; <<4 x float>> [#uses=1] %369 = shufflevector <4 x float> %368, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %370 = load <4 x float>* %5 ; <<4 x float>> [#uses=1] %371 = fadd <4 x float> %369, %370 ; <<4 x float>> [#uses=1] %372 = getelementptr float* %context.vs_constants, i32 31 ; [#uses=1] %373 = load float* %372 ; [#uses=1] %374 = insertelement <4 x float> undef, float %373, i32 0 ; <<4 x float>> [#uses=1] %375 = shufflevector <4 x float> %374, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %376 = load <4 x float>* %4 ; <<4 x float>> [#uses=1] %377 = fadd <4 x float> %375, %376 ; <<4 x float>> [#uses=1] store <4 x float> %359, <4 x float>* %7 store <4 x float> %365, <4 x float>* %6 store <4 x float> %371, <4 x float>* %5 store <4 x float> %377, <4 x float>* %4 %378 = load <4 x float>* %10 ; <<4 x float>> [#uses=1] %379 = getelementptr float* %context.vs_constants, i32 32 ; [#uses=1] %380 = load float* %379 ; [#uses=1] %381 = insertelement <4 x float> undef, float %380, i32 0 ; <<4 x float>> [#uses=1] %382 = shufflevector <4 x float> %381, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %383 = load <4 x float>* %7 ; <<4 x float>> [#uses=1] %384 = fmul <4 x float> %378, %382 ; <<4 x float>> [#uses=1] %385 = fadd <4 x float> %384, %383 ; <<4 x float>> [#uses=1] %386 = load <4 x float>* %10 ; <<4 x float>> [#uses=1] %387 = getelementptr float* %context.vs_constants, i32 33 ; [#uses=1] %388 = load float* %387 ; [#uses=1] %389 = insertelement <4 x float> undef, float %388, i32 0 ; <<4 x float>> [#uses=1] %390 = shufflevector <4 x float> %389, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %391 = load <4 x float>* %6 ; <<4 x float>> [#uses=1] %392 = fmul <4 x float> %386, %390 ; <<4 x float>> [#uses=1] %393 = fadd <4 x float> %392, %391 ; <<4 x float>> [#uses=1] %394 = load <4 x float>* %10 ; <<4 x float>> [#uses=1] %395 = getelementptr float* %context.vs_constants, i32 34 ; [#uses=1] %396 = load float* %395 ; [#uses=1] %397 = insertelement <4 x float> undef, float %396, i32 0 ; <<4 x float>> [#uses=1] %398 = shufflevector <4 x float> %397, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %399 = load <4 x float>* %5 ; <<4 x float>> [#uses=1] %400 = fmul <4 x float> %394, %398 ; <<4 x float>> [#uses=1] %401 = fadd <4 x float> %400, %399 ; <<4 x float>> [#uses=1] %402 = load <4 x float>* %10 ; <<4 x float>> [#uses=1] %403 = getelementptr float* %context.vs_constants, i32 35 ; [#uses=1] %404 = load float* %403 ; [#uses=1] %405 = insertelement <4 x float> undef, float %404, i32 0 ; <<4 x float>> [#uses=1] %406 = shufflevector <4 x float> %405, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %407 = load <4 x float>* %4 ; <<4 x float>> [#uses=1] %408 = fmul <4 x float> %402, %406 ; <<4 x float>> [#uses=1] %409 = fadd <4 x float> %408, %407 ; <<4 x float>> [#uses=1] store <4 x float> %385, <4 x float>* %7 store <4 x float> %393, <4 x float>* %6 store <4 x float> %401, <4 x float>* %5 store <4 x float> %409, <4 x float>* %4 %410 = load <4 x float>* %9 ; <<4 x float>> [#uses=1] %411 = getelementptr float* %context.vs_constants, i32 36 ; [#uses=1] %412 = load float* %411 ; [#uses=1] %413 = insertelement <4 x float> undef, float %412, i32 0 ; <<4 x float>> [#uses=1] %414 = shufflevector <4 x float> %413, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %415 = load <4 x float>* %7 ; <<4 x float>> [#uses=1] %416 = fmul <4 x float> %410, %414 ; <<4 x float>> [#uses=1] %417 = fadd <4 x float> %416, %415 ; <<4 x float>> [#uses=1] %418 = load <4 x float>* %9 ; <<4 x float>> [#uses=1] %419 = getelementptr float* %context.vs_constants, i32 37 ; [#uses=1] %420 = load float* %419 ; [#uses=1] %421 = insertelement <4 x float> undef, float %420, i32 0 ; <<4 x float>> [#uses=1] %422 = shufflevector <4 x float> %421, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %423 = load <4 x float>* %6 ; <<4 x float>> [#uses=1] %424 = fmul <4 x float> %418, %422 ; <<4 x float>> [#uses=1] %425 = fadd <4 x float> %424, %423 ; <<4 x float>> [#uses=1] %426 = load <4 x float>* %9 ; <<4 x float>> [#uses=1] %427 = getelementptr float* %context.vs_constants, i32 38 ; [#uses=1] %428 = load float* %427 ; [#uses=1] %429 = insertelement <4 x float> undef, float %428, i32 0 ; <<4 x float>> [#uses=1] %430 = shufflevector <4 x float> %429, <4 x float> undef, <4 x i32> zeroinitializer ; <<4 x float>> [#uses=1] %431 = load <4 x float>* %5 ; <<4 x float>> [#uses=1] %432 = fmul <4 x float> %426, %430 ; <<4 x float>> [#uses=1] %433 = fadd <4 x float> %432, %431 ; <<4 x float>> [#uses=1] store <4 x float> %417, <4 x float>* %19 store <4 x float> %425, <4 x float>* %18 store <4 x float> %433, <4 x float>* %17 %output0.x = load <4 x float>* %23 ; <<4 x float>> [#uses=4] %output0.y = load <4 x float>* %22 ; <<4 x float>> [#uses=4] %output0.z = load <4 x float>* %21 ; <<4 x float>> [#uses=4] %output0.w = load <4 x float>* %20 ; <<4 x float>> [#uses=4] %434 = extractelement <4 x float> %output0.x, i32 0 ; [#uses=1] %435 = insertelement <4 x float> zeroinitializer, float %434, i32 0 ; <<4 x float>> [#uses=1] %436 = extractelement <4 x float> %output0.x, i32 1 ; [#uses=1] %437 = insertelement <4 x float> zeroinitializer, float %436, i32 0 ; <<4 x float>> [#uses=1] %438 = extractelement <4 x float> %output0.x, i32 2 ; [#uses=1] %439 = insertelement <4 x float> zeroinitializer, float %438, i32 0 ; <<4 x float>> [#uses=1] %440 = extractelement <4 x float> %output0.x, i32 3 ; [#uses=1] %441 = insertelement <4 x float> zeroinitializer, float %440, i32 0 ; <<4 x float>> [#uses=1] %442 = extractelement <4 x float> %output0.y, i32 0 ; [#uses=1] %443 = insertelement <4 x float> %435, float %442, i32 1 ; <<4 x float>> [#uses=1] %444 = extractelement <4 x float> %output0.y, i32 1 ; [#uses=1] %445 = insertelement <4 x float> %437, float %444, i32 1 ; <<4 x float>> [#uses=1] %446 = extractelement <4 x float> %output0.y, i32 2 ; [#uses=1] %447 = insertelement <4 x float> %439, float %446, i32 1 ; <<4 x float>> [#uses=1] %448 = extractelement <4 x float> %output0.y, i32 3 ; [#uses=1] %449 = insertelement <4 x float> %441, float %448, i32 1 ; <<4 x float>> [#uses=1] %450 = extractelement <4 x float> %output0.z, i32 0 ; [#uses=1] %451 = insertelement <4 x float> %443, float %450, i32 2 ; <<4 x float>> [#uses=1] %452 = extractelement <4 x float> %output0.z, i32 1 ; [#uses=1] %453 = insertelement <4 x float> %445, float %452, i32 2 ; <<4 x float>> [#uses=1] %454 = extractelement <4 x float> %output0.z, i32 2 ; [#uses=1] %455 = insertelement <4 x float> %447, float %454, i32 2 ; <<4 x float>> [#uses=1] %456 = extractelement <4 x float> %output0.z, i32 3 ; [#uses=1] %457 = insertelement <4 x float> %449, float %456, i32 2 ; <<4 x float>> [#uses=1] %458 = extractelement <4 x float> %output0.w, i32 0 ; [#uses=1] %459 = insertelement <4 x float> %451, float %458, i32 3 ; <<4 x float>> [#uses=4] %460 = extractelement <4 x float> %output0.w, i32 1 ; [#uses=1] %461 = insertelement <4 x float> %453, float %460, i32 3 ; <<4 x float>> [#uses=4] %462 = extractelement <4 x float> %output0.w, i32 2 ; [#uses=1] %463 = insertelement <4 x float> %455, float %462, i32 3 ; <<4 x float>> [#uses=4] %464 = extractelement <4 x float> %output0.w, i32 3 ; [#uses=1] %465 = insertelement <4 x float> %457, float %464, i32 3 ; <<4 x float>> [#uses=4] %466 = getelementptr %vertex_header3* %27, i32 0 ; <%vertex_header3*> [#uses=2] %467 = getelementptr %vertex_header3* %27, i32 1 ; <%vertex_header3*> [#uses=2] %468 = getelementptr %vertex_header3* %27, i32 2 ; <%vertex_header3*> [#uses=2] %469 = getelementptr %vertex_header3* %27, i32 3 ; <%vertex_header3*> [#uses=2] %.id_ptr = getelementptr %vertex_header3* %466, i32 0, i32 0 ; [#uses=1] %.data_ptr = getelementptr %vertex_header3* %466, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr %470 = getelementptr [3 x [4 x float]]* %.data_ptr, i32 0, i32 0, i32 0 ; [#uses=4] %471 = extractelement <4 x float> %459, i32 0 ; [#uses=1] %472 = extractelement <4 x float> %459, i32 1 ; [#uses=1] %473 = extractelement <4 x float> %459, i32 2 ; [#uses=1] %474 = extractelement <4 x float> %459, i32 3 ; [#uses=1] %475 = getelementptr float* %470, i32 0 ; [#uses=1] %476 = getelementptr float* %470, i32 1 ; [#uses=1] %477 = getelementptr float* %470, i32 2 ; [#uses=1] %478 = getelementptr float* %470, i32 3 ; [#uses=1] store float %471, float* %475 store float %472, float* %476 store float %473, float* %477 store float %474, float* %478 %.id_ptr33 = getelementptr %vertex_header3* %467, i32 0, i32 0 ; [#uses=1] %.data_ptr34 = getelementptr %vertex_header3* %467, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr33 %479 = getelementptr [3 x [4 x float]]* %.data_ptr34, i32 0, i32 0, i32 0 ; [#uses=4] %480 = extractelement <4 x float> %461, i32 0 ; [#uses=1] %481 = extractelement <4 x float> %461, i32 1 ; [#uses=1] %482 = extractelement <4 x float> %461, i32 2 ; [#uses=1] %483 = extractelement <4 x float> %461, i32 3 ; [#uses=1] %484 = getelementptr float* %479, i32 0 ; [#uses=1] %485 = getelementptr float* %479, i32 1 ; [#uses=1] %486 = getelementptr float* %479, i32 2 ; [#uses=1] %487 = getelementptr float* %479, i32 3 ; [#uses=1] store float %480, float* %484 store float %481, float* %485 store float %482, float* %486 store float %483, float* %487 %.id_ptr35 = getelementptr %vertex_header3* %468, i32 0, i32 0 ; [#uses=1] %.data_ptr36 = getelementptr %vertex_header3* %468, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr35 %488 = getelementptr [3 x [4 x float]]* %.data_ptr36, i32 0, i32 0, i32 0 ; [#uses=4] %489 = extractelement <4 x float> %463, i32 0 ; [#uses=1] %490 = extractelement <4 x float> %463, i32 1 ; [#uses=1] %491 = extractelement <4 x float> %463, i32 2 ; [#uses=1] %492 = extractelement <4 x float> %463, i32 3 ; [#uses=1] %493 = getelementptr float* %488, i32 0 ; [#uses=1] %494 = getelementptr float* %488, i32 1 ; [#uses=1] %495 = getelementptr float* %488, i32 2 ; [#uses=1] %496 = getelementptr float* %488, i32 3 ; [#uses=1] store float %489, float* %493 store float %490, float* %494 store float %491, float* %495 store float %492, float* %496 %.id_ptr37 = getelementptr %vertex_header3* %469, i32 0, i32 0 ; [#uses=1] %.data_ptr38 = getelementptr %vertex_header3* %469, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr37 %497 = getelementptr [3 x [4 x float]]* %.data_ptr38, i32 0, i32 0, i32 0 ; [#uses=4] %498 = extractelement <4 x float> %465, i32 0 ; [#uses=1] %499 = extractelement <4 x float> %465, i32 1 ; [#uses=1] %500 = extractelement <4 x float> %465, i32 2 ; [#uses=1] %501 = extractelement <4 x float> %465, i32 3 ; [#uses=1] %502 = getelementptr float* %497, i32 0 ; [#uses=1] %503 = getelementptr float* %497, i32 1 ; [#uses=1] %504 = getelementptr float* %497, i32 2 ; [#uses=1] %505 = getelementptr float* %497, i32 3 ; [#uses=1] store float %498, float* %502 store float %499, float* %503 store float %500, float* %504 store float %501, float* %505 %output1.x = load <4 x float>* %19 ; <<4 x float>> [#uses=4] %output1.y = load <4 x float>* %18 ; <<4 x float>> [#uses=4] %output1.z = load <4 x float>* %17 ; <<4 x float>> [#uses=4] %output1.w = load <4 x float>* %16 ; <<4 x float>> [#uses=4] %506 = extractelement <4 x float> %output1.x, i32 0 ; [#uses=1] %507 = insertelement <4 x float> zeroinitializer, float %506, i32 0 ; <<4 x float>> [#uses=1] %508 = extractelement <4 x float> %output1.x, i32 1 ; [#uses=1] %509 = insertelement <4 x float> zeroinitializer, float %508, i32 0 ; <<4 x float>> [#uses=1] %510 = extractelement <4 x float> %output1.x, i32 2 ; [#uses=1] %511 = insertelement <4 x float> zeroinitializer, float %510, i32 0 ; <<4 x float>> [#uses=1] %512 = extractelement <4 x float> %output1.x, i32 3 ; [#uses=1] %513 = insertelement <4 x float> zeroinitializer, float %512, i32 0 ; <<4 x float>> [#uses=1] %514 = extractelement <4 x float> %output1.y, i32 0 ; [#uses=1] %515 = insertelement <4 x float> %507, float %514, i32 1 ; <<4 x float>> [#uses=1] %516 = extractelement <4 x float> %output1.y, i32 1 ; [#uses=1] %517 = insertelement <4 x float> %509, float %516, i32 1 ; <<4 x float>> [#uses=1] %518 = extractelement <4 x float> %output1.y, i32 2 ; [#uses=1] %519 = insertelement <4 x float> %511, float %518, i32 1 ; <<4 x float>> [#uses=1] %520 = extractelement <4 x float> %output1.y, i32 3 ; [#uses=1] %521 = insertelement <4 x float> %513, float %520, i32 1 ; <<4 x float>> [#uses=1] %522 = extractelement <4 x float> %output1.z, i32 0 ; [#uses=1] %523 = insertelement <4 x float> %515, float %522, i32 2 ; <<4 x float>> [#uses=1] %524 = extractelement <4 x float> %output1.z, i32 1 ; [#uses=1] %525 = insertelement <4 x float> %517, float %524, i32 2 ; <<4 x float>> [#uses=1] %526 = extractelement <4 x float> %output1.z, i32 2 ; [#uses=1] %527 = insertelement <4 x float> %519, float %526, i32 2 ; <<4 x float>> [#uses=1] %528 = extractelement <4 x float> %output1.z, i32 3 ; [#uses=1] %529 = insertelement <4 x float> %521, float %528, i32 2 ; <<4 x float>> [#uses=1] %530 = extractelement <4 x float> %output1.w, i32 0 ; [#uses=1] %531 = insertelement <4 x float> %523, float %530, i32 3 ; <<4 x float>> [#uses=4] %532 = extractelement <4 x float> %output1.w, i32 1 ; [#uses=1] %533 = insertelement <4 x float> %525, float %532, i32 3 ; <<4 x float>> [#uses=4] %534 = extractelement <4 x float> %output1.w, i32 2 ; [#uses=1] %535 = insertelement <4 x float> %527, float %534, i32 3 ; <<4 x float>> [#uses=4] %536 = extractelement <4 x float> %output1.w, i32 3 ; [#uses=1] %537 = insertelement <4 x float> %529, float %536, i32 3 ; <<4 x float>> [#uses=4] %538 = getelementptr %vertex_header3* %27, i32 0 ; <%vertex_header3*> [#uses=2] %539 = getelementptr %vertex_header3* %27, i32 1 ; <%vertex_header3*> [#uses=2] %540 = getelementptr %vertex_header3* %27, i32 2 ; <%vertex_header3*> [#uses=2] %541 = getelementptr %vertex_header3* %27, i32 3 ; <%vertex_header3*> [#uses=2] %.id_ptr39 = getelementptr %vertex_header3* %538, i32 0, i32 0 ; [#uses=1] %.data_ptr40 = getelementptr %vertex_header3* %538, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr39 %542 = getelementptr [3 x [4 x float]]* %.data_ptr40, i32 0, i32 1, i32 0 ; [#uses=4] %543 = extractelement <4 x float> %531, i32 0 ; [#uses=1] %544 = extractelement <4 x float> %531, i32 1 ; [#uses=1] %545 = extractelement <4 x float> %531, i32 2 ; [#uses=1] %546 = extractelement <4 x float> %531, i32 3 ; [#uses=1] %547 = getelementptr float* %542, i32 0 ; [#uses=1] %548 = getelementptr float* %542, i32 1 ; [#uses=1] %549 = getelementptr float* %542, i32 2 ; [#uses=1] %550 = getelementptr float* %542, i32 3 ; [#uses=1] store float %543, float* %547 store float %544, float* %548 store float %545, float* %549 store float %546, float* %550 %.id_ptr41 = getelementptr %vertex_header3* %539, i32 0, i32 0 ; [#uses=1] %.data_ptr42 = getelementptr %vertex_header3* %539, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr41 %551 = getelementptr [3 x [4 x float]]* %.data_ptr42, i32 0, i32 1, i32 0 ; [#uses=4] %552 = extractelement <4 x float> %533, i32 0 ; [#uses=1] %553 = extractelement <4 x float> %533, i32 1 ; [#uses=1] %554 = extractelement <4 x float> %533, i32 2 ; [#uses=1] %555 = extractelement <4 x float> %533, i32 3 ; [#uses=1] %556 = getelementptr float* %551, i32 0 ; [#uses=1] %557 = getelementptr float* %551, i32 1 ; [#uses=1] %558 = getelementptr float* %551, i32 2 ; [#uses=1] %559 = getelementptr float* %551, i32 3 ; [#uses=1] store float %552, float* %556 store float %553, float* %557 store float %554, float* %558 store float %555, float* %559 %.id_ptr43 = getelementptr %vertex_header3* %540, i32 0, i32 0 ; [#uses=1] %.data_ptr44 = getelementptr %vertex_header3* %540, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr43 %560 = getelementptr [3 x [4 x float]]* %.data_ptr44, i32 0, i32 1, i32 0 ; [#uses=4] %561 = extractelement <4 x float> %535, i32 0 ; [#uses=1] %562 = extractelement <4 x float> %535, i32 1 ; [#uses=1] %563 = extractelement <4 x float> %535, i32 2 ; [#uses=1] %564 = extractelement <4 x float> %535, i32 3 ; [#uses=1] %565 = getelementptr float* %560, i32 0 ; [#uses=1] %566 = getelementptr float* %560, i32 1 ; [#uses=1] %567 = getelementptr float* %560, i32 2 ; [#uses=1] %568 = getelementptr float* %560, i32 3 ; [#uses=1] store float %561, float* %565 store float %562, float* %566 store float %563, float* %567 store float %564, float* %568 %.id_ptr45 = getelementptr %vertex_header3* %541, i32 0, i32 0 ; [#uses=1] %.data_ptr46 = getelementptr %vertex_header3* %541, i32 0, i32 2 ; <[3 x [4 x float]]*> [#uses=1] store i32 65535, i32* %.id_ptr45 %569 = getelementptr [3 x [4 x float]]* %.data_ptr46, i32 0, i32 1, i32 0 ; [#uses=4] %570 = extractelement <4 x float> %537, i32 0 ; [#uses=1] %571 = extractelement <4 x float> %537, i32 1 ; [#uses=1] %572 = extractelement <4 x float> %537, i32 2 ; [#uses=1] %573 = extractelement <4 x float> %537, i32 3 ; [#uses=1] %574 = getelementptr float* %569, i32 0 ; [#uses=1] %575 = getelementptr float* %569, i32 1 ; [#uses=1] %576 = getelementptr float* %569, i32 2 ; [#uses=1] %577 = getelementptr float* %569, i32 3 ; [#uses=1] store float %570, float* %574 store float %571, float* %575 store float %572, float* %576 store float %573, float* %577 %578 = add i32 %25, 4 ; [#uses=2] %579 = icmp uge i32 %578, %24 ; [#uses=1] br i1 %579, label %580, label %loop ;