On Thu, Mar 23, 2017 at 4:45 AM, O Mahony, Billy <billy.o.mahony@xxxxxxxxx> wrote: > > Hi Xi, > > Thanks for the clarification/confirmation. > > Regards, > Billy. > > > -----Original Message----- > > From: Xi Ruoyao [mailto:ryxi@xxxxxxxxxxxxxxxxx] > > Sent: Thursday, March 23, 2017 9:21 AM > > To: O Mahony, Billy <billy.o.mahony@xxxxxxxxx> > > Cc: ryxi@xxxxxxxxxxxxxxxxx; gcc-help@xxxxxxxxxxx > > Subject: Re: Function Multiversioning in GCC6 > > > > On 2017-03-22 10:51 +0000, O Mahony, Billy wrote: > > > > > However when I compile the first example in this LWN article > > > https://lwn.net/Articles/691932/ with gcc-6 C compiler it fails with > > > (error: redefinition of > > > 'foo'...) . > > > > The document <https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/Function- > > Multiversioning.html> said: > > > > With the GNU *C++* front end, for x86 targets, you may specify multiple > > versions of the function. > > > > FMV doesn't work with C FE. In C, __attribute__((target("sse4.2"))) just > > means to compile this function with -msse4.2, see > > <https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gcc/Common-Function- > > Attributes.html>. > > > > -- > > Xi Ruoyao <ryxi@xxxxxxxxxxxxxxxxx> > > School of Aerospace Science and Technology, Xidian University > You can also read this LWN article: https://lwn.net/Articles/691932/