/* { 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_signbit (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" } } */
