https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94683

            Bug ID: 94683
           Summary: ICE in forwprop when folding to a VEC_PERM_EXPR
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rsandifo at gcc dot gnu.org
  Target Milestone: ---

Compiling this with -march=armv8.2-a+sve -msve-vector-bits=256 -O3:

#include <arm_sve.h>

typedef float v8sf __attribute__((vector_size(32)));

svfloat32_t
f (svbool_t pg, svfloat32_t x, svfloat32_t y)
{
  v8sf a = svadd_x (pg, x, 1);
  v8sf b = { a[0], a[0], a[2], a[2], a[4], a[4], a[6], a[6] };
  return svdiv_x (pg, b, y);
}

gives:

foo.c: In function ‘f’:
foo.c:16:1: error: non-trivial conversion in ‘ssa_name’
   16 | }
      | ^
v8sf
__SVFloat32_t
b_17 = _16;
during GIMPLE pass: forwprop
dump file: foo.031t.forwprop1

Reply via email to