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.