Hi, on 2024/6/6 09:43, HAO CHEN GUI wrote: > Hi Kewen, > > 在 2024/6/5 17:00, Kewen.Lin 写道: >> This predicate can be moved to its only use (define_insn part condition). >> The const_vector match_code check is redundant as const_vec_duplicate_p >> already checks that, I wonder if we really need easy_altivec_constant? >> Even if one vector constant doesn't meet easy_altivec_constant, but if >> it matches the desired duplicated pattern, it doesn't need the swapping >> either, no? > > Thanks for your comments. > I think we need easy_altivec_constant as the constant will be directly > moved to a vector register after split. It might fail if it's not a easy > alitvec constant? > > [(set (match_dup 2) > (match_dup 1))
For that case, can we move operand 1 to a pseudo first by emit_move_insn, then use that pseudo for the source of set? BR, Kewen