aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-02-23 16:06:05 +0100
committerRichard Biener <rguenther@suse.de>2024-02-26 08:42:44 +0100
commitaf66ad89e8169f44db723813662917cf4cbb78fc (patch)
treed1b2888efc4021881c1206a9a5d48ea8f64bb1a2 /gcc/tree-vect-loop-manip.cc
parent6987f16742bd4fc6bb8118b9efde52fb9169b327 (diff)
downloadgcc-af66ad89e8169f44db723813662917cf4cbb78fc.zip
gcc-af66ad89e8169f44db723813662917cf4cbb78fc.tar.gz
gcc-af66ad89e8169f44db723813662917cf4cbb78fc.tar.bz2
middle-end/114070 - folding breaking VEC_COND expansion
The following properly guards the simplifications that move operations into VEC_CONDs, in particular when that changes the type constraints on this operation. This needed a genmatch fix which was recording spurious implicit fors when tcc_comparison is used in a C expression. PR middle-end/114070 * genmatch.cc (parser::parse_c_expr): Do not record operand lists but only mark operators used. * match.pd ((c ? a : b) op (c ? d : e) --> c ? (a op d) : (b op e)): Properly guard the case of tcc_comparison changing the VEC_COND value operand type. * gcc.dg/torture/pr114070.c: New testcase.
Diffstat (limited to 'gcc/tree-vect-loop-manip.cc')
0 files changed, 0 insertions, 0 deletions