diff options
author | Xi Ruoyao <xry111@xry111.site> | 2024-08-22 21:18:29 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2024-08-26 20:08:20 +0800 |
commit | d3e71b99194bff878d3bf3b35f9528a350d10df9 (patch) | |
tree | ea6d536f80d1ec107e0f075862182c51e991d0b8 /libcpp/files.cc | |
parent | 3b78aa3e316a22b4ae477c91866d47f654f129b1 (diff) | |
download | gcc-d3e71b99194bff878d3bf3b35f9528a350d10df9.zip gcc-d3e71b99194bff878d3bf3b35f9528a350d10df9.tar.gz gcc-d3e71b99194bff878d3bf3b35f9528a350d10df9.tar.bz2 |
vect: Fix STMT_VINFO_DEF_TYPE check for odd/even widen mult [PR116348]
After fixing PR116142 some code started to trigger an ICE with -O3
-march=znver4. Per Richard Biener who actually made this fix:
"supportable_widening_operation fails at transform time - that's likely
because vectorizable_reduction "puns" defs to internal_def"
so the check should use STMT_VINFO_REDUC_DEF instead of checking if
STMT_VINFO_DEF_TYPE is vect_reduction_def.
gcc/ChangeLog:
PR tree-optimization/116348
* tree-vect-stmts.cc (supportable_widening_operation): Use
STMT_VINFO_REDUC_DEF (x) instead of
STMT_VINFO_DEF_TYPE (x) == vect_reduction_def.
gcc/testsuite/ChangeLog:
PR tree-optimization/116348
* gcc.c-torture/compile/pr116438.c: New test.
Co-authored-by: Richard Biener <rguenther@suse.de>
Diffstat (limited to 'libcpp/files.cc')
0 files changed, 0 insertions, 0 deletions