Lines Matching defs:pattern_stmt
103 /* Associate pattern statement PATTERN_STMT with ORIG_STMT_INFO and
108 vect_init_pattern_stmt (vec_info *vinfo, gimple *pattern_stmt,
111 stmt_vec_info pattern_stmt_info = vinfo->lookup_stmt (pattern_stmt);
113 pattern_stmt_info = vinfo->add_stmt (pattern_stmt);
114 gimple_set_bb (pattern_stmt, gimple_bb (orig_stmt_info->stmt));
131 /* Set the pattern statement of ORIG_STMT_INFO to PATTERN_STMT.
132 Also set the vector type of PATTERN_STMT to VECTYPE, if it doesn't
136 vect_set_pattern_stmt (vec_info *vinfo, gimple *pattern_stmt,
141 = vect_init_pattern_stmt (vinfo, pattern_stmt, orig_stmt_info, vectype);
882 statements followed by a single statement PATTERN_STMT. Cast the result
884 PATTERN_STMT to the end of STMT_INFO's pattern definition statements
885 and return the new statement, otherwise return PATTERN_STMT as-is.
886 VECITYPE is the vector form of PATTERN_STMT's result type. */
890 gimple *pattern_stmt, tree vecitype)
892 tree lhs = gimple_get_lhs (pattern_stmt);
895 append_pattern_def_seq (vinfo, stmt_info, pattern_stmt, vecitype);
897 pattern_stmt = gimple_build_assign (cast_var, NOP_EXPR, lhs);
899 return pattern_stmt;
1003 gimple *pattern_stmt;
1033 pattern_stmt = gimple_build_assign (new_lhs, NOP_EXPR, temp);
1038 "created pattern stmt: %G", pattern_stmt);
1039 return pattern_stmt;
1093 gimple *pattern_stmt;
1171 pattern_stmt = gimple_build_assign (var, DOT_PROD_EXPR,
1174 return pattern_stmt;
1329 gimple *pattern_stmt = gimple_build_assign (var, SAD_EXPR, sad_oprnd[0],
1332 return pattern_stmt;
1427 gimple *pattern_stmt = gimple_build_assign (var, wide_code,
1431 pattern_stmt = vect_convert_output (vinfo, last_stmt_info, ctype,
1432 pattern_stmt, vecitype);
1435 type, pattern_stmt, vecctype);
1509 gimple *popcount_stmt, *pattern_stmt;
1573 pattern_stmt = gimple_build_call_internal_vec (IFN_POPCOUNT, vargs);
1574 gimple_call_set_lhs (pattern_stmt, new_var);
1575 gimple_set_location (pattern_stmt, gimple_location (last_stmt));
1580 "created pattern stmt: %G", pattern_stmt);
1581 return pattern_stmt;
1779 gimple *pattern_stmt;
1818 pattern_stmt = gimple_build_assign (var, WIDEN_SUM_EXPR, unprom0.op, oprnd1);
1820 return pattern_stmt;
2051 gimple *pattern_stmt = gimple_build_assign (new_var, code,
2053 gimple_set_location (pattern_stmt, gimple_location (last_stmt));
2057 "created pattern stmt: %G", pattern_stmt);
2062 pattern_stmt = vect_convert_output (vinfo, last_stmt_info, new_type,
2063 pattern_stmt, op_vectype);
2066 pattern_stmt = vect_convert_output (vinfo, last_stmt_info, type,
2067 pattern_stmt, new_vectype);
2069 return pattern_stmt;
2544 gimple *pattern_stmt = gimple_build_assign (new_var, code, unprom.op);
2545 gimple_set_location (pattern_stmt, gimple_location (last_stmt));
2547 return pattern_stmt;
2595 gimple *pattern_stmt, *def_stmt;
2686 pattern_stmt = gimple_build_call (gimple_call_fndecl (last_stmt),
2688 gimple_call_set_lhs (pattern_stmt, var);
2689 gimple_call_set_fntype (as_a <gcall *> (pattern_stmt),
2691 return pattern_stmt;
2746 pattern_stmt = gimple_build_assign (var, LROTATE_EXPR, oprnd0,
2748 return pattern_stmt;
2872 pattern_stmt = gimple_build_assign (var, BIT_IOR_EXPR, var1, var2);
2874 return pattern_stmt;
2922 gimple *pattern_stmt;
2997 pattern_stmt = gimple_build_assign (var, rhs_code, oprnd0, def);
2999 return pattern_stmt;
3324 gimple *pattern_stmt;
3357 pattern_stmt = vect_synth_mult_by_constant (vinfo,
3359 if (!pattern_stmt)
3367 return pattern_stmt;
3414 gimple *pattern_stmt, *def_stmt;
3491 pattern_stmt
3497 pattern_stmt = div_stmt;
3498 gimple_set_location (pattern_stmt, gimple_location (last_stmt));
3500 return pattern_stmt;
3523 pattern_stmt
3573 pattern_stmt
3579 return pattern_stmt;
3651 pattern_stmt
3658 pattern_stmt = def_stmt;
3696 pattern_stmt = def_stmt;
3780 pattern_stmt = def_stmt;
3801 pattern_stmt = gimple_build_assign (q, MINUS_EXPR, d < 0 ? t4 : t3,
3813 append_pattern_def_seq (vinfo, stmt_vinfo, pattern_stmt);
3820 pattern_stmt = gimple_build_assign (r, MINUS_EXPR, oprnd0, t1);
3827 return pattern_stmt;
3865 gimple *pattern_stmt, *def_stmt;
3967 pattern_stmt = gimple_build_assign (vect_recog_temp_ssa_var (type, NULL),
3975 return pattern_stmt;
4107 gimple *pattern_stmt, *def_stmt;
4120 pattern_stmt
4128 pattern_stmt
4232 pattern_stmt
4257 pattern_stmt
4264 gimple_set_location (pattern_stmt, loc);
4265 append_pattern_def_seq (vinfo, stmt_info, pattern_stmt,
4267 defs.put (var, gimple_assign_lhs (pattern_stmt));
4303 gimple *pattern_stmt
4305 return gimple_assign_lhs (pattern_stmt);
4380 gimple *pattern_stmt;
4411 pattern_stmt = gimple_build_assign (lhs, SSA_NAME, rhs);
4413 pattern_stmt
4435 pattern_stmt = gimple_build_assign (tmp, COND_EXPR, var, cst1, cst0);
4441 pattern_stmt, new_vectype);
4444 pattern_stmt = gimple_build_assign (lhs, CONVERT_EXPR, tmp);
4451 return pattern_stmt;
4479 pattern_stmt
4488 return pattern_stmt;
4519 pattern_stmt = gimple_build_assign (rhs, COND_EXPR, var, cst1, cst0);
4520 append_pattern_def_seq (vinfo, stmt_vinfo, pattern_stmt, new_vectype);
4531 pattern_stmt = gimple_build_assign (lhs, SSA_NAME, rhs);
4532 pattern_stmt_info = vinfo->add_stmt (pattern_stmt);
4537 return pattern_stmt;
4609 gcall *pattern_stmt;
4651 pattern_stmt = gimple_build_call_internal_vec (ifn, args);
4656 gimple_call_set_lhs (pattern_stmt, lhs);
4658 gimple_call_set_nothrow (pattern_stmt, true);
4660 pattern_stmt_info = vinfo->add_stmt (pattern_stmt);
4667 return pattern_stmt;
4673 gimple *pattern_stmt;
4794 pattern_stmt = gimple_build_assign (tmp, TREE_CODE (rhs1),
4797 append_pattern_def_seq (vinfo, stmt_vinfo, pattern_stmt, vectype2,
4808 pattern_stmt = gimple_build_assign (lhs, COND_EXPR, tmp,
4815 return pattern_stmt;
4854 pattern_stmt = gimple_build_assign (lhs, rhs_code, rhs1, rhs2);
4859 return pattern_stmt;
4978 gcall *pattern_stmt;
4983 pattern_stmt = gimple_build_call_internal (gs_info.ifn, 5, base,
4986 pattern_stmt = gimple_build_call_internal (gs_info.ifn, 4, base,
4989 gimple_call_set_lhs (pattern_stmt, load_lhs);
4995 pattern_stmt = gimple_build_call_internal (gs_info.ifn, 5,
4999 pattern_stmt = gimple_build_call_internal (gs_info.ifn, 4,
5002 gimple_call_set_nothrow (pattern_stmt, true);
5006 stmt_vec_info pattern_stmt_info = loop_vinfo->add_stmt (pattern_stmt);
5013 return pattern_stmt;
5694 stmt_vec_info orig_stmt_info, gimple *pattern_stmt,
5714 gimple_set_lhs (orig_pattern_stmt, gimple_get_lhs (pattern_stmt));
5715 gimple_set_lhs (pattern_stmt, old_lhs);
5718 dump_printf_loc (MSG_NOTE, vect_location, "with %G", pattern_stmt);
5746 vect_init_pattern_stmt (vinfo, pattern_stmt,
5754 gsi_insert_before_without_update (&gsi, pattern_stmt, GSI_SAME_STMT);
5761 pattern_stmt, orig_stmt_info, pattern_vectype);
5784 s = pattern_stmt;
5798 if (s == pattern_stmt)
5806 s = pattern_stmt;
5810 if (s == pattern_stmt)
5842 gimple *pattern_stmt;
5861 pattern_stmt = recog_func->fn (vinfo, stmt_info, &pattern_vectype);
5862 if (!pattern_stmt)
5875 recog_func->name, pattern_stmt);
5878 vect_mark_pattern_stmts (vinfo, stmt_info, pattern_stmt, pattern_vectype);