http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49363

--- Comment #20 from davidxl <xinliangli at gmail dot com> 2012-05-10 20:45:58 
UTC ---
Auto Cloning is an independent feature. What is requested here is an extension
of a previous auto clone patch by Sri (which is based on command line option
-mversion=...).

David


(In reply to comment #18)
> On Thu, May 10, 2012 at 3:16 AM, vincenzo.innocente at cern dot ch
> <gcc-bugzi...@gcc.gnu.org> wrote:
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49363
> >
> > --- Comment #17 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 
> > 2012-05-10 10:16:13 UTC ---
> > I tested this
> >
> > float x[1024], y[1024], z[1024], w[1024];
> >
> > void foo() {
> >  for (int i=0; i!=1024; ++i)
> >     x[i]=y[i]*z[i]+w[i];
> > }
> >
> >
> > void __attribute__ ((target("arch=corei7"))) foo() {
> >  for (int i=0; i!=1024; ++i)
> >     x[i]=y[i]*z[i]+w[i];
> > }
> >
> > void __attribute__ ((target("avx"))) foo() {
> >  for (int i=0; i!=1024; ++i)
> >     x[i]=y[i]*z[i]+w[i];
> > }
> >
> >
> > and see the three versions generated  + the "resolver".
> >
> > As you notice the source code is identical as I'm exploiting compiler
> > autovectorization here.
> > In this case I was hoping that a single declaration such as  __attribute__
> > ((target("arch=corei7,avx")))
> > or  __attribute__ ((target("arch=corei7),target("avx"))) would generate the 
> > two
> > versions w/o hang to duplicate the source code.
> > Is this possible to support?
> 
> Yes, this is on the list of things to add. The front-end should clone
> the bodies and tag the attributes appropriately.
> 
> Thanks,
> -Sri,
> 
> 
> >
> > --
> > Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
> > ------- You are receiving this mail because: -------
> > You are on the CC list for the bug.

Reply via email to