http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47895
--- Comment #2 from vincenzo Innocente <vincenzo.innocente at cern dot ch> 2011-02-26 09:55:03 UTC --- I find that the solution with multiple files shifts the problem to the build system, which is not necessarily an easier solution in all projects, and make maintenance more difficult as more files need to be tracked for each single algorithm. I would much prefer a solution that is fully confined to the source code without involving the configuration and build system. In any case at the moment there is a clear unbalance between plane c code, for which a single compilation unit with multiple functions for different "targets" do work, and code exploiting builtins for which __attribute__ ((__target__ ("xyz"))) is not ineffective. I consider this behavior a defect.