CT_00_053 -- Fusion Infrastructure
About
Instruction fusion is an important technique to improve performance of RISC-V systems. While GCC has support for a common set of instruction fusions, it's believed that additional cases will become more important as new designs come to market.
Synopsys engineers have changes which change GCC's model from "these are fusible, keep them consecutive" to "find fusible cases, bring them together and keep them together". Maybe as much as a 10% increase in real fusion opportunities.
New pass for discovery
Adjust register allocator to avoid spoiling fusion opportunities
Adjust software register renaming to avoid spoiling fusion opportunities
Tests to verify basic fusion behavior, realistically this can't be upstreamed without a target that enables those fusions.
Ventana has code to support these cases using the general infrastructure already in the RISC-V GCC backend. This code just needs to be benchmarked and upstreamed once gcc-16 is open for development.
Stakeholders/Partners
RISE:
Ventana: Jeff Law. Oversight/guidance
Ventana:
External:
Synopsys: Artemiy Volkov
Dependencies
Status
Development | IN PROGRESS |
|
|---|---|---|
Development Timeline | 2H2024 |
|
Upstreaming | NOT STARTED |
|
Upstream Version | gcc-16 Spring 2026
|
|
Contacts | Jeff Law (Ventana) |
|
Dependencies |
|
|
Updates
Jul 16, 2025
Unfinished items broken out into a new project