extern bool gimple_signed_integer_sat_add (tree, tree*, tree (*)(tree));
extern bool gimple_signed_integer_sat_sub (tree, tree*, tree (*)(tree));
+extern bool gimple_signed_integer_sat_trunc (tree, tree*, tree (*)(tree));
static gimple *
vect_recog_build_binary_gimple_stmt (vec_info *vinfo, stmt_vec_info stmt_info,
tree lhs = gimple_assign_lhs (last_stmt);
tree otype = TREE_TYPE (lhs);
- if (gimple_unsigned_integer_sat_trunc (lhs, ops, NULL)
+ if ((gimple_unsigned_integer_sat_trunc (lhs, ops, NULL)
+ || gimple_signed_integer_sat_trunc (lhs, ops, NULL))
&& type_has_mode_precision_p (otype))
{
tree itype = TREE_TYPE (ops[0]);