Consider the following code bool test_naive0(bool b, short i) { return (b ? i % 4 : i % 16)==0; } It could be optimized into bool test_optim0(bool b, short i) { return (i & (b ? 15 : 3))==0; } Godbolt playground: https://godbolt.org/z/8vj999M3c P.S.: Inspired by the manual optimizations in libstdc++ https://github.com/gcc-mirror/gcc/commit/b92d12d3fe3f1aa56d190d960e40c62869a6cfbb
Dup of bug 101179. *** This bug has been marked as a duplicate of bug 101179 ***