Skip to content

RVY encodings matching latest 0.9.9 draft - #420

Open
Alexander Richardson (arichardson) wants to merge 1 commit into
riscv:masterfrom
arichardson:cheri_098
Open

RVY encodings matching latest 0.9.9 draft#420
Alexander Richardson (arichardson) wants to merge 1 commit into
riscv:masterfrom
arichardson:cheri_098

Conversation

@arichardson

@arichardson Alexander Richardson (arichardson) commented May 28, 2026

Copy link
Copy Markdown
Contributor

Matching the latest version of https://riscv.github.io/riscv-cheri/

@codecov

codecov Bot commented May 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.78%. Comparing base (4644ba3) to head (ab32717).
⚠️ Report is 17 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #420      +/-   ##
==========================================
- Coverage   97.08%   96.78%   -0.30%     
==========================================
  Files          14       14              
  Lines         926      933       +7     
==========================================
+ Hits          899      903       +4     
- Misses         27       30       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@arichardson

Copy link
Copy Markdown
Contributor Author

This supersedes #396 since I was not able to update that one.

Comment thread extensions/unratified/rv_y
Comment thread extensions/unratified/rv_zysentry Outdated
@arichardson Alexander Richardson (arichardson) changed the title RVY encodings matching latest 0.9.8.2 draft RVY encodings matching latest 0.9.8.3 draft Jul 2, 2026
@arichardson Alexander Richardson (arichardson) changed the title RVY encodings matching latest 0.9.8.3 draft RVY encodings matching latest 0.9.9 draft Jul 7, 2026
Comment thread extensions/unratified/rv_y Outdated
@tariqkurd-repo

Copy link
Copy Markdown

This PR is missing rv_y_h for HLV.Y, HSV.Y
Also the naming is inconsistent - rv_a_y should be named ry_y_a

Matching the latest version of https://riscv.github.io/riscv-cheri/

Co-authored-by: Tariq Kurd <tariq.kurd@codasip.com>
@arichardson

Copy link
Copy Markdown
Contributor Author

This PR is missing rv_y_h for HLV.Y, HSV.Y Also the naming is inconsistent - rv_a_y should be named ry_y_a

I did not include HLV and HSV since those are not part of 1.0

@robinali-codasip

Copy link
Copy Markdown
Contributor

Alexander Richardson (@arichardson) Tariq Kurd (@tariqkurd-repo) Should the CHERI memory instructions all have type rs1_n0 as it's listed as RESERVED

@tariqkurd-repo

Tariq Kurd (tariqkurd-repo) commented Jul 16, 2026

Copy link
Copy Markdown

Alexander Richardson (Alexander Richardson (@arichardson)) Tariq Kurd (Tariq Kurd (@tariqkurd-repo)) Should the CHERI memory instructions all have type rs1_n0 as it's listed as RESERVED

that is a very good queston and a problematic one - CHERI states that all load/stores are reserved if rs1=x0 as there's always a fault so we should really replace all load/stores with rs1_n0 which we can't easily do so we need a strategy.

@robinali-codasip

Copy link
Copy Markdown
Contributor

Alexander Richardson (Alexander Richardson (Alexander Richardson (@arichardson))) Tariq Kurd (Tariq Kurd (Tariq Kurd (@tariqkurd-repo))) Should the CHERI memory instructions all have type rs1_n0 as it's listed as RESERVED

that is a very good queston and a problematic one - CHERI states that all load/stores are reserved if rs1=x0 as there's always a fault so we should really replace all load/stores with rs1_n0 which we can't easily do so we need a strategy.

Its interesting because presumably for other load/stores, the behaviour reverts in integral pointer mode but for ly and sy it remains reserved.

@tariqkurd-repo

Copy link
Copy Markdown

Alexander Richardson (Alexander Richardson (Alexander Richardson (Alexander Richardson (@arichardson)))) Tariq Kurd (Tariq Kurd (Tariq Kurd (Tariq Kurd (@tariqkurd-repo)))) Should the CHERI memory instructions all have type rs1_n0 as it's listed as RESERVED

that is a very good queston and a problematic one - CHERI states that all load/stores are reserved if rs1=x0 as there's always a fault so we should really replace all load/stores with rs1_n0 which we can't easily do so we need a strategy.

Its interesting because presumably for other load/stores, the behaviour reverts in integral pointer mode but for ly and sy it remains reserved.

that does sound inconsistent.....

@arichardson

Alexander Richardson (arichardson) commented Jul 16, 2026

Copy link
Copy Markdown
Contributor Author

Alexander Richardson (Alexander Richardson (Alexander Richardson (Alexander Richardson (Alexander Richardson (@arichardson))))) Tariq Kurd (Tariq Kurd (Tariq Kurd (Tariq Kurd (Tariq Kurd (@tariqkurd-repo))))) Should the CHERI memory instructions all have type rs1_n0 as it's listed as RESERVED

that is a very good queston and a problematic one - CHERI states that all load/stores are reserved if rs1=x0 as there's always a fault so we should really replace all load/stores with rs1_n0 which we can't easily do so we need a strategy.

Its interesting because presumably for other load/stores, the behaviour reverts in integral pointer mode but for ly and sy it remains reserved.

that does sound inconsistent.....

That was just unclear wording in the spec text, the behaviour has always applied to every load/store only in capability mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants