https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116520
--- Comment #7 from Andi Kleen <andi-gcc at firstfloor dot org> --- Tamas also gave this example in PR115866 which shows the same problem: short a[100]; int foo(int n, int counter) { for (int i = 0; i < n; i++) { if (a[i] == 1 || a[i] == 2 || a[i] == 7 || a[i] == 4) return 1; } return 0; }