https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67577
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- Trunk with -O3 -mavx generates: Z1xv: .cfi_startproc vmovaps b(%rip), %ymm1 vmovaps a(%rip), %ymm0 vbroadcastss scale(%rip), %ymm2 vsubps %ymm1, %ymm0, %ymm0 vmulps %ymm2, %ymm0, %ymm0 vaddps %ymm1, %ymm0, %ymm0 vmovaps %ymm0, c(%rip) vzeroupper ret .cfi_endproc