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

Xi Ruoyao <xry111 at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-01-26
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
On x86_64 it's reproducible likewise:

typedef double __attribute__ ((vector_size (32))) vec;
register vec a asm("ymm2"), b asm("ymm0"), c asm("ymm1");

void
test (void)
{
  for (int i = 0; i < 4; i++)
    c[i] = a[i] < b[i] ? 0.1 : 0.2;
}

$ gcc/cc1 t.c -mavx2

t.c:8:10: internal compiler error: in expand_assignment, at expr.cc:6073
    8 |     c[i] = a[i] < b[i] ? 0.1 : 0.2;
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
0x10d9759 expand_assignment(tree_node*, tree_node*, bool)
        ../../gcc/gcc/expr.cc:6073
0xf2e9c0 expand_gimple_stmt_1
        ../../gcc/gcc/cfgexpand.cc:3992
0xf2ed4e expand_gimple_stmt
        ../../gcc/gcc/cfgexpand.cc:4071
0xf377be expand_gimple_basic_block
        ../../gcc/gcc/cfgexpand.cc:6127
0xf39f72 execute
        ../../gcc/gcc/cfgexpand.cc:6866

Self-confirming.

Reply via email to