https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104775
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Even simpler testcase, this time C, just -O2 -march=zEC12 is needed: long a[64]; void bar (void); void foo (int x, int y) { if (x != a[y]) bar (); __builtin_trap (); }