CT_00_041 - Saturating Arithmetic (GCC)

CT_00_041 - Saturating Arithmetic (GCC)

About

GCC does a fairly poor job at generating efficient code for various saturating arithmetic idioms.  Additionally almost no support for vectorized saturating arithmetic is in place.  This gap will show up in coremark pro and possibly spec2k6.  Followup items may include:

  1. Making sure generated code is amenable to zicond when possible

  2. Moving some of the target specific expansions into generic code

Stakeholders/Partners

RISE:

Intel: 1 Pan Li

 

External:

 

 

Dependencies

 

Status

Development

DONE

 

Development Timeline

2H2024

 

Upstreaming

DONE

 

Upstream Version

gcc-15

Spring 2025

 

 

 

Contacts

Pan Li (Intel)

 

Dependencies

None

 

 

Updates

Feb 3, 2025 

  • The vast majority of this work is done.  If there are followups of significance we'll create a new page.

Oct 9, 2024 

  • Pan Li continues to push improvements to the detection of saturating arithmetic idioms upstream

    • Scalar & Vector with extensive testsuites to verify codegen

Sep 4, 2024

  • Pan continues to upstream improvements in detection of scalar and vector saturating arithmetic 

Jun 29, 2024

  • New work item.  This work started in 1H2024.