-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIavx512Related to the AVX-512 architectureRelated to the AVX-512 architecturebug
Milestone
Description
Description
AND between a mask and a constant zero is incorrectly folded to the mask value in net10.0.
Reproduction Steps
using System.Runtime.CompilerServices;
using System.Runtime.Intrinsics;
Console.WriteLine(AndMaskZero(Vector512<int>.One));
[MethodImpl(MethodImplOptions.NoInlining)]
static Vector512<int> AndMaskZero(Vector512<int> v) =>
Vector512.Equals(v, v) & Vector512.LessThan(v.AsUInt32(), Vector512<uint>.Zero).AsInt32();Expected behavior
> dotnet run -c release -f net9.0<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>
Actual behavior
> dotnet run -c release -f net10.0<-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1>
Regression?
Yes, worked in 9.0
Configuration
Requires AVX-512
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIavx512Related to the AVX-512 architectureRelated to the AVX-512 architecturebug