~/talk

Recent Developments in Optimizing Compilers for RISC-V

name:Jeff Law
links:none on file
slides:none on file

Uses Linux perf and PMU sampling to find hot, mispredicted branches and guide fixes at the binary level; example: a GCC global CSE loop replaced by a CTZ after preconditioning cuts a hotspot by ~0.25–0.5%, and a bitmap clear-bit rewrite removes a mispredicted store/load pair for ~1% gain. Shows unprofitable vectorization in x264 from heavy index/strided loads and poor cost models, and that the RVV zero-stride load idiom lowers instruction count ~5% but increases cycles ~5% on two microarchitectures. Notes VSETVLI speculation and VLEN=0 behaviors that cost ~1% and argues for ISA/profile guidance.

AI-written summary · about

  1. 0:00Introduction and background
  2. 1:02Availability of RVV hardware
  3. 2:48Branch mispredictions in GCC
  4. 5:16Unprofitable vectorization cases
  5. 8:08Microarchitectural quirks in RVV
  6. 10:15Bad speculation in vector code
  7. 12:40Optimization guidance for RVA
  8. 13:42Index loads and zero-stride loads
  9. 14:48Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.