Function Multiversioning in GCC6

Xi Ruoyao ryxi@stu.xidian.edu.cn
Thu Mar 23 10:45:00 GMT 2017


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@stu.xidian.edu.cn>
School of Aerospace Science and Technology, Xidian University



More information about the Gcc-help mailing list