Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JIT ARM64-SVE: Assertion failed '(varDsc->lvIsParam && !varDsc->lvIsRegArg) || isPrespilledArg' when running SVE unit tests #100101

Closed
amanasifkhalid opened this issue Mar 21, 2024 · 8 comments
Assignees
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
Milestone

Comments

@amanasifkhalid
Copy link
Member

When running SVE unit tests, theEmitter->emitIns_R_S(INS_sve_ldr_mask, EA_8BYTE, REG_P0, 1, 0); fails with the above assert. This seems to have been introduced by #99608.

cc @dotnet/arm64-contrib @a74nh @kunalspathak.

@amanasifkhalid amanasifkhalid added 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 labels Mar 21, 2024
Copy link
Contributor

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

@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Mar 21, 2024
@JulieLeeMSFT
Copy link
Member

@a74nh PTAL.

@JulieLeeMSFT JulieLeeMSFT added this to the 9.0.0 milestone Mar 21, 2024
a74nh added a commit to a74nh/runtime that referenced this issue Mar 22, 2024
TEST_IMG: ubuntu/dotnet-build
TEST_CMD: safe ./projects/dotnet/build-runtime.sh

Jira: ENTLLT-7254
Change-Id: I1b71cfec93583213ca0b3db9d0a98502e0338169
a74nh added a commit to a74nh/runtime that referenced this issue Mar 22, 2024
@a74nh
Copy link
Contributor

a74nh commented Mar 22, 2024

This assert doesn't fire for me. But it's clearly due to there being no stack variables in the current method. @amanasifkhalid and myself are testing by attaching to different C# methods, so that explains the differences.

#100132 removes the tests. We might want to think about properly testing emitIns_R_S/emitIns_S_R in a new PR, including general purpose load/stores. But that's a task for a later date.

kunalspathak pushed a commit that referenced this issue Mar 22, 2024
* JIT ARM64-SVE: Remove ldr_mask/str_mask tests (#100101)

* nop
@kunalspathak
Copy link
Member

Fixed by #100132

@dotnet-policy-service dotnet-policy-service bot removed the untriaged New issue has not been triaged by the area owner label Mar 22, 2024
@amanasifkhalid
Copy link
Member Author

I'm still seeing this assert hit for the SVE unit tests that call emitIns_R_S/S_R. Here's how I'm using SPMI to repro this:

C:\runtime\artifacts\bin\coreclr\windows.x64.Checked\superpmi.exe C:\runtime\artifacts\bin\coreclr\windows.x64.Checked\clrjit_universal_arm64_x64.dll C:\runtime\artifacts\spmi\mch\3c216494-65f8-49e2-b69a-7f272193bcc6.windows.arm64\benchmarks.run.windows.arm64.checked.mch -c 1 -jitoption JitEmitUnitTests="*" -jitoption JitEmitUnitTestsSections="sve"

@kunalspathak kunalspathak reopened this Mar 22, 2024
@kunalspathak
Copy link
Member

@a74nh - can you take a look?

@a74nh
Copy link
Contributor

a74nh commented Mar 22, 2024

I'm still seeing this assert hit for the SVE unit tests that call emitIns_R_S/S_R. Here's how I'm using SPMI to repro this:

That's because I missed some. I'll remove all of them....

@kunalspathak
Copy link
Member

This is fixed in #100153

@github-actions github-actions bot locked and limited conversation to collaborators May 5, 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
Projects
None yet
Development

No branches or pull requests

4 participants