I noticed that the (vec_select:m ...) couldn't be matched by (match_operand:m ...). For example: (set (vec_select:HI (reg:V4QI r3) (parallel [(const_int 0) (const_int 1)])) (const_int 0x1122)) couldn't be matched by: [(set (match_operand:HI 0 "register_operand" "=R") (match_operand 1 "const_int_operand" "i"))]
Only the RTL templates which contained explicit (vec_select:HI ...) are matched. Is the situation natural and right? Thanks a lot.