https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98973
Bug ID: 98973 Summary: [11 regression] Wrong code with gcse store motion pass Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: krebbel at gcc dot gnu.org Target Milestone: --- This test aborts when compiled on IBM Z with: gcc -O3 t.c -o t -fgcse-sm it succeeds with -O2 or without -fgcse-sm Tested with Commit ID: 072f20c5559 It works with GCC 10 branch: eb15f761bc7 long a; int b, c; short d; int e[] = { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1 }; void f () { g: c = 9; for (; c >= 3; c--) { int h[5]; for (; d; d--) ; for (; a;) if (e[c]) b = h[4]; if (e[c]) continue; goto g; } } int main () { f (); if (c != 2) __builtin_abort(); }