/* { dg-do compile } */ | |
/* { dg-require-effective-target ilp32 } */ | |
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse2 -mfpmath=sse" } */ | |
float a[256]; | |
int b[256]; | |
unsigned short c[256]; | |
extern long lrintf (float); | |
void foo(void) | |
{ | |
int i; | |
for (i=0; i<256; ++i) | |
b[i] = lrintf (a[i]); | |
} | |
void bar(void) | |
{ | |
int i; | |
for (i=0; i<256; ++i) | |
{ | |
b[i] = lrintf (a[i]); | |
c[i] += c[i]; | |
} | |
} | |
/* { dg-final { scan-assembler "cvtps2dq" } } */ |