On Mon, Nov 7, 2011 at 7:38 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> BUILT_IN_LRINT has been vectorized just using 16-byte > vectors, the following patch cures it (of course, for -m64 > it unfortunately can't be vectorized, as long there is DImode > rather than SImode). Hm... Looking at convert.c (around line 492), can't we process BULT_IN_{L,LL}RINT similar to existing BUILT_IN_RINT conversion? This would convert (and vectorize): --cut here-- double a[256]; int b[256]; extern long lrint (double); void foo(void) { int i; for (i=0; i<256; ++i) b[i] = (int) lrint (a[i]); } --cut here-- also on x86-64. Uros.