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

Feat: zkvm target for the ruint library #7

Merged
merged 4 commits into from
Dec 11, 2024
Merged

Conversation

arayikhalatyan
Copy link
Contributor

Resolves INT-2605

Note their shift operations are a bit different from the RiscV ones so we had to have a special case handling

Probably can do some more optimizations with additional native extern functions. Like for div/rem - can probably do using a phantom instruction with similar logic to HintDecompress

@yi-sun
Copy link
Collaborator

yi-sun commented Dec 10, 2024

@arayikhalatyan -- can you make an axiom branch forked off main and PR into that? That will help clarify what diffs we added if there are multiple PRs.

@arayikhalatyan arayikhalatyan changed the base branch from main to axiom December 10, 2024 18:37
src/bits.rs Outdated Show resolved Hide resolved
src/support/zkvm.rs Outdated Show resolved Hide resolved
Copy link
Contributor

@jonathanpwang jonathanpwang left a comment

Choose a reason for hiding this comment

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

Some minor requested changes

#[must_use]
pub fn arithmetic_shr(mut self, rhs: usize) -> Self {
if BITS == 256 {
let rhs = if rhs >= 256 { 255 } else { rhs };
Copy link
Contributor

Choose a reason for hiding this comment

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

I had to review arithmetic shifts for this. It is correct.

Copy link
Contributor

@jonathanpwang jonathanpwang left a comment

Choose a reason for hiding this comment

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

LGTM!

@jonathanpwang jonathanpwang merged commit c9400f6 into axiom Dec 11, 2024
17 checks passed
@jonathanpwang jonathanpwang deleted the feat/native branch December 11, 2024 04:20
@arayikhalatyan arayikhalatyan restored the feat/native branch December 11, 2024 16:33
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