前段时间在 QEMU 上游做了一个 RISC-V 跨步访存向量指令性能优化补丁的 bugfix (见论坛帖: 优化 QEMU RISC-V Vector stride LD/ST 指令,让相关指令的仿真性能提升 25 倍~ - General - RISC-V 开发者社区),昨天我收到了一个邮件回复,似乎是来自硅仙人”Jim Keller 公司 Tenstorrent 的修复补丁,解决了这笔性能优化补丁里面的另一个 bug:没有正确处理 vstart 不为 0 的情况。
于是我在 b 站直播了如何 merge 这笔补丁,并推送到上游邮件列表,直播回放如下:
补丁邮件:
[v6,1/2] target/riscv: Generate strided vector loads/stores with tcg nodes. - Patchwork
[v6,2/2] tests/tcg/riscv64: Add test for vlsseg8e32 instruction - Patchwork
Nicks 其他几笔 bugfix 补丁:
[1/3] target/riscv: Fix IALIGN check in misa write - Patchwork
[2/3] target/risvc: Fix vector whole ldst vstart check - Patchwork
[3/3] tests/tcg: Add riscv test for interrupted vector ops - Patchwork