This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, GCC/i386 currently has about 73 boolean parameters/knobs (defined in ix86_tune_features[], indexed by ix86_tune_indices) to perform micro-arch specific performance tuning. However such settings are hard coded (fixed with a given -mtune setting) and is very hard to do performance experiment. The attached patch fixes the problem. The patch introduces a new option -mtune-ctrl=. Its parameter is a comma separated list of feature names to turn on associated features. Feature name can be prefixed by ^ to do the opposite. For instance, -mtune-ctrl=prologue_using_move,epilogue_using_move,^pad_returns tells the compiler to use move instructions in prologue/epilogue (instead of push/pop), and *not* pad return instructions. To facilitate the change, the feature tuning enums defined in i386.h are moved to a new file x86-tune.def and this file can be used to generate both the enums and names of the features. Ok for trunk? thanks, David 2013-08-03 Xinliang David Li <davidxl@google.com> * config/i386/i386.opt: New option -mtune-ctrl=. * config/i386/x86-tune.def: New file. * config/i386/i386.h: include x86-tune.def. * config/i386/i386.c (ix86_option_override_internal): Parsing -mtune-ctrl= option and set tune features.
Attachment:
mtune-ctrl.p.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |