This patch fixes performance regression with -mtune=atom. Changing atom cost removes regression in several tests of EEMBC and spec2000. Bootstrap amd make check Ok for both with and witout -mtune-atom. OK for trunk?
2011-09-30 Yakovlev Vladimir vladimir.b.yakov...@intel.com * gcc/config/i386/i386.c (atom_cost): Changed cost for loading QImode using movzbl. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 7e89dbd..8a512a7 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1672,7 +1672,7 @@ struct processor_costs atom_cost = { COSTS_N_INSNS (1), /* cost of movzx */ 8, /* "large" insn */ 17, /* MOVE_RATIO */ - 2, /* cost for loading QImode using movzbl */ + 4, /* cost for loading QImode using movzbl */ {4, 4, 4}, /* cost of loading integer registers in QImode, HImode and SImode. Relative to reg-reg move (2). */