------- Comment #2 from rguenth at gcc dot gnu dot org  2007-03-20 10:43 -------
I see on x86_64 with -O2 (vrp can cleanup this somewhat):

in_canforward:
.LFB2:
        movl    %edi, %eax
        andl    $240, %eax
        cmpl    $240, %eax
        je      .L4
        cmpl    $224, %eax
        je      .L4
        testb   %dil, %dil
        movl    $1, %eax
        js      .L5
        movl    %edi, %eax
        andl    $255, %eax
        sete    %dl
        cmpl    $127, %eax
        sete    %al
        orl     %eax, %edx
        xorl    $1, %edx
        movzbl  %dl, %eax
.L5:
        rep ; ret
        .p2align 4,,7
.L4:
        xorl    %eax, %eax
        ret

which looks in structure like what you are expecting.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31272

Reply via email to