------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-08 17:49 ------- On the mainline we get: xorl %eax, %eax movzbl 8(%esp), %edx cmpb $0, 4(%esp) je .L4 testb %dl, %dl setne %al .L4: movzbl %al, %eax ret
One thing to improve this is to change: testb %dl, %dl setne %al to: movl %edx, %eax -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19719