Summary: | [12 Regression] ICE in vect_build_slp_tree, at tree-vect-slp.c:1551 for skylake-avx512 and icelake-server | ||
---|---|---|---|
Product: | gcc | Reporter: | Vsevolod Livinskii <vsevolod.livinskiy> |
Component: | tree-optimization | Assignee: | Richard Biener <rguenth> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | babokin, regehr, vsevolod.livinskiy |
Priority: | P3 | Keywords: | ice-on-valid-code |
Version: | 12.0 | ||
Target Milestone: | 12.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2021-10-12 00:00:00 | |
Bug Depends on: | |||
Bug Blocks: | 103035 |
Description
Vsevolod Livinskii
2021-10-12 01:45:21 UTC
Confirmed. Alos this fails the same: int a; extern bool b[][14]; char h; void f(short g[][14]) { for (short d = h; d < 21; d += 1) { a = 0; for (unsigned char e = 0; e < 14; e += 1) { b[d][e] = g[d][e]; } } } I will have a look. Note the issue is probably latent in GCC 11. The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>: https://gcc.gnu.org/g:d1dcaa31453fa080a27938b064e53f02272d4aa1 commit r12-4351-gd1dcaa31453fa080a27938b064e53f02272d4aa1 Author: Richard Biener <rguenther@suse.de> Date: Tue Oct 12 13:49:39 2021 +0200 tree-optimization/102696 - fix SLP discovery for failed BIT_FIELD_REF This fixes a forgotten adjustment of matches[] when we fail SLP discovery. 2021-10-12 Richard Biener <rguenther@suse.de> PR tree-optimization/102696 * tree-vect-slp.c (vect_build_slp_tree_2): Properly mark the tree fatally failed when we reject a BIT_FIELD_REF. * g++.dg/vect/pr102696.cc: New testcase. Fixed. The branch doesn't cache negative entries so the issue is not latent. |