https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113622
Bug ID: 113622 Summary: r14-8450 regression: ICE with vectors in named registers Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: xry111 at gcc dot gnu.org Target Milestone: --- Start from r14-8450 "tree-optimization/113602 - datarefs of non-addressables", various LoongArch target tests fail. Reduced test case: typedef double __attribute__ ((vector_size (32))) vec; register vec a asm("f25"), b asm("f26"), c asm("f27"); void test (void) { for (int i = 0; i < 4; i++) c[i] = a[i] < b[i] ? 0.1 : 0.2; } $ ./gcc/cc1 t.c -O2 -msimd=lasx -fno-ident -o xvfcmp-f.s -nostdinc t.c: In function ‘test’: 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; | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ 0x102029b expand_assignment(tree_node*, tree_node*, bool) ../../gcc/gcc/expr.cc:6073 0xe7a76b expand_gimple_stmt_1 ../../gcc/gcc/cfgexpand.cc:3992 0xe7aaf9 expand_gimple_stmt ../../gcc/gcc/cfgexpand.cc:4071 0xe8355b expand_gimple_basic_block ../../gcc/gcc/cfgexpand.cc:6127 0xe85b0d execute ../../gcc/gcc/cfgexpand.cc:6866