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