On Fri, Apr 27, 2012 at 7:35 AM, Sriraman Tallam <tmsri...@google.com> wrote: > 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.
Even when foo_p is a global variable and compiled with -fPIC? Thanks. -- H.J.