GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
gcc Performance Win

Vector integer support added to double-conversion patterns.

GCC now supports vector integer types in double-conversion patterns.

GCC’s double-conversion patterns have been expanded to support integer vectors, in addition to existing float vector support. This change simplifies the supportable_convert_operation by removing an unused argument and adds necessary guards to ensure correct pattern matching for vector types.

In Details

This commit enhances the pattern matching for conversions within GCC's vectorization component. It extends the convert operation to handle integer vector types, unifying internal vector representations and adding target-specific checks for supported conversions. The supportable_convert_operation function in optabs-tree.h and its callers are simplified by removing a redundant output code argument.

For Context
vector types
Data types that represent multiple values of the same base type, operated on in parallel by SIMD (Single Instruction, Multiple Data) instructions. Compilers use them for performance optimizations on suitable hardware.
double-conversion
A process of converting numerical values between different representations, often involving floating-point and integer types, or different precision levels. In GCC, specific patterns in match.pd handle these conversions efficiently.
optabs
Optimization tables that store information about available machine instructions and their behavior, used by GCC to select optimal code sequences.
Filed Under: vectorizationoptimization