Re: GCC target_clone support (functionality question)

2017-05-08 Thread Jeff Law
On 05/06/2017 12:44 AM, Richard Sandiford wrote: Michael Meissner writes: This message is separated from the question about moving code, as it is a questions about the functionality of target_clone support. Right now it looks like target_clone only generates the ifunc handler if there is a cal

Re: GCC target_clone support (functionality question)

2017-05-05 Thread Michael Meissner
On Fri, May 05, 2017 at 01:38:03PM -0700, Evgeny Stupachenko wrote: > On Fri, May 5, 2017 at 12:48 PM, Michael Meissner > wrote: > > On Fri, May 05, 2017 at 12:32:03PM -0700, Evgeny Stupachenko wrote: > >> Hi Michael, > >> > >> On Fri, May 5, 2017 at 11:45 AM, Michael Meissner > >> wrote: > >> >

Re: GCC target_clone support

2017-05-05 Thread Jeff Law
On 05/05/2017 12:18 PM, Michael Meissner wrote: I'm in the middle of adding support for the target_clone attribute to the PowerPC. At the moment, the x86_64/i386 port is the only port that supports target_clone. I added the arm/s390 port maintainers to this query, because those ports might also

Re: GCC target_clone support (functionality question)

2017-05-05 Thread Michael Meissner
On Fri, May 05, 2017 at 12:32:03PM -0700, Evgeny Stupachenko wrote: > Hi Michael, > > On Fri, May 5, 2017 at 11:45 AM, Michael Meissner > wrote: > > This message is separated from the question about moving code, as it is a > > questions about the functionality of target_clone support. > > > > Rig

Re: GCC target_clone support

2017-05-05 Thread Michael Meissner
A minor feature that also should be considered is if you have two clone functions, one that calls the other, we should optimize the call to avoid using the indirect call setup by ifunc. I.e. extern __attribute__((target_clones("default","avx","avx2"))) int caller (); extern __att

Re: GCC target_clone support (functionality question)

2017-05-05 Thread Michael Meissner
This message is separated from the question about moving code, as it is a questions about the functionality of target_clone support. Right now it looks like target_clone only generates the ifunc handler if there is a call to the function in the object file. It does not generate the ifunc handler

GCC target_clone support

2017-05-05 Thread Michael Meissner
I'm in the middle of adding support for the target_clone attribute to the PowerPC. At the moment, the x86_64/i386 port is the only port that supports target_clone. I added the arm/s390 port maintainers to this query, because those ports might also consider supporting target_clones in the future.