Skip to content

JIT: ARM64 SVE format encodings, SVE_JD_4A to SVE_JN_3B - #97129

Merged
TIHan merged 18 commits into
dotnet:mainfrom
TIHan:arm64_sve_format_group2
Jan 23, 2024
Merged

JIT: ARM64 SVE format encodings, SVE_JD_4A to SVE_JN_3B#97129
TIHan merged 18 commits into
dotnet:mainfrom
TIHan:arm64_sve_format_group2

Conversation

@TIHan

@TIHanTIHan commented Jan 18, 2024

Copy link
Copy Markdown
Contributor

Contributes to #94549

Progress:

  • SVE_JD_4A
  • SVE_JD_4B
  • SVE_JJ_4A
  • SVE_JJ_4A_B
  • SVE_JJ_4A_C
  • SVE_JJ_4A_D
  • SVE_JK_4A
  • SVE_JK_4A_B
  • SVE_JN_3A
  • SVE_JN_3B

Left: Capstone
Right: Jit
image

@ghostghost assigned TIHanJan 18, 2024
@ghostghost added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jan 18, 2024
@ghost

Copy link
Copy Markdown

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

Issue Details

Contributes to #94549

Still work-in-progress.

Author:TIHan
Assignees:TIHan
Labels:

area-CodeGen-coreclr

Milestone:-

@TIHanTIHan mentioned this pull request Jan 18, 2024
Comment threadsrc/coreclr/jit/emitarm64.h Outdated
@TIHan
TIHan marked this pull request as ready for review January 19, 2024 00:30
@TIHan

Copy link
Copy Markdown
ContributorAuthor

@dotnet/jit-contrib @dotnet/arm64-contrib @a74nh@kunalspathak this is ready.

@a74nha74nh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few review comments...

Comment threadsrc/coreclr/jit/emitarm64.cpp Outdated
Comment threadsrc/coreclr/jit/instr.h
Comment threadsrc/coreclr/jit/emitarm64.cpp Outdated
Comment threadsrc/coreclr/jit/emitarm64.cpp Outdated
@kunalspathakkunalspathak added the arm-sve Work related to arm64 SVE/SVE2 support label Jan 19, 2024
Comment threadsrc/coreclr/jit/emitarm64.cpp Outdated
Comment threadsrc/coreclr/jit/emitarm64.cpp
Comment threadsrc/coreclr/jit/emitarm64.cpp Outdated
@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jan 22, 2024
@TIHan

Copy link
Copy Markdown
ContributorAuthor

@kunalspathak this is ready again

@kunalspathak

Copy link
Copy Markdown
Contributor

seems there are build errors that need to be fixed.

Comment threadsrc/coreclr/jit/emitarm64.cpp
@TIHan

Copy link
Copy Markdown
ContributorAuthor

@kunalspathak build error is fixed. Seems when I build from the command line, the errors do not show up at the bottom, I have to scroll up to see them - probably why I missed it.

@kunalspathakkunalspathak left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kunalspathak

Copy link
Copy Markdown
Contributor
Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
CollectionPDIFF
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch+0.01%
benchmarks.run_pgo.linux.arm64.checked.mch+0.01%
benchmarks.run.linux.arm64.checked.mch+0.01%
libraries_tests.run.linux.arm64.Release.mch+0.01%
libraries.pmi.linux.arm64.checked.mch+0.01%
benchmarks.run_tiered.linux.arm64.checked.mch+0.01%
libraries.crossgen2.linux.arm64.checked.mch+0.01%

Details here


@kunalspathak

Copy link
Copy Markdown
Contributor
Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
CollectionPDIFF
benchmarks.run_tiered.linux.arm64.checked.mch+0.01%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch+0.01%
libraries.crossgen2.linux.arm64.checked.mch+0.01%
libraries_tests.run.linux.arm64.Release.mch+0.01%
benchmarks.run.linux.arm64.checked.mch+0.01%
benchmarks.run_pgo.linux.arm64.checked.mch+0.01%
libraries.pmi.linux.arm64.checked.mch+0.01%

Details here


@TIHan
TIHan merged commit bb74bb7 into dotnet:mainJan 23, 2024
@ryujit-bot

Copy link
Copy Markdown
Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
CollectionPDIFF
benchmarks.run_tiered.linux.arm64.checked.mch+0.01%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch+0.01%
libraries.crossgen2.linux.arm64.checked.mch+0.01%
libraries_tests.run.linux.arm64.Release.mch+0.01%
benchmarks.run.linux.arm64.checked.mch+0.01%
benchmarks.run_pgo.linux.arm64.checked.mch+0.01%
libraries.pmi.linux.arm64.checked.mch+0.01%

Details here


@ryujit-bot

Copy link
Copy Markdown
Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
CollectionPDIFF
benchmarks.run_tiered.linux.arm64.checked.mch+0.01%
libraries_tests.run.linux.arm64.Release.mch+0.01%
benchmarks.run_pgo.linux.arm64.checked.mch+0.01%
libraries_tests_no_tiered_compilation.run.linux.arm64.Release.mch+0.01%
libraries.pmi.linux.arm64.checked.mch+0.01%
benchmarks.run.linux.arm64.checked.mch+0.01%
libraries.crossgen2.linux.arm64.checked.mch+0.01%

Details here


tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
…7129)
* Added SVE_JD_4A format
* Added SVE_JD_4B format
* Added SVE_JJ_4A format, added more formats but they are commented out for now
* Added SVE_JJ_4A_B format
* Revert minor change
* Minor cleanup
* Cleanup. Fixed a few formats. Introduced new INS_OPTS_SCALABLE options for UXTW and SXTW
* Added SVE_JJ_4A_C format
* Added SVE_JJ_4A_D format
* Added SVE_JK_4A and SVE_JK_4A_B formats
* Added SVE_JN_3A format
* Added SVE_JN_3B format
* Some comments
* Feedback
* Feedback
* fix build
* Formatting
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Feb 22, 2024
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 SuperPMIarm-sveWork related to arm64 SVE/SVE2 support

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@TIHan@kunalspathak@ryujit-bot@a74nh