<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 8, 2015 at 12:54 PM, Joerg Sonnenberger via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Dec 08, 2015 at 12:41:57PM -0800, David Blaikie wrote:<br>
> On Tue, Dec 8, 2015 at 12:18 PM, Joerg Sonnenberger via cfe-dev <<br>
> <a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br>
><br>
> > On Tue, Dec 08, 2015 at 09:38:58AM -0800, David Blaikie via cfe-dev wrote:<br>
> > > Implementing actual multiversioning (with the overloads, ifunc<br>
> > > relocations/stub generation, etc) is not implemented currently and while<br>
> > I<br>
> > > don't know of anyone who has plans to, it's certainly something that<br>
> > could<br>
> > > be done (ie: the project isn't philosophically opposed to the feature or<br>
> > > anything).<br>
> ><br>
> > We are not? IMO creating tools for magically matching the target to<br>
> > whatever the system currently runs on is not the job of the compiler.<br>
> ><br>
><br>
> *shrug* Seems like a reasonable feature that GCC offers and people use.<br>
> What would be the problem with it?<br>
<br>
</span>Do you want code emitted to magically call __cpuid() and match patterns<br>
or whatever on it?</blockquote><div><br></div><div>That's what GCC does here, so far as I know.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> This kind of logic sounds to be exactly like the<br>
thing an application should be controlling.<br></blockquote><div><br></div><div>That's an option - if we surface the raw ifunc stuff, which I imagine we would first before implementing the higher level function multiversioning.<br><br>But I'm not sure it adds a lot of value to have the application write that code - but sure, could take a bit of a survey and see if function multiversioning is used much/worth the compiler implementation complexity over just implementing ifunc and letting the user figure it out from there.<br><br>- Dave</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
Joerg<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div></div>