VERT DCL IN[0] DCL IN[1] DCL IN[2] DCL OUT[0], POSITION DCL OUT[1], GENERIC[20] DCL OUT[2], GENERIC[21] DCL SAMP[0] DCL SAMP[1] DCL CONST[0..7] DCL CONST[1][0..16] DCL CONST[2][0..106] DCL TEMP[0..4], LOCAL DCL TEMP[5..7], ARRAY(1), LOCAL DCL TEMP[8..10], ARRAY(2), LOCAL DCL TEMP[11], LOCAL DCL TEMP[12..14], ARRAY(3), LOCAL IMM[0] INT32 {3, 1, 2, 0} IMM[1] UINT32 {0, 32, 16, 48} IMM[2] FLT32 { 1.0000, 2.0000, 0.0000, 0.0000} IMM[3] UINT32 {1, 736, 1248, 1232} IMM[4] UINT32 {1200, 1216, 0, 0} 0: MAD TEMP[0].xyz, IN[0].xyzz, CONST[6].xyzz, CONST[7].xyzz 1: UMUL TEMP[1].x, IN[1].wwww, IMM[0].xxxx 2: MOV TEMP[1].x, TEMP[1].xxxx 3: MOV TEMP[1].w, IMM[1].xxxx 4: TXF TEMP[1], TEMP[1], SAMP[1], BUFFER 5: UMUL TEMP[2].x, IN[1].zzzz, IMM[0].xxxx 6: MOV TEMP[2].x, TEMP[2].xxxx 7: MOV TEMP[2].w, IMM[1].xxxx 8: TXF TEMP[2], TEMP[2], SAMP[1], BUFFER 9: UMUL TEMP[3].x, IN[1].yyyy, IMM[0].xxxx 10: MOV TEMP[3].x, TEMP[3].xxxx 11: MOV TEMP[3].w, IMM[1].xxxx 12: TXF TEMP[3], TEMP[3], SAMP[1], BUFFER 13: UMUL TEMP[4].x, IN[1].xxxx, IMM[0].xxxx 14: MOV TEMP[4].x, TEMP[4].xxxx 15: MOV TEMP[4].w, IMM[1].xxxx 16: TXF TEMP[4], TEMP[4], SAMP[1], BUFFER 17: MUL TEMP[4], IN[2].xxxx, TEMP[4] 18: MAD TEMP[3], IN[2].yyyy, TEMP[3], TEMP[4] 19: MAD TEMP[2], IN[2].zzzz, TEMP[2], TEMP[3] 20: MAD TEMP[5], IN[2].wwww, TEMP[1], TEMP[2] 21: UMAD TEMP[1].x, IN[1].wwww, IMM[0].xxxx, IMM[0].yyyy 22: MOV TEMP[1].x, TEMP[1].xxxx 23: MOV TEMP[1].w, IMM[1].xxxx 24: TXF TEMP[1], TEMP[1], SAMP[1], BUFFER 25: UMAD TEMP[2].x, IN[1].zzzz, IMM[0].xxxx, IMM[0].yyyy 26: MOV TEMP[2].x, TEMP[2].xxxx 27: MOV TEMP[2].w, IMM[1].xxxx 28: TXF TEMP[2], TEMP[2], SAMP[1], BUFFER 29: UMAD TEMP[3].x, IN[1].yyyy, IMM[0].xxxx, IMM[0].yyyy 30: MOV TEMP[3].x, TEMP[3].xxxx 31: MOV TEMP[3].w, IMM[1].xxxx 32: TXF TEMP[3], TEMP[3], SAMP[1], BUFFER 33: UMAD TEMP[4].x, IN[1].xxxx, IMM[0].xxxx, IMM[0].yyyy 34: MOV TEMP[4].x, TEMP[4].xxxx 35: MOV TEMP[4].w, IMM[1].xxxx 36: TXF TEMP[4], TEMP[4], SAMP[1], BUFFER 37: MUL TEMP[4], IN[2].xxxx, TEMP[4] 38: MAD TEMP[3], IN[2].yyyy, TEMP[3], TEMP[4] 39: MAD TEMP[2], IN[2].zzzz, TEMP[2], TEMP[3] 40: MAD TEMP[6], IN[2].wwww, TEMP[1], TEMP[2] 41: UMAD TEMP[1].x, IN[1].wwww, IMM[0].xxxx, IMM[0].zzzz 42: MOV TEMP[1].x, TEMP[1].xxxx 43: MOV TEMP[1].w, IMM[1].xxxx 44: TXF TEMP[1], TEMP[1], SAMP[1], BUFFER 45: UMAD TEMP[2].x, IN[1].zzzz, IMM[0].xxxx, IMM[0].zzzz 46: MOV TEMP[2].x, TEMP[2].xxxx 47: MOV TEMP[2].w, IMM[1].xxxx 48: TXF TEMP[2], TEMP[2], SAMP[1], BUFFER 49: UMAD TEMP[3].x, IN[1].yyyy, IMM[0].xxxx, IMM[0].zzzz 50: MOV TEMP[3].x, TEMP[3].xxxx 51: MOV TEMP[3].w, IMM[1].xxxx 52: TXF TEMP[3], TEMP[3], SAMP[1], BUFFER 53: UMAD TEMP[4].x, IN[1].xxxx, IMM[0].xxxx, IMM[0].zzzz 54: MOV TEMP[4].x, TEMP[4].xxxx 55: MOV TEMP[4].w, IMM[1].xxxx 56: TXF TEMP[4], TEMP[4], SAMP[1], BUFFER 57: MUL TEMP[4], IN[2].xxxx, TEMP[4] 58: MAD TEMP[3], IN[2].yyyy, TEMP[3], TEMP[4] 59: MAD TEMP[2], IN[2].zzzz, TEMP[2], TEMP[3] 60: MAD TEMP[7], IN[2].wwww, TEMP[1], TEMP[2] 61: MOV TEMP[1].w, IMM[2].xxxx 62: MOV TEMP[1].xyz, TEMP[0].xyzx 63: DP4 TEMP[2].x, TEMP[7], TEMP[1] 64: DP4 TEMP[3].x, TEMP[6], TEMP[1] 65: DP4 TEMP[4].x, TEMP[5], TEMP[1] 66: MUL TEMP[4].xyz, CONST[1][0].xyzz, TEMP[4].xxxx 67: MAD TEMP[3].xyz, CONST[1][1].xyzz, TEMP[3].xxxx, TEMP[4].xyzz 68: MAD TEMP[2].xyz, CONST[1][2].xyzz, TEMP[2].xxxx, TEMP[3].xyzz 69: ADD TEMP[3].xyz, CONST[1][3].xyzz, CONST[2][46].xyzz 70: ADD TEMP[1].xyz, TEMP[2].xyzz, TEMP[3].xyzz 71: MOV TEMP[2].w, IMM[2].xxxx 72: MOV TEMP[2].xyz, TEMP[0].xyzx 73: MOV TEMP[8], TEMP[5] 74: MOV TEMP[9], TEMP[6] 75: MOV TEMP[10], TEMP[7] 76: INEG TEMP[0].x, CONST[1].xxxx 77: UIF TEMP[0].xxxx :0 78: UMUL TEMP[0].x, IN[1].wwww, IMM[0].xxxx 79: UADD TEMP[0].x, TEMP[0].xxxx, CONST[0].xxxx 80: MOV TEMP[0].x, TEMP[0].xxxx 81: MOV TEMP[0].w, IMM[1].xxxx 82: TXF TEMP[0], TEMP[0], SAMP[0], BUFFER 83: UMUL TEMP[3].x, IN[1].zzzz, IMM[0].xxxx 84: UADD TEMP[3].x, TEMP[3].xxxx, CONST[0].xxxx 85: MOV TEMP[3].x, TEMP[3].xxxx 86: MOV TEMP[3].w, IMM[1].xxxx 87: TXF TEMP[3], TEMP[3], SAMP[0], BUFFER 88: UMUL TEMP[4].x, IN[1].yyyy, IMM[0].xxxx 89: UADD TEMP[4].x, TEMP[4].xxxx, CONST[0].xxxx 90: MOV TEMP[4].x, TEMP[4].xxxx 91: MOV TEMP[4].w, IMM[1].xxxx 92: TXF TEMP[4], TEMP[4], SAMP[0], BUFFER 93: UMUL TEMP[11].x, IN[1].xxxx, IMM[0].xxxx 94: UADD TEMP[11].x, TEMP[11].xxxx, CONST[0].xxxx 95: MOV TEMP[11].x, TEMP[11].xxxx 96: MOV TEMP[11].w, IMM[1].xxxx 97: TXF TEMP[11], TEMP[11], SAMP[0], BUFFER 98: MUL TEMP[11], IN[2].xxxx, TEMP[11] 99: MAD TEMP[4], IN[2].yyyy, TEMP[4], TEMP[11] 100: MAD TEMP[3], IN[2].zzzz, TEMP[3], TEMP[4] 101: MAD TEMP[12], IN[2].wwww, TEMP[0], TEMP[3] 102: UMUL TEMP[0].x, IN[1].wwww, IMM[0].xxxx 103: UADD TEMP[0].x, TEMP[0].xxxx, CONST[0].yyyy 104: MOV TEMP[0].x, TEMP[0].xxxx 105: MOV TEMP[0].w, IMM[1].xxxx 106: TXF TEMP[0], TEMP[0], SAMP[0], BUFFER 107: UMUL TEMP[3].x, IN[1].zzzz, IMM[0].xxxx 108: UADD TEMP[3].x, TEMP[3].xxxx, CONST[0].yyyy 109: MOV TEMP[3].x, TEMP[3].xxxx 110: MOV TEMP[3].w, IMM[1].xxxx 111: TXF TEMP[3], TEMP[3], SAMP[0], BUFFER 112: UMUL TEMP[4].x, IN[1].yyyy, IMM[0].xxxx 113: UADD TEMP[4].x, TEMP[4].xxxx, CONST[0].yyyy 114: MOV TEMP[4].x, TEMP[4].xxxx 115: MOV TEMP[4].w, IMM[1].xxxx 116: TXF TEMP[4], TEMP[4], SAMP[0], BUFFER 117: UMUL TEMP[11].x, IN[1].xxxx, IMM[0].xxxx 118: UADD TEMP[11].x, TEMP[11].xxxx, CONST[0].yyyy 119: MOV TEMP[11].x, TEMP[11].xxxx 120: MOV TEMP[11].w, IMM[1].xxxx 121: TXF TEMP[11], TEMP[11], SAMP[0], BUFFER 122: MUL TEMP[11], IN[2].xxxx, TEMP[11] 123: MAD TEMP[4], IN[2].yyyy, TEMP[4], TEMP[11] 124: MAD TEMP[3], IN[2].zzzz, TEMP[3], TEMP[4] 125: MAD TEMP[13], IN[2].wwww, TEMP[0], TEMP[3] 126: UMUL TEMP[0].x, IN[1].wwww, IMM[0].xxxx 127: UADD TEMP[0].x, TEMP[0].xxxx, CONST[0].zzzz 128: MOV TEMP[0].x, TEMP[0].xxxx 129: MOV TEMP[0].w, IMM[1].xxxx 130: TXF TEMP[0], TEMP[0], SAMP[0], BUFFER 131: UMUL TEMP[3].x, IN[1].zzzz, IMM[0].xxxx 132: UADD TEMP[3].x, TEMP[3].xxxx, CONST[0].zzzz 133: MOV TEMP[3].x, TEMP[3].xxxx 134: MOV TEMP[3].w, IMM[1].xxxx 135: TXF TEMP[3], TEMP[3], SAMP[0], BUFFER 136: UMUL TEMP[4].x, IN[1].yyyy, IMM[0].xxxx 137: UADD TEMP[4].x, TEMP[4].xxxx, CONST[0].zzzz 138: MOV TEMP[4].x, TEMP[4].xxxx 139: MOV TEMP[4].w, IMM[1].xxxx 140: TXF TEMP[4], TEMP[4], SAMP[0], BUFFER 141: UMUL TEMP[11].x, IN[1].xxxx, IMM[0].xxxx 142: UADD TEMP[11].x, TEMP[11].xxxx, CONST[0].zzzz 143: MOV TEMP[11].x, TEMP[11].xxxx 144: MOV TEMP[11].w, IMM[1].xxxx 145: TXF TEMP[11], TEMP[11], SAMP[0], BUFFER 146: MUL TEMP[11], IN[2].xxxx, TEMP[11] 147: MAD TEMP[4], IN[2].yyyy, TEMP[4], TEMP[11] 148: MAD TEMP[3], IN[2].zzzz, TEMP[3], TEMP[4] 149: MAD TEMP[14], IN[2].wwww, TEMP[0], TEMP[3] 150: MOV TEMP[8], TEMP[12] 151: MOV TEMP[9], TEMP[13] 152: MOV TEMP[10], TEMP[14] 153: ENDIF 154: DP4 TEMP[0].x, TEMP[10], TEMP[2] 155: DP4 TEMP[3].x, TEMP[8], TEMP[2] 156: DP4 TEMP[2].x, TEMP[9], TEMP[2] 157: MUL TEMP[2], CONST[3], TEMP[2].xxxx 158: MAD TEMP[2], CONST[2], TEMP[3].xxxx, TEMP[2] 159: MAD TEMP[0], CONST[4], TEMP[0].xxxx, TEMP[2] 160: ADD TEMP[0].xyz, CONST[5], TEMP[0] 161: MUL TEMP[2], CONST[2][1], TEMP[1].yyyy 162: MAD TEMP[2], CONST[2][0], TEMP[1].xxxx, TEMP[2] 163: MAD TEMP[1], CONST[2][2], TEMP[1].zzzz, TEMP[2] 164: ADD TEMP[1], CONST[2][3], TEMP[1] 165: MOV TEMP[2].xw, TEMP[1].xxxw 166: MUL TEMP[3], CONST[2][76], TEMP[0].yyyy 167: MAD TEMP[3], CONST[2][75], TEMP[0].xxxx, TEMP[3] 168: MAD TEMP[0], CONST[2][77], TEMP[0].zzzz, TEMP[3] 169: ADD TEMP[0], CONST[2][78], TEMP[0] 170: MOV TEMP[2].y, -TEMP[1].yyyy 171: MAD TEMP[3].x, IMM[2].yyyy, TEMP[1].zzzz, -TEMP[1].wwww 172: MOV TEMP[2].z, TEMP[3].xxxx 173: MOV OUT[0], TEMP[2] 174: MOV OUT[2], TEMP[0] 175: MOV OUT[1], TEMP[1] 176: END ; ModuleID = 'tgsi' define void @main([17 x <16 x i8>] addrspace(2)* byval, [16 x <4 x i32>] addrspace(2)* byval, [32 x <8 x i32>] addrspace(2)* byval, [6 x <16 x i8>] addrspace(2)* inreg, [16 x <16 x i8>] addrspace(2)* inreg, i32 inreg, i32 inreg, i32, i32, i32, i32) #0 { main_body: %11 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 0 %12 = load <16 x i8> addrspace(2)* %11, !tbaa !0 %13 = call float @llvm.SI.load.const(<16 x i8> %12, i32 0) %14 = call float @llvm.SI.load.const(<16 x i8> %12, i32 4) %15 = call float @llvm.SI.load.const(<16 x i8> %12, i32 8) %16 = call float @llvm.SI.load.const(<16 x i8> %12, i32 16) %17 = call float @llvm.SI.load.const(<16 x i8> %12, i32 32) %18 = call float @llvm.SI.load.const(<16 x i8> %12, i32 36) %19 = call float @llvm.SI.load.const(<16 x i8> %12, i32 40) %20 = call float @llvm.SI.load.const(<16 x i8> %12, i32 48) %21 = call float @llvm.SI.load.const(<16 x i8> %12, i32 52) %22 = call float @llvm.SI.load.const(<16 x i8> %12, i32 56) %23 = call float @llvm.SI.load.const(<16 x i8> %12, i32 64) %24 = call float @llvm.SI.load.const(<16 x i8> %12, i32 68) %25 = call float @llvm.SI.load.const(<16 x i8> %12, i32 72) %26 = call float @llvm.SI.load.const(<16 x i8> %12, i32 80) %27 = call float @llvm.SI.load.const(<16 x i8> %12, i32 84) %28 = call float @llvm.SI.load.const(<16 x i8> %12, i32 88) %29 = call float @llvm.SI.load.const(<16 x i8> %12, i32 96) %30 = call float @llvm.SI.load.const(<16 x i8> %12, i32 100) %31 = call float @llvm.SI.load.const(<16 x i8> %12, i32 104) %32 = call float @llvm.SI.load.const(<16 x i8> %12, i32 112) %33 = call float @llvm.SI.load.const(<16 x i8> %12, i32 116) %34 = call float @llvm.SI.load.const(<16 x i8> %12, i32 120) %35 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 1 %36 = load <16 x i8> addrspace(2)* %35, !tbaa !0 %37 = call float @llvm.SI.load.const(<16 x i8> %36, i32 0) %38 = call float @llvm.SI.load.const(<16 x i8> %36, i32 4) %39 = call float @llvm.SI.load.const(<16 x i8> %36, i32 8) %40 = call float @llvm.SI.load.const(<16 x i8> %36, i32 16) %41 = call float @llvm.SI.load.const(<16 x i8> %36, i32 20) %42 = call float @llvm.SI.load.const(<16 x i8> %36, i32 24) %43 = call float @llvm.SI.load.const(<16 x i8> %36, i32 32) %44 = call float @llvm.SI.load.const(<16 x i8> %36, i32 36) %45 = call float @llvm.SI.load.const(<16 x i8> %36, i32 40) %46 = call float @llvm.SI.load.const(<16 x i8> %36, i32 48) %47 = call float @llvm.SI.load.const(<16 x i8> %36, i32 52) %48 = call float @llvm.SI.load.const(<16 x i8> %36, i32 56) %49 = getelementptr [17 x <16 x i8>] addrspace(2)* %0, i64 0, i32 2 %50 = load <16 x i8> addrspace(2)* %49, !tbaa !0 %51 = call float @llvm.SI.load.const(<16 x i8> %50, i32 0) %52 = call float @llvm.SI.load.const(<16 x i8> %50, i32 4) %53 = call float @llvm.SI.load.const(<16 x i8> %50, i32 8) %54 = call float @llvm.SI.load.const(<16 x i8> %50, i32 12) %55 = call float @llvm.SI.load.const(<16 x i8> %50, i32 16) %56 = call float @llvm.SI.load.const(<16 x i8> %50, i32 20) %57 = call float @llvm.SI.load.const(<16 x i8> %50, i32 24) %58 = call float @llvm.SI.load.const(<16 x i8> %50, i32 28) %59 = call float @llvm.SI.load.const(<16 x i8> %50, i32 32) %60 = call float @llvm.SI.load.const(<16 x i8> %50, i32 36) %61 = call float @llvm.SI.load.const(<16 x i8> %50, i32 40) %62 = call float @llvm.SI.load.const(<16 x i8> %50, i32 44) %63 = call float @llvm.SI.load.const(<16 x i8> %50, i32 48) %64 = call float @llvm.SI.load.const(<16 x i8> %50, i32 52) %65 = call float @llvm.SI.load.const(<16 x i8> %50, i32 56) %66 = call float @llvm.SI.load.const(<16 x i8> %50, i32 60) %67 = call float @llvm.SI.load.const(<16 x i8> %50, i32 736) %68 = call float @llvm.SI.load.const(<16 x i8> %50, i32 740) %69 = call float @llvm.SI.load.const(<16 x i8> %50, i32 744) %70 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1200) %71 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1204) %72 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1208) %73 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1212) %74 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1216) %75 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1220) %76 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1224) %77 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1228) %78 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1232) %79 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1236) %80 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1240) %81 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1244) %82 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1248) %83 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1252) %84 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1256) %85 = call float @llvm.SI.load.const(<16 x i8> %50, i32 1260) %86 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 0 %87 = load <8 x i32> addrspace(2)* %86, !tbaa !0 %88 = getelementptr [32 x <8 x i32>] addrspace(2)* %2, i64 0, i32 1 %89 = load <8 x i32> addrspace(2)* %88, !tbaa !0 %90 = getelementptr [16 x <16 x i8>] addrspace(2)* %4, i64 0, i32 0 %91 = load <16 x i8> addrspace(2)* %90, !tbaa !0 %92 = add i32 %5, %7 %93 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %91, i32 0, i32 %92) %94 = extractelement <4 x float> %93, i32 0 %95 = extractelement <4 x float> %93, i32 1 %96 = extractelement <4 x float> %93, i32 2 %97 = getelementptr [16 x <16 x i8>] addrspace(2)* %4, i64 0, i32 1 %98 = load <16 x i8> addrspace(2)* %97, !tbaa !0 %99 = add i32 %5, %7 %100 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %98, i32 0, i32 %99) %101 = extractelement <4 x float> %100, i32 0 %102 = extractelement <4 x float> %100, i32 1 %103 = extractelement <4 x float> %100, i32 2 %104 = extractelement <4 x float> %100, i32 3 %105 = getelementptr [16 x <16 x i8>] addrspace(2)* %4, i64 0, i32 2 %106 = load <16 x i8> addrspace(2)* %105, !tbaa !0 %107 = add i32 %5, %7 %108 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %106, i32 0, i32 %107) %109 = extractelement <4 x float> %108, i32 0 %110 = extractelement <4 x float> %108, i32 1 %111 = extractelement <4 x float> %108, i32 2 %112 = extractelement <4 x float> %108, i32 3 %113 = fmul float %94, %29 %114 = fadd float %113, %32 %115 = fmul float %95, %30 %116 = fadd float %115, %33 %117 = fmul float %96, %31 %118 = fadd float %117, %34 %119 = bitcast float %104 to i32 %120 = mul i32 %119, 3 %121 = bitcast i32 %120 to float %122 = bitcast <8 x i32> %89 to <2 x i128> %123 = extractelement <2 x i128> %122, i32 0 %124 = bitcast i128 %123 to <16 x i8> %125 = bitcast float %121 to i32 %126 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %124, i32 0, i32 %125) %127 = extractelement <4 x float> %126, i32 0 %128 = extractelement <4 x float> %126, i32 1 %129 = extractelement <4 x float> %126, i32 2 %130 = extractelement <4 x float> %126, i32 3 %131 = bitcast float %103 to i32 %132 = mul i32 %131, 3 %133 = bitcast i32 %132 to float %134 = bitcast <8 x i32> %89 to <2 x i128> %135 = extractelement <2 x i128> %134, i32 0 %136 = bitcast i128 %135 to <16 x i8> %137 = bitcast float %133 to i32 %138 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %136, i32 0, i32 %137) %139 = extractelement <4 x float> %138, i32 0 %140 = extractelement <4 x float> %138, i32 1 %141 = extractelement <4 x float> %138, i32 2 %142 = extractelement <4 x float> %138, i32 3 %143 = bitcast float %102 to i32 %144 = mul i32 %143, 3 %145 = bitcast i32 %144 to float %146 = bitcast <8 x i32> %89 to <2 x i128> %147 = extractelement <2 x i128> %146, i32 0 %148 = bitcast i128 %147 to <16 x i8> %149 = bitcast float %145 to i32 %150 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %148, i32 0, i32 %149) %151 = extractelement <4 x float> %150, i32 0 %152 = extractelement <4 x float> %150, i32 1 %153 = extractelement <4 x float> %150, i32 2 %154 = extractelement <4 x float> %150, i32 3 %155 = bitcast float %101 to i32 %156 = mul i32 %155, 3 %157 = bitcast i32 %156 to float %158 = bitcast <8 x i32> %89 to <2 x i128> %159 = extractelement <2 x i128> %158, i32 0 %160 = bitcast i128 %159 to <16 x i8> %161 = bitcast float %157 to i32 %162 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %160, i32 0, i32 %161) %163 = extractelement <4 x float> %162, i32 0 %164 = extractelement <4 x float> %162, i32 1 %165 = extractelement <4 x float> %162, i32 2 %166 = extractelement <4 x float> %162, i32 3 %167 = fmul float %109, %163 %168 = fmul float %109, %164 %169 = fmul float %109, %165 %170 = fmul float %109, %166 %171 = fmul float %110, %151 %172 = fadd float %171, %167 %173 = fmul float %110, %152 %174 = fadd float %173, %168 %175 = fmul float %110, %153 %176 = fadd float %175, %169 %177 = fmul float %110, %154 %178 = fadd float %177, %170 %179 = fmul float %111, %139 %180 = fadd float %179, %172 %181 = fmul float %111, %140 %182 = fadd float %181, %174 %183 = fmul float %111, %141 %184 = fadd float %183, %176 %185 = fmul float %111, %142 %186 = fadd float %185, %178 %187 = fmul float %112, %127 %188 = fadd float %187, %180 %189 = fmul float %112, %128 %190 = fadd float %189, %182 %191 = fmul float %112, %129 %192 = fadd float %191, %184 %193 = fmul float %112, %130 %194 = fadd float %193, %186 %195 = bitcast float %104 to i32 %196 = mul i32 %195, 3 %197 = add i32 %196, 1 %198 = bitcast i32 %197 to float %199 = bitcast <8 x i32> %89 to <2 x i128> %200 = extractelement <2 x i128> %199, i32 0 %201 = bitcast i128 %200 to <16 x i8> %202 = bitcast float %198 to i32 %203 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %201, i32 0, i32 %202) %204 = extractelement <4 x float> %203, i32 0 %205 = extractelement <4 x float> %203, i32 1 %206 = extractelement <4 x float> %203, i32 2 %207 = extractelement <4 x float> %203, i32 3 %208 = bitcast float %103 to i32 %209 = mul i32 %208, 3 %210 = add i32 %209, 1 %211 = bitcast i32 %210 to float %212 = bitcast <8 x i32> %89 to <2 x i128> %213 = extractelement <2 x i128> %212, i32 0 %214 = bitcast i128 %213 to <16 x i8> %215 = bitcast float %211 to i32 %216 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %214, i32 0, i32 %215) %217 = extractelement <4 x float> %216, i32 0 %218 = extractelement <4 x float> %216, i32 1 %219 = extractelement <4 x float> %216, i32 2 %220 = extractelement <4 x float> %216, i32 3 %221 = bitcast float %102 to i32 %222 = mul i32 %221, 3 %223 = add i32 %222, 1 %224 = bitcast i32 %223 to float %225 = bitcast <8 x i32> %89 to <2 x i128> %226 = extractelement <2 x i128> %225, i32 0 %227 = bitcast i128 %226 to <16 x i8> %228 = bitcast float %224 to i32 %229 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %227, i32 0, i32 %228) %230 = extractelement <4 x float> %229, i32 0 %231 = extractelement <4 x float> %229, i32 1 %232 = extractelement <4 x float> %229, i32 2 %233 = extractelement <4 x float> %229, i32 3 %234 = bitcast float %101 to i32 %235 = mul i32 %234, 3 %236 = add i32 %235, 1 %237 = bitcast i32 %236 to float %238 = bitcast <8 x i32> %89 to <2 x i128> %239 = extractelement <2 x i128> %238, i32 0 %240 = bitcast i128 %239 to <16 x i8> %241 = bitcast float %237 to i32 %242 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %240, i32 0, i32 %241) %243 = extractelement <4 x float> %242, i32 0 %244 = extractelement <4 x float> %242, i32 1 %245 = extractelement <4 x float> %242, i32 2 %246 = extractelement <4 x float> %242, i32 3 %247 = fmul float %109, %243 %248 = fmul float %109, %244 %249 = fmul float %109, %245 %250 = fmul float %109, %246 %251 = fmul float %110, %230 %252 = fadd float %251, %247 %253 = fmul float %110, %231 %254 = fadd float %253, %248 %255 = fmul float %110, %232 %256 = fadd float %255, %249 %257 = fmul float %110, %233 %258 = fadd float %257, %250 %259 = fmul float %111, %217 %260 = fadd float %259, %252 %261 = fmul float %111, %218 %262 = fadd float %261, %254 %263 = fmul float %111, %219 %264 = fadd float %263, %256 %265 = fmul float %111, %220 %266 = fadd float %265, %258 %267 = fmul float %112, %204 %268 = fadd float %267, %260 %269 = fmul float %112, %205 %270 = fadd float %269, %262 %271 = fmul float %112, %206 %272 = fadd float %271, %264 %273 = fmul float %112, %207 %274 = fadd float %273, %266 %275 = bitcast float %104 to i32 %276 = mul i32 %275, 3 %277 = add i32 %276, 2 %278 = bitcast i32 %277 to float %279 = bitcast <8 x i32> %89 to <2 x i128> %280 = extractelement <2 x i128> %279, i32 0 %281 = bitcast i128 %280 to <16 x i8> %282 = bitcast float %278 to i32 %283 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %281, i32 0, i32 %282) %284 = extractelement <4 x float> %283, i32 0 %285 = extractelement <4 x float> %283, i32 1 %286 = extractelement <4 x float> %283, i32 2 %287 = extractelement <4 x float> %283, i32 3 %288 = bitcast float %103 to i32 %289 = mul i32 %288, 3 %290 = add i32 %289, 2 %291 = bitcast i32 %290 to float %292 = bitcast <8 x i32> %89 to <2 x i128> %293 = extractelement <2 x i128> %292, i32 0 %294 = bitcast i128 %293 to <16 x i8> %295 = bitcast float %291 to i32 %296 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %294, i32 0, i32 %295) %297 = extractelement <4 x float> %296, i32 0 %298 = extractelement <4 x float> %296, i32 1 %299 = extractelement <4 x float> %296, i32 2 %300 = extractelement <4 x float> %296, i32 3 %301 = bitcast float %102 to i32 %302 = mul i32 %301, 3 %303 = add i32 %302, 2 %304 = bitcast i32 %303 to float %305 = bitcast <8 x i32> %89 to <2 x i128> %306 = extractelement <2 x i128> %305, i32 0 %307 = bitcast i128 %306 to <16 x i8> %308 = bitcast float %304 to i32 %309 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %307, i32 0, i32 %308) %310 = extractelement <4 x float> %309, i32 0 %311 = extractelement <4 x float> %309, i32 1 %312 = extractelement <4 x float> %309, i32 2 %313 = extractelement <4 x float> %309, i32 3 %314 = bitcast float %101 to i32 %315 = mul i32 %314, 3 %316 = add i32 %315, 2 %317 = bitcast i32 %316 to float %318 = bitcast <8 x i32> %89 to <2 x i128> %319 = extractelement <2 x i128> %318, i32 0 %320 = bitcast i128 %319 to <16 x i8> %321 = bitcast float %317 to i32 %322 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %320, i32 0, i32 %321) %323 = extractelement <4 x float> %322, i32 0 %324 = extractelement <4 x float> %322, i32 1 %325 = extractelement <4 x float> %322, i32 2 %326 = extractelement <4 x float> %322, i32 3 %327 = fmul float %109, %323 %328 = fmul float %109, %324 %329 = fmul float %109, %325 %330 = fmul float %109, %326 %331 = fmul float %110, %310 %332 = fadd float %331, %327 %333 = fmul float %110, %311 %334 = fadd float %333, %328 %335 = fmul float %110, %312 %336 = fadd float %335, %329 %337 = fmul float %110, %313 %338 = fadd float %337, %330 %339 = fmul float %111, %297 %340 = fadd float %339, %332 %341 = fmul float %111, %298 %342 = fadd float %341, %334 %343 = fmul float %111, %299 %344 = fadd float %343, %336 %345 = fmul float %111, %300 %346 = fadd float %345, %338 %347 = fmul float %112, %284 %348 = fadd float %347, %340 %349 = fmul float %112, %285 %350 = fadd float %349, %342 %351 = fmul float %112, %286 %352 = fadd float %351, %344 %353 = fmul float %112, %287 %354 = fadd float %353, %346 %355 = fmul float %348, %114 %356 = fmul float %350, %116 %357 = fadd float %355, %356 %358 = fmul float %352, %118 %359 = fadd float %357, %358 %360 = fmul float %354, 1.000000e+00 %361 = fadd float %359, %360 %362 = fmul float %268, %114 %363 = fmul float %270, %116 %364 = fadd float %362, %363 %365 = fmul float %272, %118 %366 = fadd float %364, %365 %367 = fmul float %274, 1.000000e+00 %368 = fadd float %366, %367 %369 = fmul float %188, %114 %370 = fmul float %190, %116 %371 = fadd float %369, %370 %372 = fmul float %192, %118 %373 = fadd float %371, %372 %374 = fmul float %194, 1.000000e+00 %375 = fadd float %373, %374 %376 = fmul float %37, %375 %377 = fmul float %38, %375 %378 = fmul float %39, %375 %379 = fmul float %40, %368 %380 = fadd float %379, %376 %381 = fmul float %41, %368 %382 = fadd float %381, %377 %383 = fmul float %42, %368 %384 = fadd float %383, %378 %385 = fmul float %43, %361 %386 = fadd float %385, %380 %387 = fmul float %44, %361 %388 = fadd float %387, %382 %389 = fmul float %45, %361 %390 = fadd float %389, %384 %391 = fadd float %46, %67 %392 = fadd float %47, %68 %393 = fadd float %48, %69 %394 = fadd float %386, %391 %395 = fadd float %388, %392 %396 = fadd float %390, %393 %397 = bitcast float %16 to i32 %398 = sub i32 0, %397 %399 = bitcast i32 %398 to float %400 = bitcast float %399 to i32 %401 = icmp ne i32 %400, 0 br i1 %401, label %IF, label %ENDIF IF: ; preds = %main_body %402 = bitcast float %104 to i32 %403 = mul i32 %402, 3 %404 = bitcast i32 %403 to float %405 = bitcast float %404 to i32 %406 = bitcast float %13 to i32 %407 = add i32 %405, %406 %408 = bitcast i32 %407 to float %409 = bitcast <8 x i32> %87 to <2 x i128> %410 = extractelement <2 x i128> %409, i32 0 %411 = bitcast i128 %410 to <16 x i8> %412 = bitcast float %408 to i32 %413 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %411, i32 0, i32 %412) %414 = extractelement <4 x float> %413, i32 0 %415 = extractelement <4 x float> %413, i32 1 %416 = extractelement <4 x float> %413, i32 2 %417 = extractelement <4 x float> %413, i32 3 %418 = bitcast float %103 to i32 %419 = mul i32 %418, 3 %420 = bitcast i32 %419 to float %421 = bitcast float %420 to i32 %422 = bitcast float %13 to i32 %423 = add i32 %421, %422 %424 = bitcast i32 %423 to float %425 = bitcast <8 x i32> %87 to <2 x i128> %426 = extractelement <2 x i128> %425, i32 0 %427 = bitcast i128 %426 to <16 x i8> %428 = bitcast float %424 to i32 %429 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %427, i32 0, i32 %428) %430 = extractelement <4 x float> %429, i32 0 %431 = extractelement <4 x float> %429, i32 1 %432 = extractelement <4 x float> %429, i32 2 %433 = extractelement <4 x float> %429, i32 3 %434 = bitcast float %102 to i32 %435 = mul i32 %434, 3 %436 = bitcast i32 %435 to float %437 = bitcast float %436 to i32 %438 = bitcast float %13 to i32 %439 = add i32 %437, %438 %440 = bitcast i32 %439 to float %441 = bitcast <8 x i32> %87 to <2 x i128> %442 = extractelement <2 x i128> %441, i32 0 %443 = bitcast i128 %442 to <16 x i8> %444 = bitcast float %440 to i32 %445 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %443, i32 0, i32 %444) %446 = extractelement <4 x float> %445, i32 0 %447 = extractelement <4 x float> %445, i32 1 %448 = extractelement <4 x float> %445, i32 2 %449 = extractelement <4 x float> %445, i32 3 %450 = bitcast float %101 to i32 %451 = mul i32 %450, 3 %452 = bitcast i32 %451 to float %453 = bitcast float %452 to i32 %454 = bitcast float %13 to i32 %455 = add i32 %453, %454 %456 = bitcast i32 %455 to float %457 = bitcast <8 x i32> %87 to <2 x i128> %458 = extractelement <2 x i128> %457, i32 0 %459 = bitcast i128 %458 to <16 x i8> %460 = bitcast float %456 to i32 %461 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %459, i32 0, i32 %460) %462 = extractelement <4 x float> %461, i32 0 %463 = extractelement <4 x float> %461, i32 1 %464 = extractelement <4 x float> %461, i32 2 %465 = extractelement <4 x float> %461, i32 3 %466 = fmul float %109, %462 %467 = fmul float %109, %463 %468 = fmul float %109, %464 %469 = fmul float %109, %465 %470 = fmul float %110, %446 %471 = fadd float %470, %466 %472 = fmul float %110, %447 %473 = fadd float %472, %467 %474 = fmul float %110, %448 %475 = fadd float %474, %468 %476 = fmul float %110, %449 %477 = fadd float %476, %469 %478 = fmul float %111, %430 %479 = fadd float %478, %471 %480 = fmul float %111, %431 %481 = fadd float %480, %473 %482 = fmul float %111, %432 %483 = fadd float %482, %475 %484 = fmul float %111, %433 %485 = fadd float %484, %477 %486 = fmul float %112, %414 %487 = fadd float %486, %479 %488 = fmul float %112, %415 %489 = fadd float %488, %481 %490 = fmul float %112, %416 %491 = fadd float %490, %483 %492 = fmul float %112, %417 %493 = fadd float %492, %485 %494 = bitcast float %104 to i32 %495 = mul i32 %494, 3 %496 = bitcast i32 %495 to float %497 = bitcast float %496 to i32 %498 = bitcast float %14 to i32 %499 = add i32 %497, %498 %500 = bitcast i32 %499 to float %501 = bitcast <8 x i32> %87 to <2 x i128> %502 = extractelement <2 x i128> %501, i32 0 %503 = bitcast i128 %502 to <16 x i8> %504 = bitcast float %500 to i32 %505 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %503, i32 0, i32 %504) %506 = extractelement <4 x float> %505, i32 0 %507 = extractelement <4 x float> %505, i32 1 %508 = extractelement <4 x float> %505, i32 2 %509 = extractelement <4 x float> %505, i32 3 %510 = bitcast float %103 to i32 %511 = mul i32 %510, 3 %512 = bitcast i32 %511 to float %513 = bitcast float %512 to i32 %514 = bitcast float %14 to i32 %515 = add i32 %513, %514 %516 = bitcast i32 %515 to float %517 = bitcast <8 x i32> %87 to <2 x i128> %518 = extractelement <2 x i128> %517, i32 0 %519 = bitcast i128 %518 to <16 x i8> %520 = bitcast float %516 to i32 %521 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %519, i32 0, i32 %520) %522 = extractelement <4 x float> %521, i32 0 %523 = extractelement <4 x float> %521, i32 1 %524 = extractelement <4 x float> %521, i32 2 %525 = extractelement <4 x float> %521, i32 3 %526 = bitcast float %102 to i32 %527 = mul i32 %526, 3 %528 = bitcast i32 %527 to float %529 = bitcast float %528 to i32 %530 = bitcast float %14 to i32 %531 = add i32 %529, %530 %532 = bitcast i32 %531 to float %533 = bitcast <8 x i32> %87 to <2 x i128> %534 = extractelement <2 x i128> %533, i32 0 %535 = bitcast i128 %534 to <16 x i8> %536 = bitcast float %532 to i32 %537 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %535, i32 0, i32 %536) %538 = extractelement <4 x float> %537, i32 0 %539 = extractelement <4 x float> %537, i32 1 %540 = extractelement <4 x float> %537, i32 2 %541 = extractelement <4 x float> %537, i32 3 %542 = bitcast float %101 to i32 %543 = mul i32 %542, 3 %544 = bitcast i32 %543 to float %545 = bitcast float %544 to i32 %546 = bitcast float %14 to i32 %547 = add i32 %545, %546 %548 = bitcast i32 %547 to float %549 = bitcast <8 x i32> %87 to <2 x i128> %550 = extractelement <2 x i128> %549, i32 0 %551 = bitcast i128 %550 to <16 x i8> %552 = bitcast float %548 to i32 %553 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %551, i32 0, i32 %552) %554 = extractelement <4 x float> %553, i32 0 %555 = extractelement <4 x float> %553, i32 1 %556 = extractelement <4 x float> %553, i32 2 %557 = extractelement <4 x float> %553, i32 3 %558 = fmul float %109, %554 %559 = fmul float %109, %555 %560 = fmul float %109, %556 %561 = fmul float %109, %557 %562 = fmul float %110, %538 %563 = fadd float %562, %558 %564 = fmul float %110, %539 %565 = fadd float %564, %559 %566 = fmul float %110, %540 %567 = fadd float %566, %560 %568 = fmul float %110, %541 %569 = fadd float %568, %561 %570 = fmul float %111, %522 %571 = fadd float %570, %563 %572 = fmul float %111, %523 %573 = fadd float %572, %565 %574 = fmul float %111, %524 %575 = fadd float %574, %567 %576 = fmul float %111, %525 %577 = fadd float %576, %569 %578 = fmul float %112, %506 %579 = fadd float %578, %571 %580 = fmul float %112, %507 %581 = fadd float %580, %573 %582 = fmul float %112, %508 %583 = fadd float %582, %575 %584 = fmul float %112, %509 %585 = fadd float %584, %577 %586 = bitcast float %104 to i32 %587 = mul i32 %586, 3 %588 = bitcast i32 %587 to float %589 = bitcast float %588 to i32 %590 = bitcast float %15 to i32 %591 = add i32 %589, %590 %592 = bitcast i32 %591 to float %593 = bitcast <8 x i32> %87 to <2 x i128> %594 = extractelement <2 x i128> %593, i32 0 %595 = bitcast i128 %594 to <16 x i8> %596 = bitcast float %592 to i32 %597 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %595, i32 0, i32 %596) %598 = extractelement <4 x float> %597, i32 0 %599 = extractelement <4 x float> %597, i32 1 %600 = extractelement <4 x float> %597, i32 2 %601 = extractelement <4 x float> %597, i32 3 %602 = bitcast float %103 to i32 %603 = mul i32 %602, 3 %604 = bitcast i32 %603 to float %605 = bitcast float %604 to i32 %606 = bitcast float %15 to i32 %607 = add i32 %605, %606 %608 = bitcast i32 %607 to float %609 = bitcast <8 x i32> %87 to <2 x i128> %610 = extractelement <2 x i128> %609, i32 0 %611 = bitcast i128 %610 to <16 x i8> %612 = bitcast float %608 to i32 %613 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %611, i32 0, i32 %612) %614 = extractelement <4 x float> %613, i32 0 %615 = extractelement <4 x float> %613, i32 1 %616 = extractelement <4 x float> %613, i32 2 %617 = extractelement <4 x float> %613, i32 3 %618 = bitcast float %102 to i32 %619 = mul i32 %618, 3 %620 = bitcast i32 %619 to float %621 = bitcast float %620 to i32 %622 = bitcast float %15 to i32 %623 = add i32 %621, %622 %624 = bitcast i32 %623 to float %625 = bitcast <8 x i32> %87 to <2 x i128> %626 = extractelement <2 x i128> %625, i32 0 %627 = bitcast i128 %626 to <16 x i8> %628 = bitcast float %624 to i32 %629 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %627, i32 0, i32 %628) %630 = extractelement <4 x float> %629, i32 0 %631 = extractelement <4 x float> %629, i32 1 %632 = extractelement <4 x float> %629, i32 2 %633 = extractelement <4 x float> %629, i32 3 %634 = bitcast float %101 to i32 %635 = mul i32 %634, 3 %636 = bitcast i32 %635 to float %637 = bitcast float %636 to i32 %638 = bitcast float %15 to i32 %639 = add i32 %637, %638 %640 = bitcast i32 %639 to float %641 = bitcast <8 x i32> %87 to <2 x i128> %642 = extractelement <2 x i128> %641, i32 0 %643 = bitcast i128 %642 to <16 x i8> %644 = bitcast float %640 to i32 %645 = call <4 x float> @llvm.SI.vs.load.input(<16 x i8> %643, i32 0, i32 %644) %646 = extractelement <4 x float> %645, i32 0 %647 = extractelement <4 x float> %645, i32 1 %648 = extractelement <4 x float> %645, i32 2 %649 = extractelement <4 x float> %645, i32 3 %650 = fmul float %109, %646 %651 = fmul float %109, %647 %652 = fmul float %109, %648 %653 = fmul float %109, %649 %654 = fmul float %110, %630 %655 = fadd float %654, %650 %656 = fmul float %110, %631 %657 = fadd float %656, %651 %658 = fmul float %110, %632 %659 = fadd float %658, %652 %660 = fmul float %110, %633 %661 = fadd float %660, %653 %662 = fmul float %111, %614 %663 = fadd float %662, %655 %664 = fmul float %111, %615 %665 = fadd float %664, %657 %666 = fmul float %111, %616 %667 = fadd float %666, %659 %668 = fmul float %111, %617 %669 = fadd float %668, %661 %670 = fmul float %112, %598 %671 = fadd float %670, %663 %672 = fmul float %112, %599 %673 = fadd float %672, %665 %674 = fmul float %112, %600 %675 = fadd float %674, %667 %676 = fmul float %112, %601 %677 = fadd float %676, %669 br label %ENDIF ENDIF: ; preds = %main_body, %IF %temp32.0 = phi float [ %487, %IF ], [ %188, %main_body ] %temp33.0 = phi float [ %489, %IF ], [ %190, %main_body ] %temp34.0 = phi float [ %491, %IF ], [ %192, %main_body ] %temp35.0 = phi float [ %493, %IF ], [ %194, %main_body ] %temp36.0 = phi float [ %579, %IF ], [ %268, %main_body ] %temp37.0 = phi float [ %581, %IF ], [ %270, %main_body ] %temp38.0 = phi float [ %583, %IF ], [ %272, %main_body ] %temp39.0 = phi float [ %585, %IF ], [ %274, %main_body ] %temp40.0 = phi float [ %671, %IF ], [ %348, %main_body ] %temp41.0 = phi float [ %673, %IF ], [ %350, %main_body ] %temp42.0 = phi float [ %675, %IF ], [ %352, %main_body ] %temp43.0 = phi float [ %677, %IF ], [ %354, %main_body ] %678 = fmul float %temp40.0, %114 %679 = fmul float %temp41.0, %116 %680 = fadd float %678, %679 %681 = fmul float %temp42.0, %118 %682 = fadd float %680, %681 %683 = fmul float %temp43.0, 1.000000e+00 %684 = fadd float %682, %683 %685 = fmul float %temp32.0, %114 %686 = fmul float %temp33.0, %116 %687 = fadd float %685, %686 %688 = fmul float %temp34.0, %118 %689 = fadd float %687, %688 %690 = fmul float %temp35.0, 1.000000e+00 %691 = fadd float %689, %690 %692 = fmul float %temp36.0, %114 %693 = fmul float %temp37.0, %116 %694 = fadd float %692, %693 %695 = fmul float %temp38.0, %118 %696 = fadd float %694, %695 %697 = fmul float %temp39.0, 1.000000e+00 %698 = fadd float %696, %697 %699 = fmul float %20, %698 %700 = fmul float %21, %698 %701 = fmul float %22, %698 %702 = fmul float %17, %691 %703 = fadd float %702, %699 %704 = fmul float %18, %691 %705 = fadd float %704, %700 %706 = fmul float %19, %691 %707 = fadd float %706, %701 %708 = fmul float %23, %684 %709 = fadd float %708, %703 %710 = fmul float %24, %684 %711 = fadd float %710, %705 %712 = fmul float %25, %684 %713 = fadd float %712, %707 %714 = fadd float %26, %709 %715 = fadd float %27, %711 %716 = fadd float %28, %713 %717 = fmul float %55, %395 %718 = fmul float %56, %395 %719 = fmul float %57, %395 %720 = fmul float %58, %395 %721 = fmul float %51, %394 %722 = fadd float %721, %717 %723 = fmul float %52, %394 %724 = fadd float %723, %718 %725 = fmul float %53, %394 %726 = fadd float %725, %719 %727 = fmul float %54, %394 %728 = fadd float %727, %720 %729 = fmul float %59, %396 %730 = fadd float %729, %722 %731 = fmul float %60, %396 %732 = fadd float %731, %724 %733 = fmul float %61, %396 %734 = fadd float %733, %726 %735 = fmul float %62, %396 %736 = fadd float %735, %728 %737 = fadd float %63, %730 %738 = fadd float %64, %732 %739 = fadd float %65, %734 %740 = fadd float %66, %736 %741 = fmul float %74, %715 %742 = fmul float %75, %715 %743 = fmul float %76, %715 %744 = fmul float %77, %715 %745 = fmul float %70, %714 %746 = fadd float %745, %741 %747 = fmul float %71, %714 %748 = fadd float %747, %742 %749 = fmul float %72, %714 %750 = fadd float %749, %743 %751 = fmul float %73, %714 %752 = fadd float %751, %744 %753 = fmul float %78, %716 %754 = fadd float %753, %746 %755 = fmul float %79, %716 %756 = fadd float %755, %748 %757 = fmul float %80, %716 %758 = fadd float %757, %750 %759 = fmul float %81, %716 %760 = fadd float %759, %752 %761 = fadd float %82, %754 %762 = fadd float %83, %756 %763 = fadd float %84, %758 %764 = fadd float %85, %760 %765 = fsub float -0.000000e+00, %738 %766 = fsub float -0.000000e+00, %740 %767 = fmul float 2.000000e+00, %739 %768 = fadd float %767, %766 call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 32, i32 0, float %737, float %738, float %739, float %740) call void @llvm.SI.export(i32 15, i32 0, i32 0, i32 33, i32 0, float %761, float %762, float %763, float %764) call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %737, float %765, float %768, float %740) ret void } ; Function Attrs: nounwind readnone declare float @llvm.SI.load.const(<16 x i8>, i32) #1 ; Function Attrs: nounwind readnone declare <4 x float> @llvm.SI.vs.load.input(<16 x i8>, i32, i32) #1 declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) attributes #0 = { "ShaderType"="1" "unsafe-fp-math"="true" } attributes #1 = { nounwind readnone } !0 = metadata !{metadata !"const", null, i32 1} Elemental: /home/daenzer/src/llvm-git/llvm/lib/CodeGen/VirtRegMap.cpp:369: void (anonymous namespace)::VirtRegRewriter::rewrite(): Assertion `PhysReg && "Invalid SubReg for physical register"' failed.