Repository navigation
ARM64: Optimize pair of "str wzr, [reg]" to "str xzr" #35136
Copy link
Copy link
Closed
Labels
arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Milestone
Description
Activity
Dotnet-GitSync-Bot commented
on Apr 17, 2020 CollaboratorMore actionsI couldn't figure out the best area label to add to this issue. Please help me learn by adding exactly one area label.
- addeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Apr 17, 2020 - addedarea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
on Apr 17, 2020 In addition, a sequence of 4
str wzrcould be collapsed down to a singlestp xzr, xzrby further optimizing using #35134.In the attached file, there are some interesting example that are more complicated than simple adjacency peephole optimization. E.g.,
; Assembly listing for method System.Data.ExpressionParser:StartScan():this [0024] B9003C1F str wzr, [x0,#60] [0025] B900301F str wzr, [x0,#48] [0026] B900341F str wzr, [x0,#52] [0027] B900401F str wzr, [x0,#64]Could be:
str xzr, [x0,#48] str xzr, [x0,#60]but it require recognizing that the non-contiguous offsets 60 and 64 can be combined.
- removeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Apr 20, 2020 - addedJitUntriagedCLR JIT issues needing additional triageCLR JIT issues needing additional triage
on Oct 28, 2020 - removedJitUntriagedCLR JIT issues needing additional triageCLR JIT issues needing additional triage
on Nov 9, 2020 - ghost addedin-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged
on Apr 5, 2023 - ghost removedin-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged
on Apr 6, 2023 - ghost locked as resolved and limited conversation to collaborators
on May 6, 2023
Metadata
Metadata
Assignees
Labels
arch-arm64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
Type
Projects
- StatusShow more project fieldsDone
can be combined into
str xzrif the stores are happening in subsequent memory.I collected no. of such
strpairs in framework libraries and found approx. 450 pairs in 353 methods.Details:
str_str_wzr_to_str_xzr.txt
category:cq
theme:optimization
skill-level:intermediate
cost:small
impact:medium