Skip to content

RISC-V Compressed Instructions#368

Merged
dANW34V3R merged 132 commits intodevfrom
RISCV_C
Feb 20, 2024
Merged

RISC-V Compressed Instructions#368
dANW34V3R merged 132 commits intodevfrom
RISCV_C

Conversation

@dANW34V3R
Copy link
Copy Markdown
Contributor

@dANW34V3R dANW34V3R commented Jan 10, 2024

This PR implements the RISC-V compressed instructions and tests. Each instruction is treated like a pseudoinstruction which is expanded during metadata instantiation into a typical rv64g instruction. This means there are no changes to instruction execute.

Immediate values are now extracted during decode and stored in the imm field.

…dresses correctly so all implementations are left blank
ABenC377
ABenC377 previously approved these changes Feb 20, 2024
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc Outdated
jj16791
jj16791 previously approved these changes Feb 20, 2024
@jj16791
Copy link
Copy Markdown
Contributor

jj16791 commented Feb 20, 2024

Needs rebasing onto updated dev

jj16791
jj16791 previously approved these changes Feb 20, 2024
@jj16791 jj16791 self-requested a review February 20, 2024 18:21
JosephMoore25
JosephMoore25 previously approved these changes Feb 20, 2024
Copy link
Copy Markdown
Contributor

@JosephMoore25 JosephMoore25 left a comment

Choose a reason for hiding this comment

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

Looks all good, nice work

Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc Outdated
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
Comment thread test/unit/pipeline/FetchUnitTest.cc
FinnWilkinson
FinnWilkinson previously approved these changes Feb 20, 2024
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.

Approving on the condition that an issue is created which outlines that the following in FetchUnitTest.cc need attending to

  • Ensure all tests are parameterised (some for the loop buffer currently are not)
  • Check output buffer contains expected macro-op in all tests where relevant
  • Rather than hard code the expected next PC value (currently 16 throughout) or value of predecode return (4 often used) use the block size / maxBlockSize respectively in calculations
  • Parameterise the block size

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

@dANW34V3R dANW34V3R merged commit e42ed6a into dev Feb 20, 2024
@dANW34V3R dANW34V3R deleted the RISCV_C branch February 26, 2024 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

0.9.7 Part of SimEng Release 0.9.7 enhancement New feature or request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Add RISC-V compressed instruction support

5 participants