------- Comment #4 from drepper at redhat dot com 2009-04-21 19:51 ------- (In reply to comment #3) > Gcc 4.4 and above supports different target options on the function > level but not on a basic block level. So you can create an interneral > version for AVX.
This doesn't work either. Aside from being also impractical. First, you'd have to switch to AVX mode, in this case, to include <immintrin.h>. How do you switch back to what was used before? How to even determine it? Even if you can, try it, and you'll see that gcc is horribly broken when it comes to the target("...") attributes. In the current Fedora 11 compiler (4.4) all target options are apparently turned off and none of the intrinsics work at all. Even if the necessary support would be added and the bugs fixed it still differs from icc (where all this comes from) and not in a nice way. To the contrary, it's much, much more complicated. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39840