question about match_operand and vec_select

Ling-hua Tseng uranus@it.muds.net
Sun Jun 19 17:20:00 GMT 2005


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.



More information about the Gcc mailing list