--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_int } */
+
+struct co {
+ int gx;
+ int ty;
+};
+
+void
+x0 (struct co *yy, long int kc, int wi, int md)
+{
+ while (wi < 1)
+ {
+ yy[wi].gx = md;
+ yy[wi].ty = wi;
+ md += kc;
+ ++wi;
+ }
+}
+
+/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" } } */
{
/* The scalar steps of the IVs. */
tree elt = steps[(ivn*const_nunits + eltn) % group_size];
+ elt = gimple_convert (&init_stmts, TREE_TYPE (step_vectype), elt);
step_elts.quick_push (elt);
if (!init_node)
{
: build_int_cstu (stept, mul_elt));
}
vec_step = gimple_build_vector (&init_stmts, &step_elts);
- vec_step = gimple_convert (&init_stmts, step_vectype, vec_step);
vec_steps.safe_push (vec_step);
tree step_mul = gimple_build_vector (&init_stmts, &mul_elts);
if (peel_mul)