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: Optimize *x = dblCns to *x = intCns for arm64 #61620

Closed
EgorBo opened this issue Nov 15, 2021 · 4 comments
Closed

JIT: Optimize *x = dblCns to *x = intCns for arm64 #61620

EgorBo opened this issue Nov 15, 2021 · 4 comments
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI good first issue Issue should be easy to implement, good for first-time contributors help wanted [up-for-grabs] Good issue for external contributors tenet-performance Performance related issue
Milestone

Comments

@EgorBo
Copy link
Member

EgorBo commented Nov 15, 2021

Yet another up-for-grabs:

void foo(float* x) => *x = 0;

emits:

            movi    v16.16b, #0x00
            str     s16, [x1]

while could be just:

            str     wzr, [x1]

The issue is basically to port these changes #52298 to ARM64 or better - move them to lower.cpp and share between both x86 and arm.

@EgorBo EgorBo added the tenet-performance Performance related issue label Nov 15, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI untriaged New issue has not been triaged by the area owner labels Nov 15, 2021
@ghost
Copy link

ghost commented Nov 15, 2021

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

Issue Details

Yet another up-for-grabs:

void foo(float* x) => *x = 0;

emits:

            movi    v16.16b, #0x00
            str     s16, [x1]

while could be just:

            str     wzr, [x1]

The issue is basically to port these changes #52298 to ARM64 or better - move them to lower.cpp and share between both x86 and arm.

Author: EgorBo
Assignees: -
Labels:

tenet-performance, area-CodeGen-coreclr, untriaged

Milestone: -

@EgorBo EgorBo added help wanted [up-for-grabs] Good issue for external contributors good first issue Issue should be easy to implement, good for first-time contributors and removed area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI untriaged New issue has not been triaged by the area owner labels Nov 15, 2021
@EgorBo EgorBo added this to the Future milestone Nov 15, 2021
@SingleAccretion SingleAccretion added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Nov 15, 2021
@ghost
Copy link

ghost commented Nov 15, 2021

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

Issue Details

Yet another up-for-grabs:

void foo(float* x) => *x = 0;

emits:

            movi    v16.16b, #0x00
            str     s16, [x1]

while could be just:

            str     wzr, [x1]

The issue is basically to port these changes #52298 to ARM64 or better - move them to lower.cpp and share between both x86 and arm.

Author: EgorBo
Assignees: -
Labels:

easy, tenet-performance, up-for-grabs, area-CodeGen-coreclr

Milestone: Future

@SeanWoo
Copy link
Contributor

SeanWoo commented Nov 19, 2021

A good task to start with. I did this and posted a PR. #61847

@EgorBo
Copy link
Member Author

EgorBo commented Dec 1, 2021

Closed by #61847 👍

@EgorBo EgorBo closed this as completed Dec 1, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Dec 31, 2021
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 good first issue Issue should be easy to implement, good for first-time contributors help wanted [up-for-grabs] Good issue for external contributors tenet-performance Performance related issue
Projects
None yet
Development

No branches or pull requests

3 participants