https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104292
--- Comment #1 from Avi Kivity <avi at scylladb dot com> ---
btw, I see that the equivalent bool_and generates optimal code.
bool_and(bool, bool):
movl %esi, %eax
andl %edi, %eax
ret
Perhaps bool is written with the expectation that any non-zero value is true?
But aren't non-zero values other than 1 undefined behavior?
