This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/30905] [4.3 Regression] Fails to cross-jump



------- Comment #15 from rahul at icerasemi dot com  2009-06-11 17:38 -------
GCC4.4 is still missing this fix. GCC-4.4.1 (20090507) on x86_64 produces the
following with O2/O3

kernel:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $24, %esp
        movl    $1, (%esp)
        call    gen_int
        testl   %eax, %eax
        je      .L2
        movl    a, %edx
        movl    %edx, %ecx
        andl    $3, %ecx
        leal    (%ecx,%edx), %edx
        movl    %edx, a
        movl    b, %edx
        movl    %edx, %ecx
        orl     $3, %ecx
        leal    (%ecx,%edx), %edx
        movl    %edx, b
.L7:
        movl    a+4, %eax
        movl    %eax, %edx
        andl    $3, %edx
        leal    (%edx,%eax), %eax
        movl    %eax, a+4
        movl    b+4, %eax
        movl    %eax, %edx
        orl     $3, %edx
        leal    (%edx,%eax), %eax
        movl    %eax, b+4
        leave
        ret
        .p2align 4,,7
        .p2align 3
.L2:
        movl    a, %eax
        movl    %eax, %edx
        andl    $3, %edx
        leal    (%edx,%eax), %eax
        movl    %eax, a
        movl    b, %eax
        movl    %eax, %edx
        orl     $3, %edx
        leal    (%edx,%eax), %eax
        movl    %eax, b
        jmp     .L7

Any reason why this shouldn't go into 4.4?


-- 

rahul at icerasemi dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rahul at icerasemi dot com


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]