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 target/69909] [6 Regression] wrong code with -Os and vectors @ x86_64


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

--- Comment #2 from Zdenek Sojka <zsojka at seznam dot cz> ---
Actually, there is:

...
        mov     ecx, 8  # tmp115,
        mov     r11, QWORD PTR [rsp+160]        # v32u128_1D.1763,
v32u128_1D.1763
        mov     r12, QWORD PTR [rsp+168]        # v32u128_1D.1763,
v32u128_1D.1763
        lea     rdi, [rsp-80]   # tmp113,
        lea     rsi, [rsp+80]   # tmp114,
        xor     eax, 16 # _3,
        sub     r11, QWORD PTR [rsp-64] # _33,
        mov     DWORD PTR [rsp+104], eax        # v32u32_1D.1761, _3
        sbb     r12, QWORD PTR [rsp-56] # _33,
        xor     r10d, r10d      #
        rep movsd
...

"rep movsd" initialises the values at [rsp-64] and [rsp-56], but they are
loaded to registers too early.

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