@@ -2020,7 +2020,7 @@ early_remat::process_block (basic_block bb)
}
/* Now process definitions. */
- if (next_def && insn == next_def->insn)
+ while (next_def && insn == next_def->insn)
{
unsigned int gen = canon_candidate (next_candidate);
new file mode 100644
@@ -0,0 +1,12 @@
+/* { dg-options "-O2 -msve-vector-bits=256" } */
+
+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));
+}