http://codereview.appspot.com/5490054/diff/1011/config/i386/i386.c File config/i386/i386.c (right):
http://codereview.appspot.com/5490054/diff/1011/config/i386/i386.c#newcode26569 config/i386/i386.c:26569: +mversion_for_core2 (tree *optimization_node, -> mversionable_for_core2_p ? http://codereview.appspot.com/5490054/diff/1011/mversn-dispatch.c File mversn-dispatch.c (right): http://codereview.appspot.com/5490054/diff/1011/mversn-dispatch.c#newcode931 mversn-dispatch.c:931: DECL_STATIC_DESTRUCTOR (new_decl) = 0; Should you assert it instead? Should not clone ctor/dtors. http://codereview.appspot.com/5490054/diff/1011/mversn-dispatch.c#newcode2221 mversn-dispatch.c:2221: VEC_truncate (edge, EXIT_BLOCK_PTR->preds, 0); {} --> remove http://codereview.appspot.com/5490054/diff/1011/mversn-dispatch.c#newcode2389 mversn-dispatch.c:2389: How does it interact with manual multi-versioning from user? You probably don't want to clone functions that are marked with target attributes (explicitly -- not implied from command line). http://codereview.appspot.com/5490054/