https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94838
Gabriel Ravier <gabravier at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|x86_64-linux-gnu |x86_64-* i?86-*-* --- Comment #2 from Gabriel Ravier <gabravier at gmail dot com> --- This also occurs on i68* : f(bool, int*): xor eax, eax ; Already 0 cmp BYTE PTR [esp+4], 0 je .L1 mov eax, DWORD PTR [esp+8] ; Could use different caller-saved register such as ecx or edx mov eax, DWORD PTR [eax] test eax, eax setne al movzx eax, al .L1: ret