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

Add 64-bit version to all instructions #450

Merged
merged 4 commits into from
Sep 10, 2024

Conversation

quangvdao
Copy link
Contributor

This PR makes all current Jolt instructions have a 32-bit and a 64-bit version.

Importantly, it does not change the behavior of 32-bit instructions, nor change the list of subtables.

List of changes:

  • Parametrize all instructions by word size
    • This is necessary so that the random() function correctly returns random u64s for 64-bit word sizes
  • Add instruction behavior for 64-bit word size (or document that the behavior does not change for 64-bit word size)
  • Add test cases for 64-bit word sizes (all tests passed)
  • Add more detailed documentation to all instruction_utils functions

Copy link
Collaborator

@moodlezoup moodlezoup left a comment

Choose a reason for hiding this comment

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

beautiful, just a couple of questions

jolt-core/src/jolt/instruction/sw.rs Outdated Show resolved Hide resolved
jolt-core/src/jolt/instruction/sw.rs Outdated Show resolved Hide resolved
@moodlezoup moodlezoup merged commit 40b8b4c into a16z:main Sep 10, 2024
4 checks passed
@quangvdao
Copy link
Contributor Author

One final note for this PR: currently, I don't know how the rest of Jolt uses the range-checking part of the store operations. I'll keep this in mind as I work to integrate 64-bit instructions for the rest of Jolt, just to make sure there's no under-constrained part (esp. with regards to range-checking store values). The 32-bit version is fine since it's still identical to before.

@quangvdao quangvdao deleted the quang/add-64-bits-instructions branch September 10, 2024 17:56
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.

2 participants