https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91454
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #4) > Btw, remove_partial_avx_dependency suggests the VEC_MERGE/DUPLICATE form > is canonical for V2DFmode ... (is it?). Not according to typedef double v2di __attribute__((vector_size(16))); v2di foo (double x) { return (v2di) { x, 0. }; } which produces (insn 6 3 7 2 (set (reg:V2DF 85) (vec_concat:V2DF (reg/v:DF 83 [ x ]) (const_double:DF 0.0 [0x0.0p+0]))) "t.c":5:10 3056 {vec_concatv2df} (nil)) but maybe the merge/duplicate pattern also exists.