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

Reply via email to