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.

Reply via email to