https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93720
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-02-16 Ever confirmed|0 |1 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Dmitrij Pochepko from comment #2) > It looks like peephole2 can be used to optimize it. I'm currently looking > into in. Don't. Can you attach your current patch? My bet is you expand this vec_perm like: (set (reg:V2DF t1) (reg:V2DF low)) (set (reg:V2DF t) (vec_merge:V2DF (vec_duplicate:V2DF (vec_select:DF (reg:V2DF high) (parallel [(const_int 2)]))) (reg:V2DF t1) (const_int 2))) Since it is only two elements.