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: ARM64 SVE format encodings, SVE_JD_4A to SVE_JN_3B #97129

Merged
merged 18 commits into from
Jan 23, 2024

Conversation

TIHan
Copy link
Contributor

@TIHan TIHan commented Jan 18, 2024

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

@ghost ghost assigned TIHan Jan 18, 2024
@dotnet-issue-labeler dotnet-issue-labeler bot 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

ghost commented Jan 18, 2024

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: -

src/coreclr/jit/emitarm64.h Outdated Show resolved Hide resolved
@TIHan TIHan marked this pull request as ready for review January 19, 2024 00:30
@TIHan
Copy link
Contributor Author

TIHan commented Jan 19, 2024

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

Copy link
Contributor

@a74nh a74nh left a comment

Choose a reason for hiding this comment

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

A few review comments...

src/coreclr/jit/emitarm64.cpp Outdated Show resolved Hide resolved
src/coreclr/jit/instr.h Show resolved Hide resolved
src/coreclr/jit/emitarm64.cpp Outdated Show resolved Hide resolved
src/coreclr/jit/emitarm64.cpp Outdated Show resolved Hide resolved
@kunalspathak kunalspathak added the arm-sve Work related to arm64 SVE/SVE2 support label Jan 19, 2024
src/coreclr/jit/emitarm64.cpp Outdated Show resolved Hide resolved
src/coreclr/jit/emitarm64.cpp Show resolved Hide resolved
src/coreclr/jit/emitarm64.cpp Outdated Show resolved Hide resolved
@ghost ghost 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
Contributor Author

TIHan commented Jan 22, 2024

@kunalspathak this is ready again

@kunalspathak
Copy link
Member

seems there are build errors that need to be fixed.

@TIHan
Copy link
Contributor Author

TIHan commented Jan 22, 2024

@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.

Copy link
Member

@kunalspathak kunalspathak left a comment

Choose a reason for hiding this comment

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

LGTM

@kunalspathak
Copy link
Member

Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
Collection PDIFF
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
Member

Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
Collection PDIFF
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:main Jan 23, 2024
125 of 129 checks passed
@ryujit-bot
Copy link

Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
Collection PDIFF
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

Diff results for #97129

Throughput diffs

Throughput diffs for linux/arm64 ran on linux/x64

MinOpts (+0.00% to +0.01%)
Collection PDIFF
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-actions github-actions bot locked and limited conversation to collaborators Feb 22, 2024
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 arm-sve Work related to arm64 SVE/SVE2 support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants