This patch fixes the predicates of a few vector patterns. Backported to 4.7 and 4.8.
2013-03-27 Walter Lee <w...@tilera.com> * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on input operands. (insn_v1mulus): Ditto. (insn_v2muls): Ditto. --- gcc/config/tilegx/tilegx.md (revision 197136) +++ gcc/config/tilegx/tilegx.md (working copy) @@ -4762,8 +4762,8 @@ (define_expand "insn_v1mulu" [(match_operand:DI 0 "register_operand" "") - (match_operand:DI 1 "reg_or_0_operand" "") - (match_operand:DI 2 "reg_or_0_operand" "")] + (match_operand:DI 1 "register_operand" "") + (match_operand:DI 2 "register_operand" "")] "" { tilegx_expand_builtin_vector_binop (gen_vec_widen_umult_lo_v8qi, V4HImode, @@ -4792,8 +4792,8 @@ (define_expand "insn_v1mulus" [(match_operand:DI 0 "register_operand" "") - (match_operand:DI 1 "reg_or_0_operand" "") - (match_operand:DI 2 "reg_or_0_operand" "")] + (match_operand:DI 1 "register_operand" "") + (match_operand:DI 2 "register_operand" "")] "" { tilegx_expand_builtin_vector_binop (gen_vec_widen_usmult_lo_v8qi, V4HImode, @@ -4820,8 +4820,8 @@ (define_expand "insn_v2muls" [(match_operand:DI 0 "register_operand" "") - (match_operand:DI 1 "reg_or_0_operand" "") - (match_operand:DI 2 "reg_or_0_operand" "")] + (match_operand:DI 1 "register_operand" "") + (match_operand:DI 2 "register_operand" "")] "" { tilegx_expand_builtin_vector_binop (gen_vec_widen_smult_lo_v4qi, V2SImode,