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