https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54400
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- Hmm, with vectorizer support we get <bb 2> [local count: 1073741824]: _7 = .REDUC_PLUS (v_3(D)); [tail call] return _7; but f: .LFB5669: .cfi_startproc movapd %xmm0, %xmm1 unpckhpd %xmm0, %xmm0 addpd %xmm1, %xmm0 ret (note avoiding hadd in the reduc pattern was intended). Not sure if two element reduction vectorization is worthwhile - my current patch bails w/o -fassociative-math (which is supposedly unnecessary for two elements). But mine anyway.