On Fri, Apr 27, 2012 at 6:38 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Thu, Apr 26, 2012 at 10:08 PM, Sriraman Tallam <tmsri...@google.com> wrote: >> Hi, >> >> I have made the following changes in this new patch which is attached: >> >> * Use target attribute itself to create function versions. >> * Handle any number of ISA names and arch= args to target attribute, >> generating the right dispatchers. >> * Integrate with the CPU runtime detection checked in this week. >> * Overload resolution: If the caller's target matches any of the >> version function's target, then a direct call to the version is >> generated, no need to go through the dispatching. >> >> Patch also available for review here: >> http://codereview.appspot.com/5752064 >> > > Does it work with > > int foo (); > int foo () __attribute__ ((targetv("arch=corei7"))); > > int (*foo_p) () = foo?
Yes, this will work. foo_p will be the address of the dispatcher function and hence doing (*foo_p)() will call the right version. > > Does it support C++? Partially, no support for virtual function versioning yet. I will add it in the next iteration. Thanks, -Sri. > > Thanks. > > -- > H.J.