http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742
--- Comment #15 from Sriraman Tallam <tmsriram at google dot com> 2013-01-14
18:07:28 UTC ---
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #12)
> > > (In reply to comment #10)
> > > > Either use a different name of the attribute (replace target with
> > > > mv_target or
> > > > whatever), or require a new attribute (mv?) to be present for
> > > > multi-versioning
> > > > (mv attribute on any of the decls would enable it, if mv attribute isn't
> > > > present on either of the two decls being merged, then the target
> > > > attribute is
> > > > merged as before 4.8).
> > >
> > >
> > > I like this proposal:
> >
> > I too like just using a different attribute name. I will prepare a patch
> > asap
> > for this.
> >
> > Thanks
> > Sri.
> >
> > >
> > > >require a new attribute (mv?) to be present for multi-versioning
> > > > (mv attribute on any of the decls would enable it, if mv attribute isn't
> > > > present on either of the two decls being merged, then the target
> > > > attribute is
> > > > merged as before 4.8)
> > >
> > >
> > > David
>
>
> I mean Jacub's second alternative -- adding additional attribute that alters
> the meaning of 'target' attribute -- when it is present, no merging will be
> done.
Ok, so the two options are :
1) int foo __attribute__ ((mv_target ("sse4.2")));
2) int foo __attribute__ ((target("sse4.2")), mv);
I dont have a strong preference.
>
>
> David