https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84786
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2018-03-12 Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Ah, I see the bug: (define_insn "sse2_loadhpd" [(set (match_operand:V2DF 0 "nonimmediate_operand" "=x,v,x,v,o,o ,o") (vec_concat:V2DF (vec_select:DF (match_operand:V2DF 1 "nonimmediate_operand" " 0,v,0,v,0,0 ,0") (parallel [(const_int 0)])) (match_operand:DF 2 "nonimmediate_operand" " m,m,x,v,x,*f,r")))] While V2DFmode won't be put into %xmm16-%xmm31 without TARGET_AVX512VL, DFmode can be, so we need an avx512vl alternative for the v for the last operand and another one with x for avx/avx2/avx512f etc. without avx512vl.