On Tue, 16 Aug 2011, Sriraman Tallam wrote: (I don't see anyone else making this comment, so maybe I missed something obvious, but I don't think so...)
> Support for getting CPU type and feature information at run-time. > > The following patch provides support for finding the platform type at > run-time, like cpu type and features supported. The multi-versioning > framework will use the builtins added to dispatch the right function version. > Please refer to http://gcc.gnu.org/ml/gcc/2011-08/msg00298.html for details > on function multi-versioning usability. > > * tree-pass.h (pass_tree_fold_builtin_target): New pass. > * builtins.def (BUILT_IN_TARGET_SUPPORTS_CMOV): New builtin. > (BUILT_IN_TARGET_SUPPORTS_MMX): New builtin. > (BUILT_IN_TARGET_SUPPORTS_POPCOUNT): New builtin. > (BUILT_IN_TARGET_SUPPORTS_SSE): New builtin. > (BUILT_IN_TARGET_SUPPORTS_SSE2): New builtin. > (BUILT_IN_TARGET_SUPPORTS_SSE3): New builtin. > (BUILT_IN_TARGET_SUPPORTS_SSSE3): New builtin. > (BUILT_IN_TARGET_SUPPORTS_SSE4_1): New builtin. > (BUILT_IN_TARGET_SUPPORTS_SSE4_2): New builtin. > (BUILT_IN_TARGET_IS_AMD): New builtin. > (BUILT_IN_TARGET_IS_INTEL): New builtin. > (BUILT_IN_TARGET_IS_COREI7_NEHALEM): New builtin. > (BUILT_IN_TARGET_IS_COREI7_WESTMERE): New builtin. > (BUILT_IN_TARGET_IS_COREI7_SANDYBRIDGE): New builtin. > (BUILT_IN_TARGET_IS_AMDFAM10_BARCELONA): New builtin. > (BUILT_IN_TARGET_IS_AMDFAM10_SHANGHAI): New builtin. > (BUILT_IN_TARGET_IS_AMDFAM10_ISTANBUL): New builtin. (cut) Keep the port-specific bits in the port, please. I don't see why this has to be in generic files as opposed to target hooks and included target-specific file fragments like everything else (well, most everything) in gcc. If not, I think we'll see cpu_ports*variants explosion here until these bits are rewritten... brgds, H-P