------- Comment #12 from pinskia at gcc dot gnu dot org 2009-04-22 21:25 ------- On the trunk we get: f: cmpb $1, 4(%esp) sbbl %eax, %eax notl %eax andb 8(%esp), %al ret
With the default arguments on i686-linux-gnu. With -march=i686: f: xorl %eax, %eax cmpb $0, 4(%esp) cmovne 8(%esp), %eax ret With -march=i386: movb 8(%esp), %al cmpb $0, 4(%esp) jne .L2 xorl %eax, %eax .L2: ret So Fixed. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19719