https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #11 from Joel Yliluoma <bisqwit at iki dot fi> --- Looks like this issue has taken a step or two *backwards* in the past years. Where as the second function used to be vectorized properly, today it seems neither of them are. Contrast this with Clang, which compiles *both* functions into a single instruction: vaddps xmm0, xmm1, xmm0 or some variant thereof depending on the -m options. Compiler Explorer link: https://godbolt.org/z/2AKhnt