[Bug rtl-optimization/59461] missed zero-extension elimination in the combiner

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 11 09:51:00 GMT 2013


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

--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> I wonder if x86_64 is also affected as it has implicitely zero/sign-extending
> loads as well.

Not for this testcase at least, where the code is (and has always been)
optimal:

ee_isdigit2:
.LFB0:
        .cfi_startproc
        movl    %edi, %edi
        movzbl  zeb_test_array(%rdi), %eax
        subl    $48, %eax
        cmpb    $9, %al
        setbe   %al
        ret
        .cfi_endproc

because the x86-64 can perform the addition in QImode directly.



More information about the Gcc-bugs mailing list