diff -r bdaf862c64db -r a90df17d63aa src/cpu/o3/commit.hh --- a/src/cpu/o3/commit.hh Thu Dec 01 00:37:13 2011 -0800 +++ b/src/cpu/o3/commit.hh Thu Dec 01 00:37:13 2011 -0800 @@ -480,6 +480,8 @@ Stats::Vector statComFloating; /** Total number of integer instructions */ Stats::Vector statComInteger; + /** Total number of macro instructions */ + Stats::Vector statComInstMacro; /** Total number of function calls */ Stats::Vector statComFunctionCalls; diff -r bdaf862c64db -r a90df17d63aa src/cpu/o3/commit_impl.hh --- a/src/cpu/o3/commit_impl.hh Thu Dec 01 00:37:13 2011 -0800 +++ b/src/cpu/o3/commit_impl.hh Thu Dec 01 00:37:13 2011 -0800 @@ -200,6 +200,13 @@ .flags(total) ; + statComInstMacro + .init(cpu->numThreads) + .name(name() + ".count_macro") + .desc("Number of macro instructions committed") + .flags(total) + ; + statComSwp .init(cpu->numThreads) .name(name() + ".swp_count") @@ -1371,6 +1378,10 @@ statComMembars[tid]++; } + // Macro instruction Instruction + if (!inst->isMicroop() || inst->isLastMicroop()) + statComInstMacro[tid]++; + // Integer Instruction if (inst->isInteger()) statComInteger[tid]++;