blob: 015bc8ab473bdc687c7ffa89ca5852da8bec9362 [file] [log] [blame]
/* Check for vectorization of mixed conditionals. */
/* { dg-do compile { target { s390*-*-* } } } */
/* { dg-options "-O2 -march=z14 -mzarch -ftree-vectorize -fdump-tree-vect-details" } */
double xd[1024];
double zd[1024];
double wd[1024];
long xl[1024];
long zl[1024];
long wl[1024];
void foold ()
{
int i;
for (i = 0; i < 1024; ++i)
zd[i] = xl[i] ? zd[i] : wd[i];
}
void foodl ()
{
int i;
for (i = 0; i < 1024; ++i)
zl[i] = xd[i] ? zl[i] : wl[i];
}
void foold2 ()
{
int i;
for (i = 0; i < 1024; ++i)
zd[i] = (xd[i] > 0) ? zd[i] : wd[i];
}
void foold3 ()
{
int i;
for (i = 0; i < 1024; ++i)
zd[i] = (xd[i] > 0. & wd[i] < 0.) ? zd[i] : wd[i];
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 4 "vect" } } */