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

Reply via email to