Skip to content

New aarch64 insn support#335

Merged
jj16791 merged 20 commits intodevfrom
new-aarch64-insn-support
Oct 13, 2023
Merged

New aarch64 insn support#335
jj16791 merged 20 commits intodevfrom
new-aarch64-insn-support

Conversation

@jj16791
Copy link
Copy Markdown
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
Copy Markdown
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

Comment thread src/include/simeng/arch/aarch64/helpers/neon.hh Outdated
Comment thread src/include/simeng/arch/aarch64/helpers/neon.hh Outdated
rahahahat
rahahahat previously approved these changes Aug 16, 2023
FinnWilkinson
FinnWilkinson previously approved these changes Oct 10, 2023
Comment thread src/include/simeng/Instruction.hh
Comment thread src/include/simeng/arch/aarch64/Instruction.hh
Comment thread src/lib/arch/aarch64/InstructionMetadata.cc
Comment thread src/lib/arch/aarch64/Instruction_execute.cc Outdated
Comment thread src/include/simeng/Instruction.hh
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor

Looks good to me

@jj16791 jj16791 merged commit d731513 into dev Oct 13, 2023
@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