[Bug rtl-optimization/66782] [5/6 Regression] Unable to run 64-bit wine after MS->SYSV register changes

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Jul 8 11:14:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66782

--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
The difference when clobbers are implemented with direct clobbers (I'll attach
the patch) is:

(---): Unpatched compiler, usign fusage clobbers
(+++): Patched compiler, using direct clobbers

--- pr66782_.s  2015-07-08 12:35:40.000000000 +0200
+++ pr66782.s   2015-07-08 12:37:21.000000000 +0200
@@ -260,10 +260,9 @@
        subq    %rax, %rdx
        movq    %rax, %rsi
        call    memcpy@PLT
-       movq    24(%rsp), %rsi
        movq    112(%rsp), %rdi
+       subq    24(%rsp), %rdi
        movl    $52, %edx
-       subq    %rsi, %rdi
        movw    %dx, 4(%rbp,%rdi)
        movl    $912551265, 0(%rbp,%rdi)
        movq    %rbp, %rdi
@@ -271,7 +270,7 @@
        movq    %rcx, 40(%rsp)
        call    strlen@PLT
        movq    40(%rsp), %rcx
-       movq    %rsi, %rdx
+       movq    24(%rsp), %rdx
        leaq    0(%rbp,%rax), %rdi
        subq    %rcx, %rdx
        addq    32(%rsp), %rdx


More information about the Gcc-bugs mailing list