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

[Arm64] Unused HFA arguments still get written to stack #35631

Closed
BruceForstall opened this issue Apr 29, 2020 · 2 comments
Closed

[Arm64] Unused HFA arguments still get written to stack #35631

BruceForstall opened this issue Apr 29, 2020 · 2 comments
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI optimization
Milestone

Comments

@BruceForstall
Copy link
Member

BruceForstall commented Apr 29, 2020

For example, in System.Collections.Immutable.dll, Requires:NotNullAllowStructs(Vector1,String)`:

;* V00 arg0         [V00    ] (  0,  0   )  simd16  ->  zero-ref    HFA(simd16)  do-not-enreg[XS] addr-exposed
;* V01 arg1         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd
;
; Lcl frame size = 16

G_M20125_IG01:
        A9BE7BFD          stp     fp, lr, [sp,#-32]!
        910003FD          mov     fp, sp
        3D8007A0          str     q0, [fp,#16]                ; *** Unused

G_M20125_IG02:
        A8C27BFD          ldp     fp, lr, [sp],#32
        D65F03C0          ret     lr

Here, HFA argument in q0 is still written to the stack, despite being unused.

category:cq
theme:register-allocator
skill-level:intermediate
cost:medium

@BruceForstall BruceForstall added arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI optimization labels Apr 29, 2020
@BruceForstall BruceForstall added this to the Future milestone Apr 29, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Apr 29, 2020
@BruceForstall
Copy link
Member Author

cc @kunalspathak

@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label Apr 29, 2020
@BruceForstall BruceForstall added the JitUntriaged CLR JIT issues needing additional triage label Oct 28, 2020
@BruceForstall BruceForstall removed the JitUntriaged CLR JIT issues needing additional triage label Nov 18, 2020
@BruceForstall
Copy link
Member Author

Looks fixed

@ghost ghost locked as resolved and limited conversation to collaborators Dec 18, 2020
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 optimization
Projects
None yet
Development

No branches or pull requests

2 participants