https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115362
--- Comment #22 from Jon Daniel <jondaniel879 at gmail dot com> --- The generated assembler output snippet: g++: vdpps $113, 72(%rsp), 24(%rsp), %xmm3 vdpps $113, 72(%rsp), 24(%rsp), %xmm2 vsubss %xmm2, %xmm3, %xmm0 Notice the second dot product result as the first source operand clang++: vdpps $113, %xmm2, %xmm1, %xmm4 vdpps $113, %xmm0, %xmm1, %xmm1 vsubss %xmm4, %xmm0, %xmm0 Notice the first dot product result as the first source operand