Mirror changes from dotnet/coreclr#6663
Conversation
…her intrinsics (#21432) * Updating Vector128.CreateScalar and Vector256.CreateScalar to be implemented using other intrinsics * Updating Vector128.Equals and Vector256.Equals to be implemented using other intrinsics * Updating Vector256.WithLower, Vector256.GetUpper, and Vector256.WithUpper to be implemented using other intrinsics * Updating Vector128.Create(T) and Vector256.Create(T) to be implemented using other intrinsics * Fixing the `NI_Base_Vector256_As` intrinsics to only fold the cast if AVX is supported and add a clarifying comment to the Vector128/256.Equals code * Changing the various `*Software()` local functions in Vector128/256 to be `SoftwareFallback()` Signed-off-by: dotnet-bot <dotnet-bot@microsoft.com>
|
@dotnet-bot test this please |
|
@MichalStrehovsky Is this failure related to dotnet/coreclr#21446 ? |
That would be an AV in JIT and we're not updating the JIT here. This kind of looks like we need to implement the first part of #6173 (do the type layout for the new SIMD intrinsic types). I'll take a look... |
|
Not sure why this change would make it fail, we are only adding code paths that should be false/skipped on corert. |
|
RyuJIT is finding out about Vector being special even without us telling it and things fall apart. #6666 should unblock this. I also tried to do the whole thing (compute the right layout for vectors), but stumbled over #6665, followed by finding out that the "maximum alignment supported" constant has some very special implications on universal shared code - that part will need to be very carefully staged. |
|
@dotnet-bot test this please |
|
Hm, still failing. I was running with a RyuJIT that I built myself locally so maybe we need to also update RyuJIT. #6667 |
|
@dotnet-bot test this please |
This PR contains mirrored changes from dotnet/coreclr
Please REBASE this PR when merging
cc @tannergooding