https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93780
Bug ID: 93780
Summary: [10 Regression] ICE in SET_TYPE_VECTOR_SUBPARTS
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: kretz at kde dot org
Target Milestone: ---
Target: x86_64-*-*, i?86-*-*
Test case (https://godbolt.org/z/ic8eXp):
#include <cmath>
using V [[gnu::vector_size(32)]] = float;
float f() {
const float init[6] = {};
V v{};
__builtin_memcpy(&v, init, 6 * sizeof(float));
return std::legendre(0, v[0]);
}
Compile with `-std=c++17 -O1 -march=skylake-avx512`. Fails with:
In function 'float f()':
internal compiler error: in SET_TYPE_VECTOR_SUBPARTS, at tree.h:3860
0x82d1d0 SET_TYPE_VECTOR_SUBPARTS(tree_node*, poly_int<1u, unsigned long>)
/home/mkretz/src/gcc/gcc/tree.h:3860
0x82d1d0 make_vector_type
/home/mkretz/src/gcc/gcc/tree.c:9931
0x122d55b non_rewritable_lvalue_p
/home/mkretz/src/gcc/gcc/tree-ssa.c:1559
0x122e6c7 execute_update_addresses_taken()
/home/mkretz/src/gcc/gcc/tree-ssa.c:1725
0x10b6adc execute
/home/mkretz/src/gcc/gcc/tree-into-ssa.c:2436