https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94605
Bug ID: 94605 Summary: [8/9/10 Regression] ICE in early-remat.c:process_block with multi-output asms Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rsandifo at gcc dot gnu.org Target Milestone: --- Target: aarch64*-*-* Compiling the following testcase with -O2 -march=armv8.2-a+sve: typedef int v8si __attribute__((vector_size(32))); int g (v8si, v8si); void f (void) { v8si x = {}, y = {}; while (g (x, y)) asm ("" : "+w" (x), "+w" (y)); } triggers: internal compiler error: in process_block, at early-remat.c:2051 This is because process_block doesn't handle insns that set multiple candidate registers.