/
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:
- Making sure generated code is amenable to zicond when possible
- Moving some of the target specific expansions into generic code
Stakeholders/Partners
RISE:
Intel: 1 Pan Li
External:
Dependencies
Status
Updates
- The vast majority of this work is done. If there are followups of significance we'll create a new page.
- Pan Li continues to push improvements to the detection of saturating arithmetic idioms upstream
- Scalar & Vector with extensive testsuites to verify codegen
- Pan continues to upstream improvements in detection of scalar and vector saturating arithmetic
- New work item. This work started in 1H2024.
, multiple selections available,
Related content
CT_00_039 - Extension Elimination (GCC)
CT_00_039 - Extension Elimination (GCC)
More like this
CT_00_024 - Extension Elimination (GCC)
CT_00_024 - Extension Elimination (GCC)
More like this
CT_00_012 - mem* and str* -- inline expansion in GCC
CT_00_012 - mem* and str* -- inline expansion in GCC
More like this
CT_00_025 -- Zicond with if-conversion improvements (GCC)
CT_00_025 -- Zicond with if-conversion improvements (GCC)
More like this
CT_00_037 -- Zicond with if-conversion improvements (GCC)
CT_00_037 -- Zicond with if-conversion improvements (GCC)
Read with this
CT_00_013 - Autovectorization -- Improvements (GCC)
CT_00_013 - Autovectorization -- Improvements (GCC)
More like this