~/talk

Code Size Reduction Deep Dive: Zc Extensions and Dictionary Compression Custom Instruction

Talkat RISC-V Summit North America 2023 · on Wednesday, 2023-11-08· at 11:30· Grand Ballroom G· [compilers-and-language-design]
links:none on file
slides:none on file

Zc splits the original C extension into subsets (zca, zcd, zcf) and adds compact encodings for prolog/epilog register saves and table-based jumps, implemented in Codasip’s processor description and LLVM toolchain. Push/pop cm.push/cm.pop compress 14 or 16 32-bit stores/loads down to 2 bytes, with memory semantics that reexecute the whole instruction on exception. Reused encodings yield small decoder changes (≈11–12 lines) and 0.5–2% savings; measured results show ~16% average and some >25% reductions, plus an extra ~3–15% from the instruction table (example: ~400 KB saved on a 3 MB binary).

AI-written summary · about

  1. 0:00Introduction to ZC
  2. 0:56Overview of extensions
  3. 4:35Push, pop, and jump logic
  4. 8:32Performance results
  5. 11:10Dictionary compression
  6. 13:47Toolchain implementation
  7. 16:23Q&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.