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.

Reply via email to