http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46192
--- Comment #3 from simon at pushface dot org 2011-02-11 18:18:26 UTC ---
(In reply to comment #2)
> Still present in gcc version 4.6.0 20110203 (experimental) [trunk revision
> 157963] for x86_64-apple-darwin10. Generated assembler is
>
> _renaming__put_raw:
> LFB3:
> movzbl 192, %eax
> andl $32, %eax
> .align 4,0x90
> L3:
> testb %al, %al
> je L3
> ret
That was at -O2. The code for -O1 is OK:
_renaming__put_raw:
LFB3:
L3:
testb $32, 192
je L3
ret