[PATCH][RFC] Make the function vectorizer capable of doing type transformations

Dorit Nuzman DORIT@il.ibm.com
Tue Feb 6 09:43:00 GMT 2007


Richard Guenther <rguenther@suse.de> wrote on 06/02/2007 11:14:15:

> On Tue, 6 Feb 2007, Dorit Nuzman wrote:
>
> > Richard Guenther <rguenther@suse.de> wrote on 01/02/2007 16:12:55:
> >
> > > On Thu, 1 Feb 2007, Dorit Nuzman wrote:
> > >
> > > > I looked back at my "todo" notes and realized that there were a
couple
> > > > additional bits that need fixing in vectorizable_call:
> > > >
....

> we have such a testcase in gcc.target/i386/vectorize2.c, it looks like
>
> double x[256];
> float y[256];
>
> void test1 (void)
> {
>   int j;
>   for (j=0; j<256; ++j)
>     x[j] = __builtin_sqrt (x[j]);
> }
>
> void test2 (void)
> {
>   int j;
>   for (j=0; j<256; ++j)
>     y[j] = __builtin_sqrtf (y[j]);
> }
>
> so we'll be noted if that starts failing.
>

cool

> Ah, I see.  So we can't trigger it right now, but I agree we should put
> in a testcase to prevent it in the future.  (We need a lot more testcases
> covering these corner cases for function vectorizing - it's just that
> the only target with support for that is i386 at the moment)
>

yep - we should either add the testcase or the STMT_VINFO_LIVE_P check, or,
preferably, both.

> Thanks for the detailed explanation,

sure,

dorit

> Richard.
>
> --
> Richard Guenther <rguenther@suse.de>
> Novell / SUSE Labs



More information about the Gcc-patches mailing list