https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102811
--- Comment #19 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Uroš Bizjak from comment #17) > (In reply to Hongtao.liu from comment #16) > > > ix86_expand_vector_set is mainly used by vec_set_optab which exactly takes > > target as both input and output, it seems we can't create a new target for > > that. > > OK, let's try to optimize it with gen_pinsr, as you proposed. > > (It looks that the add-on patch from Comment #6 will generate VPBLEND in > this case, too.) I think your attached patch is a seperate optimization, the new added alternatives which generates VPBLEND extend the pattern to accept sse register for the inserted value, currently we only have "rm".