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