> Could you show me the a piece of  codegen difference in X264 that make 
> performance improved ?

I have one ready from SATD (see PR117173), there are more.

"Before":
_838 = VEC_PERM_EXPR <vect__49.83_41, vect__52.84_40, { 1, 11, 1, 11, 5, 15, 5, 
15 }>;
_846 = VEC_PERM_EXPR <vect__49.83_41, vect__52.84_40, { 0, 10, 0, 10, 4, 14, 4, 
14 }>;

"After":
_42 = VEC_PERM_EXPR <vect__49.83_41, vect__52.84_40, { 0, 1, 10, 11, 4, 5, 14, 
15 }>;
...
_44 = VEC_PERM_EXPR <vect_t0_114.85_43, vect_t0_114.85_43, { 1, 3, 1, 3, 5, 7, 
5, 7 }>;
_45 = VEC_PERM_EXPR <vect_t0_114.85_43, vect_t0_114.85_43, { 0, 2, 0, 2, 4, 6, 
4, 6 }>;

"After" is matched in match.pd and converted to "before".  "Before" requires
two masked, complex gathers while "after" needs to masking but just vmerge
and single-source gathers.

Reply via email to