Skip to content

Conversation

@mikabl-arm
Copy link
Contributor

Enables support for TYP_MASK constants introduced in #99743 for ARM64 targets.

Fixes assertion failures we sometimes see now during value numbering when stress testing SVE intrinsics:

   Assert failure(PID 945425 [0x000e6d11], Thread: 945425 [0xe6d11]): Assertion failed 'unreached' in 'JIT.HardwareIntrinsics.Arm._Sve.Program:Sve_ConditionalExtractLastActiveElement_ulong()' during 'Do value numbering' (IL size 121; hash 0xec0c311a; FullOpts)

    File: dotnet/runtime/src/coreclr/jit/valuenum.cpp:2119
    Image: dotnet/runtime/artifacts/tests/coreclr/linux.arm64.Debug/Tests/Core_Root/corerun

@a74nh @kunalspathak @BruceForstall

@ghost ghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 21, 2024
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Jun 21, 2024
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

@teo-tsirpanis teo-tsirpanis added the arm-sve Work related to arm64 SVE/SVE2 support label Jun 21, 2024
}
#endif // TARGET_XARCH

#if defined(TARGET_XARCH) || defined(TARGET_ARM64)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should use #if defined(FEATURE_MASKED_HW_INTRINSICS) instead instead of defined(TARGET_XARCH) || defined(TARGET_ARM64)

Copy link
Contributor

@kunalspathak kunalspathak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@TIHan TIHan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. This does fix the assertion and it doesn't hard crash.

@kunalspathak
Copy link
Contributor

/ba-g timeout issues

@kunalspathak kunalspathak merged commit f21612a into dotnet:main Jun 22, 2024
rzikm pushed a commit to rzikm/dotnet-runtime that referenced this pull request Jun 24, 2024
* Enbale TYP_MASK support for ARM64

* cleanup: check for a FEATURE macro instead of TARGET

* jit format

---------

Co-authored-by: Kunal Pathak <[email protected]>
@github-actions github-actions bot locked and limited conversation to collaborators Jul 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI arm-sve Work related to arm64 SVE/SVE2 support community-contribution Indicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants