Skip to content

Enable AVX2, SSE42 HW intrinsics: remove unimplemented API surface and mark ISAs as fully implemented #25581

@4creators

Description

@4creators

Decision to disable not fully implemented Intel HW intrinsics was made due to the fact that corefx already exposed full ISA API while RyuJIT only partially supported them what would interfere with proper use of ISA.IsSupported check see issue: https://github.com/dotnet/coreclr/issues/14930 and PR resolving it dotnet/coreclr#15514.

AVX2 and SSE42 intrinsics are partially implemented with many useful instructions already exposed. IMO it would be very helpful if we would expose in System.Runtime.Intrinsics.Experimental assembly all already supported intrinsics including partially implemented ISAs. To avoid false negative reporting by ISA.IsSupported check we should remove all unimplemented APIs and mark AVX2 and SSE42 ISAs as fully implemented.

In future APIs could be expanded as new functionality is added to RyuJIT.

@CarolEidt @eerhardt @fiigii @jkotas @tannergooding

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions