https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103784
--- Comment #15 from Surya Kumari Jangala <jskumari at gcc dot gnu.org> --- This is another test which has unnecessary zero extension: #include <stdbool.h> bool glob1; bool glob2; bool foo (int a, bool d) { bool c; if (a > 2) c = glob1 & glob2; else c = glob1 | glob2; return c^d; } I am not sure if this is handled by the patch at https://gcc.gnu.org/pipermail/gcc-patches/2023-July/624751.html as the RTL for this test has a different CFG shape than what is mentioned in the patch.