/* PR rtl-optimization/79901 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O3 -mavx512f -fno-ssa-phiopt" } */ | |
unsigned int | |
foo (const unsigned long long x) | |
{ | |
if (x < 0) | |
return 0; | |
else if ( x > ~0U) | |
return ~0U; | |
else | |
return (unsigned int) x; | |
} | |
void | |
bar (unsigned x, unsigned int *y, unsigned int z) | |
{ | |
unsigned i; | |
for (i = 0; i < x; i++) | |
y[i] = foo (y[i] * (unsigned long long) z); | |
} |