Preview RISC-V GCC Features and Optimization Improvements for GCC-14
summary
GCC 14 adds a RISC-V autovectorizer (RVV, vector-length-agnostic) and backend fixes that show concrete wins: about 2× speed on an x264 inner loop and 10–20% on certain SPEC2017/Zip/Zin kernels, CRC-loop recognition that yields ~10–20% in coremark, and an address-rewriting fix that gives ~1% across workloads. Redundant sign/zero-extension removal cuts ~2% dynamic instructions in some benchmarks and a combined absolute-value + scheduler fix removes ~80 billion expansions and produces ~133% runtime improvement on a hot loop. Function multiversioning and further cost-model tuning are landing.
AI-written summary · about
chapters (8)
- 0:00Introduction and overview
- 1:11Auto-vectorization goals
- 4:02Scalar optimization efforts
- 6:05Eliminating redundant extensions
- 8:29Address rewriting improvements
- 10:26Zicond and branch reduction
- 11:49Future compiler roadmap
- 14:47Challenges and conclusion
related talks
16mImprovements to RISC-V Vector code generation in LLVM
17mRecent Developments in Optimizing Compilers for RISC-V
17mUnlocking 15% More Performance: A Case Study in LLVM Optimization for RISC-V
19mGetting the Most out of the LLVM Auto Vectorizer for RISC-V Vectors (RVV)
15mCompared Analysis of GCC Codegen for AArch64 and RISC-V
38mOptimized String Processing in RISC-V: How Toolchain Improvements Can Boost Performance
21mOpen Source Compiler Tool Chains for RISC V Past, Present and Future
19mGCC Compiler Code Size Density
