Florian Weimer wrote:
> In general, that is not true.  You can use the target function attribute
> and function multiversioning instead in many cases.

This may (or may not) have been recently fixed, but last I checked, 
intrinsics for a vector instruction set XYZ2 were only available with the 
corresponding -mxyz2 flag, which could only be set per compilation unit 
(attempting to use the recently introduced flag pragmas for this purpose was 
not supported either), and which would lead to GCC in some cases (out of the 
library programmer's control) using XYZ2 instructions also in other 
functions. As a result, the only safe way was to put all XYZ2 code in a 
separate compilation unit compiled with -mxyz2 (and only that compilation 
unit can use that flag). Has that situation improved recently (and how so)?

And that is just for C or non-template C++ code. C++ template instantiations 
make the situation even messier.

        Kevin Kofler
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to