Skip to content

JIT: Enable AddrMode for GC types on arm64 - #65622

Closed
EgorBo wants to merge 3 commits into
dotnet:mainfrom
EgorBo:enable-addrmode-for-gc-types
Closed

JIT: Enable AddrMode for GC types on arm64#65622
EgorBo wants to merge 3 commits into
dotnet:mainfrom
EgorBo:enable-addrmode-for-gc-types

Conversation

@EgorBo

@EgorBoEgorBo commented Feb 19, 2022

Copy link
Copy Markdown
Member

Follow up to #61293 (#65468 did it for floating points recently) to handle gc types too, e.g.:

objectTest(object[]array,inti)=>array[i];
; Method Tests4:Test(System.Object[],int):System.Object:this
G_M52569_IG01:
stp fp, lr, [sp,#-16]!
mov fp, sp
G_M52569_IG02:
ldr w0, [x1,#8]
cmp w2, w0
bhs G_M52569_IG04
- ubfiz x0, x2, #3, #32- add x0, x0, #16- ldr x0, [x1, x0]+ add x0, x1, #16+ ldr x0, [x0, w2, UXTW #3]
G_M52569_IG03:
ldp fp, lr, [sp],#16
ret lr
G_M52569_IG04:
bl CORINFO_HELP_RNGCHKFAIL
brk_windows #0
-; Total bytes of code: 48+; Total bytes of code: 44

Diffs:

benchmarks.run.windows.arm64.checked.mch:
Total bytes of delta: -6520 (-0.04 % of base)
coreclr_tests.pmi.windows.arm64.checked.mch:
Total bytes of delta: -2800 (-0.00 % of base)
libraries.pmi.windows.arm64.checked.mch:
Total bytes of delta: -35716 (-0.07 % of base)
libraries_tests.pmi.windows.arm64.checked.mch:
Total bytes of delta: -32000 (-0.02 % of base)

@ghostghost assigned EgorBoFeb 19, 2022
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Feb 19, 2022
@ghost

Copy link
Copy Markdown

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

Issue Details
objectTest(object[]array,inti)=>array[i];
; Method Tests4:Test(System.Object[],int):System.Object:this
G_M52569_IG01:
stp fp, lr, [sp,#-16]!
mov fp, sp
G_M52569_IG02:
ldr w0, [x1,#8]
cmp w2, w0
bhs G_M52569_IG04
- ubfiz x0, x2, #3, #32- add x0, x0, #16- ldr x0, [x1, x0]+ add x0, x1, #16+ ldr x0, [x0, w2, UXTW #3]
G_M52569_IG03:
ldp fp, lr, [sp],#16
ret lr
G_M52569_IG04:
bl CORINFO_HELP_RNGCHKFAIL
brk_windows #0
-; Total bytes of code: 48+; Total bytes of code: 44
Author:EgorBo
Assignees:EgorBo
Labels:

area-CodeGen-coreclr

Milestone:-

@EgorBo
EgorBo marked this pull request as draft February 19, 2022 19:50
@EgorBo

Copy link
Copy Markdown
MemberAuthor

/azp list

@azure-pipelines

This comment was marked as resolved.

@EgorBo

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr jitstressregs, runtime-coreclr gcstress0x3-gcstress0xc, runtime-coreclr outerloop

@EgorBo
EgorBo marked this pull request as ready for review February 19, 2022 23:07
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

@EgorBo

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@EgorBo

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr jitstressregs, runtime-coreclr gcstress0x3-gcstress0xc

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@EgorBoEgorBo closed this Feb 25, 2022
@ghostghost locked as resolved and limited conversation to collaborators Mar 27, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@EgorBo