Track RISC-V64 migration - #1
Conversation
|
Follow-up benchmark after ARM64 fiber routing plus core integer lowering (
|
|
Follow-up benchmark after
|
|
Follow-up benchmark after
|
|
Follow-up benchmark after
This checkpoint keeps fast stores enabled. Fast load gadgets are selected in the later load checkpoint. |
|
Follow-up benchmark after
Compared with the store checkpoint, |
|
Full benchmark set after
|
|
Full benchmark set after
The load slow-path bug was |
|
Full benchmark set after
|
|
Full benchmark set after
Validation at this head: |
|
Follow-up benchmark after
Validation: |
|
Follow-up benchmark after
This is expected to be mostly neutral on the current suite; it removes |
|
Follow-up benchmark after
Validation: |
|
Follow-up benchmark after
Validation: |
|
Follow-up benchmark after
Validation: |
|
Broad benchmark after RV64 rootfs note:
Coverage status: every decoded RV64 op class now has a lowered path: base integer, branches/jumps, loads/stores, FP memory, M-extension including high multiply, fences, traps/CSR, atomics, OP-FP, and FP fused multiply-add/subtract. Generic |
|
Follow-up RV64 lowering/optimization pass using QEMU's RISC-V translator behavior as a reference for direct branch TB chaining and Commit pushed: Changes:
Validation:
Full benchmark result, best of 3:
RV64 still skips Python and bash benchmarks because the current RV64 rootfs does not include |
|
Follow-up fix for the simulator Commit pushed: What changed:
Validation:
Full benchmark result, best of 3 with Python/bash enabled in the RV64 throwaway rootfs:
|
Summary
rvdecode,rvrun,rvdecode-selftest,rvinterp-selftest).roots/tree. The local.rv64-rootfs-cache/androots/directories are ignored.Benchmark Figures
Filtered local run:
RUNS=3 WARMUPS=1 \ I386_BUILD=/Users/siraben/Git/ish/build \ RV64_BUILD=/Users/siraben/Git/ish-riscv/build-bench-rv64 \ RV64_FS=/tmp/ish-rv64-testfs \ OUT=/Users/siraben/Git/ish-riscv/e2e_out/bench-compare \ BENCH_FILTER='^(prime_sieve|mandelbrot|file_io|pipe_throughput|gzip_payload)$' \ ./benchmarks/hot_paths/compare.shNote: this is a smoke run. The i386 C benchmarks are short enough that timer resolution dominates several rows, so these figures are useful for tracking large deltas but not publication-grade performance claims.
Validation
meson setup build-bench-rv64 . --reconfigureninja -C build-bench-rv64 ish rvdecode rvdecode-selftest rvinterp-selftestmeson test -C build-bench-rv64 --print-errorlogsTracking Notes
This is a tracking PR against
siraben/ish:masterfor the RISC-V64 migration branch. Follow-up benchmark runs are posted as PR comments so the body stays stable.