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

New aarch64 insn support #335

Merged
merged 20 commits into from
Oct 13, 2023
Merged

New aarch64 insn support #335

merged 20 commits into from
Oct 13, 2023

Conversation

jj16791
Copy link
Contributor

@jj16791 jj16791 commented Aug 14, 2023

Various new aarch64 instruction support from recent ModSim work.

@jj16791 jj16791 added the enhancement New feature or request label Aug 14, 2023
@jj16791 jj16791 self-assigned this Aug 14, 2023
Copy link
Contributor

@FinnWilkinson FinnWilkinson left a comment

Choose a reason for hiding this comment

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

Generally all looks good. Just a few minor nit-picks

src/include/simeng/arch/aarch64/helpers/neon.hh Outdated Show resolved Hide resolved
src/include/simeng/arch/aarch64/helpers/neon.hh Outdated Show resolved Hide resolved
rahahahat
rahahahat previously approved these changes Aug 16, 2023
FinnWilkinson
FinnWilkinson previously approved these changes Oct 10, 2023
src/include/simeng/Instruction.hh Show resolved Hide resolved
src/lib/arch/aarch64/InstructionMetadata.cc Show resolved Hide resolved
src/lib/arch/aarch64/Instruction_execute.cc Outdated Show resolved Hide resolved
src/include/simeng/Instruction.hh Show resolved Hide resolved
Copy link
Contributor

@dANW34V3R dANW34V3R left a comment

Choose a reason for hiding this comment

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

Looks good

Copy link
Contributor

@ABenC377 ABenC377 left a comment

Choose a reason for hiding this comment

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

Looks good

@rahahahat
Copy link
Contributor

Looks good to me

@jj16791 jj16791 merged commit d731513 into dev Oct 13, 2023
1 check passed
@jj16791 jj16791 deleted the new-aarch64-insn-support branch October 13, 2023 08:16
@FinnWilkinson FinnWilkinson mentioned this pull request Oct 30, 2023
FinnWilkinson added a commit that referenced this pull request Nov 2, 2023
This PR for the most part addresses issue #329 - correcting the SVCR and Streaming Mode logic introduced with SME. This is summaried as:

 - If a program is in Streaming Mode and calls SMSTART again, ZA and Vector registers are not zeroed out.
 - SVE Vector registers (and their aliases such as NEON and Scalar registers) are only zeroed out when SVCR.SM bit changes
 - SME's ZA register is only zeroed out when SVCR.ZA bit changes
 - SVCR can now be correctly updated using a regulat msr svcr, xt instruction in addition to smstart/smstop/msr svcr, #imm
 - More tests surrounding the SVCR logic have been added

Additional to this, logic for the NEON muti-struct store with post index instructions introduced in PR #335 has been corrected via a small change to the metadata to correctly identify if a #imm or xt is used as said post index.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants