blob: 81cae1391d5eeeb0e7226137a11d040ff7f9f346 [file] [log] [blame]
/* { dg-do run { target sse2_runtime } } */
/* { dg-options "-O2 -msse2 -ftree-vectorize -fdump-tree-vect-details -save-temps" } */
extern void abort ();
#define N 1024
float a[N] = {0.0f, -0.0f, 1.0f, -1.0f,
-2.0f, 3.0f, -5.0f, -8.0f,
13.0f, 21.0f, -25.0f, 33.0f};
int r[N];
int
main (void)
{
int i;
for (i = 0; i < N; i++)
r[i] = __builtin_signbitf (a[i]);
/* check results: */
for (i = 0; i < N; i++)
if (__builtin_signbitf (a[i]) && !r[i])
abort ();
return 0;
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
/* { dg-final { scan-assembler-not "\\$-2147483648" } } */
/* { dg-final { scan-assembler "psrld" } } */