[Bug c++/105968] GCC vectorizes but reports that it did not vectorize

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Jun 14 09:02:19 GMT 2022


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

Hongtao.liu <crazylht at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |crazylht at gmail dot com

--- Comment #1 from Hongtao.liu <crazylht at gmail dot com> ---

> even though vector instructions are generated.
> 

No it's scalar instructions, but the issue here is why vectorizer is ok for -O2
-O2 -ftree-vectorize -mavx2 but not for -O3 -ftree-vectorize -mavx2


muladd():
        xor     eax, eax
.L2:
        vmovsd  xmm0, QWORD PTR a[rax]
        vaddsd  xmm0, xmm0, QWORD PTR b[rax]
        add     rax, 8
        vmulsd  xmm0, xmm0, QWORD PTR c[rax-8]
        vmovsd  QWORD PTR r[rax-8], xmm0
        cmp     rax, 80000
        jne     .L2
        xor     eax, eax
        ret


More information about the Gcc-bugs mailing list