Conversation
86a7636 to
46a7652
Compare
a3bd434 to
0465811
Compare
| target | ||
| build | ||
| tests | ||
| .gitignore |
There was a problem hiding this comment.
why does gitignore , ignore git ignore lol
There was a problem hiding this comment.
I made the mistake of adding it early on. Lazy to remove it now
|
Could we add benchmark numbers/results to readme (if available)? |
| @@ -0,0 +1,6 @@ | |||
| //go:build riscv64 | |||
There was a problem hiding this comment.
Should the tags be same in both wrapper and binding files? As one mentions linux and other doesn't
Added the only ones I have on 6ff8671, don't have a board anymore and I never had one with crypto extensions to bench |
- Base RV64I arithmetic assembly - No Zb nor Vector extensions - Naive implementation 1 block at a time and no pipelining for scheduling
- Add RISC-V 64 target to CI workflow with QEMU emulation - Add riscv_hwprobe syscall for runtime CPU feature detection - Detect Zknh+Zbkb for crypto, Zbb for bit manipulation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add bindings_riscv64.go with supportedCPU=false (falls back to generic Go implementation until .syso file is added) - Add RISC-V to go-bindings CI matrix with QEMU testing - Cross-compile and test Go bindings on RISC-V using qemu-riscv64 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add build-syso.yml workflow that builds syso files for all platforms: - Linux x86 (hashtree_amd64.syso) - macOS arm64 (hashtree_darwin_arm64.syso) - Linux arm64 (hashtree_linux_arm64.syso) - Windows x86 (hashtree_windows_amd64.syso) - Linux RISC-V 64 (hashtree_linux_riscv64.syso) - Workflow commits syso files back to the repo - Triggers on any branch when src/ changes, or manual dispatch - Enable native RISC-V support in bindings_riscv64.go 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Use CGO_ENABLED=1 with the cross-compiler to properly link the RISC-V syso file when building the test binary. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Bridges Go's HashtreeHash function to the C library's hashtree_hash, which handles runtime CPU feature detection internally. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
james-prysm
left a comment
There was a problem hiding this comment.
I tried to review the best I can without much knowledge in assembly, with ai assistance it seems things are isolated and I trust that potuz has made the right implementation. Nothing was ran manually in this review. symbolically approving allowing potuz to make best judgement on this repo
fixes #41
h/t to @washosk for lending me a metal board access.