Load/Store Pair for RV32 (Zilsd & Zclsd)
summary
Zilsd & Zclsd add RV32 load/store pair instructions by reusing RV64 doubleword encodings and compressed forms, allowing two-register aligned 64-bit accesses; implementations can be nonatomic on 32-bit buses or single-cycle on 64-bit data interfaces. Evaluation uses LLVM and Spike (GCC prototype exists) and shows up to 25% static code-size savings on double-heavy benchmarks, about 1.76% average across mixed suites, and 15%+ instruction-retired reduction where workloads fit; specification is near ratification.
AI-written summary · about
chapters (7)
- 0:00Introduction and overview
- 1:50Background and motivation
- 3:21Technical design details
- 4:34Design considerations
- 8:44LLVM benchmarking results
- 14:25GCC implementation and results
- 15:31Conclusion and Q&A
related talks
23mCode Density Improvements Beyond The C Standard Extension
28mLLVM for RISCV
19mCode Size Reduction Deep Dive: Zc Extensions and Dictionary Compression Custom Instruction
38mBASE ISA
15mPushing the Packed SIMD Extension Over the Line: An Update on the Progress of Key RISC...
20mThe RISC-V Zjid Extension
20mAnalysis for Code Size Opportunities in RISC V
19mGetting the Most out of the LLVM Auto Vectorizer for RISC-V Vectors (RVV)
