http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56298



--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-12 
13:16:47 UTC ---

The intrinsics do _not_ work if the corresponding CPU ISA feature is not

enabled

on the command-line.  That's a fact - whether that's good is another question.

A CPU feature agnostic intrinsics implementation would need to use inline-asm.



A workaround is to put the AES-NI using function into a separate translation

unit that you compile with -maes.



This bug also applies to the new multiversioning feature or the target

attribute feature all of which do not allow intrinsic header uses without

globally enabling CPU ISA features (well, for the target attribute you

could switch the ISA features _off_ in all places you do not want to use

them ... ick).



Thus, confirmed.  The situation isn't really desirable (but maybe not

easily fixable, too).



The Intel compiler intrinsic headers do not use inline functions

but the intrinsic decls directly (as if they were builtins).



GCC 4.1 simply effectively made the intrinsics headers empty (by wrapping

them in #ifdef FEATURE), at least since GCC 4.3 we have the #errors.

Reply via email to