Restore recovered short-face and jaw fields; prepare 1.1.2 with 1535 regressions passed
这个提交包含在:
1 父节点
2d3edcf0a2
当前提交
183bf0e4b2
23 个文件已更改
+998
-46
没有与搜索条件相匹配的文件
@@ -0,0 +1,371 @@
|
||||
Source AIR SHA256: f97705b88f5491057df2117aef457ffca84e11020574cd57742b0670db4484d8
|
||||
Line numbers refer to the complete original metal-objdump text. Static IR; original shader not executed.
|
||||
|
||||
583: define internal fastcc <2 x float> @_ZL25mssFaceShapePinCoordinateDv2_fPU11MTLconstantK16MSSFaceThinPointi18MSSFaceShapeParamsS_(<2 x float> %0, %struct.MSSFaceThinPoint addrspace(2)* nocapture readonly %1, i32 %2, float %3, float %4, float %5, float %6, float %7, float %8, float %9, float %10, float %11, float %12, <2 x float> %13) unnamed_addr #2 {
|
||||
584: %15 = alloca [17 x <3 x i32>], align 16
|
||||
585: %16 = alloca [16 x <2 x i32>], align 8
|
||||
586: %17 = alloca [4 x <2 x i32>], align 8
|
||||
587: %18 = alloca [6 x <3 x i32>], align 16
|
||||
588: %19 = alloca [6 x <2 x i32>], align 8
|
||||
589: %20 = alloca [3 x <2 x i32>], align 8
|
||||
590: %21 = alloca [11 x i32], align 4
|
||||
591: %22 = alloca [11 x <2 x float>], align 8
|
||||
592: %23 = add nsw i32 %2, 75
|
||||
593: %24 = sext i32 %23 to i64
|
||||
594: %25 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %24, i32 0
|
||||
595: %26 = load <2 x float>, <2 x float> addrspace(2)* %25, align 8, !tbaa !62
|
||||
596: %27 = add nsw i32 %2, 59
|
||||
597: %28 = sext i32 %27 to i64
|
||||
598: %29 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %28, i32 0
|
||||
599: %30 = load <2 x float>, <2 x float> addrspace(2)* %29, align 8, !tbaa !62
|
||||
600: %31 = add nsw i32 %2, 67
|
||||
601: %32 = sext i32 %31 to i64
|
||||
602: %33 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %32, i32 0
|
||||
603: %34 = load <2 x float>, <2 x float> addrspace(2)* %33, align 8, !tbaa !62
|
||||
604: %35 = add nsw i32 %2, 74
|
||||
605: %36 = sext i32 %35 to i64
|
||||
606: %37 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %36, i32 0
|
||||
607: %38 = load <2 x float>, <2 x float> addrspace(2)* %37, align 8, !tbaa !62
|
||||
608: %39 = add nsw i32 %2, 60
|
||||
609: %40 = sext i32 %39 to i64
|
||||
610: %41 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %40, i32 0
|
||||
611: %42 = load <2 x float>, <2 x float> addrspace(2)* %41, align 8, !tbaa !62
|
||||
612: %43 = fadd fast <2 x float> %42, %38
|
||||
613: %44 = fmul fast <2 x float> %43, <float 5.000000e-01, float 5.000000e-01>
|
||||
614: %45 = fsub fast <2 x float> %26, %30
|
||||
615: %46 = fmul fast <2 x float> %45, %13
|
||||
616: %47 = tail call fast float @air.dot.v2f32(<2 x float> %46, <2 x float> %46) #3
|
||||
617: %48 = tail call fast float @air.fast_sqrt.f32(float %47) #3
|
||||
618: %49 = fsub fast <2 x float> %34, %44
|
||||
619: %50 = fmul fast <2 x float> %49, %13
|
||||
620: %51 = tail call fast float @air.dot.v2f32(<2 x float> %50, <2 x float> %50) #3
|
||||
621: %52 = tail call fast float @air.fast_sqrt.f32(float %51) #3
|
||||
622: %53 = fmul fast float %52, 2.000000e+00
|
||||
623: %54 = tail call fast float @air.fast_fmax.f32(float %48, float %53) #3
|
||||
624: %55 = tail call fast float @air.fast_fmax.f32(float %54, float 1.000000e+00) #3
|
||||
625: %56 = fdiv fast float 2.800000e+02, %55
|
||||
626: %57 = tail call fast float @air.fast_clamp.f32(float %56, float 1.000000e+00, float 2.250000e+00) #3
|
||||
627: %58 = fmul fast float %57, %3
|
||||
628: %59 = fmul fast float %57, %4
|
||||
629: %60 = fmul fast float %57, %5
|
||||
630: %61 = fmul fast float %57, %6
|
||||
631: %62 = fmul fast float %57, %7
|
||||
632: %63 = fmul fast float %57, %8
|
||||
633: %64 = fmul fast float %57, %9
|
||||
634: %65 = tail call fast float @air.fast_fabs.f32(float %58) #3
|
||||
635: %66 = fcmp fast ogt float %65, 0x3EB0C6F7A0000000
|
||||
|
||||
899: 251: ; preds = %212, %200
|
||||
900: %252 = phi <2 x float> [ %248, %212 ], [ %201, %200 ]
|
||||
901: %253 = tail call fast float @air.fast_fabs.f32(float %61) #3
|
||||
902: %254 = fcmp fast ogt float %253, 0x3EB0C6F7A0000000
|
||||
903: br i1 %254, label %255, label %309
|
||||
904:
|
||||
905: 255: ; preds = %251
|
||||
906: %256 = bitcast [6 x <3 x i32>]* %18 to i8*
|
||||
907: call void @llvm.lifetime.start.p0i8(i64 96, i8* nonnull %256) #8
|
||||
908: %257 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 0
|
||||
909: store <3 x i32> <i32 72, i32 71, i32 29>, <3 x i32>* %257, align 16
|
||||
910: %258 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 1
|
||||
911: store <3 x i32> <i32 62, i32 63, i32 29>, <3 x i32>* %258, align 16
|
||||
912: %259 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 2
|
||||
913: store <3 x i32> <i32 71, i32 70, i32 29>, <3 x i32>* %259, align 16
|
||||
914: %260 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 3
|
||||
915: store <3 x i32> <i32 63, i32 64, i32 29>, <3 x i32>* %260, align 16
|
||||
916: %261 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 4
|
||||
917: store <3 x i32> <i32 70, i32 71, i32 29>, <3 x i32>* %261, align 16
|
||||
918: %262 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 5
|
||||
919: store <3 x i32> <i32 64, i32 63, i32 29>, <3 x i32>* %262, align 16
|
||||
920: %263 = insertelement <2 x float> undef, float %61, i64 0
|
||||
921: %264 = shufflevector <2 x float> %263, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
922: br label %266
|
||||
923:
|
||||
924: 265: ; preds = %305
|
||||
925: call void @llvm.lifetime.end.p0i8(i64 96, i8* nonnull %256) #8
|
||||
926: br label %309
|
||||
927:
|
||||
928: 266: ; preds = %305, %255
|
||||
929: %267 = phi <2 x float> [ %252, %255 ], [ %306, %305 ]
|
||||
930: %268 = phi i32 [ 0, %255 ], [ %307, %305 ]
|
||||
931: %269 = zext i32 %268 to i64
|
||||
932: %270 = getelementptr inbounds [6 x <3 x i32>], [6 x <3 x i32>]* %18, i64 0, i64 %269
|
||||
933: %271 = load <3 x i32>, <3 x i32>* %270, align 16
|
||||
934: %272 = extractelement <3 x i32> %271, i64 0
|
||||
935: %273 = add nsw i32 %272, %2
|
||||
936: %274 = sext i32 %273 to i64
|
||||
937: %275 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %274, i32 0
|
||||
938: %276 = load <2 x float>, <2 x float> addrspace(2)* %275, align 8, !tbaa !62
|
||||
939: %277 = extractelement <3 x i32> %271, i64 1
|
||||
940: %278 = add nsw i32 %277, %2
|
||||
941: %279 = sext i32 %278 to i64
|
||||
942: %280 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %279, i32 0
|
||||
943: %281 = load <2 x float>, <2 x float> addrspace(2)* %280, align 8, !tbaa !62
|
||||
944: %282 = fsub fast <2 x float> %276, %281
|
||||
945: %283 = tail call fast float @air.dot.v2f32(<2 x float> %282, <2 x float> %282) #3
|
||||
946: %284 = tail call fast float @air.fast_sqrt.f32(float %283) #3
|
||||
947: %285 = fcmp fast ugt float %284, 0x3F1A36E2E0000000
|
||||
948: br i1 %285, label %286, label %305
|
||||
949:
|
||||
950: 286: ; preds = %266
|
||||
951: %287 = extractelement <3 x i32> %271, i64 2
|
||||
952: %288 = add nsw i32 %287, %2
|
||||
953: %289 = sext i32 %288 to i64
|
||||
954: %290 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %289, i32 0
|
||||
955: %291 = load <2 x float>, <2 x float> addrspace(2)* %290, align 8, !tbaa !62
|
||||
956: %292 = fsub fast <2 x float> %291, %276
|
||||
957: %293 = fsub fast <2 x float> %267, %276
|
||||
958: %294 = tail call fast float @air.dot.v2f32(<2 x float> %293, <2 x float> %293) #3
|
||||
959: %295 = tail call fast float @air.fast_sqrt.f32(float %294) #3
|
||||
960: %296 = fdiv fast float %295, %284
|
||||
961: %297 = fsub fast float 1.000000e+00, %296
|
||||
962: %298 = tail call fast float @air.fast_clamp.f32(float %297, float 0.000000e+00, float 1.000000e+00) #3
|
||||
963: %299 = insertelement <2 x float> undef, float %298, i64 0
|
||||
964: %300 = shufflevector <2 x float> %299, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
965: %301 = fmul fast <2 x float> %292, %264
|
||||
966: %302 = fmul fast <2 x float> %301, %300
|
||||
967: %303 = fsub fast <2 x float> %267, %302
|
||||
968: %304 = tail call fast <2 x float> @air.fast_clamp.v2f32(<2 x float> %303, <2 x float> zeroinitializer, <2 x float> <float 1.000000e+00, float 1.000000e+00>) #3
|
||||
969: br label %305
|
||||
970:
|
||||
971: 305: ; preds = %286, %266
|
||||
972: %306 = phi <2 x float> [ %304, %286 ], [ %267, %266 ]
|
||||
973: %307 = add nuw nsw i32 %268, 1
|
||||
974: %308 = icmp eq i32 %307, 6
|
||||
975: br i1 %308, label %265, label %266, !llvm.loop !67
|
||||
976:
|
||||
977: 309: ; preds = %265, %251
|
||||
978: %310 = phi <2 x float> [ %306, %265 ], [ %252, %251 ]
|
||||
979: %311 = tail call fast float @air.fast_fabs.f32(float %62) #3
|
||||
980: %312 = fcmp fast ogt float %311, 0x3EB0C6F7A0000000
|
||||
981: br i1 %312, label %313, label %372
|
||||
982:
|
||||
983: 313: ; preds = %309
|
||||
984: %314 = bitcast [6 x <2 x i32>]* %19 to i8*
|
||||
985: call void @llvm.lifetime.start.p0i8(i64 48, i8* nonnull %314) #8
|
||||
986: %315 = getelementptr inbounds [6 x <2 x i32>], [6 x <2 x i32>]* %19, i64 0, i64 0
|
||||
|
||||
1127: 422: ; preds = %383, %372
|
||||
1128: %423 = phi <2 x float> [ %419, %383 ], [ %373, %372 ]
|
||||
1129: %424 = tail call fast float @air.fast_fabs.f32(float %64) #3
|
||||
1130: %425 = fcmp fast ogt float %424, 0x3EB0C6F7A0000000
|
||||
1131: br i1 %425, label %426, label %585
|
||||
1132:
|
||||
1133: 426: ; preds = %422
|
||||
1134: %427 = bitcast [11 x i32]* %21 to i8*
|
||||
1135: call void @llvm.lifetime.start.p0i8(i64 44, i8* nonnull %427) #8
|
||||
1136: %428 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 0
|
||||
1137: store i32 62, i32* %428, align 4
|
||||
1138: %429 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 1
|
||||
1139: store i32 63, i32* %429, align 4
|
||||
1140: %430 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 2
|
||||
1141: store i32 64, i32* %430, align 4
|
||||
1142: %431 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 3
|
||||
1143: store i32 65, i32* %431, align 4
|
||||
1144: %432 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 4
|
||||
1145: store i32 66, i32* %432, align 4
|
||||
1146: %433 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 5
|
||||
1147: store i32 67, i32* %433, align 4
|
||||
1148: %434 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 6
|
||||
1149: store i32 68, i32* %434, align 4
|
||||
1150: %435 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 7
|
||||
1151: store i32 69, i32* %435, align 4
|
||||
1152: %436 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 8
|
||||
1153: store i32 70, i32* %436, align 4
|
||||
1154: %437 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 9
|
||||
1155: store i32 71, i32* %437, align 4
|
||||
1156: %438 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 10
|
||||
1157: store i32 72, i32* %438, align 4
|
||||
1158: %439 = add nsw i32 %2, 46
|
||||
1159: %440 = sext i32 %439 to i64
|
||||
1160: %441 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %440, i32 0
|
||||
1161: %442 = load <2 x float>, <2 x float> addrspace(2)* %441, align 8, !tbaa !62
|
||||
1162: %443 = add nsw i32 %2, 48
|
||||
1163: %444 = sext i32 %443 to i64
|
||||
1164: %445 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %444, i32 0
|
||||
1165: %446 = load <2 x float>, <2 x float> addrspace(2)* %445, align 8, !tbaa !62
|
||||
1166: %447 = bitcast [11 x <2 x float>]* %22 to i8*
|
||||
1167: call void @llvm.lifetime.start.p0i8(i64 88, i8* nonnull %447) #8
|
||||
1168: br label %492
|
||||
1169:
|
||||
1170: 448: ; preds = %492
|
||||
1171: %449 = fsub fast <2 x float> %442, %446
|
||||
1172: %450 = extractelement <2 x float> %423, i64 1
|
||||
1173: %451 = extractelement <2 x float> %423, i64 0
|
||||
1174: %452 = getelementptr inbounds [11 x <2 x float>], [11 x <2 x float>]* %22, i64 0, i64 10
|
||||
1175: %453 = load <2 x float>, <2 x float>* %452, align 8, !tbaa !62
|
||||
1176: br label %454
|
||||
1177:
|
||||
1178: 454: ; preds = %484, %448
|
||||
1179: %455 = phi <2 x float> [ %453, %448 ], [ %460, %484 ]
|
||||
1180: %456 = phi i8 [ 0, %448 ], [ %485, %484 ]
|
||||
1181: %457 = phi i32 [ 0, %448 ], [ %486, %484 ]
|
||||
1182: %458 = zext i32 %457 to i64
|
||||
1183: %459 = getelementptr inbounds [11 x <2 x float>], [11 x <2 x float>]* %22, i64 0, i64 %458
|
||||
1184: %460 = load <2 x float>, <2 x float>* %459, align 8, !tbaa !62
|
||||
1185: %461 = extractelement <2 x float> %455, i64 1
|
||||
1186: %462 = extractelement <2 x float> %460, i64 1
|
||||
1187: %463 = fcmp fast ule float %462, %450
|
||||
1188: %464 = fcmp fast ogt float %461, %450
|
||||
1189: %465 = xor i1 %463, %464
|
||||
1190: br i1 %465, label %484, label %466
|
||||
1191:
|
||||
1192: 466: ; preds = %454
|
||||
1193: %467 = fsub fast float %461, %462
|
||||
1194: %468 = tail call fast float @air.fast_fabs.f32(float %467) #3
|
||||
1195: %469 = fcmp fast ugt float %468, 0x3EB0C6F7A0000000
|
||||
1196: %470 = fcmp fast olt float %467, 0.000000e+00
|
||||
1197: %471 = select fast i1 %470, float 0xBEB0C6F7A0000000, float 0x3EB0C6F7A0000000
|
||||
1198: %472 = select i1 %469, float %467, float %471
|
||||
1199: %473 = extractelement <2 x float> %455, i64 0
|
||||
1200: %474 = extractelement <2 x float> %460, i64 0
|
||||
1201: %475 = fsub fast float %473, %474
|
||||
1202: %476 = fsub fast float %450, %462
|
||||
1203: %477 = fmul fast float %475, %476
|
||||
1204: %478 = fdiv fast float %477, %472
|
||||
1205: %479 = fadd fast float %478, %474
|
||||
1206: %480 = fcmp fast olt float %451, %479
|
||||
1207: br i1 %480, label %481, label %484
|
||||
1208:
|
||||
1209: 481: ; preds = %466
|
||||
1210: %482 = and i8 %456, 1
|
||||
1211: %483 = xor i8 %482, 1
|
||||
1212: br label %484
|
||||
1213:
|
||||
1214: 484: ; preds = %481, %466, %454
|
||||
1215: %485 = phi i8 [ %483, %481 ], [ %456, %466 ], [ %456, %454 ]
|
||||
1216: %486 = add nuw nsw i32 %457, 1
|
||||
1217: %487 = icmp eq i32 %486, 11
|
||||
1218: br i1 %487, label %488, label %454, !llvm.loop !70
|
||||
1219:
|
||||
1220: 488: ; preds = %484
|
||||
1221: %489 = getelementptr inbounds [11 x <2 x float>], [11 x <2 x float>]* %22, i64 0, i64 0
|
||||
1222: %490 = and i8 %485, 1
|
||||
1223: %491 = load <2 x float>, <2 x float>* %489, align 8, !tbaa !62
|
||||
1224: br label %506
|
||||
1225:
|
||||
1226: 492: ; preds = %492, %426
|
||||
1227: %493 = phi i32 [ 0, %426 ], [ %502, %492 ]
|
||||
1228: %494 = zext i32 %493 to i64
|
||||
1229: %495 = getelementptr inbounds [11 x i32], [11 x i32]* %21, i64 0, i64 %494
|
||||
1230: %496 = load i32, i32* %495, align 4, !tbaa !53
|
||||
1231: %497 = add nsw i32 %496, %2
|
||||
1232: %498 = sext i32 %497 to i64
|
||||
1233: %499 = getelementptr inbounds %struct.MSSFaceThinPoint, %struct.MSSFaceThinPoint addrspace(2)* %1, i64 %498, i32 0
|
||||
1234: %500 = load <2 x float>, <2 x float> addrspace(2)* %499, align 8, !tbaa !62
|
||||
1235: %501 = getelementptr inbounds [11 x <2 x float>], [11 x <2 x float>]* %22, i64 0, i64 %494
|
||||
1236: store <2 x float> %500, <2 x float>* %501, align 8, !tbaa !62
|
||||
1237: %502 = add nuw nsw i32 %493, 1
|
||||
1238: %503 = icmp eq i32 %502, 11
|
||||
1239: br i1 %503, label %448, label %492, !llvm.loop !71
|
||||
1240:
|
||||
1241: 504: ; preds = %531
|
||||
1242: %505 = icmp eq i8 %490, 0
|
||||
1243: br i1 %505, label %559, label %540
|
||||
1244:
|
||||
1245: 506: ; preds = %531, %488
|
||||
1246: %507 = phi i32 [ 0, %488 ], [ %513, %531 ]
|
||||
1247: %508 = phi <2 x float> [ %491, %488 ], [ %538, %531 ]
|
||||
1248: %509 = phi float [ 1.000000e+01, %488 ], [ %537, %531 ]
|
||||
1249: %510 = zext i32 %507 to i64
|
||||
1250: %511 = getelementptr inbounds [11 x <2 x float>], [11 x <2 x float>]* %22, i64 0, i64 %510
|
||||
1251: %512 = load <2 x float>, <2 x float>* %511, align 8, !tbaa !62
|
||||
1252: %513 = add nuw nsw i32 %507, 1
|
||||
1253: %514 = trunc i32 %513 to i8
|
||||
1254: %515 = urem i8 %514, 11
|
||||
1255: %516 = zext i8 %515 to i64
|
||||
1256: %517 = getelementptr inbounds [11 x <2 x float>], [11 x <2 x float>]* %22, i64 0, i64 %516
|
||||
1257: %518 = load <2 x float>, <2 x float>* %517, align 8, !tbaa !62
|
||||
1258: %519 = fsub fast <2 x float> %518, %512
|
||||
1259: %520 = tail call fast float @air.dot.v2f32(<2 x float> %519, <2 x float> %519) #3
|
||||
1260: %521 = fcmp fast ugt float %520, 0x3EB0C6F7A0000000
|
||||
1261: br i1 %521, label %522, label %531
|
||||
1262:
|
||||
1263: 522: ; preds = %506
|
||||
1264: %523 = fsub fast <2 x float> %423, %512
|
||||
1265: %524 = tail call fast float @air.dot.v2f32(<2 x float> %523, <2 x float> %519) #3
|
||||
1266: %525 = fdiv fast float %524, %520
|
||||
1267: %526 = tail call fast float @air.fast_clamp.f32(float %525, float 0.000000e+00, float 1.000000e+00) #3
|
||||
1268: %527 = insertelement <2 x float> undef, float %526, i64 0
|
||||
1269: %528 = shufflevector <2 x float> %527, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
1270: %529 = fmul fast <2 x float> %528, %519
|
||||
1271: %530 = fadd fast <2 x float> %529, %512
|
||||
1272: br label %531
|
||||
1273:
|
||||
1274: 531: ; preds = %522, %506
|
||||
1275: %532 = phi <2 x float> [ %530, %522 ], [ %512, %506 ]
|
||||
1276: %533 = fsub fast <2 x float> %423, %532
|
||||
1277: %534 = tail call fast float @air.dot.v2f32(<2 x float> %533, <2 x float> %533) #3
|
||||
1278: %535 = tail call fast float @air.fast_sqrt.f32(float %534) #3
|
||||
1279: %536 = fcmp fast olt float %535, %509
|
||||
1280: %537 = select i1 %536, float %535, float %509
|
||||
1281: %538 = select i1 %536, <2 x float> %532, <2 x float> %508
|
||||
1282: %539 = icmp eq i32 %513, 11
|
||||
1283: br i1 %539, label %504, label %506, !llvm.loop !72
|
||||
1284:
|
||||
1285: 540: ; preds = %504
|
||||
1286: %541 = fsub fast <2 x float> <float -0.000000e+00, float -0.000000e+00>, %449
|
||||
1287: %542 = tail call fast float @air.dot.v2f32(<2 x float> %541, <2 x float> %541) #3
|
||||
1288: %543 = tail call fast float @air.fast_sqrt.f32(float %542) #3
|
||||
1289: %544 = fcmp fast ugt float %543, 0x3F1A36E2E0000000
|
||||
1290: br i1 %544, label %545, label %583
|
||||
1291:
|
||||
1292: 545: ; preds = %540
|
||||
1293: %546 = tail call fast float @air.dot.v2f32(<2 x float> zeroinitializer, <2 x float> zeroinitializer) #3
|
||||
1294: %547 = tail call fast float @air.fast_sqrt.f32(float %546) #3
|
||||
1295: %548 = fdiv fast float %547, %543
|
||||
1296: %549 = fsub fast float 1.000000e+00, %548
|
||||
1297: %550 = tail call fast float @air.fast_clamp.f32(float %549, float 0.000000e+00, float 1.000000e+00) #3
|
||||
1298: %551 = insertelement <2 x float> undef, float %550, i64 0
|
||||
1299: %552 = shufflevector <2 x float> %551, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
1300: %553 = insertelement <2 x float> undef, float %64, i64 0
|
||||
1301: %554 = shufflevector <2 x float> %553, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
1302: %555 = fmul fast <2 x float> %449, %554
|
||||
1303: %556 = fmul fast <2 x float> %555, %552
|
||||
1304: %557 = fsub fast <2 x float> %423, %556
|
||||
1305: %558 = tail call fast <2 x float> @air.fast_clamp.v2f32(<2 x float> %557, <2 x float> zeroinitializer, <2 x float> <float 1.000000e+00, float 1.000000e+00>) #3
|
||||
1306: br label %583
|
||||
1307:
|
||||
1308: 559: ; preds = %504
|
||||
1309: %560 = tail call fast float @air.dot.v2f32(<2 x float> %449, <2 x float> %449) #3
|
||||
1310: %561 = tail call fast float @air.fast_sqrt.f32(float %560) #3
|
||||
1311: %562 = fcmp fast olt float %537, %561
|
||||
1312: br i1 %562, label %563, label %583
|
||||
1313:
|
||||
1314: 563: ; preds = %559
|
||||
1315: %564 = fsub fast <2 x float> <float -0.000000e+00, float -0.000000e+00>, %449
|
||||
1316: %565 = tail call fast float @air.dot.v2f32(<2 x float> %564, <2 x float> %564) #3
|
||||
1317: %566 = tail call fast float @air.fast_sqrt.f32(float %565) #3
|
||||
1318: %567 = fcmp fast ugt float %566, 0x3F1A36E2E0000000
|
||||
1319: br i1 %567, label %568, label %583
|
||||
1320:
|
||||
1321: 568: ; preds = %563
|
||||
1322: %569 = fsub fast <2 x float> %423, %538
|
||||
1323: %570 = tail call fast float @air.dot.v2f32(<2 x float> %569, <2 x float> %569) #3
|
||||
1324: %571 = tail call fast float @air.fast_sqrt.f32(float %570) #3
|
||||
1325: %572 = fdiv fast float %571, %566
|
||||
1326: %573 = fsub fast float 1.000000e+00, %572
|
||||
1327: %574 = tail call fast float @air.fast_clamp.f32(float %573, float 0.000000e+00, float 1.000000e+00) #3
|
||||
1328: %575 = insertelement <2 x float> undef, float %574, i64 0
|
||||
1329: %576 = shufflevector <2 x float> %575, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
1330: %577 = insertelement <2 x float> undef, float %64, i64 0
|
||||
1331: %578 = shufflevector <2 x float> %577, <2 x float> undef, <2 x i32> zeroinitializer
|
||||
1332: %579 = fmul fast <2 x float> %449, %578
|
||||
1333: %580 = fmul fast <2 x float> %579, %576
|
||||
1334: %581 = fsub fast <2 x float> %423, %580
|
||||
1335: %582 = tail call fast <2 x float> @air.fast_clamp.v2f32(<2 x float> %581, <2 x float> zeroinitializer, <2 x float> <float 1.000000e+00, float 1.000000e+00>) #3
|
||||
1336: br label %583
|
||||
1337:
|
||||
1338: 583: ; preds = %568, %563, %559, %545, %540
|
||||
1339: %584 = phi <2 x float> [ %423, %559 ], [ %558, %545 ], [ %423, %540 ], [ %582, %568 ], [ %423, %563 ]
|
||||
1340: call void @llvm.lifetime.end.p0i8(i64 88, i8* nonnull %447) #8
|
||||
1341: call void @llvm.lifetime.end.p0i8(i64 44, i8* nonnull %427) #8
|
||||
1342: br label %585
|
||||
1343:
|
||||
1344: 585: ; preds = %583, %422
|
||||
1345: %586 = phi <2 x float> [ %584, %583 ], [ %423, %422 ]
|
||||
1346: %587 = tail call fast float @air.fast_fabs.f32(float %10) #3
|
||||
1347: %588 = fcmp fast ogt float %587, 0x3EB0C6F7A0000000
|
||||
1348: br i1 %588, label %589, label %613
|
||||
|
||||
4634: !27 = !{i32 8, !"air.buffer", !"air.location_index", i32 7, i32 1, !"air.read", !"air.struct_type_info", !28, !"air.arg_type_size", i32 40, !"air.arg_type_align_size", i32 4, !"air.arg_type_name", !"MSSFaceShapeParams", !"air.arg_name", !"faceShapeParams"}
|
||||
4635: !28 = !{i32 0, i32 4, i32 0, !"float", !"shoulian", i32 4, i32 4, i32 0, !"float", !"zhailian", i32 8, i32 4, i32 0, !"float", !"vlian", i32 12, i32 4, i32 0, !"float", !"xiaegu", i32 16, i32 4, i32 0, !"float", !"quangu", i32 20, i32 4, i32 0, !"float", !"xiaba", i32 24, i32 4, i32 0, !"float", !"duanlian", i32 28, i32 4, i32 0, !"float", !"xiaotou", i32 32, i32 4, i32 0, !"float", !"xiaotoufanwei", i32 36, i32 4, i32 0, !"float", !"dayan"}
|
||||
在新工单中引用
屏蔽一个用户