@@ -946,39 +946,6 @@ GenTree* Compiler::impSimdAsHWIntrinsicSpecial(NamedIntrinsic intrinsic,
946
946
/* isSimdAsHWIntrinsic */ true );
947
947
}
948
948
949
- case NI_Vector2_Distance:
950
- case NI_Vector3_Distance:
951
- case NI_Vector4_Distance:
952
- {
953
- op1 = gtNewSimdBinOpNode (GT_SUB, retType, op1, op2, simdBaseJitType, simdSize,
954
- /* isSimdAsHWIntrinsic */ true );
955
-
956
- GenTree* clonedOp1;
957
- op1 = impCloneExpr (op1, &clonedOp1, NO_CLASS_HANDLE, CHECK_SPILL_ALL,
958
- nullptr DEBUGARG (" Clone diff for vector distance" ));
959
-
960
- op1 = gtNewSimdDotProdNode (retType, op1, clonedOp1, simdBaseJitType, simdSize,
961
- /* isSimdAsHWIntrinsic */ true );
962
-
963
- return new (this , GT_INTRINSIC)
964
- GenTreeIntrinsic (simdBaseType, op1, NI_System_Math_Sqrt, NO_METHOD_HANDLE);
965
- }
966
-
967
- case NI_Vector2_DistanceSquared:
968
- case NI_Vector3_DistanceSquared:
969
- case NI_Vector4_DistanceSquared:
970
- {
971
- op1 = gtNewSimdBinOpNode (GT_SUB, retType, op1, op2, simdBaseJitType, simdSize,
972
- /* isSimdAsHWIntrinsic */ true );
973
-
974
- GenTree* clonedOp1;
975
- op1 = impCloneExpr (op1, &clonedOp1, NO_CLASS_HANDLE, CHECK_SPILL_ALL,
976
- nullptr DEBUGARG (" Clone diff for vector distance squared" ));
977
-
978
- return gtNewSimdDotProdNode (retType, op1, clonedOp1, simdBaseJitType, simdSize,
979
- /* isSimdAsHWIntrinsic */ true );
980
- }
981
-
982
949
case NI_VectorT128_Floor:
983
950
#if defined(TARGET_XARCH)
984
951
case NI_VectorT256_Floor:
@@ -1382,6 +1349,39 @@ GenTree* Compiler::impSimdAsHWIntrinsicSpecial(NamedIntrinsic intrinsic,
1382
1349
break ;
1383
1350
}
1384
1351
1352
+ case NI_Vector2_Distance:
1353
+ case NI_Vector3_Distance:
1354
+ case NI_Vector4_Distance:
1355
+ {
1356
+ op1 = gtNewSimdBinOpNode (GT_SUB, simdType, op1, op2, simdBaseJitType, simdSize,
1357
+ /* isSimdAsHWIntrinsic */ true );
1358
+
1359
+ GenTree* clonedOp1;
1360
+ op1 = impCloneExpr (op1, &clonedOp1, NO_CLASS_HANDLE, CHECK_SPILL_ALL,
1361
+ nullptr DEBUGARG (" Clone diff for vector distance" ));
1362
+
1363
+ op1 = gtNewSimdDotProdNode (retType, op1, clonedOp1, simdBaseJitType, simdSize,
1364
+ /* isSimdAsHWIntrinsic */ true );
1365
+
1366
+ return new (this , GT_INTRINSIC)
1367
+ GenTreeIntrinsic (retType, op1, NI_System_Math_Sqrt, NO_METHOD_HANDLE);
1368
+ }
1369
+
1370
+ case NI_Vector2_DistanceSquared:
1371
+ case NI_Vector3_DistanceSquared:
1372
+ case NI_Vector4_DistanceSquared:
1373
+ {
1374
+ op1 = gtNewSimdBinOpNode (GT_SUB, simdType, op1, op2, simdBaseJitType, simdSize,
1375
+ /* isSimdAsHWIntrinsic */ true );
1376
+
1377
+ GenTree* clonedOp1;
1378
+ op1 = impCloneExpr (op1, &clonedOp1, NO_CLASS_HANDLE, CHECK_SPILL_ALL,
1379
+ nullptr DEBUGARG (" Clone diff for vector distance squared" ));
1380
+
1381
+ return gtNewSimdDotProdNode (retType, op1, clonedOp1, simdBaseJitType, simdSize,
1382
+ /* isSimdAsHWIntrinsic */ true );
1383
+ }
1384
+
1385
1385
case NI_Quaternion_Divide:
1386
1386
case NI_Vector2_Divide:
1387
1387
case NI_Vector2_op_Division:
0 commit comments