diff options
author | Richard Biener <rguenther@suse.de> | 2025-01-17 15:41:19 +0100 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2025-01-18 15:28:55 +0100 |
commit | c81543b3379fa11742d2178b87edbf1e72799d61 (patch) | |
tree | 8512cc01932585d42523a856978f58ed9f4a5acf /gcc/config | |
parent | 0b2f2c62f654d36b0d0056428bc973605a09b10f (diff) | |
download | gcc-c81543b3379fa11742d2178b87edbf1e72799d61.zip gcc-c81543b3379fa11742d2178b87edbf1e72799d61.tar.gz gcc-c81543b3379fa11742d2178b87edbf1e72799d61.tar.bz2 |
tree-optimization/118529 - ICE with condition vectorization
On sparc we end up choosing vector(8) <signed-boolean:1> for the
condition but vector(2) int for the value of a COND_EXPR but we
fail to verify their shapes match and thus things go downhill.
This is a missed-optimization on the pattern recognition side
as well as unhandled vector decomposition in vectorizable_condition.
The following plugs just the observed ICE for now.
PR tree-optimization/118529
* tree-vect-stmts.cc (vectorizable_condition): Check the
shape of the vector and condition vector type are compatible.
* gcc.target/sparc/pr118529.c: New testcase.
Diffstat (limited to 'gcc/config')
0 files changed, 0 insertions, 0 deletions