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

--- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Slightly cleaner testcase:

#include <arm_sve.h>
static void e(short *g, short p2) { *g ^= p2; }
static short m[23];
int main() {
  for (unsigned i = 0; i < 23; ++i)
    m[i] = 4;
  if (svaddv(svptrue_pat_b32(SV_VL1), svdup_u32(1)) != 1)
    __builtin_abort();
  for (unsigned i = 0; i < 3; ++i)
    e(m, m[i]);
}

Reply via email to