https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77729
--- Comment #6 from Julian Andres Klode <j...@jak-linux.org> --- (In reply to Andrew Pinski from comment #4) > Note this testcase needs to be improved as I have a patch which converts a > switch with just one case and a default into anew if statement. FWIW, The issue is exactly the same with if statements, like in: int TrieCase3(const char *string) { if((string[0] | 32) == 't') { if((string[1] | 32) == 'a') { if((string[2] | 32) == 'g') { return 42; } } } return -1; }