https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113072
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- here is the bool testcase which just allows the use of ^: ``` bool foo1(bool a, int b) { bool b1 = b == 1; bool b2 = !b1; return (a ^ b1) & (a ^ b2); } ```