CT_00_053 -- Fusion Infrastructure

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. 

 

  1. 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.

    1. New pass for discovery

    2. Adjust register allocator to avoid spoiling fusion opportunities

    3. Adjust software register renaming to avoid spoiling fusion opportunities

  2. 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