Fix inconsistent Intel hardware intrinsic APIs#19949
Conversation
|
If you guys think the API change is okay, I would disable their tests in this PR as well. |
| /// __m128i _mm_sad_epu8 (__m128i a, __m128i b) | ||
| /// PSADBW xmm, xmm/m128 | ||
| /// </summary> | ||
| public static Vector128<long> SumAbsoluteDifferences(Vector128<byte> left, Vector128<byte> right) => SumAbsoluteDifferences(left, right); |
There was a problem hiding this comment.
Shouldn't this be Vector128<ushort>?
Computes the absolute differences of the
packed unsigned byte integers from xmm2
/m128 and xmm1; the 8 low differences and 8
high differences are then summed separately
to produce two unsigned word integer results.
There was a problem hiding this comment.
Done. Now they are correct and consistent with MultipleSumAbsoluteDifferences.
tannergooding
left a comment
There was a problem hiding this comment.
LGTM.
Is this all of the renames/type fixes that we were tracking?
|
Yes, I am looking for more to make sure we fix all the inconsistency. |
|
@dotnet/dnceng Failure in https://ci.dot.net/job/dotnet_coreclr/job/master/job/x64_checked_ubuntu_innerloop_flow_prtest/7594/ is "java.io.IOException: No space left on device" |
|
I checked that this kind of inconsistency is all fixed in this PR. Can we merge? |
SumAbsoluteDifferencesreturn type fromVector128<long/ulong>toVector128<ushort>.MultiplyHorizontalAddtoMultiplyAddAdjacentto keep consistent with SSSE3/AVX2 counterparts.