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: SVE Cleanup - In the importer, always ConvertToMask on SVE APIs that require a mask. #104836

Closed
TIHan opened this issue Jul 12, 2024 · 2 comments · Fixed by #106690
Closed
Assignees
Labels
arch-arm64 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 in-pr There is an active PR which will close this issue when it is merged Priority:3 Work that is nice to have
Milestone

Comments

@TIHan
Copy link
Contributor

TIHan commented Jul 12, 2024

Discussion: #104704 (comment)

Code:

        if (!varTypeIsMask(op))
        {
            op = gtNewSimdCvtVectorToMaskNode(TYP_MASK, op, simdBaseJitType, simdSize);
        }

The idea is that we shouldn't have to check for varTypeIsMask(op); meaning at this point, op should be returning TYP_SIMD. Therefore, we should always add a ConvertToMask node:

        assert(varTypeIsSIMD(op));
        op = gtNewSimdCvtVectorToMaskNode(TYP_MASK, op, simdBaseJitType, simdSize);
@TIHan TIHan added arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Jul 12, 2024
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Jul 12, 2024
Copy link
Contributor

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

@TIHan TIHan changed the title JIT: Sve Cleanup - Always ConvertToMask on SVE APIs that require a mask. JIT: SVE Cleanup - Always ConvertToMask on SVE APIs that require a mask. Jul 12, 2024
@TIHan TIHan added this to the 9.0.0 milestone Jul 12, 2024
@dotnet-policy-service dotnet-policy-service bot removed the untriaged New issue has not been triaged by the area owner label Jul 12, 2024
@TIHan TIHan changed the title JIT: SVE Cleanup - Always ConvertToMask on SVE APIs that require a mask. JIT: SVE Cleanup - In the importer, always ConvertToMask on SVE APIs that require a mask. Jul 12, 2024
@JulieLeeMSFT JulieLeeMSFT added arm-sve Work related to arm64 SVE/SVE2 support Priority:2 Work that is important, but not critical for the release labels Jul 24, 2024
@a74nh
Copy link
Contributor

a74nh commented Jul 30, 2024

priority:3 for RC1 snap : Code is correct but not optimal.

@a74nh a74nh added Priority:3 Work that is nice to have and removed Priority:2 Work that is important, but not critical for the release labels Jul 30, 2024
@a74nh a74nh modified the milestones: 9.0.0, 10.0.0 Aug 12, 2024
@a74nh a74nh self-assigned this Aug 20, 2024
@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Aug 20, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Sep 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 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 in-pr There is an active PR which will close this issue when it is merged Priority:3 Work that is nice to have
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants