GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
tree-optimization

Fixes typo in vectorizer mask conversion pattern recognition.

Corrects a type typo in vectorizer's mask conversion pattern to fix PR127116.

This commit corrects a typo in the GCC vectorizer’s pattern recognition for mask conversions. Specifically, rhs1_type was passed incorrectly to build_mask_conversion in vect_recog_mask_conversion_pattern. The change ensures the correct scalar type is used, fixing PR127116. Debugging dumps for mask precision have also been added to relevant functions.

In Details

The vect_recog_mask_conversion_pattern function in tree-vect-patterns.cc incorrectly passed rhs1_type as the scalar type argument to build_mask_conversion. This commit corrects it to pass the appropriate scalar type, resolving PR127116. Additionally, mask precision dumps were added to vect_init_pattern_stmt and append_pattern_def_seq for improved debugging.

For Context
vectorizer
A compiler component that automatically transforms loops and other code constructs to use SIMD (Single Instruction, Multiple Data) instructions, which can operate on multiple data elements simultaneously for improved performance.
mask conversion
In vectorization, this refers to operations that convert or create bitmasks, often used for selecting or manipulating elements within vector registers.
scalar type
The fundamental data type of a single element, as opposed to a vector type which holds multiple elements.
Filed Under: optimizationvectorizationbugfix