#PPC64 POWER7 events
#
# Copyright OProfile authors
# Copyright (c) International Business Machines, 2009.
# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
#
#
#  Only events within the same group can be selected simultaneously.
#  Each event is given a unique event number.  The event number is used by the
#  OProfile code to resolve event names for the post-processing.  This is done
#  to preserve compatibility with the rest of the OProfile code.  The event
#  numbers are formatted as follows: <group_num>concat(<counter for the event>).

#Group Default
event:0X001 counters:0 um:zero minimum:10000 name:CYCLES : Processor Cycles

#Group 0 with random sampling
event:0X002 counters:3 um:zero minimum:10000 name:CYCLES_RND_SMPL : Processor Cycles with random sampling


#Group 1 pm_utilization, CPI and utilization data
event:0X0010 counters:0 um:zero minimum:10000 name:PM_CYC_GRP1 : (Group 1 pm_utilization) Processor Cycles
event:0X0011 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0012 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP1 : (Group 1 pm_utilization) Number of PowerPC instructions successfully dispatched.
event:0X0013 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP1 : (Group 1 pm_utilization) Number of PowerPC Instructions that completed.
event:0X0014 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP1 : (Group 1 pm_utilization) Number of run instructions completed.
event:0X0015 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP1 : (Group 1 pm_utilization) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 2 pm_branch1, Branch operations
event:0X0020 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP2 : (Group 2 pm_branch1) The count value of a Branch and Count instruction was predicted
event:0X0021 counters:1 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP2 : (Group 2 pm_branch1) The target address of a Branch to Link instruction was predicted by the link stack.
event:0X0022 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP2 : (Group 2 pm_branch1) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
event:0X0023 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP2 : (Group 2 pm_branch1) A branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless a flush is detected from an older instruction.
event:0X0024 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP2 : (Group 2 pm_branch1) Number of run instructions completed.
event:0X0025 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP2 : (Group 2 pm_branch1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 3 pm_branch2, Branch operations
event:0X0030 counters:0 um:zero minimum:1000 name:PM_BR_PRED_GRP3 : (Group 3 pm_branch2) A branch prediction was made. This could have been a target prediction, a condition prediction, or both
event:0X0031 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP3 : (Group 3 pm_branch2) A conditional branch instruction was predicted as taken or not taken.
event:0X0032 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP3 : (Group 3 pm_branch2) The count value of a Branch and Count instruction was predicted
event:0X0033 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP3 : (Group 3 pm_branch2) The target address of a Branch to Link instruction was predicted by the link stack.
event:0X0034 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP3 : (Group 3 pm_branch2) Number of run instructions completed.
event:0X0035 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP3 : (Group 3 pm_branch2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 4 pm_branch3, Branch operations
event:0X0040 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP4 : (Group 4 pm_branch3) The Branch execution unit finished an instruction
event:0X0041 counters:1 um:zero minimum:1000 name:PM_BR_TAKEN_GRP4 : (Group 4 pm_branch3) A branch instruction was taken. This could have been a conditional branch or an unconditional branch
event:0X0042 counters:2 um:zero minimum:1000 name:PM_BR_PRED_GRP4 : (Group 4 pm_branch3) A branch prediction was made. This could have been a target prediction, a condition prediction, or both
event:0X0043 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP4 : (Group 4 pm_branch3) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0044 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP4 : (Group 4 pm_branch3) Number of run instructions completed.
event:0X0045 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP4 : (Group 4 pm_branch3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 5 pm_branch4, Branch operations
event:0X0050 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP5 : (Group 5 pm_branch4) A conditional branch instruction was incorrectly predicted as taken or not taken.  The branch execution unit detects a branch mispredict because the CR value is opposite of the predicted value. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
event:0X0051 counters:1 um:zero minimum:1000 name:PM_BR_UNCOND_GRP5 : (Group 5 pm_branch4) An unconditional branch was executed.
event:0X0052 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP5 : (Group 5 pm_branch4) A branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless a flush is detected from an older instruction.
event:0X0053 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP5 : (Group 5 pm_branch4) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
event:0X0054 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP5 : (Group 5 pm_branch4) Number of run instructions completed.
event:0X0055 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP5 : (Group 5 pm_branch4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 6 pm_branch5, Branch operations
event:0X0060 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CR_TA_GRP6 : (Group 6 pm_branch5) Both the condition (taken or not taken) and the target address of a branch instruction was predicted.
event:0X0061 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_CR_TA_GRP6 : (Group 6 pm_branch5) Branch mispredict - taken/not taken and target
event:0X0062 counters:2 um:zero minimum:1000 name:PM_BR_PRED_GRP6 : (Group 6 pm_branch5) A branch prediction was made. This could have been a target prediction, a condition prediction, or both
event:0X0063 counters:3 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP6 : (Group 6 pm_branch5) A conditional branch instruction was predicted as taken or not taken.
event:0X0064 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP6 : (Group 6 pm_branch5) Number of run instructions completed.
event:0X0065 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP6 : (Group 6 pm_branch5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 7 pm_branch6, Branch operations
event:0X0070 counters:0 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP7 : (Group 7 pm_branch6) The count value of a Branch and Count instruction was predicted
event:0X0071 counters:1 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP7 : (Group 7 pm_branch6) The target address of a Branch to Link instruction was predicted by the link stack.
event:0X0072 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP7 : (Group 7 pm_branch6) A conditional branch instruction was predicted as taken or not taken.
event:0X0073 counters:3 um:zero minimum:1000 name:PM_BR_PRED_TA_GRP7 : (Group 7 pm_branch6) The target address of a branch instruction was predicted.
event:0X0074 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP7 : (Group 7 pm_branch6) Number of run instructions completed.
event:0X0075 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP7 : (Group 7 pm_branch6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 8 pm_branch7, Branch operations
event:0X0080 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CR_GRP8 : (Group 8 pm_branch7) A conditional branch instruction was incorrectly predicted as taken or not taken.  The branch execution unit detects a branch mispredict because the CR value is opposite of the predicted value. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
event:0X0081 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP8 : (Group 8 pm_branch7) A conditional branch instruction was predicted as taken or not taken.
event:0X0082 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP8 : (Group 8 pm_branch7) The count value of a Branch and Count instruction was predicted
event:0X0083 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP8 : (Group 8 pm_branch7) The target address of a Branch to Link instruction was predicted by the link stack.
event:0X0084 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP8 : (Group 8 pm_branch7) Number of run instructions completed.
event:0X0085 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP8 : (Group 8 pm_branch7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 9 pm_branch8, Branch operations
event:0X0090 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_TA_GRP9 : (Group 9 pm_branch8) A branch instruction target was incorrectly predicted. This will result in a branch mispredict flush unless a flush is detected from an older instruction.
event:0X0091 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP9 : (Group 9 pm_branch8) A conditional branch instruction was predicted as taken or not taken.
event:0X0092 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP9 : (Group 9 pm_branch8) The count value of a Branch and Count instruction was predicted
event:0X0093 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP9 : (Group 9 pm_branch8) The target address of a Branch to Link instruction was predicted by the link stack.
event:0X0094 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP9 : (Group 9 pm_branch8) Number of run instructions completed.
event:0X0095 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP9 : (Group 9 pm_branch8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 10 pm_branch9, Branch operations
event:0X00A0 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP10 : (Group 10 pm_branch9) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
event:0X00A1 counters:1 um:zero minimum:1000 name:PM_BR_PRED_CR_GRP10 : (Group 10 pm_branch9) A conditional branch instruction was predicted as taken or not taken.
event:0X00A2 counters:2 um:zero minimum:1000 name:PM_BR_PRED_CCACHE_GRP10 : (Group 10 pm_branch9) The count value of a Branch and Count instruction was predicted
event:0X00A3 counters:3 um:zero minimum:1000 name:PM_BR_PRED_LSTACK_GRP10 : (Group 10 pm_branch9) The target address of a Branch to Link instruction was predicted by the link stack.
event:0X00A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP10 : (Group 10 pm_branch9) Number of run instructions completed.
event:0X00A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP10 : (Group 10 pm_branch9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 11 pm_slb_miss, SLB Misses
event:0X00B0 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP11 : (Group 11 pm_slb_miss) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X00B1 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP11 : (Group 11 pm_slb_miss) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
event:0X00B2 counters:2 um:zero minimum:1000 name:PM_ISLB_MISS_GRP11 : (Group 11 pm_slb_miss) A SLB miss for an instruction fetch as occurred
event:0X00B3 counters:3 um:zero minimum:1000 name:PM_SLB_MISS_GRP11 : (Group 11 pm_slb_miss) Total of all Segment Lookaside Buffer (SLB) misses, Instructions + Data.
event:0X00B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP11 : (Group 11 pm_slb_miss) Number of run instructions completed.
event:0X00B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP11 : (Group 11 pm_slb_miss) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 12 pm_tlb_miss, TLB Misses
event:0X00C0 counters:0 um:zero minimum:1000 name:PM_BTAC_MISS_GRP12 : (Group 12 pm_tlb_miss) BTAC Mispredicted
event:0X00C1 counters:1 um:zero minimum:1000 name:PM_TLB_MISS_GRP12 : (Group 12 pm_tlb_miss) Total of Data TLB mises + Instruction TLB misses
event:0X00C2 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP12 : (Group 12 pm_tlb_miss) Data TLB misses, all page sizes.
event:0X00C3 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP12 : (Group 12 pm_tlb_miss) A TLB miss for an Instruction Fetch has occurred
event:0X00C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP12 : (Group 12 pm_tlb_miss) Number of run instructions completed.
event:0X00C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP12 : (Group 12 pm_tlb_miss) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 13 pm_dtlb_miss, DTLB Misses
event:0X00D0 counters:0 um:zero minimum:1000 name:PM_DTLB_MISS_16G_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 16GB pages that missed the TLB. Page size is determined at TLB reload time.
event:0X00D1 counters:1 um:zero minimum:1000 name:PM_DTLB_MISS_4K_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 4KB pages that missed the TLB. Page size is determined at TLB reload time.
event:0X00D2 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_64K_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 64KB pages that missed the TLB. Page size is determined at TLB reload time.
event:0X00D3 counters:3 um:zero minimum:1000 name:PM_DTLB_MISS_16M_GRP13 : (Group 13 pm_dtlb_miss) Data TLB references to 16MB pages that missed the TLB. Page size is determined at TLB reload time.
event:0X00D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP13 : (Group 13 pm_dtlb_miss) Number of run instructions completed.
event:0X00D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP13 : (Group 13 pm_dtlb_miss) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 14 pm_derat_miss1, DERAT misses
event:0X00E0 counters:0 um:zero minimum:1000 name:PM_DERAT_MISS_4K_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
event:0X00E1 counters:1 um:zero minimum:1000 name:PM_DERAT_MISS_64K_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
event:0X00E2 counters:2 um:zero minimum:1000 name:PM_DERAT_MISS_16M_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
event:0X00E3 counters:3 um:zero minimum:1000 name:PM_DERAT_MISS_16G_GRP14 : (Group 14 pm_derat_miss1) A data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
event:0X00E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP14 : (Group 14 pm_derat_miss1) Number of run instructions completed.
event:0X00E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP14 : (Group 14 pm_derat_miss1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 15 pm_derat_miss2, DERAT misses
event:0X00F0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP15 : (Group 15 pm_derat_miss2) Number of PowerPC Instructions that completed.
event:0X00F1 counters:1 um:zero minimum:1000 name:PM_DERAT_MISS_64K_GRP15 : (Group 15 pm_derat_miss2) A data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
event:0X00F2 counters:2 um:zero minimum:1000 name:PM_DERAT_MISS_16M_GRP15 : (Group 15 pm_derat_miss2) A data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
event:0X00F3 counters:3 um:zero minimum:1000 name:PM_DERAT_MISS_16G_GRP15 : (Group 15 pm_derat_miss2) A data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
event:0X00F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP15 : (Group 15 pm_derat_miss2) Number of run instructions completed.
event:0X00F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP15 : (Group 15 pm_derat_miss2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 16 pm_misc_miss1, Misses
event:0X0100 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP16 : (Group 16 pm_misc_miss1) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
event:0X0101 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP16 : (Group 16 pm_misc_miss1) The processor's Data Cache was reloaded but not from the local L2.
event:0X0102 counters:2 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP16 : (Group 16 pm_misc_miss1) Total D-ERAT Misses.  Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction.  Combined Unit 0 + 1.
event:0X0103 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP16 : (Group 16 pm_misc_miss1) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0104 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP16 : (Group 16 pm_misc_miss1) Number of run instructions completed.
event:0X0105 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP16 : (Group 16 pm_misc_miss1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 17 pm_misc_miss2, Misses
event:0X0110 counters:0 um:zero minimum:10000 name:PM_CYC_GRP17 : (Group 17 pm_misc_miss2) Processor Cycles
event:0X0111 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP17 : (Group 17 pm_misc_miss2)  Page Table Entry was loaded into the ERAT from beyond the L3 due to a demand load or store.
event:0X0112 counters:2 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP17 : (Group 17 pm_misc_miss2) Total D-ERAT Misses.  Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction.  Combined Unit 0 + 1.
event:0X0113 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP17 : (Group 17 pm_misc_miss2) Number of run instructions completed.
event:0X0114 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP17 : (Group 17 pm_misc_miss2) Number of run instructions completed.
event:0X0115 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP17 : (Group 17 pm_misc_miss2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 18 pm_misc_miss3, Misses
event:0X0120 counters:0 um:zero minimum:10000 name:PM_CYC_GRP18 : (Group 18 pm_misc_miss3) Processor Cycles
event:0X0121 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP18 : (Group 18 pm_misc_miss3)  Page Table Entry was loaded into the ERAT from beyond the L3 due to a demand load or store.
event:0X0122 counters:2 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP18 : (Group 18 pm_misc_miss3) Total D-ERAT Misses.  Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction.  Combined Unit 0 + 1.
event:0X0123 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP18 : (Group 18 pm_misc_miss3) A Page Table Entry was loaded into the TLB but not from the local L2.
event:0X0124 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP18 : (Group 18 pm_misc_miss3) Number of run instructions completed.
event:0X0125 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP18 : (Group 18 pm_misc_miss3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 19 pm_misc_miss4, Misses
event:0X0130 counters:0 um:zero minimum:1000 name:PM_DSLB_MISS_GRP19 : (Group 19 pm_misc_miss4) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
event:0X0131 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP19 : (Group 19 pm_misc_miss4) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X0132 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP19 : (Group 19 pm_misc_miss4) Number of PowerPC Instructions that completed.
event:0X0133 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP19 : (Group 19 pm_misc_miss4) Number of run instructions completed.
event:0X0134 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP19 : (Group 19 pm_misc_miss4) Number of run instructions completed.
event:0X0135 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP19 : (Group 19 pm_misc_miss4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 20 pm_misc_miss5, Misses
event:0X0140 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP20 : (Group 20 pm_misc_miss5) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0141 counters:1 um:zero minimum:1000 name:PM_DSLB_MISS_GRP20 : (Group 20 pm_misc_miss5) A SLB miss for a data request occurred. SLB misses trap to the operating system to resolve.
event:0X0142 counters:2 um:zero minimum:1000 name:PM_ISLB_MISS_GRP20 : (Group 20 pm_misc_miss5) A SLB miss for an instruction fetch as occurred
event:0X0143 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP20 : (Group 20 pm_misc_miss5) Number of PowerPC Instructions that completed.
event:0X0144 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP20 : (Group 20 pm_misc_miss5) Number of run instructions completed.
event:0X0145 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP20 : (Group 20 pm_misc_miss5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 21 pm_pteg1, PTEG sources
event:0X0150 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP21 : (Group 21 pm_pteg1) A Page Table Entry was loaded into the ERAT from the local L2 due to a demand load or store.
event:0X0151 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L3_GRP21 : (Group 21 pm_pteg1) Instruction PTEG loaded from L3
event:0X0152 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_L21_MOD_GRP21 : (Group 21 pm_pteg1) PTEG loaded from another L2 on same chip modified
event:0X0153 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_DL2L3_MOD_GRP21 : (Group 21 pm_pteg1) Instruction PTEG loaded from distant L2 or L3 modified
event:0X0154 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP21 : (Group 21 pm_pteg1) Number of run instructions completed.
event:0X0155 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP21 : (Group 21 pm_pteg1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 22 pm_pteg2, PTEG sources
event:0X0160 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L2_GRP22 : (Group 22 pm_pteg2) Instruction PTEG loaded from L2
event:0X0161 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RL2L3_SHR_GRP22 : (Group 22 pm_pteg2) Instruction PTEG loaded from remote L2 or L3 shared
event:0X0162 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_DL2L3_SHR_GRP22 : (Group 22 pm_pteg2) Instruction PTEG loaded from remote L2 or L3 shared
event:0X0163 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_MOD_GRP22 : (Group 22 pm_pteg2) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2  or L3 on a distant module due to a demand load or store.
event:0X0164 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP22 : (Group 22 pm_pteg2) Number of run instructions completed.
event:0X0165 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP22 : (Group 22 pm_pteg2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 23 pm_pteg3, PTEG sources
event:0X0170 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L31_MOD_GRP23 : (Group 23 pm_pteg3) PTEG loaded from another L3 on same chip modified
event:0X0171 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3MISS_GRP23 : (Group 23 pm_pteg3)  Page Table Entry was loaded into the ERAT from beyond the L3 due to a demand load or store.
event:0X0172 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RMEM_GRP23 : (Group 23 pm_pteg3) Instruction PTEG loaded from remote memory
event:0X0173 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP23 : (Group 23 pm_pteg3) A Page Table Entry was loaded into the TLB from memory attached to the same module this processor is located on.
event:0X0174 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP23 : (Group 23 pm_pteg3) Number of run instructions completed.
event:0X0175 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP23 : (Group 23 pm_pteg3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 24 pm_pteg4, PTEG sources
event:0X0180 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RL2L3_MOD_GRP24 : (Group 24 pm_pteg4) Instruction PTEG loaded from remote L2 or L3 modified
event:0X0181 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_DMEM_GRP24 : (Group 24 pm_pteg4) A Page Table Entry was loaded into the ERAT with data from memory attached to a distant module due to a demand load or store.
event:0X0182 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP24 : (Group 24 pm_pteg4) A Page Table Entry was loaded into the TLB from memory attached to a different module than this processor is located on.
event:0X0183 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP24 : (Group 24 pm_pteg4) A Page Table Entry was loaded into the TLB from memory attached to the same module this processor is located on.
event:0X0184 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP24 : (Group 24 pm_pteg4) Number of run instructions completed.
event:0X0185 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP24 : (Group 24 pm_pteg4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 25 pm_pteg5, PTEG sources
event:0X0190 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_MOD_GRP25 : (Group 25 pm_pteg5) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2  or L3 on a remote module due to a demand load or store.
event:0X0191 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L31_SHR_GRP25 : (Group 25 pm_pteg5) PTEG loaded from another L3 on same chip shared
event:0X0192 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_SHR_GRP25 : (Group 25 pm_pteg5) A Page Table Entry was loaded into the ERAT with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load or store.
event:0X0193 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L21_SHR_GRP25 : (Group 25 pm_pteg5) PTEG loaded from another L2 on same chip shared
event:0X0194 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP25 : (Group 25 pm_pteg5) Number of run instructions completed.
event:0X0195 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP25 : (Group 25 pm_pteg5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 26 pm_pteg6, PTEG sources
event:0X01A0 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L31_MOD_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from another L3 on same chip modified
event:0X01A1 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_DMEM_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from distant memory
event:0X01A2 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L21_MOD_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from another L2 on same chip modified
event:0X01A3 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_LMEM_GRP26 : (Group 26 pm_pteg6) Instruction PTEG loaded from local memory
event:0X01A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP26 : (Group 26 pm_pteg6) Number of run instructions completed.
event:0X01A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP26 : (Group 26 pm_pteg6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 27 pm_pteg7, PTEG sources
event:0X01B0 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L31_MOD_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L3 on same chip modified
event:0X01B1 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L31_SHR_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L3 on same chip shared
event:0X01B2 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L21_MOD_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L2 on same chip modified
event:0X01B3 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L21_SHR_GRP27 : (Group 27 pm_pteg7) Instruction PTEG loaded from another L2 on same chip shared
event:0X01B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP27 : (Group 27 pm_pteg7) Number of run instructions completed.
event:0X01B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP27 : (Group 27 pm_pteg7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 28 pm_pteg8, PTEG sources
event:0X01C0 counters:0 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L2_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from L2
event:0X01C1 counters:1 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L3MISS_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from L3 miss
event:0X01C2 counters:2 um:zero minimum:1000 name:PM_INST_PTEG_FROM_RMEM_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from remote memory
event:0X01C3 counters:3 um:zero minimum:1000 name:PM_INST_PTEG_FROM_L2MISS_GRP28 : (Group 28 pm_pteg8) Instruction PTEG loaded from L2 miss
event:0X01C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP28 : (Group 28 pm_pteg8) Number of run instructions completed.
event:0X01C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP28 : (Group 28 pm_pteg8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 29 pm_pteg9, PTEG sources
event:0X01D0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the ERAT from the local L2 due to a demand load or store.
event:0X01D1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the TLB from the local L3 due to a demand load.
event:0X01D2 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the TLB from memory attached to a different module than this processor is located on.
event:0X01D3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_L2MISS_GRP29 : (Group 29 pm_pteg9) A Page Table Entry was loaded into the TLB but not from the local L2.
event:0X01D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP29 : (Group 29 pm_pteg9) Number of run instructions completed.
event:0X01D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP29 : (Group 29 pm_pteg9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 30 pm_pteg10, PTEG sources
event:0X01E0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_L2_GRP30 : (Group 30 pm_pteg10) A Page Table Entry was loaded into the ERAT from the local L2 due to a demand load or store.
event:0X01E1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_L3_GRP30 : (Group 30 pm_pteg10) A Page Table Entry was loaded into the TLB from the local L3 due to a demand load.
event:0X01E2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP30 : (Group 30 pm_pteg10) Number of PowerPC Instructions that completed.
event:0X01E3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP30 : (Group 30 pm_pteg10) Processor Cycles
event:0X01E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP30 : (Group 30 pm_pteg10) Number of run instructions completed.
event:0X01E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP30 : (Group 30 pm_pteg10) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 31 pm_pteg11, PTEG sources
event:0X01F0 counters:0 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_MOD_GRP31 : (Group 31 pm_pteg11) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2  or L3 on a remote module due to a demand load or store.
event:0X01F1 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_RL2L3_SHR_GRP31 : (Group 31 pm_pteg11) A Page Table Entry was loaded into the ERAT with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load or store.
event:0X01F2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP31 : (Group 31 pm_pteg11) Number of PowerPC Instructions that completed.
event:0X01F3 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_DL2L3_MOD_GRP31 : (Group 31 pm_pteg11) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2  or L3 on a distant module due to a demand load or store.
event:0X01F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP31 : (Group 31 pm_pteg11) Number of run instructions completed.
event:0X01F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP31 : (Group 31 pm_pteg11) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 32 pm_pteg12, PTEG sources
event:0X0200 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP32 : (Group 32 pm_pteg12) Number of PowerPC Instructions that completed.
event:0X0201 counters:1 um:zero minimum:1000 name:PM_PTEG_FROM_DMEM_GRP32 : (Group 32 pm_pteg12) A Page Table Entry was loaded into the ERAT with data from memory attached to a distant module due to a demand load or store.
event:0X0202 counters:2 um:zero minimum:1000 name:PM_PTEG_FROM_RMEM_GRP32 : (Group 32 pm_pteg12) A Page Table Entry was loaded into the TLB from memory attached to a different module than this processor is located on.
event:0X0203 counters:3 um:zero minimum:1000 name:PM_PTEG_FROM_LMEM_GRP32 : (Group 32 pm_pteg12) A Page Table Entry was loaded into the TLB from memory attached to the same module this processor is located on.
event:0X0204 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP32 : (Group 32 pm_pteg12) Number of run instructions completed.
event:0X0205 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP32 : (Group 32 pm_pteg12) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 33 pm_freq1, Frequency events
event:0X0210 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP33 : (Group 33 pm_freq1) Power Management Event 1
event:0X0211 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP33 : (Group 33 pm_freq1) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
event:0X0212 counters:2 um:zero minimum:1000 name:PM_FREQ_DOWN_GRP33 : (Group 33 pm_freq1) Processor frequency was slowed down due to power management
event:0X0213 counters:3 um:zero minimum:1000 name:PM_FREQ_UP_GRP33 : (Group 33 pm_freq1) Processor frequency was sped up due to power management
event:0X0214 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP33 : (Group 33 pm_freq1) Number of run instructions completed.
event:0X0215 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP33 : (Group 33 pm_freq1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 34 pm_freq2, Frequency events
event:0X0220 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP34 : (Group 34 pm_freq2) Power Management Event 1
event:0X0221 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP34 : (Group 34 pm_freq2) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
event:0X0222 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP34 : (Group 34 pm_freq2) Dispatch Held due to Thermal
event:0X0223 counters:3 um:zero minimum:1000 name:PM_FREQ_UP_GRP34 : (Group 34 pm_freq2) Processor frequency was sped up due to power management
event:0X0224 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP34 : (Group 34 pm_freq2) Number of run instructions completed.
event:0X0225 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP34 : (Group 34 pm_freq2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 35 pm_L1_ref, L1 references
event:0X0230 counters:0 um:zero minimum:1000 name:PM_LD_REF_L1_GRP35 : (Group 35 pm_L1_ref)  L1 D cache load references counted at finish
event:0X0231 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_LSU0_GRP35 : (Group 35 pm_L1_ref) Load references to Level 1 Data Cache, by unit 0.
event:0X0232 counters:2 um:zero minimum:1000 name:PM_LD_REF_L1_LSU1_GRP35 : (Group 35 pm_L1_ref) Load references to Level 1 Data Cache, by unit 1.
event:0X0233 counters:3 um:zero minimum:1000 name:PM_LSU_TWO_TABLEWALK_CYC_GRP35 : (Group 35 pm_L1_ref) Cycles when two tablewalks pending on this thread
event:0X0234 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP35 : (Group 35 pm_L1_ref) Number of run instructions completed.
event:0X0235 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP35 : (Group 35 pm_L1_ref) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 36 pm_flush1, Flushes
event:0X0240 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_SYNC_GRP36 : (Group 36 pm_flush1) Dispatch Flush: Sync
event:0X0241 counters:1 um:zero minimum:1000 name:PM_FLUSH_DISP_TLBIE_GRP36 : (Group 36 pm_flush1) Dispatch Flush: TLBIE
event:0X0242 counters:2 um:zero minimum:1000 name:PM_FLUSH_DISP_SB_GRP36 : (Group 36 pm_flush1) Dispatch Flush: Scoreboard
event:0X0243 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP36 : (Group 36 pm_flush1) Flushes occurred including LSU and Branch flushes.
event:0X0244 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP36 : (Group 36 pm_flush1) Number of run instructions completed.
event:0X0245 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP36 : (Group 36 pm_flush1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 37 pm_flush2, Flushes
event:0X0250 counters:0 um:zero minimum:1000 name:PM_FLUSH_PARTIAL_GRP37 : (Group 37 pm_flush2) Partial flush
event:0X0251 counters:1 um:zero minimum:1000 name:PM_FLUSH_DISP_GRP37 : (Group 37 pm_flush2) Dispatch flush
event:0X0252 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP37 : (Group 37 pm_flush2) A flush was initiated by the Load Store Unit.
event:0X0253 counters:3 um:zero minimum:1000 name:PM_LSU_PARTIAL_CDF_GRP37 : (Group 37 pm_flush2) A partial cacheline was returned from the L3
event:0X0254 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP37 : (Group 37 pm_flush2) Number of run instructions completed.
event:0X0255 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP37 : (Group 37 pm_flush2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 38 pm_flush, Flushes
event:0X0260 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_GRP38 : (Group 38 pm_flush) Dispatch flush
event:0X0261 counters:1 um:zero minimum:10000 name:PM_CYC_GRP38 : (Group 38 pm_flush) Processor Cycles
event:0X0262 counters:2 um:zero minimum:1000 name:PM_FLUSH_COMPLETION_GRP38 : (Group 38 pm_flush) Completion Flush
event:0X0263 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP38 : (Group 38 pm_flush) Flushes occurred including LSU and Branch flushes.
event:0X0264 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP38 : (Group 38 pm_flush) Number of run instructions completed.
event:0X0265 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP38 : (Group 38 pm_flush) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 39 pm_lsu_flush1, LSU Flush
event:0X0270 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP39 : (Group 39 pm_lsu_flush1) A load was flushed because it was unaligned (crossed a 64byte boundary, or 32 byte if it missed the L1).  Combined Unit 0 + 1.
event:0X0271 counters:1 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP39 : (Group 39 pm_lsu_flush1) A store was flushed because it was unaligned (crossed a 4K boundary).  Combined Unit 0 + 1.
event:0X0272 counters:2 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP39 : (Group 39 pm_lsu_flush1) Load Hit Load or Store Hit Load flush.  A younger load was flushed because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.  Combined Unit 0 + 1.
event:0X0273 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP39 : (Group 39 pm_lsu_flush1) Load Hit Store flush.  A younger load was flushed because it hits (overlaps) an older store that is already in the SRQ or in the same group.  If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding.  If the load and store are in the same group the load must be flushed to separate the two instructions.  Combined Unit 0 + 1.
event:0X0274 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP39 : (Group 39 pm_lsu_flush1) Number of run instructions completed.
event:0X0275 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP39 : (Group 39 pm_lsu_flush1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 40 pm_lsu_flush2, LSU Flush ULD
event:0X0280 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_ULD_GRP40 : (Group 40 pm_lsu_flush2) A load was flushed because it was unaligned (crossed a 64byte boundary, or 32 byte if it missed the L1).  Combined Unit 0 + 1.
event:0X0281 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_ULD_GRP40 : (Group 40 pm_lsu_flush2) A load was flushed from unit 0 because it was unaligned (crossed a 64 byte boundary, or 32 byte if it missed the L1)
event:0X0282 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_ULD_GRP40 : (Group 40 pm_lsu_flush2) A load was flushed from unit 1 because it was unaligned (crossed a 64 byte boundary, or 32 byte if it missed the L1).
event:0X0283 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP40 : (Group 40 pm_lsu_flush2) Flushes occurred including LSU and Branch flushes.
event:0X0284 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP40 : (Group 40 pm_lsu_flush2) Number of run instructions completed.
event:0X0285 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP40 : (Group 40 pm_lsu_flush2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 41 pm_lsu_flush3, LSU Flush UST
event:0X0290 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_UST_GRP41 : (Group 41 pm_lsu_flush3) A store was flushed because it was unaligned (crossed a 4K boundary).  Combined Unit 0 + 1.
event:0X0291 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_UST_GRP41 : (Group 41 pm_lsu_flush3) A store was flushed from unit 0 because it was unaligned (crossed a 4K boundary).
event:0X0292 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_UST_GRP41 : (Group 41 pm_lsu_flush3) A store was flushed from unit 1 because it was unaligned (crossed a 4K boundary)
event:0X0293 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP41 : (Group 41 pm_lsu_flush3) Flushes occurred including LSU and Branch flushes.
event:0X0294 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP41 : (Group 41 pm_lsu_flush3) Number of run instructions completed.
event:0X0295 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP41 : (Group 41 pm_lsu_flush3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 42 pm_lsu_flush4, LSU Flush LRQ
event:0X02A0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_LRQ_GRP42 : (Group 42 pm_lsu_flush4) Load Hit Load or Store Hit Load flush.  A younger load was flushed because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.  Combined Unit 0 + 1.
event:0X02A1 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_LRQ_GRP42 : (Group 42 pm_lsu_flush4) Load Hit Load or Store Hit Load flush.  A younger load was flushed from unit 0 because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.
event:0X02A2 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_LRQ_GRP42 : (Group 42 pm_lsu_flush4) Load Hit Load or Store Hit Load flush.  A younger load was flushed from unit 1 because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.
event:0X02A3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP42 : (Group 42 pm_lsu_flush4) Flushes occurred including LSU and Branch flushes.
event:0X02A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP42 : (Group 42 pm_lsu_flush4) Number of run instructions completed.
event:0X02A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP42 : (Group 42 pm_lsu_flush4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 43 pm_lsu_flush5, LSU Flush SRQ
event:0X02B0 counters:0 um:zero minimum:1000 name:PM_LSU_FLUSH_SRQ_GRP43 : (Group 43 pm_lsu_flush5) Load Hit Store flush.  A younger load was flushed because it hits (overlaps) an older store that is already in the SRQ or in the same group.  If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding.  If the load and store are in the same group the load must be flushed to separate the two instructions.  Combined Unit 0 + 1.
event:0X02B1 counters:1 um:zero minimum:1000 name:PM_LSU0_FLUSH_SRQ_GRP43 : (Group 43 pm_lsu_flush5) Load Hit Store flush.  A younger load was flushed from unit 0 because it hits (overlaps) an older store that is already in the SRQ or in the same group.  If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding.  If the load and store are in the same group the load must be flushed to separate the two instructions.
event:0X02B2 counters:2 um:zero minimum:1000 name:PM_LSU1_FLUSH_SRQ_GRP43 : (Group 43 pm_lsu_flush5) Load Hit Store flush.  A younger load was flushed from unit 1 because it hits (overlaps) an older store that is already in the SRQ or in the same group.  If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding.  If the load and store are in the same group the load must be flushed to separate the two instructions.
event:0X02B3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP43 : (Group 43 pm_lsu_flush5) Flushes occurred including LSU and Branch flushes.
event:0X02B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP43 : (Group 43 pm_lsu_flush5) Number of run instructions completed.
event:0X02B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP43 : (Group 43 pm_lsu_flush5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 44 pm_prefetch, I cache Prefetches
event:0X02C0 counters:0 um:zero minimum:1000 name:PM_IC_DEMAND_CYC_GRP44 : (Group 44 pm_prefetch) Cycles when a demand ifetch was pending
event:0X02C1 counters:1 um:zero minimum:1000 name:PM_IC_PREF_REQ_GRP44 : (Group 44 pm_prefetch) An instruction prefetch request has been made.
event:0X02C2 counters:2 um:zero minimum:1000 name:PM_IC_RELOAD_SHR_GRP44 : (Group 44 pm_prefetch) An Instruction Cache request was made by this thread and the cache line was already in the cache for the other thread. The line is marked valid for all threads.
event:0X02C3 counters:3 um:zero minimum:1000 name:PM_IC_PREF_WRITE_GRP44 : (Group 44 pm_prefetch) Number of Instruction Cache entries written because of prefetch. Prefetch entries are marked least recently used and are candidates for eviction if they are not needed to satify a demand fetch.
event:0X02C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP44 : (Group 44 pm_prefetch) Number of run instructions completed.
event:0X02C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP44 : (Group 44 pm_prefetch) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 45 pm_thread_cyc2, Thread cycles
event:0X02D0 counters:0 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP45 : (Group 45 pm_thread_cyc2) Cycles that both threads completed.
event:0X02D1 counters:1 um:zero minimum:1000 name:PM_THRD_ALL_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc2) Cycles when all threads had their run latches set. Operating systems use the run latch to indicate when they are doing useful work.
event:0X02D2 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP45 : (Group 45 pm_thread_cyc2) Instructions completed by this thread when both threads had their run latches set.
event:0X02D3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_0_1_CYC_GRP45 : (Group 45 pm_thread_cyc2)  Cycles thread running at priority level 0 or 1
event:0X02D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP45 : (Group 45 pm_thread_cyc2) Number of run instructions completed.
event:0X02D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 46 pm_thread_cyc5, Thread cycles
event:0X02E0 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_0_1_CYC_GRP46 : (Group 46 pm_thread_cyc5)  Cycles thread running at priority level 0 or 1
event:0X02E1 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_2_3_CYC_GRP46 : (Group 46 pm_thread_cyc5)  Cycles thread running at priority level 2 or 3
event:0X02E2 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_4_5_CYC_GRP46 : (Group 46 pm_thread_cyc5)  Cycles thread running at priority level 4 or 5
event:0X02E3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_6_7_CYC_GRP46 : (Group 46 pm_thread_cyc5)  Cycles thread running at priority level 6 or 7
event:0X02E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP46 : (Group 46 pm_thread_cyc5) Number of run instructions completed.
event:0X02E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP46 : (Group 46 pm_thread_cyc5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 47 pm_fxu1, FXU events
event:0X02F0 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP47 : (Group 47 pm_fxu1) FXU0 and FXU1 are both idle.
event:0X02F1 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP47 : (Group 47 pm_fxu1) Cycles when both FXU0 and FXU1 are busy.
event:0X02F2 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP47 : (Group 47 pm_fxu1) FXU0 is busy while FXU1 was idle
event:0X02F3 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP47 : (Group 47 pm_fxu1) FXU0 was idle while FXU1 was busy
event:0X02F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP47 : (Group 47 pm_fxu1) Number of run instructions completed.
event:0X02F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP47 : (Group 47 pm_fxu1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 48 pm_fxu2, FXU events
event:0X0300 counters:0 um:zero minimum:1000 name:PM_FXU0_FIN_GRP48 : (Group 48 pm_fxu2) The Fixed Point unit 0 finished an instruction and produced a result.  Instructions that finish may not necessary complete.
event:0X0301 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_fxu2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0302 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP48 : (Group 48 pm_fxu2) Number of PowerPC Instructions that completed.
event:0X0303 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP48 : (Group 48 pm_fxu2) The Fixed Point unit 1 finished an instruction and produced a result. Instructions that finish may not necessary complete.
event:0X0304 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP48 : (Group 48 pm_fxu2) Number of run instructions completed.
event:0X0305 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_fxu2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 49 pm_fxu3, FXU events
event:0X0310 counters:0 um:zero minimum:10000 name:PM_CYC_GRP49 : (Group 49 pm_fxu3) Processor Cycles
event:0X0311 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP49 : (Group 49 pm_fxu3) Cycles when both FXU0 and FXU1 are busy.
event:0X0312 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP49 : (Group 49 pm_fxu3) FXU0 is busy while FXU1 was idle
event:0X0313 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP49 : (Group 49 pm_fxu3) FXU0 was idle while FXU1 was busy
event:0X0314 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP49 : (Group 49 pm_fxu3) Number of run instructions completed.
event:0X0315 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP49 : (Group 49 pm_fxu3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 50 pm_fxu4, FXU events
event:0X0320 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP50 : (Group 50 pm_fxu4) FXU0 and FXU1 are both idle.
event:0X0321 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP50 : (Group 50 pm_fxu4) Cycles when both FXU0 and FXU1 are busy.
event:0X0322 counters:2 um:zero minimum:10000 name:PM_CYC_GRP50 : (Group 50 pm_fxu4) Processor Cycles
event:0X0323 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP50 : (Group 50 pm_fxu4) Number of PowerPC Instructions that completed.
event:0X0324 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP50 : (Group 50 pm_fxu4) Number of run instructions completed.
event:0X0325 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP50 : (Group 50 pm_fxu4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 51 pm_L2_RCLD, L2  RC load events
event:0X0330 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_GRP51 : (Group 51 pm_L2_RCLD)  L2  RC load dispatch attempt
event:0X0331 counters:1 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_OTHER_GRP51 : (Group 51 pm_L2_RCLD)  L2  RC load dispatch attempt failed due to other reasons
event:0X0332 counters:2 um:zero minimum:1000 name:PM_L2_RCST_DISP_GRP51 : (Group 51 pm_L2_RCLD)  L2  RC store dispatch attempt
event:0X0333 counters:3 um:zero minimum:1000 name:PM_L2_RCLD_BUSY_RC_FULL_GRP51 : (Group 51 pm_L2_RCLD)  L2  activated Busy to the core for loads due to all RC full
event:0X0334 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP51 : (Group 51 pm_L2_RCLD) Number of run instructions completed.
event:0X0335 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP51 : (Group 51 pm_L2_RCLD) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 52 pm_L2_RC, RC related events
event:0X0340 counters:0 um:zero minimum:1000 name:PM_L2_CO_FAIL_BUSY_GRP52 : (Group 52 pm_L2_RC)  L2  RC Cast Out dispatch attempt failed due to all CO machines busy
event:0X0341 counters:1 um:zero minimum:10000 name:PM_CYC_GRP52 : (Group 52 pm_L2_RC) Processor Cycles
event:0X0342 counters:2 um:zero minimum:1000 name:PM_L2_RC_ST_DONE_GRP52 : (Group 52 pm_L2_RC) RC did st to line that was Tx or Sx
event:0X0343 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP52 : (Group 52 pm_L2_RC) Number of PowerPC Instructions that completed.
event:0X0344 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP52 : (Group 52 pm_L2_RC) Number of run instructions completed.
event:0X0345 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP52 : (Group 52 pm_L2_RC) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 53 pm_L2_RCST, L2 RC Store Events
event:0X0350 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_GRP53 : (Group 53 pm_L2_RCST)  L2  RC load dispatch attempt
event:0X0351 counters:1 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_OTHER_GRP53 : (Group 53 pm_L2_RCST)  L2  RC load dispatch attempt failed due to other reasons
event:0X0352 counters:2 um:zero minimum:1000 name:PM_L2_RCST_DISP_FAIL_ADDR_GRP53 : (Group 53 pm_L2_RCST)  L2  RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
event:0X0353 counters:3 um:zero minimum:1000 name:PM_L2_RCST_DISP_FAIL_OTHER_GRP53 : (Group 53 pm_L2_RCST)  L2  RC store dispatch attempt failed due to other reasons
event:0X0354 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP53 : (Group 53 pm_L2_RCST) Number of run instructions completed.
event:0X0355 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP53 : (Group 53 pm_L2_RCST) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 54 pm_L2_ldst_1, L2 load/store
event:0X0360 counters:0 um:zero minimum:1000 name:PM_L2_ST_GRP54 : (Group 54 pm_L2_ldst_1) Data Store Count
event:0X0361 counters:1 um:zero minimum:1000 name:PM_L2_LD_MISS_GRP54 : (Group 54 pm_L2_ldst_1) Data Load Miss
event:0X0362 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP54 : (Group 54 pm_L2_ldst_1) Number of PowerPC Instructions that completed.
event:0X0363 counters:3 um:zero minimum:10000 name:PM_CYC_GRP54 : (Group 54 pm_L2_ldst_1) Processor Cycles
event:0X0364 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP54 : (Group 54 pm_L2_ldst_1) Number of run instructions completed.
event:0X0365 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP54 : (Group 54 pm_L2_ldst_1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 55 pm_L2_ldst_2, L2 load/store
event:0X0370 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP55 : (Group 55 pm_L2_ldst_2) Number of PowerPC Instructions that completed.
event:0X0371 counters:1 um:zero minimum:10000 name:PM_CYC_GRP55 : (Group 55 pm_L2_ldst_2) Processor Cycles
event:0X0372 counters:2 um:zero minimum:1000 name:PM_L2_LD_HIT_GRP55 : (Group 55 pm_L2_ldst_2) A load request (data or instruction) hit in the L2 directory.  Includes speculative, prefetched, and demand requests.  This event includes all requests to this L2 from all sources.  Total for all slices
event:0X0373 counters:3 um:zero minimum:1000 name:PM_L2_ST_HIT_GRP55 : (Group 55 pm_L2_ldst_2) A store request hit in the L2 directory.  This event includes all requests to this L2 from all sources. Total for all slices.
event:0X0374 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP55 : (Group 55 pm_L2_ldst_2) Number of run instructions completed.
event:0X0375 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP55 : (Group 55 pm_L2_ldst_2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 56 pm_L2_ldst_3, L2 load/store
event:0X0380 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP56 : (Group 56 pm_L2_ldst_3) Number of PowerPC Instructions that completed.
event:0X0381 counters:1 um:zero minimum:10000 name:PM_CYC_GRP56 : (Group 56 pm_L2_ldst_3) Processor Cycles
event:0X0382 counters:2 um:zero minimum:1000 name:PM_L2_LD_DISP_GRP56 : (Group 56 pm_L2_ldst_3) All successful load dispatches
event:0X0383 counters:3 um:zero minimum:1000 name:PM_L2_ST_DISP_GRP56 : (Group 56 pm_L2_ldst_3) All successful store dispatches
event:0X0384 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP56 : (Group 56 pm_L2_ldst_3) Number of run instructions completed.
event:0X0385 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP56 : (Group 56 pm_L2_ldst_3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 57 pm_L2_RCSTLD, L2 RC Load/Store Events
event:0X0390 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_ADDR_GRP57 : (Group 57 pm_L2_RCSTLD)  L2  RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
event:0X0391 counters:1 um:zero minimum:1000 name:PM_L2_RCST_BUSY_RC_FULL_GRP57 : (Group 57 pm_L2_RCSTLD)  L2  activated Busy to the core for stores due to all RC full
event:0X0392 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP57 : (Group 57 pm_L2_RCSTLD) Number of PowerPC Instructions that completed.
event:0X0393 counters:3 um:zero minimum:10000 name:PM_CYC_GRP57 : (Group 57 pm_L2_RCSTLD) Processor Cycles
event:0X0394 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP57 : (Group 57 pm_L2_RCSTLD) Number of run instructions completed.
event:0X0395 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP57 : (Group 57 pm_L2_RCSTLD) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 58 pm_nest1, Nest Events
event:0X03A0 counters:0 um:zero minimum:1000 name:PM_PB_NODE_PUMP_GRP58 : (Group 58 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair0 Bit0
event:0X03A1 counters:1 um:zero minimum:1000 name:PM_PB_SYS_PUMP_GRP58 : (Group 58 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair1 Bit0
event:0X03A2 counters:2 um:zero minimum:1000 name:PM_PB_RETRY_NODE_PUMP_GRP58 : (Group 58 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair2 Bit0
event:0X03A3 counters:3 um:zero minimum:1000 name:PM_PB_RETRY_SYS_PUMP_GRP58 : (Group 58 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair3 Bit0
event:0X03A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP58 : (Group 58 pm_nest1) Number of run instructions completed.
event:0X03A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP58 : (Group 58 pm_nest1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 59 pm_nest2, Nest Events
event:0X03B0 counters:0 um:zero minimum:1000 name:PM_MEM0_RQ_DISP_GRP59 : (Group 59 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair0 Bit1
event:0X03B1 counters:1 um:zero minimum:1000 name:PM_MEM0_PREFETCH_DISP_GRP59 : (Group 59 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair1 Bit1
event:0X03B2 counters:2 um:zero minimum:1000 name:PM_MEM0_RD_CANCEL_TOTAL_GRP59 : (Group 59 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair2 Bit1
event:0X03B3 counters:3 um:zero minimum:1000 name:PM_MEM0_WQ_DISP_GRP59 : (Group 59 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair3 Bit1
event:0X03B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP59 : (Group 59 pm_nest2) Number of run instructions completed.
event:0X03B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP59 : (Group 59 pm_nest2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 60 pm_nest3, Nest Events
event:0X03C0 counters:0 um:zero minimum:1000 name:PM_NEST_PAIR0_ADD_GRP60 : (Group 60 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair0 ADD
event:0X03C1 counters:1 um:zero minimum:1000 name:PM_NEST_PAIR1_ADD_GRP60 : (Group 60 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair1 ADD
event:0X03C2 counters:2 um:zero minimum:1000 name:PM_NEST_PAIR2_ADD_GRP60 : (Group 60 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair2 ADD
event:0X03C3 counters:3 um:zero minimum:1000 name:PM_NEST_PAIR3_ADD_GRP60 : (Group 60 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair3 ADD
event:0X03C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP60 : (Group 60 pm_nest3) Number of run instructions completed.
event:0X03C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP60 : (Group 60 pm_nest3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 61 pm_nest4, Nest Events
event:0X03D0 counters:0 um:zero minimum:1000 name:PM_NEST_PAIR0_AND_GRP61 : (Group 61 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair0 AND
event:0X03D1 counters:1 um:zero minimum:1000 name:PM_NEST_PAIR1_AND_GRP61 : (Group 61 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair1 AND
event:0X03D2 counters:2 um:zero minimum:1000 name:PM_NEST_PAIR2_AND_GRP61 : (Group 61 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair2 AND
event:0X03D3 counters:3 um:zero minimum:1000 name:PM_NEST_PAIR3_AND_GRP61 : (Group 61 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair3 AND
event:0X03D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP61 : (Group 61 pm_nest4) Number of run instructions completed.
event:0X03D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP61 : (Group 61 pm_nest4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 62 pm_L2_redir_pref, L2 redirect and prefetch
event:0X03E0 counters:0 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP62 : (Group 62 pm_L2_redir_pref) A demand (not prefetch) miss to the instruction cache was sent to the L2 as a result of a branch prediction redirect (CR mispredict).
event:0X03E1 counters:1 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP62 : (Group 62 pm_L2_redir_pref) A demand (not prefetch) miss to the instruction cache was sent to the L2 as a result of a branch prediction redirect (either ALL mispredicted or Target).
event:0X03E2 counters:2 um:zero minimum:1000 name:PM_IC_DEMAND_REQ_GRP62 : (Group 62 pm_L2_redir_pref) Demand Instruction fetch request
event:0X03E3 counters:3 um:zero minimum:1000 name:PM_IC_BANK_CONFLICT_GRP62 : (Group 62 pm_L2_redir_pref) Read blocked due to interleave conflict.
event:0X03E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP62 : (Group 62 pm_L2_redir_pref) Number of run instructions completed.
event:0X03E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP62 : (Group 62 pm_L2_redir_pref) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 63 pm_dlatencies1, Data latencies
event:0X03F0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP63 : (Group 63 pm_dlatencies1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X03F1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP63 : (Group 63 pm_dlatencies1) Number of PowerPC instructions successfully dispatched.
event:0X03F2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP63 : (Group 63 pm_dlatencies1) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X03F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP63 : (Group 63 pm_dlatencies1) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
event:0X03F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP63 : (Group 63 pm_dlatencies1) Number of run instructions completed.
event:0X03F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP63 : (Group 63 pm_dlatencies1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 64 pm_dlatencies2, Data latencies
event:0X0400 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP64 : (Group 64 pm_dlatencies2) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X0401 counters:1 um:zero minimum:10000 name:PM_CYC_GRP64 : (Group 64 pm_dlatencies2) Processor Cycles
event:0X0402 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP64 : (Group 64 pm_dlatencies2) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0403 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP64 : (Group 64 pm_dlatencies2) Number of PowerPC Instructions that completed.
event:0X0404 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP64 : (Group 64 pm_dlatencies2) Number of run instructions completed.
event:0X0405 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP64 : (Group 64 pm_dlatencies2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 65 pm_dlatencies3, Data latencies
event:0X0410 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP65 : (Group 65 pm_dlatencies3) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a remote module due to a demand load
event:0X0411 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP65 : (Group 65 pm_dlatencies3) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
event:0X0412 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP65 : (Group 65 pm_dlatencies3) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0413 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP65 : (Group 65 pm_dlatencies3) Number of PowerPC Instructions that completed.
event:0X0414 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP65 : (Group 65 pm_dlatencies3) Number of run instructions completed.
event:0X0415 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP65 : (Group 65 pm_dlatencies3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 66 pm_rejects1, Reject event
event:0X0420 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_GRP66 : (Group 66 pm_rejects1) The Load Store Unit rejected an instruction. Combined Unit 0 + 1
event:0X0421 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_LHS_GRP66 : (Group 66 pm_rejects1) Load Store Unit 0 rejected a load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully.
event:0X0422 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LHS_GRP66 : (Group 66 pm_rejects1) Load Store Unit 1 rejected a load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully.
event:0X0423 counters:3 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP66 : (Group 66 pm_rejects1) The Load Store Unit rejected a load load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully. Combined Unit 0 + 1
event:0X0424 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP66 : (Group 66 pm_rejects1) Number of run instructions completed.
event:0X0425 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP66 : (Group 66 pm_rejects1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 67 pm_rejects2, Reject events
event:0X0430 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_GRP67 : (Group 67 pm_rejects2) The Load Store Unit rejected an instruction. Combined Unit 0 + 1
event:0X0431 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_ERAT_MISS_GRP67 : (Group 67 pm_rejects2) Total cycles the Load Store Unit is busy rejecting instructions due to an ERAT miss. Combined unit 0 + 1. Requests that miss the Derat are rejected and retried until the request hits in the Erat.
event:0X0432 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP67 : (Group 67 pm_rejects2) The Load Store Unit rejected an instruction because the cache set was improperly predicted. This is a fast reject and will be immediately redispatched. Combined Unit 0 + 1
event:0X0433 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP67 : (Group 67 pm_rejects2) The Store Request Queue is empty
event:0X0434 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP67 : (Group 67 pm_rejects2) Number of run instructions completed.
event:0X0435 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP67 : (Group 67 pm_rejects2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 68 pm_rejects3, Set mispredictions rejects
event:0X0440 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP68 : (Group 68 pm_rejects3) The Load Store Unit rejected an instruction because the cache set was improperly predicted. This is a fast reject and will be immediately redispatched. Combined Unit 0 + 1
event:0X0441 counters:1 um:zero minimum:1000 name:PM_LSU_SET_MPRED_GRP68 : (Group 68 pm_rejects3) Line already in cache at reload time
event:0X0442 counters:2 um:zero minimum:10000 name:PM_CYC_GRP68 : (Group 68 pm_rejects3) Processor Cycles
event:0X0443 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP68 : (Group 68 pm_rejects3) Number of PowerPC Instructions that completed.
event:0X0444 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP68 : (Group 68 pm_rejects3) Number of run instructions completed.
event:0X0445 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP68 : (Group 68 pm_rejects3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 69 pm_lsu_reject, LSU Reject Event
event:0X0450 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_LMQ_FULL_GRP69 : (Group 69 pm_lsu_reject) Total cycles the Load Store Unit is busy rejecting instructions because the Load Miss Queue was full. The LMQ has eight entries.  If all the eight entries are full, subsequent load instructions are rejected. Combined unit 0 + 1.
event:0X0451 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_LMQ_FULL_GRP69 : (Group 69 pm_lsu_reject) Total cycles the Load Store Unit 0 is busy rejecting instructions because the Load Miss Queue was full. The LMQ has eight entries.  If all eight entries are full, subsequent load instructions are rejected.
event:0X0452 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LMQ_FULL_GRP69 : (Group 69 pm_lsu_reject) Total cycles the Load Store Unit 1 is busy rejecting instructions because the Load Miss Queue was full. The LMQ has eight entries.  If all eight entries are full, subsequent load instructions are rejected.
event:0X0453 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP69 : (Group 69 pm_lsu_reject) Number of PowerPC Instructions that completed.
event:0X0454 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP69 : (Group 69 pm_lsu_reject) Number of run instructions completed.
event:0X0455 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP69 : (Group 69 pm_lsu_reject) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 70 pm_lsu_ncld, Non cachable loads
event:0X0460 counters:0 um:zero minimum:1000 name:PM_LSU_NCLD_GRP70 : (Group 70 pm_lsu_ncld) A non-cacheable load was executed. Combined Unit 0 + 1.
event:0X0461 counters:1 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP70 : (Group 70 pm_lsu_ncld) A non-cacheable load was executed by unit 0.
event:0X0462 counters:2 um:zero minimum:1000 name:PM_LSU1_NCLD_GRP70 : (Group 70 pm_lsu_ncld) A non-cacheable load was executed by Unit 0.
event:0X0463 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP70 : (Group 70 pm_lsu_ncld) Number of PowerPC Instructions that completed.
event:0X0464 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP70 : (Group 70 pm_lsu_ncld) Number of run instructions completed.
event:0X0465 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP70 : (Group 70 pm_lsu_ncld) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 71 pm_gct1, GCT events
event:0X0470 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP71 : (Group 71 pm_gct1) Cycles when the Global Completion Table has no slots from this thread.
event:0X0471 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP71 : (Group 71 pm_gct1) Cycles when the Global Completion Table was completely empty.  No thread had an entry allocated.
event:0X0472 counters:2 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP71 : (Group 71 pm_gct1) The Global Completion Table is completely full.
event:0X0473 counters:3 um:zero minimum:10000 name:PM_CYC_GRP71 : (Group 71 pm_gct1) Processor Cycles
event:0X0474 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP71 : (Group 71 pm_gct1) Number of run instructions completed.
event:0X0475 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP71 : (Group 71 pm_gct1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 72 pm_gct2, GCT Events
event:0X0480 counters:0 um:zero minimum:1000 name:PM_GCT_UTIL_1_TO_2_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 1-2 entries
event:0X0481 counters:1 um:zero minimum:1000 name:PM_GCT_UTIL_3_TO_6_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 3-6 entries
event:0X0482 counters:2 um:zero minimum:1000 name:PM_GCT_UTIL_7_TO_10_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 7-10 entries
event:0X0483 counters:3 um:zero minimum:1000 name:PM_GCT_UTIL_11_PLUS_SLOTS_GRP72 : (Group 72 pm_gct2) GCT Utilization 11+ entries
event:0X0484 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP72 : (Group 72 pm_gct2) Number of run instructions completed.
event:0X0485 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP72 : (Group 72 pm_gct2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 73 pm_L2_castout_invalidate_1, L2 castout and invalidate events
event:0X0490 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_MOD_GRP73 : (Group 73 pm_L2_castout_invalidate_1) An L2 line in the Modified state was castout. Total for all slices.
event:0X0491 counters:1 um:zero minimum:1000 name:PM_L2_DC_INV_GRP73 : (Group 73 pm_L2_castout_invalidate_1) The L2 invalidated a line in processor's data cache.  This is caused by the L2 line being cast out or invalidated. Total for all slices
event:0X0492 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Number of PowerPC Instructions that completed.
event:0X0493 counters:3 um:zero minimum:10000 name:PM_CYC_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Processor Cycles
event:0X0494 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Number of run instructions completed.
event:0X0495 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP73 : (Group 73 pm_L2_castout_invalidate_1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 74 pm_L2_castout_invalidate_2, L2 castout and invalidate events
event:0X04A0 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_SHR_GRP74 : (Group 74 pm_L2_castout_invalidate_2) An L2 line in the Shared state was castout. Total for all slices.
event:0X04A1 counters:1 um:zero minimum:1000 name:PM_L2_IC_INV_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Icache Invalidates from L2
event:0X04A2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Number of PowerPC Instructions that completed.
event:0X04A3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Processor Cycles
event:0X04A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Number of run instructions completed.
event:0X04A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP74 : (Group 74 pm_L2_castout_invalidate_2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 75 pm_disp_held1, Dispatch held conditions
event:0X04B0 counters:0 um:zero minimum:1000 name:PM_DISP_HELD_GRP75 : (Group 75 pm_disp_held1) Dispatch Held
event:0X04B1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP75 : (Group 75 pm_disp_held1) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
event:0X04B2 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP75 : (Group 75 pm_disp_held1) Dispatch Held due to Thermal
event:0X04B3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP75 : (Group 75 pm_disp_held1) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
event:0X04B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP75 : (Group 75 pm_disp_held1) Number of run instructions completed.
event:0X04B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP75 : (Group 75 pm_disp_held1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 76 pm_disp_held2, Dispatch held conditions
event:0X04C0 counters:0 um:zero minimum:1000 name:PM_THERMAL_WARN_GRP76 : (Group 76 pm_disp_held2) Processor in Thermal Warning
event:0X04C1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP76 : (Group 76 pm_disp_held2) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
event:0X04C2 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP76 : (Group 76 pm_disp_held2) Dispatch Held due to Thermal
event:0X04C3 counters:3 um:zero minimum:1000 name:PM_THERMAL_MAX_GRP76 : (Group 76 pm_disp_held2) The processor experienced a thermal overload condition. This bit is sticky, it remains set until cleared by software.
event:0X04C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP76 : (Group 76 pm_disp_held2) Number of run instructions completed.
event:0X04C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP76 : (Group 76 pm_disp_held2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 77 pm_disp_clb_held, Display CLB held conditions
event:0X04D0 counters:0 um:zero minimum:1000 name:PM_DISP_CLB_HELD_BAL_GRP77 : (Group 77 pm_disp_clb_held) Dispatch/CLB Hold: Balance
event:0X04D1 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_RES_GRP77 : (Group 77 pm_disp_clb_held) Dispatch/CLB Hold: Resource
event:0X04D2 counters:2 um:zero minimum:1000 name:PM_DISP_CLB_HELD_TLBIE_GRP77 : (Group 77 pm_disp_clb_held) Dispatch Hold: Due to TLBIE
event:0X04D3 counters:3 um:zero minimum:1000 name:PM_DISP_CLB_HELD_SYNC_GRP77 : (Group 77 pm_disp_clb_held) Dispatch/CLB Hold: Sync type instruction
event:0X04D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP77 : (Group 77 pm_disp_clb_held) Number of run instructions completed.
event:0X04D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP77 : (Group 77 pm_disp_clb_held) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 78 pm_power, Power Events
event:0X04E0 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP78 : (Group 78 pm_power) Power Management Event 1
event:0X04E1 counters:1 um:zero minimum:1000 name:PM_POWER_EVENT2_GRP78 : (Group 78 pm_power) Power Management Event 2
event:0X04E2 counters:2 um:zero minimum:1000 name:PM_POWER_EVENT3_GRP78 : (Group 78 pm_power) Power Management Event 3
event:0X04E3 counters:3 um:zero minimum:1000 name:PM_POWER_EVENT4_GRP78 : (Group 78 pm_power) Power Management Event 4
event:0X04E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP78 : (Group 78 pm_power) Number of run instructions completed.
event:0X04E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP78 : (Group 78 pm_power) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 79 pm_dispatch1, Groups and instructions dispatched
event:0X04F0 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP79 : (Group 79 pm_dispatch1) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X04F1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP79 : (Group 79 pm_dispatch1) Number of PowerPC instructions successfully dispatched.
event:0X04F2 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_GRP79 : (Group 79 pm_dispatch1) A group was dispatched
event:0X04F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP79 : (Group 79 pm_dispatch1) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
event:0X04F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP79 : (Group 79 pm_dispatch1) Number of run instructions completed.
event:0X04F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP79 : (Group 79 pm_dispatch1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 80 pm_dispatch2, Groups and instructions dispatched
event:0X0500 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP80 : (Group 80 pm_dispatch2) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0501 counters:1 um:zero minimum:10000 name:PM_CYC_GRP80 : (Group 80 pm_dispatch2) Processor Cycles
event:0X0502 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP80 : (Group 80 pm_dispatch2) Number of PowerPC Instructions that completed.
event:0X0503 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP80 : (Group 80 pm_dispatch2) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0504 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP80 : (Group 80 pm_dispatch2) Number of run instructions completed.
event:0X0505 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP80 : (Group 80 pm_dispatch2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 81 pm_ic, I cache operations
event:0X0510 counters:0 um:zero minimum:1000 name:PM_IC_REQ_ALL_GRP81 : (Group 81 pm_ic) Icache requests, prefetch + demand
event:0X0511 counters:1 um:zero minimum:1000 name:PM_IC_WRITE_ALL_GRP81 : (Group 81 pm_ic) Icache sectors written, prefetch + demand
event:0X0512 counters:2 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_ALL_GRP81 : (Group 81 pm_ic) Prefetch Canceled due to page boundary or icache hit
event:0X0513 counters:3 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_ALL_GRP81 : (Group 81 pm_ic)  L2 I cache demand request due to BHT or redirect
event:0X0514 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP81 : (Group 81 pm_ic) Number of run instructions completed.
event:0X0515 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP81 : (Group 81 pm_ic) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 82 pm_ic_pref_cancel, Instruction pre-fetched cancelled
event:0X0520 counters:0 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_PAGE_GRP82 : (Group 82 pm_ic_pref_cancel) Prefetch Canceled due to page boundary
event:0X0521 counters:1 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_HIT_GRP82 : (Group 82 pm_ic_pref_cancel) Prefetch Canceled due to icache hit
event:0X0522 counters:2 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_L2_GRP82 : (Group 82 pm_ic_pref_cancel) L2 Squashed request
event:0X0523 counters:3 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_ALL_GRP82 : (Group 82 pm_ic_pref_cancel) Prefetch Canceled due to page boundary or icache hit
event:0X0524 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP82 : (Group 82 pm_ic_pref_cancel) Number of run instructions completed.
event:0X0525 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP82 : (Group 82 pm_ic_pref_cancel) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 83 pm_ic_miss, Icache and Ierat miss events
event:0X0530 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP83 : (Group 83 pm_ic_miss) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0531 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP83 : (Group 83 pm_ic_miss) An instruction fetch request missed the L1 cache.
event:0X0532 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP83 : (Group 83 pm_ic_miss) Number of PowerPC Instructions that completed.
event:0X0533 counters:3 um:zero minimum:10000 name:PM_CYC_GRP83 : (Group 83 pm_ic_miss) Processor Cycles
event:0X0534 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP83 : (Group 83 pm_ic_miss) Number of run instructions completed.
event:0X0535 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP83 : (Group 83 pm_ic_miss) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 84 pm_cpi_stack1, CPI stack breakdown
event:0X0540 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP84 : (Group 84 pm_cpi_stack1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X0541 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP84 : (Group 84 pm_cpi_stack1) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes suffered a Data Cache Miss. Data Cache Miss has higher priority than any other Load/Store delay, so if an instruction encounters multiple delays only the Data Cache Miss will be reported and the entire delay period will be charged to Data Cache Miss. This is a subset of PM_CMPLU_STALL_LSU.
event:0X0542 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP84 : (Group 84 pm_cpi_stack1) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0543 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP84 : (Group 84 pm_cpi_stack1) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes suffered an ERAT miss. This is a subset of  PM_CMPLU_STALL_REJECT.
event:0X0544 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP84 : (Group 84 pm_cpi_stack1) Number of run instructions completed.
event:0X0545 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP84 : (Group 84 pm_cpi_stack1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 85 pm_cpi_stack2, CPI stack breakdown
event:0X0550 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP85 : (Group 85 pm_cpi_stack2) FXU0 and FXU1 are both idle.
event:0X0551 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP85 : (Group 85 pm_cpi_stack2) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes was a fixed point instruction.
event:0X0552 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP85 : (Group 85 pm_cpi_stack2) A group completed. Microcoded instructions that span multiple groups will generate this event once per group.
event:0X0553 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP85 : (Group 85 pm_cpi_stack2) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes was a fixed point divide instruction. This is a subset of PM_CMPLU_STALL_FXU.
event:0X0554 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP85 : (Group 85 pm_cpi_stack2) Number of run instructions completed.
event:0X0555 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP85 : (Group 85 pm_cpi_stack2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 86 pm_cpi_stack3, CPI stack breakdown
event:0X0560 counters:0 um:zero minimum:1000 name:PM_TABLEWALK_CYC_GRP86 : (Group 86 pm_cpi_stack3) Cycles doing instruction or data tablewalks
event:0X0561 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP86 : (Group 86 pm_cpi_stack3) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes was a load/store instruction.
event:0X0562 counters:2 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP86 : (Group 86 pm_cpi_stack3) Cycles a translation tablewalk is active.  While a tablewalk is active any request attempting to access the TLB will be rejected and retried.
event:0X0563 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP86 : (Group 86 pm_cpi_stack3) Following a completion stall (any period when no groups completed) the last instruction to finish before completion resumes suffered a load/store reject. This is a subset of PM_CMPLU_STALL_LSU.
event:0X0564 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP86 : (Group 86 pm_cpi_stack3) Number of run instructions completed.
event:0X0565 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP86 : (Group 86 pm_cpi_stack3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 87 pm_cpi_stack4, CPI stack breakdown
event:0X0570 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP87 : (Group 87 pm_cpi_stack4) A floating point operation has completed
event:0X0571 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_SCALAR_LONG_GRP87 : (Group 87 pm_cpi_stack4) Completion stall caused by long latency scalar instruction
event:0X0572 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_GRP87 : (Group 87 pm_cpi_stack4) Marked Group Completion Stall cycles
event:0X0573 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_SCALAR_GRP87 : (Group 87 pm_cpi_stack4) Completion stall caused by FPU instruction
event:0X0574 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP87 : (Group 87 pm_cpi_stack4) Number of run instructions completed.
event:0X0575 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP87 : (Group 87 pm_cpi_stack4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 88 pm_cpi_stack5, CPI stack breakdown
event:0X0580 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_END_GCT_NOSLOT_GRP88 : (Group 88 pm_cpi_stack5) Count ended because GCT went empty
event:0X0581 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_GRP88 : (Group 88 pm_cpi_stack5) Completion stall caused by Vector instruction
event:0X0582 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_COUNT_GRP88 : (Group 88 pm_cpi_stack5) Marked Group Completion Stall cycles (use edge detect to count #)
event:0X0583 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_GRP88 : (Group 88 pm_cpi_stack5) No groups completed, GCT not empty
event:0X0584 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP88 : (Group 88 pm_cpi_stack5) Number of run instructions completed.
event:0X0585 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP88 : (Group 88 pm_cpi_stack5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 89 pm_cpi_stack6, CPI stack breakdown
event:0X0590 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_THRD_GRP89 : (Group 89 pm_cpi_stack6) Completion Stalled due to thread conflict.  Group ready to complete but it was another thread's turn
event:0X0591 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DFU_GRP89 : (Group 89 pm_cpi_stack6) Completion stall caused by Decimal Floating Point Unit
event:0X0592 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP89 : (Group 89 pm_cpi_stack6) Number of PowerPC Instructions that completed.
event:0X0593 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_IC_MISS_GRP89 : (Group 89 pm_cpi_stack6) No slot in GCT caused by branch mispredict or I cache miss
event:0X0594 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP89 : (Group 89 pm_cpi_stack6) Number of run instructions completed.
event:0X0595 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP89 : (Group 89 pm_cpi_stack6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 90 pm_cpi_stack7, CPI stack breakdown
event:0X05A0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP90 : (Group 90 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread.
event:0X05A1 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP90 : (Group 90 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread because of an Instruction Cache miss.
event:0X05A2 counters:2 um:zero minimum:1000 name:PM_IOPS_DISP_GRP90 : (Group 90 pm_cpi_stack7) IOPS dispatched
event:0X05A3 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_GRP90 : (Group 90 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread because of a branch misprediction.
event:0X05A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP90 : (Group 90 pm_cpi_stack7) Number of run instructions completed.
event:0X05A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP90 : (Group 90 pm_cpi_stack7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 91 pm_dsource1, Data source information
event:0X05B0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP91 : (Group 91 pm_dsource1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X05B1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP91 : (Group 91 pm_dsource1) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X05B2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP91 : (Group 91 pm_dsource1) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X05B3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP91 : (Group 91 pm_dsource1) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X05B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP91 : (Group 91 pm_dsource1) Number of run instructions completed.
event:0X05B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP91 : (Group 91 pm_dsource1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 92 pm_dsource2, Data source information
event:0X05C0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP92 : (Group 92 pm_dsource2) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X05C1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L31_SHR_GRP92 : (Group 92 pm_dsource2) Data loaded from another L3 on same chip shared
event:0X05C2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP92 : (Group 92 pm_dsource2) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X05C3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP92 : (Group 92 pm_dsource2) The processor's Data Cache was reloaded but not from the local L2.
event:0X05C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP92 : (Group 92 pm_dsource2) Number of run instructions completed.
event:0X05C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP92 : (Group 92 pm_dsource2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 93 pm_dsource3, Data source information
event:0X05D0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP93 : (Group 93 pm_dsource3) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X05D1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP93 : (Group 93 pm_dsource3) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X05D2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L21_MOD_GRP93 : (Group 93 pm_dsource3) Data loaded from another L2 on same chip modified
event:0X05D3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP93 : (Group 93 pm_dsource3) The processor's Data Cache was reloaded but not from the local L2.
event:0X05D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP93 : (Group 93 pm_dsource3) Number of run instructions completed.
event:0X05D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP93 : (Group 93 pm_dsource3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 94 pm_dsource4, Data source information
event:0X05E0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L31_MOD_GRP94 : (Group 94 pm_dsource4) Data loaded from another L3 on same chip modified
event:0X05E1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP94 : (Group 94 pm_dsource4) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
event:0X05E2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP94 : (Group 94 pm_dsource4) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a demand load
event:0X05E3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP94 : (Group 94 pm_dsource4) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a demand load
event:0X05E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP94 : (Group 94 pm_dsource4) Number of run instructions completed.
event:0X05E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP94 : (Group 94 pm_dsource4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 95 pm_dsource5, Data source information
event:0X05F0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L31_SHR_GRP95 : (Group 95 pm_dsource5) Data loaded from another L3 on same chip shared
event:0X05F1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP95 : (Group 95 pm_dsource5) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X05F2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP95 : (Group 95 pm_dsource5) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a demand load
event:0X05F3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L21_SHR_GRP95 : (Group 95 pm_dsource5) Data loaded from another L2 on same chip shared
event:0X05F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP95 : (Group 95 pm_dsource5) Number of run instructions completed.
event:0X05F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP95 : (Group 95 pm_dsource5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 96 pm_dsource6, Data source information
event:0X0600 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP96 : (Group 96 pm_dsource6) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a remote module due to a demand load
event:0X0601 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP96 : (Group 96 pm_dsource6) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
event:0X0602 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L21_SHR_GRP96 : (Group 96 pm_dsource6) Data loaded from another L2 on same chip shared
event:0X0603 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP96 : (Group 96 pm_dsource6) The processor's Data Cache was reloaded but not from the local L2.
event:0X0604 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP96 : (Group 96 pm_dsource6) Number of run instructions completed.
event:0X0605 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP96 : (Group 96 pm_dsource6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 97 pm_dsource7, Data source information
event:0X0610 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
event:0X0611 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X0612 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a demand load
event:0X0613 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP97 : (Group 97 pm_dsource7) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a demand load
event:0X0614 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP97 : (Group 97 pm_dsource7) Number of run instructions completed.
event:0X0615 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP97 : (Group 97 pm_dsource7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 98 pm_dsource8, Data source information
event:0X0620 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP98 : (Group 98 pm_dsource8) Number of PowerPC Instructions that completed.
event:0X0621 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP98 : (Group 98 pm_dsource8) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X0622 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP98 : (Group 98 pm_dsource8) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X0623 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP98 : (Group 98 pm_dsource8) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0624 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP98 : (Group 98 pm_dsource8) Number of run instructions completed.
event:0X0625 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP98 : (Group 98 pm_dsource8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 99 pm_dsource9, Data source information
event:0X0630 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP99 : (Group 99 pm_dsource9) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X0631 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP99 : (Group 99 pm_dsource9) The processor's Data Cache was reloaded but not from the local L2.
event:0X0632 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP99 : (Group 99 pm_dsource9) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0633 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP99 : (Group 99 pm_dsource9) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0634 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP99 : (Group 99 pm_dsource9) Number of run instructions completed.
event:0X0635 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP99 : (Group 99 pm_dsource9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 100 pm_dsource10, Data source information
event:0X0640 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a remote module due to a demand load
event:0X0641 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a demand load
event:0X0642 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a demand load
event:0X0643 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP100 : (Group 100 pm_dsource10) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a demand load
event:0X0644 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP100 : (Group 100 pm_dsource10) Number of run instructions completed.
event:0X0645 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP100 : (Group 100 pm_dsource10) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 101 pm_dsource11, Data source information
event:0X0650 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP101 : (Group 101 pm_dsource11) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X0651 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP101 : (Group 101 pm_dsource11) The processor's Data Cache was reloaded but not from the local L2.
event:0X0652 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP101 : (Group 101 pm_dsource11) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X0653 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP101 : (Group 101 pm_dsource11) Number of run instructions completed.
event:0X0654 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP101 : (Group 101 pm_dsource11) Number of run instructions completed.
event:0X0655 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP101 : (Group 101 pm_dsource11) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 102 pm_dsource12, Data source information
event:0X0660 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP102 : (Group 102 pm_dsource12) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a remote module due to a demand load
event:0X0661 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP102 : (Group 102 pm_dsource12) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X0662 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP102 : (Group 102 pm_dsource12) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X0663 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP102 : (Group 102 pm_dsource12) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0664 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP102 : (Group 102 pm_dsource12) Number of run instructions completed.
event:0X0665 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP102 : (Group 102 pm_dsource12) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 103 pm_dsource13, Data source information
event:0X0670 counters:0 um:zero minimum:1000 name:PM_DERAT_MISS_4K_GRP103 : (Group 103 pm_dsource13) A data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
event:0X0671 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP103 : (Group 103 pm_dsource13) Number of PowerPC Instructions that completed.
event:0X0672 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP103 : (Group 103 pm_dsource13) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a demand load
event:0X0673 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP103 : (Group 103 pm_dsource13) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a demand load
event:0X0674 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP103 : (Group 103 pm_dsource13) Number of run instructions completed.
event:0X0675 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP103 : (Group 103 pm_dsource13) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 104 pm_dsource14, Data source information
event:0X0680 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP104 : (Group 104 pm_dsource14) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X0681 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP104 : (Group 104 pm_dsource14) Number of PowerPC Instructions that completed.
event:0X0682 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP104 : (Group 104 pm_dsource14) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X0683 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP104 : (Group 104 pm_dsource14) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0684 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP104 : (Group 104 pm_dsource14) Number of run instructions completed.
event:0X0685 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP104 : (Group 104 pm_dsource14) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 105 pm_dsource15, Data source information
event:0X0690 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP105 : (Group 105 pm_dsource15) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X0691 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP105 : (Group 105 pm_dsource15) Number of PowerPC Instructions that completed.
event:0X0692 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP105 : (Group 105 pm_dsource15) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0693 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP105 : (Group 105 pm_dsource15) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0694 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP105 : (Group 105 pm_dsource15) Number of run instructions completed.
event:0X0695 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP105 : (Group 105 pm_dsource15) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 106 pm_isource1, Instruction source information
event:0X06A0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from L2. Fetch Groups can contain up to 8 instructions
event:0X06A1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
event:0X06A2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X06A3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP106 : (Group 106 pm_isource1) An instruction fetch group was fetched from beyond the local L2.
event:0X06A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP106 : (Group 106 pm_isource1) Number of run instructions completed.
event:0X06A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP106 : (Group 106 pm_isource1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 107 pm_isource2, Instruction source information
event:0X06B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
event:0X06B1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X06B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched with modified  (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X06B3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP107 : (Group 107 pm_isource2) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X06B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP107 : (Group 107 pm_isource2) Number of run instructions completed.
event:0X06B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP107 : (Group 107 pm_isource2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 108 pm_isource3, Instruction source information
event:0X06C0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X06C1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X06C2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X06C3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP108 : (Group 108 pm_isource3) An instruction fetch group was fetched with modified  (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X06C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP108 : (Group 108 pm_isource3) Number of run instructions completed.
event:0X06C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP108 : (Group 108 pm_isource3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 109 pm_isource4, Instruction source information
event:0X06D0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L31_MOD_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L3 on same chip modified
event:0X06D1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L31_SHR_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L3 on same chip shared
event:0X06D2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L21_MOD_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L2 on same chip modified
event:0X06D3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L21_SHR_GRP109 : (Group 109 pm_isource4) Instruction fetched from another L2 on same chip shared
event:0X06D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP109 : (Group 109 pm_isource4) Number of run instructions completed.
event:0X06D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP109 : (Group 109 pm_isource4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 110 pm_isource5, Instruction source information
event:0X06E0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L31_SHR_GRP110 : (Group 110 pm_isource5) Instruction fetched from another L3 on same chip shared
event:0X06E1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP110 : (Group 110 pm_isource5) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
event:0X06E2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L21_SHR_GRP110 : (Group 110 pm_isource5) Instruction fetched from another L2 on same chip shared
event:0X06E3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP110 : (Group 110 pm_isource5) An instruction fetch group was fetched from beyond the local L2.
event:0X06E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP110 : (Group 110 pm_isource5) Number of run instructions completed.
event:0X06E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP110 : (Group 110 pm_isource5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 111 pm_isource6, Instruction source information
event:0X06F0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from the prefetch buffer. Fetch groups can contain up to 8 instructions
event:0X06F1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X06F2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X06F3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP111 : (Group 111 pm_isource6) An instruction fetch group was fetched from beyond the local L2.
event:0X06F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP111 : (Group 111 pm_isource6) Number of run instructions completed.
event:0X06F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP111 : (Group 111 pm_isource6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 112 pm_isource7, Instruction source information
event:0X0700 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with modified  (M) data from an L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
event:0X0701 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
event:0X0702 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X0703 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP112 : (Group 112 pm_isource7) An instruction fetch group was fetched with modified  (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X0704 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP112 : (Group 112 pm_isource7) Number of run instructions completed.
event:0X0705 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP112 : (Group 112 pm_isource7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 113 pm_isource8, Instruction source information
event:0X0710 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
event:0X0711 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X0712 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X0713 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP113 : (Group 113 pm_isource8) An instruction fetch group was fetched from beyond the local L2.
event:0X0714 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP113 : (Group 113 pm_isource8) Number of run instructions completed.
event:0X0715 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP113 : (Group 113 pm_isource8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 114 pm_isource9, Instruction source information
event:0X0720 counters:0 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from the prefetch buffer. Fetch groups can contain up to 8 instructions
event:0X0721 counters:1 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X0722 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from memory attached to a different module than this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X0723 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP114 : (Group 114 pm_isource9) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X0724 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP114 : (Group 114 pm_isource9) Number of run instructions completed.
event:0X0725 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP114 : (Group 114 pm_isource9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 115 pm_isource10, Instruction source information
event:0X0730 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP115 : (Group 115 pm_isource10) An instruction fetch group was fetched from L2. Fetch Groups can contain up to 8 instructions
event:0X0731 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP115 : (Group 115 pm_isource10) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
event:0X0732 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP115 : (Group 115 pm_isource10) Number of PowerPC Instructions that completed.
event:0X0733 counters:3 um:zero minimum:10000 name:PM_CYC_GRP115 : (Group 115 pm_isource10) Processor Cycles
event:0X0734 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP115 : (Group 115 pm_isource10) Number of run instructions completed.
event:0X0735 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP115 : (Group 115 pm_isource10) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 116 pm_isource11, Instruction source information
event:0X0740 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP116 : (Group 116 pm_isource11) An instruction fetch group was fetched with modified  (M) data from an L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
event:0X0741 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP116 : (Group 116 pm_isource11) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a remote module. Fetch groups can contain up to 8 instructions
event:0X0742 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP116 : (Group 116 pm_isource11) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X0743 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP116 : (Group 116 pm_isource11) Number of PowerPC Instructions that completed.
event:0X0744 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP116 : (Group 116 pm_isource11) Number of run instructions completed.
event:0X0745 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP116 : (Group 116 pm_isource11) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 117 pm_isource12, Instruction source information
event:0X0750 counters:0 um:zero minimum:10000 name:PM_CYC_GRP117 : (Group 117 pm_isource12) Processor Cycles
event:0X0751 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP117 : (Group 117 pm_isource12) Number of PowerPC Instructions that completed.
event:0X0752 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP117 : (Group 117 pm_isource12) An instruction fetch group was fetched with shared  (S) data from the L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X0753 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP117 : (Group 117 pm_isource12) An instruction fetch group was fetched with modified  (M) data from an L2 or L3 on a distant module. Fetch groups can contain up to 8 instructions
event:0X0754 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP117 : (Group 117 pm_isource12) Number of run instructions completed.
event:0X0755 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP117 : (Group 117 pm_isource12) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 118 pm_isource13, Instruction source information
event:0X0760 counters:0 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP118 : (Group 118 pm_isource13) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X0761 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP118 : (Group 118 pm_isource13) Number of PowerPC Instructions that completed.
event:0X0762 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP118 : (Group 118 pm_isource13) An instruction fetch group was fetched from memory attached to a different module than this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X0763 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP118 : (Group 118 pm_isource13) An instruction fetch group was fetched from memory attached to the same module this processor is located on.  Fetch groups can contain up to 8 instructions
event:0X0764 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP118 : (Group 118 pm_isource13) Number of run instructions completed.
event:0X0765 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP118 : (Group 118 pm_isource13) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 119 pm_prefetch1, Prefetch events
event:0X0770 counters:0 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP119 : (Group 119 pm_prefetch1) D cache new prefetch stream allocated
event:0X0771 counters:1 um:zero minimum:1000 name:PM_L3_PREF_LDST_GRP119 : (Group 119 pm_prefetch1) L3 cache prefetches LD + ST
event:0X0772 counters:2 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_CONFIRM_GRP119 : (Group 119 pm_prefetch1) Dcache new prefetch stream confirmed
event:0X0773 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP119 : (Group 119 pm_prefetch1) A request to prefetch data into the L1 was made
event:0X0774 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP119 : (Group 119 pm_prefetch1) Number of run instructions completed.
event:0X0775 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP119 : (Group 119 pm_prefetch1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 120 pm_prefetch2, Prefetch events
event:0X0780 counters:0 um:zero minimum:1000 name:PM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM_GRP120 : (Group 120 pm_prefetch2) Dcache Strided prefetch stream confirmed (software + hardware)
event:0X0781 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_GRP120 : (Group 120 pm_prefetch2)  L1 D cache load references counted at finish
event:0X0782 counters:2 um:zero minimum:1000 name:PM_LSU_FIN_GRP120 : (Group 120 pm_prefetch2) LSU Finished an instruction (up to 2 per cycle)
event:0X0783 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP120 : (Group 120 pm_prefetch2) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0784 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP120 : (Group 120 pm_prefetch2) Number of run instructions completed.
event:0X0785 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP120 : (Group 120 pm_prefetch2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 121 pm_vsu0, VSU Execution
event:0X0790 counters:0 um:zero minimum:1000 name:PM_VSU0_1FLOP_GRP121 : (Group 121 pm_vsu0) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg, xsadd, xsmul, xssub, xscmp, xssel, xsabs, xsnabs, xsre, xssqrte, xsneg) operation finished
event:0X0791 counters:1 um:zero minimum:1000 name:PM_VSU1_1FLOP_GRP121 : (Group 121 pm_vsu0) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg, xsadd, xsmul, xssub, xscmp, xssel, xsabs, xsnabs, xsre, xssqrte, xsneg) operation finished
event:0X0792 counters:2 um:zero minimum:1000 name:PM_VSU0_2FLOP_GRP121 : (Group 121 pm_vsu0) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X0793 counters:3 um:zero minimum:1000 name:PM_VSU1_2FLOP_GRP121 : (Group 121 pm_vsu0) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X0794 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP121 : (Group 121 pm_vsu0) Number of run instructions completed.
event:0X0795 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP121 : (Group 121 pm_vsu0) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 122 pm_vsu1, VSU Execution
event:0X07A0 counters:0 um:zero minimum:1000 name:PM_VSU0_4FLOP_GRP122 : (Group 122 pm_vsu1) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
event:0X07A1 counters:1 um:zero minimum:1000 name:PM_VSU1_4FLOP_GRP122 : (Group 122 pm_vsu1) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
event:0X07A2 counters:2 um:zero minimum:1000 name:PM_VSU0_8FLOP_GRP122 : (Group 122 pm_vsu1) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
event:0X07A3 counters:3 um:zero minimum:1000 name:PM_VSU1_8FLOP_GRP122 : (Group 122 pm_vsu1) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
event:0X07A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP122 : (Group 122 pm_vsu1) Number of run instructions completed.
event:0X07A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP122 : (Group 122 pm_vsu1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 123 pm_vsu2, VSU Execution
event:0X07B0 counters:0 um:zero minimum:1000 name:PM_VSU_2FLOP_GRP123 : (Group 123 pm_vsu2) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X07B1 counters:1 um:zero minimum:1000 name:PM_VSU_2FLOP_DOUBLE_GRP123 : (Group 123 pm_vsu2) DP vector version of fmul, fsub, fcmp, fsel, fabs, fnabs, fres ,fsqrte, fneg
event:0X07B2 counters:2 um:zero minimum:1000 name:PM_VSU0_2FLOP_DOUBLE_GRP123 : (Group 123 pm_vsu2) two flop DP vector operation (xvadddp, xvmuldp, xvsubdp, xvcmpdp, xvseldp, xvabsdp, xvnabsdp, xvredp ,xvsqrtedp, vxnegdp)
event:0X07B3 counters:3 um:zero minimum:1000 name:PM_VSU1_2FLOP_DOUBLE_GRP123 : (Group 123 pm_vsu2) two flop DP vector operation (xvadddp, xvmuldp, xvsubdp, xvcmpdp, xvseldp, xvabsdp, xvnabsdp, xvredp ,xvsqrtedp, vxnegdp)
event:0X07B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP123 : (Group 123 pm_vsu2) Number of run instructions completed.
event:0X07B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP123 : (Group 123 pm_vsu2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 124 pm_vsu3, VSU Execution
event:0X07C0 counters:0 um:zero minimum:1000 name:PM_VSU0_FMA_GRP124 : (Group 124 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub, xsmadd, xsnmadd, xsmsub, xsnmsub) Scalar instructions only!
event:0X07C1 counters:1 um:zero minimum:1000 name:PM_VSU1_FMA_GRP124 : (Group 124 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub, xsmadd, xsnmadd, xsmsub, xsnmsub) Scalar instructions only!
event:0X07C2 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP124 : (Group 124 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
event:0X07C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP124 : (Group 124 pm_vsu3) Number of PowerPC Instructions that completed.
event:0X07C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP124 : (Group 124 pm_vsu3) Number of run instructions completed.
event:0X07C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP124 : (Group 124 pm_vsu3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 125 pm_vsu4, VSU Execution
event:0X07D0 counters:0 um:zero minimum:1000 name:PM_VSU0_FMA_DOUBLE_GRP125 : (Group 125 pm_vsu4) four flop DP vector operations (xvmadddp, xvnmadddp, xvmsubdp, xvmsubdp)
event:0X07D1 counters:1 um:zero minimum:1000 name:PM_VSU1_FMA_DOUBLE_GRP125 : (Group 125 pm_vsu4) four flop DP vector operations (xvmadddp, xvnmadddp, xvmsubdp, xvmsubdp)
event:0X07D2 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_DOUBLE_GRP125 : (Group 125 pm_vsu4) DP vector version of fmadd,fnmadd,fmsub,fnmsub
event:0X07D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP125 : (Group 125 pm_vsu4) Number of PowerPC Instructions that completed.
event:0X07D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP125 : (Group 125 pm_vsu4) Number of run instructions completed.
event:0X07D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP125 : (Group 125 pm_vsu4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 126 pm_vsu5, VSU Execution
event:0X07E0 counters:0 um:zero minimum:1000 name:PM_VSU_VECTOR_DOUBLE_ISSUED_GRP126 : (Group 126 pm_vsu5) Double Precision vector instruction issued on Pipe0
event:0X07E1 counters:1 um:zero minimum:1000 name:PM_VSU0_VECT_DOUBLE_ISSUED_GRP126 : (Group 126 pm_vsu5) Double Precision vector instruction issued on Pipe0
event:0X07E2 counters:2 um:zero minimum:1000 name:PM_VSU1_VECT_DOUBLE_ISSUED_GRP126 : (Group 126 pm_vsu5) Double Precision vector instruction issued on Pipe1
event:0X07E3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP126 : (Group 126 pm_vsu5) Number of PowerPC Instructions that completed.
event:0X07E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP126 : (Group 126 pm_vsu5) Number of run instructions completed.
event:0X07E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP126 : (Group 126 pm_vsu5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 127 pm_vsu6, VSU Execution
event:0X07F0 counters:0 um:zero minimum:1000 name:PM_VSU_DENORM_GRP127 : (Group 127 pm_vsu6) Vector or Scalar denorm operand
event:0X07F1 counters:1 um:zero minimum:1000 name:PM_VSU0_DENORM_GRP127 : (Group 127 pm_vsu6) VSU0 received denormalized data
event:0X07F2 counters:2 um:zero minimum:1000 name:PM_VSU1_DENORM_GRP127 : (Group 127 pm_vsu6) VSU1 received denormalized data
event:0X07F3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP127 : (Group 127 pm_vsu6) Number of PowerPC Instructions that completed.
event:0X07F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP127 : (Group 127 pm_vsu6) Number of run instructions completed.
event:0X07F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP127 : (Group 127 pm_vsu6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 128 pm_vsu7, VSU Execution
event:0X0800 counters:0 um:zero minimum:1000 name:PM_VSU_FIN_GRP128 : (Group 128 pm_vsu7) VSU0 Finished an instruction
event:0X0801 counters:1 um:zero minimum:1000 name:PM_VSU0_FIN_GRP128 : (Group 128 pm_vsu7) VSU0 Finished an instruction
event:0X0802 counters:2 um:zero minimum:1000 name:PM_VSU1_FIN_GRP128 : (Group 128 pm_vsu7) VSU1 Finished an instruction
event:0X0803 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP128 : (Group 128 pm_vsu7) Number of PowerPC Instructions that completed.
event:0X0804 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP128 : (Group 128 pm_vsu7) Number of run instructions completed.
event:0X0805 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP128 : (Group 128 pm_vsu7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 129 pm_vsu8, VSU Execution
event:0X0810 counters:0 um:zero minimum:1000 name:PM_VSU_STF_GRP129 : (Group 129 pm_vsu8) FPU store (SP or DP) issued on Pipe0
event:0X0811 counters:1 um:zero minimum:1000 name:PM_VSU0_STF_GRP129 : (Group 129 pm_vsu8) FPU store (SP or DP) issued on Pipe0
event:0X0812 counters:2 um:zero minimum:1000 name:PM_VSU1_STF_GRP129 : (Group 129 pm_vsu8) FPU store (SP or DP) issued on Pipe1
event:0X0813 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP129 : (Group 129 pm_vsu8) Number of PowerPC Instructions that completed.
event:0X0814 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP129 : (Group 129 pm_vsu8) Number of run instructions completed.
event:0X0815 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP129 : (Group 129 pm_vsu8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 130 pm_vsu9, VSU Execution
event:0X0820 counters:0 um:zero minimum:1000 name:PM_VSU_SINGLE_GRP130 : (Group 130 pm_vsu9) Vector or Scalar single precision
event:0X0821 counters:1 um:zero minimum:1000 name:PM_VSU0_SINGLE_GRP130 : (Group 130 pm_vsu9) VSU0 executed single precision instruction
event:0X0822 counters:2 um:zero minimum:1000 name:PM_VSU1_SINGLE_GRP130 : (Group 130 pm_vsu9) VSU1 executed single precision instruction
event:0X0823 counters:3 um:zero minimum:1000 name:PM_VSU0_16FLOP_GRP130 : (Group 130 pm_vsu9) Sixteen flops operation (SP vector versions of fdiv,fsqrt)
event:0X0824 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP130 : (Group 130 pm_vsu9) Number of run instructions completed.
event:0X0825 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP130 : (Group 130 pm_vsu9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 131 pm_vsu10, VSU Execution
event:0X0830 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_GRP131 : (Group 131 pm_vsu10) DP vector versions of fdiv,fsqrt
event:0X0831 counters:1 um:zero minimum:1000 name:PM_VSU0_FSQRT_FDIV_GRP131 : (Group 131 pm_vsu10) four flops operation (fdiv,fsqrt,xsdiv,xssqrt) Scalar Instructions only!
event:0X0832 counters:2 um:zero minimum:1000 name:PM_VSU1_FSQRT_FDIV_GRP131 : (Group 131 pm_vsu10) four flops operation (fdiv,fsqrt,xsdiv,xssqrt) Scalar Instructions only!
event:0X0833 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP131 : (Group 131 pm_vsu10) Number of PowerPC Instructions that completed.
event:0X0834 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP131 : (Group 131 pm_vsu10) Number of run instructions completed.
event:0X0835 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP131 : (Group 131 pm_vsu10) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 132 pm_vsu11, VSU Execution
event:0X0840 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_DOUBLE_GRP132 : (Group 132 pm_vsu11) DP vector versions of fdiv,fsqrt
event:0X0841 counters:1 um:zero minimum:1000 name:PM_VSU0_FSQRT_FDIV_DOUBLE_GRP132 : (Group 132 pm_vsu11) eight flop DP vector operations (xvfdivdp, xvsqrtdp
event:0X0842 counters:2 um:zero minimum:1000 name:PM_VSU1_FSQRT_FDIV_DOUBLE_GRP132 : (Group 132 pm_vsu11) eight flop DP vector operations (xvfdivdp, xvsqrtdp
event:0X0843 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP132 : (Group 132 pm_vsu11) Number of PowerPC Instructions that completed.
event:0X0844 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP132 : (Group 132 pm_vsu11) Number of run instructions completed.
event:0X0845 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP132 : (Group 132 pm_vsu11) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 133 pm_vsu12, VSU Execution
event:0X0850 counters:0 um:zero minimum:1000 name:PM_VSU_SCALAR_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu12) Double Precision scalar instruction issued on Pipe0
event:0X0851 counters:1 um:zero minimum:1000 name:PM_VSU0_SCAL_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu12) Double Precision scalar instruction issued on Pipe0
event:0X0852 counters:2 um:zero minimum:1000 name:PM_VSU1_SCAL_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu12) Double Precision scalar instruction issued on Pipe1
event:0X0853 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP133 : (Group 133 pm_vsu12) Number of PowerPC Instructions that completed.
event:0X0854 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP133 : (Group 133 pm_vsu12) Number of run instructions completed.
event:0X0855 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP133 : (Group 133 pm_vsu12) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 134 pm_vsu13, VSU Execution
event:0X0860 counters:0 um:zero minimum:1000 name:PM_VSU_SCALAR_SINGLE_ISSUED_GRP134 : (Group 134 pm_vsu13) Single Precision scalar instruction issued on Pipe0
event:0X0861 counters:1 um:zero minimum:1000 name:PM_VSU0_SCAL_SINGLE_ISSUED_GRP134 : (Group 134 pm_vsu13) Single Precision scalar instruction issued on Pipe0
event:0X0862 counters:2 um:zero minimum:1000 name:PM_VSU1_SCAL_SINGLE_ISSUED_GRP134 : (Group 134 pm_vsu13) Single Precision scalar instruction issued on Pipe1
event:0X0863 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP134 : (Group 134 pm_vsu13) Number of PowerPC Instructions that completed.
event:0X0864 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP134 : (Group 134 pm_vsu13) Number of run instructions completed.
event:0X0865 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP134 : (Group 134 pm_vsu13) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 135 pm_vsu14, VSU Execution
event:0X0870 counters:0 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP135 : (Group 135 pm_vsu14) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X0871 counters:1 um:zero minimum:1000 name:PM_VSU_4FLOP_GRP135 : (Group 135 pm_vsu14) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
event:0X0872 counters:2 um:zero minimum:1000 name:PM_VSU_8FLOP_GRP135 : (Group 135 pm_vsu14) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
event:0X0873 counters:3 um:zero minimum:1000 name:PM_VSU_2FLOP_GRP135 : (Group 135 pm_vsu14) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X0874 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP135 : (Group 135 pm_vsu14) Number of run instructions completed.
event:0X0875 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP135 : (Group 135 pm_vsu14) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 136 pm_vsu15, VSU Execution
event:0X0880 counters:0 um:zero minimum:1000 name:PM_VSU_VECTOR_SINGLE_ISSUED_GRP136 : (Group 136 pm_vsu15) Single Precision vector instruction issued (executed)
event:0X0881 counters:1 um:zero minimum:1000 name:PM_VSU0_VECTOR_SP_ISSUED_GRP136 : (Group 136 pm_vsu15) Single Precision vector instruction issued (executed)
event:0X0882 counters:2 um:zero minimum:1000 name:PM_VSU0_FPSCR_GRP136 : (Group 136 pm_vsu15) Move to/from FPSCR type instruction issued on Pipe 0
event:0X0883 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP136 : (Group 136 pm_vsu15) Number of PowerPC Instructions that completed.
event:0X0884 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP136 : (Group 136 pm_vsu15) Number of run instructions completed.
event:0X0885 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP136 : (Group 136 pm_vsu15) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 137 pm_vsu16, VSU Execution
event:0X0890 counters:0 um:zero minimum:1000 name:PM_VSU_SIMPLE_ISSUED_GRP137 : (Group 137 pm_vsu16) Simple VMX instruction issued
event:0X0891 counters:1 um:zero minimum:1000 name:PM_VSU0_SIMPLE_ISSUED_GRP137 : (Group 137 pm_vsu16) Simple VMX instruction issued
event:0X0892 counters:2 um:zero minimum:1000 name:PM_VSU0_COMPLEX_ISSUED_GRP137 : (Group 137 pm_vsu16) Complex VMX instruction issued
event:0X0893 counters:3 um:zero minimum:1000 name:PM_VMX_RESULT_SAT_1_GRP137 : (Group 137 pm_vsu16) Valid result with sat=1
event:0X0894 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP137 : (Group 137 pm_vsu16) Number of run instructions completed.
event:0X0895 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP137 : (Group 137 pm_vsu16) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 138 pm_vsu17, VSU Execution
event:0X08A0 counters:0 um:zero minimum:1000 name:PM_VSU1_DD_ISSUED_GRP138 : (Group 138 pm_vsu17) 64BIT Decimal Issued on Pipe1
event:0X08A1 counters:1 um:zero minimum:1000 name:PM_VSU1_DQ_ISSUED_GRP138 : (Group 138 pm_vsu17) 128BIT Decimal Issued on Pipe1
event:0X08A2 counters:2 um:zero minimum:1000 name:PM_VSU1_PERMUTE_ISSUED_GRP138 : (Group 138 pm_vsu17) Permute VMX Instruction Issued
event:0X08A3 counters:3 um:zero minimum:1000 name:PM_VSU1_SQ_GRP138 : (Group 138 pm_vsu17) Store Vector Issued on Pipe1
event:0X08A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP138 : (Group 138 pm_vsu17) Number of run instructions completed.
event:0X08A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP138 : (Group 138 pm_vsu17) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 139 pm_vsu18, VSU Execution
event:0X08B0 counters:0 um:zero minimum:1000 name:PM_VSU_FCONV_GRP139 : (Group 139 pm_vsu18) Convert instruction executed
event:0X08B1 counters:1 um:zero minimum:1000 name:PM_VSU0_FCONV_GRP139 : (Group 139 pm_vsu18) Convert instruction executed
event:0X08B2 counters:2 um:zero minimum:1000 name:PM_VSU1_FCONV_GRP139 : (Group 139 pm_vsu18) Convert instruction executed
event:0X08B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP139 : (Group 139 pm_vsu18) Number of PowerPC Instructions that completed.
event:0X08B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP139 : (Group 139 pm_vsu18) Number of run instructions completed.
event:0X08B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP139 : (Group 139 pm_vsu18) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 140 pm_vsu19, VSU Execution
event:0X08C0 counters:0 um:zero minimum:1000 name:PM_VSU_FRSP_GRP140 : (Group 140 pm_vsu19) Round to single precision instruction executed
event:0X08C1 counters:1 um:zero minimum:1000 name:PM_VSU0_FRSP_GRP140 : (Group 140 pm_vsu19) Round to single precision instruction executed
event:0X08C2 counters:2 um:zero minimum:1000 name:PM_VSU1_FRSP_GRP140 : (Group 140 pm_vsu19) Round to single precision instruction executed
event:0X08C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP140 : (Group 140 pm_vsu19) Number of PowerPC Instructions that completed.
event:0X08C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP140 : (Group 140 pm_vsu19) Number of run instructions completed.
event:0X08C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP140 : (Group 140 pm_vsu19) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 141 pm_vsu20, VSU Execution
event:0X08D0 counters:0 um:zero minimum:1000 name:PM_VSU_FEST_GRP141 : (Group 141 pm_vsu20) Estimate instruction executed
event:0X08D1 counters:1 um:zero minimum:1000 name:PM_VSU0_FEST_GRP141 : (Group 141 pm_vsu20) Estimate instruction executed
event:0X08D2 counters:2 um:zero minimum:1000 name:PM_VSU1_FEST_GRP141 : (Group 141 pm_vsu20) Estimate instruction executed
event:0X08D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP141 : (Group 141 pm_vsu20) Number of PowerPC Instructions that completed.
event:0X08D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP141 : (Group 141 pm_vsu20) Number of run instructions completed.
event:0X08D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP141 : (Group 141 pm_vsu20) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 142 pm_vsu21, VSU Execution
event:0X08E0 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP142 : (Group 142 pm_vsu21) The Branch execution unit finished an instruction
event:0X08E1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 pm_vsu21) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X08E2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP142 : (Group 142 pm_vsu21) Number of PowerPC Instructions that completed.
event:0X08E3 counters:3 um:zero minimum:1000 name:PM_VSU_FIN_GRP142 : (Group 142 pm_vsu21) VSU0 Finished an instruction
event:0X08E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP142 : (Group 142 pm_vsu21) Number of run instructions completed.
event:0X08E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 pm_vsu21) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 143 pm_vsu22, VSU Execution
event:0X08F0 counters:0 um:zero minimum:1000 name:PM_LSU_LDF_GRP143 : (Group 143 pm_vsu22) LSU executed Floating Point load instruction.  Combined Unit 0 + 1.
event:0X08F1 counters:1 um:zero minimum:1000 name:PM_VSU_STF_GRP143 : (Group 143 pm_vsu22) FPU store (SP or DP) issued on Pipe0
event:0X08F2 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP143 : (Group 143 pm_vsu22) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
event:0X08F3 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP143 : (Group 143 pm_vsu22) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X08F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP143 : (Group 143 pm_vsu22) Number of run instructions completed.
event:0X08F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP143 : (Group 143 pm_vsu22) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 144 pm_vsu23, VSU Execution
event:0X0900 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_GRP144 : (Group 144 pm_vsu23) DP vector versions of fdiv,fsqrt
event:0X0901 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP144 : (Group 144 pm_vsu23) VSU0 Finished an instruction
event:0X0902 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP144 : (Group 144 pm_vsu23) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
event:0X0903 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP144 : (Group 144 pm_vsu23) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X0904 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP144 : (Group 144 pm_vsu23) Number of run instructions completed.
event:0X0905 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP144 : (Group 144 pm_vsu23) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 145 pm_vsu24, VSU Execution
event:0X0910 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP145 : (Group 145 pm_vsu24) A floating point operation has completed
event:0X0911 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP145 : (Group 145 pm_vsu24) VSU0 Finished an instruction
event:0X0912 counters:2 um:zero minimum:1000 name:PM_VSU_FEST_GRP145 : (Group 145 pm_vsu24) Estimate instruction executed
event:0X0913 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP145 : (Group 145 pm_vsu24) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X0914 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP145 : (Group 145 pm_vsu24) Number of run instructions completed.
event:0X0915 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP145 : (Group 145 pm_vsu24) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 146 pm_vsu25, VSU Execution
event:0X0920 counters:0 um:zero minimum:1000 name:PM_VSU_STF_GRP146 : (Group 146 pm_vsu25) FPU store (SP or DP) issued on Pipe0
event:0X0921 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP146 : (Group 146 pm_vsu25) VSU0 Finished an instruction
event:0X0922 counters:2 um:zero minimum:1000 name:PM_VSU_FRSP_GRP146 : (Group 146 pm_vsu25) Round to single precision instruction executed
event:0X0923 counters:3 um:zero minimum:1000 name:PM_VSU_FCONV_GRP146 : (Group 146 pm_vsu25) Convert instruction executed
event:0X0924 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP146 : (Group 146 pm_vsu25) Number of run instructions completed.
event:0X0925 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP146 : (Group 146 pm_vsu25) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 147 pm_lsu1, LSU LMQ SRQ events
event:0X0930 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP147 : (Group 147 pm_lsu1) The Load Miss Queue was full.
event:0X0931 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP147 : (Group 147 pm_lsu1) Cycles when both the LMQ and SRQ are empty (LSU is idle)
event:0X0932 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_ALL_CYC_GRP147 : (Group 147 pm_lsu1) ALL threads lsu empty (lmq and srq empty)
event:0X0933 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP147 : (Group 147 pm_lsu1) The Store Request Queue is empty
event:0X0934 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP147 : (Group 147 pm_lsu1) Number of run instructions completed.
event:0X0935 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP147 : (Group 147 pm_lsu1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 148 pm_lsu2, LSU events
event:0X0940 counters:0 um:zero minimum:1000 name:PM_LSU_FX_FIN_GRP148 : (Group 148 pm_lsu2) LSU Finished a FX operation  (up to 2 per cycle)
event:0X0941 counters:1 um:zero minimum:1000 name:PM_LSU_NCST_GRP148 : (Group 148 pm_lsu2) Non-cachable Stores sent to nest
event:0X0942 counters:2 um:zero minimum:1000 name:PM_LSU_FIN_GRP148 : (Group 148 pm_lsu2) LSU Finished an instruction (up to 2 per cycle)
event:0X0943 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP148 : (Group 148 pm_lsu2) A flush was initiated by the Load Store Unit.
event:0X0944 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP148 : (Group 148 pm_lsu2) Number of run instructions completed.
event:0X0945 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP148 : (Group 148 pm_lsu2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 149 pm_lsu_lmq, LSU LMQ Events
event:0X0950 counters:0 um:zero minimum:1000 name:PM_LSU0_LMQ_LHR_MERGE_GRP149 : (Group 149 pm_lsu_lmq) LS0  Load Merged with another cacheline request
event:0X0951 counters:1 um:zero minimum:1000 name:PM_LSU1_LMQ_LHR_MERGE_GRP149 : (Group 149 pm_lsu_lmq) LS1 Load Merge with another cacheline request
event:0X0952 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP149 : (Group 149 pm_lsu_lmq) This signal is asserted every cycle that the Load Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin.  In SMT mode the LRQ is split between the two threads (16 entries each).
event:0X0953 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP149 : (Group 149 pm_lsu_lmq) The Load Miss Queue was full.
event:0X0954 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP149 : (Group 149 pm_lsu_lmq) Number of run instructions completed.
event:0X0955 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP149 : (Group 149 pm_lsu_lmq) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 150 pm_lsu_srq1, Store Request Queue Info
event:0X0960 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_STFWD_GRP150 : (Group 150 pm_lsu_srq1) Data from a store instruction was forwarded to a load.  A load that misses L1 but becomes a store forward is treated as a load miss and it causes the DL1 load miss event to be counted.  It does not go into the LMQ. If a load that hits L1 but becomes a store forward, then it's not treated as a load miss. Combined Unit 0 + 1.
event:0X0961 counters:1 um:zero minimum:1000 name:PM_LSU0_SRQ_STFWD_GRP150 : (Group 150 pm_lsu_srq1) Data from a store instruction was forwarded to a load on unit 0.  A load that misses L1 but becomes a store forward is treated as a load miss and it causes the DL1 load miss event to be counted.  It does not go into the LMQ. If a load that hits L1 but becomes a store forward, then it's not treated as a load miss.
event:0X0962 counters:2 um:zero minimum:1000 name:PM_LSU1_SRQ_STFWD_GRP150 : (Group 150 pm_lsu_srq1) Data from a store instruction was forwarded to a load on unit 1.  A load that misses L1 but becomes a store forward is treated as a load miss and it causes the DL1 load miss event to be counted.  It does not go into the LMQ. If a load that hits L1 but becomes a store forward, then it's not treated as a load miss.
event:0X0963 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP150 : (Group 150 pm_lsu_srq1) Number of PowerPC Instructions that completed.
event:0X0964 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP150 : (Group 150 pm_lsu_srq1) Number of run instructions completed.
event:0X0965 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP150 : (Group 150 pm_lsu_srq1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 151 pm_lsu_srq2, Store Request Queue Info
event:0X0970 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP151 : (Group 151 pm_lsu_srq2) Cycles that a sync instruction is active in the Store Request Queue.
event:0X0971 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_COUNT_GRP151 : (Group 151 pm_lsu_srq2) SRQ sync count (edge of PM_LSU_SRQ_SYNC_CYC)
event:0X0972 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP151 : (Group 151 pm_lsu_srq2) This signal is asserted every cycle that the Store Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin.  In SMT mode the SRQ is split between the two threads (16 entries each).
event:0X0973 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP151 : (Group 151 pm_lsu_srq2) Number of PowerPC Instructions that completed.
event:0X0974 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP151 : (Group 151 pm_lsu_srq2) Number of run instructions completed.
event:0X0975 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP151 : (Group 151 pm_lsu_srq2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 152 pm_lsu_s0_valid, LSU Events
event:0X0980 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP152 : (Group 152 pm_lsu_s0_valid) This signal is asserted every cycle that the Store Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin.  In SMT mode the SRQ is split between the two threads (16 entries each).
event:0X0981 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP152 : (Group 152 pm_lsu_s0_valid) This signal is asserted every cycle that the Load Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin.  In SMT mode the LRQ is split between the two threads (16 entries each).
event:0X0982 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP152 : (Group 152 pm_lsu_s0_valid) This signal is asserted every cycle that the Load Request Queue slot zero is valid. The SRQ is 32 entries long and is allocated round-robin.  In SMT mode the LRQ is split between the two threads (16 entries each).
event:0X0983 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP152 : (Group 152 pm_lsu_s0_valid) Number of PowerPC Instructions that completed.
event:0X0984 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP152 : (Group 152 pm_lsu_s0_valid) Number of run instructions completed.
event:0X0985 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP152 : (Group 152 pm_lsu_s0_valid) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 153 pm_lsu_s0_alloc, LSU Events
event:0X0990 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP153 : (Group 153 pm_lsu_s0_alloc) Slot 0 of LMQ valid
event:0X0991 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP153 : (Group 153 pm_lsu_s0_alloc) Slot 0 of LRQ valid
event:0X0992 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP153 : (Group 153 pm_lsu_s0_alloc) Slot 0 of SRQ valid
event:0X0993 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP153 : (Group 153 pm_lsu_s0_alloc) Number of PowerPC Instructions that completed.
event:0X0994 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP153 : (Group 153 pm_lsu_s0_alloc) Number of run instructions completed.
event:0X0995 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP153 : (Group 153 pm_lsu_s0_alloc) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 154 pm_l1_pref, L1 pref Events
event:0X09A0 counters:0 um:zero minimum:1000 name:PM_L1_PREF_GRP154 : (Group 154 pm_l1_pref) A request to prefetch data into the L1 was made
event:0X09A1 counters:1 um:zero minimum:1000 name:PM_LSU0_L1_PREF_GRP154 : (Group 154 pm_l1_pref)  LS0 L1 cache data prefetches
event:0X09A2 counters:2 um:zero minimum:1000 name:PM_LSU1_L1_PREF_GRP154 : (Group 154 pm_l1_pref)  LS1 L1 cache data prefetches
event:0X09A3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP154 : (Group 154 pm_l1_pref) Number of PowerPC Instructions that completed.
event:0X09A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP154 : (Group 154 pm_l1_pref) Number of run instructions completed.
event:0X09A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP154 : (Group 154 pm_l1_pref) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 155 pm_l2_guess_1, L2_Guess_events
event:0X09B0 counters:0 um:zero minimum:1000 name:PM_L2_LOC_GUESS_CORRECT_GRP155 : (Group 155 pm_l2_guess_1) L2 guess loc and guess was correct (ie data local)
event:0X09B1 counters:1 um:zero minimum:1000 name:PM_L2_LOC_GUESS_WRONG_GRP155 : (Group 155 pm_l2_guess_1) L2 guess loc and guess was not correct (ie data remote)
event:0X09B2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP155 : (Group 155 pm_l2_guess_1) Processor Cycles
event:0X09B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP155 : (Group 155 pm_l2_guess_1) Number of PowerPC Instructions that completed.
event:0X09B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP155 : (Group 155 pm_l2_guess_1) Number of run instructions completed.
event:0X09B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP155 : (Group 155 pm_l2_guess_1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 156 pm_l2_guess_2, L2_Guess_events
event:0X09C0 counters:0 um:zero minimum:1000 name:PM_L2_GLOB_GUESS_CORRECT_GRP156 : (Group 156 pm_l2_guess_2) L2 guess glb and guess was correct (ie data remote)
event:0X09C1 counters:1 um:zero minimum:1000 name:PM_L2_GLOB_GUESS_WRONG_GRP156 : (Group 156 pm_l2_guess_2) L2 guess glb and guess was not correct (ie data local)
event:0X09C2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP156 : (Group 156 pm_l2_guess_2) Processor Cycles
event:0X09C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP156 : (Group 156 pm_l2_guess_2) Number of PowerPC Instructions that completed.
event:0X09C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP156 : (Group 156 pm_l2_guess_2) Number of run instructions completed.
event:0X09C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP156 : (Group 156 pm_l2_guess_2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 157 pm_misc1, Misc events
event:0X09D0 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP157 : (Group 157 pm_misc1) Number of instructions resulting from the marked instructions expansion that completed.
event:0X09D1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP157 : (Group 157 pm_misc1) An instruction fetch group was fetched from L1. Fetch Groups can contain up to 8 instructions
event:0X09D2 counters:2 um:zero minimum:1000 name:PM_INST_IMC_MATCH_DISP_GRP157 : (Group 157 pm_misc1) IMC Matches dispatched
event:0X09D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP157 : (Group 157 pm_misc1) Number of PowerPC Instructions that completed.
event:0X09D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP157 : (Group 157 pm_misc1) Number of run instructions completed.
event:0X09D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP157 : (Group 157 pm_misc1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 158 pm_misc2, Misc events
event:0X09E0 counters:0 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP158 : (Group 158 pm_misc2) Cycles when an interrupt due to an external exception is pending but external exceptions were masked.
event:0X09E1 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP158 : (Group 158 pm_misc2) An interrupt due to an external exception occurred
event:0X09E2 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP158 : (Group 158 pm_misc2) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
event:0X09E3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP158 : (Group 158 pm_misc2) Processor Cycles
event:0X09E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP158 : (Group 158 pm_misc2) Number of run instructions completed.
event:0X09E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP158 : (Group 158 pm_misc2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 159 pm_misc3, Misc events
event:0X09F0 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP159 : (Group 159 pm_misc3) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X09F1 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP159 : (Group 159 pm_misc3) Cycles when the processor is executing in Hypervisor (MSR[HV] = 1 and MSR[PR]=0)
event:0X09F2 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP159 : (Group 159 pm_misc3) Number of PowerPC instructions successfully dispatched.
event:0X09F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP159 : (Group 159 pm_misc3) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
event:0X09F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP159 : (Group 159 pm_misc3) Number of run instructions completed.
event:0X09F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP159 : (Group 159 pm_misc3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 160 pm_misc4, Misc events
event:0X0A00 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_NONSPEC_GRP160 : (Group 160 pm_misc4) Number of groups, counted at completion, that have encountered an instruction cache miss.
event:0X0A01 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP160 : (Group 160 pm_misc4) Cycles when the Global Completion Table has no slots from this thread because of an Instruction Cache miss.
event:0X0A02 counters:2 um:zero minimum:10000 name:PM_CYC_GRP160 : (Group 160 pm_misc4) Processor Cycles
event:0X0A03 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_IC_MISS_GRP160 : (Group 160 pm_misc4) No slot in GCT caused by branch mispredict or I cache miss
event:0X0A04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP160 : (Group 160 pm_misc4) Number of run instructions completed.
event:0X0A05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP160 : (Group 160 pm_misc4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 161 pm_misc5, Misc events
event:0X0A10 counters:0 um:zero minimum:1000 name:PM_GRP_BR_MPRED_NONSPEC_GRP161 : (Group 161 pm_misc5) Group experienced non-speculative branch redirect
event:0X0A11 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_CR_TA_GRP161 : (Group 161 pm_misc5) Branch mispredict - taken/not taken and target
event:0X0A12 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP161 : (Group 161 pm_misc5) A branch instruction target was incorrectly predicted by the ccount cache. This will result in a branch redirect flush if not overfidden by a flush of an older instruction.
event:0X0A13 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP161 : (Group 161 pm_misc5) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0A14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP161 : (Group 161 pm_misc5) Number of run instructions completed.
event:0X0A15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP161 : (Group 161 pm_misc5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 162 pm_misc6, Misc events
event:0X0A20 counters:0 um:zero minimum:1000 name:PM_L1_DEMAND_WRITE_GRP162 : (Group 162 pm_misc6) Instruction Demand sectors wriittent into IL1
event:0X0A21 counters:1 um:zero minimum:1000 name:PM_IC_PREF_WRITE_GRP162 : (Group 162 pm_misc6) Number of Instruction Cache entries written because of prefetch. Prefetch entries are marked least recently used and are candidates for eviction if they are not needed to satify a demand fetch.
event:0X0A22 counters:2 um:zero minimum:1000 name:PM_IC_WRITE_ALL_GRP162 : (Group 162 pm_misc6) Icache sectors written, prefetch + demand
event:0X0A23 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP162 : (Group 162 pm_misc6) Number of PowerPC Instructions that completed.
event:0X0A24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP162 : (Group 162 pm_misc6) Number of run instructions completed.
event:0X0A25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP162 : (Group 162 pm_misc6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 163 pm_misc7, Misc events
event:0X0A30 counters:0 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP163 : (Group 163 pm_misc7) The threshold timer expired
event:0X0A31 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP163 : (Group 163 pm_misc7) Cycles when the processor is executing in Hypervisor (MSR[HV] = 1 and MSR[PR]=0)
event:0X0A32 counters:2 um:zero minimum:10000 name:PM_CYC_GRP163 : (Group 163 pm_misc7) Processor Cycles
event:0X0A33 counters:3 um:zero minimum:1000 name:PM_IFU_FIN_GRP163 : (Group 163 pm_misc7) The Instruction Fetch Unit finished an instruction
event:0X0A34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP163 : (Group 163 pm_misc7) Number of run instructions completed.
event:0X0A35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP163 : (Group 163 pm_misc7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 164 pm_misc8, Misc events
event:0X0A40 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_LSTACK_GRP164 : (Group 164 pm_misc8) Branch Mispredict due to Link Stack
event:0X0A41 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP164 : (Group 164 pm_misc8) An interrupt due to an external exception occurred
event:0X0A42 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP164 : (Group 164 pm_misc8) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0A43 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP164 : (Group 164 pm_misc8) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0A44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP164 : (Group 164 pm_misc8) Number of run instructions completed.
event:0X0A45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP164 : (Group 164 pm_misc8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 165 pm_misc9, Misc events
event:0X0A50 counters:0 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP165 : (Group 165 pm_misc9) A flush was caused by a branch mispredict.
event:0X0A51 counters:1 um:zero minimum:1000 name:PM_FLUSH_PARTIAL_GRP165 : (Group 165 pm_misc9) Partial flush
event:0X0A52 counters:2 um:zero minimum:1000 name:PM_LSU_SET_MPRED_GRP165 : (Group 165 pm_misc9) Line already in cache at reload time
event:0X0A53 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP165 : (Group 165 pm_misc9) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0A54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP165 : (Group 165 pm_misc9) Number of run instructions completed.
event:0X0A55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP165 : (Group 165 pm_misc9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 166 pm_misc10, Misc events
event:0X0A60 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP166 : (Group 166 pm_misc10) Cycles the Store Request Queue is full.
event:0X0A61 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP166 : (Group 166 pm_misc10) D cache new prefetch stream allocated
event:0X0A62 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP166 : (Group 166 pm_misc10) A request to prefetch data into the L1 was made
event:0X0A63 counters:3 um:zero minimum:1000 name:PM_IBUF_FULL_CYC_GRP166 : (Group 166 pm_misc10) Cycles with the Instruction Buffer was full.  The Instruction Buffer is a circular queue of 64 instructions per thread, organized as 16 groups of 4 instructions.
event:0X0A64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP166 : (Group 166 pm_misc10) Number of run instructions completed.
event:0X0A65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP166 : (Group 166 pm_misc10) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 167 pm_misc11, Misc events
event:0X0A70 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP167 : (Group 167 pm_misc11) A floating point operation has completed
event:0X0A71 counters:1 um:zero minimum:10000 name:PM_CYC_GRP167 : (Group 167 pm_misc11) Processor Cycles
event:0X0A72 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP167 : (Group 167 pm_misc11) A group completed. Microcoded instructions that span multiple groups will generate this event once per group.
event:0X0A73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP167 : (Group 167 pm_misc11) Number of PowerPC Instructions that completed.
event:0X0A74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP167 : (Group 167 pm_misc11) Number of run instructions completed.
event:0X0A75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP167 : (Group 167 pm_misc11) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 168 pm_misc_12, Misc Events
event:0X0A80 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP168 : (Group 168 pm_misc_12) Number of PowerPC Instructions that completed.
event:0X0A81 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP168 : (Group 168 pm_misc_12) Store requests sent to the nest.
event:0X0A82 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP168 : (Group 168 pm_misc_12) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
event:0X0A83 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP168 : (Group 168 pm_misc_12) Flushes occurred including LSU and Branch flushes.
event:0X0A84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP168 : (Group 168 pm_misc_12) Number of run instructions completed.
event:0X0A85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP168 : (Group 168 pm_misc_12) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 169 pm_misc_13, Misc Events
event:0X0A90 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP169 : (Group 169 pm_misc_13) Cycles when the Global Completion Table has no slots from this thread.
event:0X0A91 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP169 : (Group 169 pm_misc_13) Store requests sent to the nest.
event:0X0A92 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP169 : (Group 169 pm_misc_13) Data TLB misses, all page sizes.
event:0X0A93 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP169 : (Group 169 pm_misc_13) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0A94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP169 : (Group 169 pm_misc_13) Number of run instructions completed.
event:0X0A95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP169 : (Group 169 pm_misc_13) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 170 pm_misc_14, Misc Events
event:0X0AA0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP170 : (Group 170 pm_misc_14) Processor Cycles
event:0X0AA1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP170 : (Group 170 pm_misc_14) Processor Cycles
event:0X0AA2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP170 : (Group 170 pm_misc_14) Number of PowerPC Instructions that completed.
event:0X0AA3 counters:3 um:zero minimum:1000 name:PM_IFU_FIN_GRP170 : (Group 170 pm_misc_14) The Instruction Fetch Unit finished an instruction
event:0X0AA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP170 : (Group 170 pm_misc_14) Number of run instructions completed.
event:0X0AA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP170 : (Group 170 pm_misc_14) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 171 pm_misc_15, Misc Events
event:0X0AB0 counters:0 um:zero minimum:1000 name:PM_LSU_DCACHE_RELOAD_VALID_GRP171 : (Group 171 pm_misc_15) count per sector of lines reloaded in L1 (demand + prefetch)
event:0X0AB1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_STORE_GRP171 : (Group 171 pm_misc_15) Completion stall due to store instruction
event:0X0AB2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP171 : (Group 171 pm_misc_15) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0AB3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_LONG_GRP171 : (Group 171 pm_misc_15) completion stall due to long latency vector instruction
event:0X0AB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP171 : (Group 171 pm_misc_15) Number of run instructions completed.
event:0X0AB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP171 : (Group 171 pm_misc_15) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 172 pm_misc_16, Misc Events
event:0X0AC0 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_END_GCT_NOSLOT_GRP172 : (Group 172 pm_misc_16) Count ended because GCT went empty
event:0X0AC1 counters:1 um:zero minimum:1000 name:PM_LSU0_L1_SW_PREF_GRP172 : (Group 172 pm_misc_16) LSU0 Software L1 Prefetches, including SW Transient Prefetches
event:0X0AC2 counters:2 um:zero minimum:1000 name:PM_LSU1_L1_SW_PREF_GRP172 : (Group 172 pm_misc_16) LSU1 Software L1 Prefetches, including SW Transient Prefetches
event:0X0AC3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_IFU_GRP172 : (Group 172 pm_misc_16) Completion stall due to IFU
event:0X0AC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP172 : (Group 172 pm_misc_16) Number of run instructions completed.
event:0X0AC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP172 : (Group 172 pm_misc_16) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 173 pm_misc_17, Misc Events
event:0X0AD0 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP173 : (Group 173 pm_misc_17) The Branch execution unit finished an instruction
event:0X0AD1 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP173 : (Group 173 pm_misc_17) Store requests sent to the nest.
event:0X0AD2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_SHR_GRP173 : (Group 173 pm_misc_17) A Page Table Entry was loaded into the ERAT from memory attached to a different module than this processor is located on due to a marked load or store.
event:0X0AD3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_BRU_GRP173 : (Group 173 pm_misc_17) Completion stall due to BRU
event:0X0AD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP173 : (Group 173 pm_misc_17) Number of run instructions completed.
event:0X0AD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP173 : (Group 173 pm_misc_17) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 174 pm_suspend, SUSPENDED events
event:0X0AE0 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP174 : (Group 174 pm_suspend) The counter is suspended (does not count)
event:0X0AE1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP174 : (Group 174 pm_suspend) Processor Cycles
event:0X0AE2 counters:2 um:zero minimum:1000 name:PM_LWSYNC_GRP174 : (Group 174 pm_suspend) lwsync count (easier to use than IMC)
event:0X0AE3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP174 : (Group 174 pm_suspend) Number of PowerPC Instructions that completed.
event:0X0AE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP174 : (Group 174 pm_suspend) Number of run instructions completed.
event:0X0AE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP174 : (Group 174 pm_suspend) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 175 pm_iops, Internal Operations events
event:0X0AF0 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP175 : (Group 175 pm_iops) Number of internal operations that completed.
event:0X0AF1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP175 : (Group 175 pm_iops) Processor Cycles
event:0X0AF2 counters:2 um:zero minimum:1000 name:PM_IOPS_DISP_GRP175 : (Group 175 pm_iops) IOPS dispatched
event:0X0AF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP175 : (Group 175 pm_iops) Number of PowerPC Instructions that completed.
event:0X0AF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP175 : (Group 175 pm_iops) Number of run instructions completed.
event:0X0AF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP175 : (Group 175 pm_iops) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 176 pm_sync, sync
event:0X0B00 counters:0 um:zero minimum:1000 name:PM_LWSYNC_GRP176 : (Group 176 pm_sync) lwsync count (easier to use than IMC)
event:0X0B01 counters:1 um:zero minimum:10000 name:PM_CYC_GRP176 : (Group 176 pm_sync) Processor Cycles
event:0X0B02 counters:2 um:zero minimum:1000 name:PM_LWSYNC_HELD_GRP176 : (Group 176 pm_sync) Cycles a LWSYNC instruction was held at dispatch. LWSYNC instructions are held at dispatch until all previous loads are done and all previous stores have issued. LWSYNC enters the Store Request Queue and is sent to the storage subsystem but does not wait for a response.
event:0X0B03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP176 : (Group 176 pm_sync) Number of PowerPC Instructions that completed.
event:0X0B04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP176 : (Group 176 pm_sync) Number of run instructions completed.
event:0X0B05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP176 : (Group 176 pm_sync) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 177 pm_seg, Segment events
event:0X0B10 counters:0 um:zero minimum:10000 name:PM_CYC_GRP177 : (Group 177 pm_seg) Processor Cycles
event:0X0B11 counters:1 um:zero minimum:1000 name:PM_SEG_EXCEPTION_GRP177 : (Group 177 pm_seg) ISEG + DSEG Exception
event:0X0B12 counters:2 um:zero minimum:1000 name:PM_ISEG_GRP177 : (Group 177 pm_seg) ISEG Exception
event:0X0B13 counters:3 um:zero minimum:1000 name:PM_DSEG_GRP177 : (Group 177 pm_seg) DSEG Exception
event:0X0B14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP177 : (Group 177 pm_seg) Number of run instructions completed.
event:0X0B15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP177 : (Group 177 pm_seg) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 178 pm_l3_hit, L3 Hit Events
event:0X0B20 counters:0 um:zero minimum:1000 name:PM_L3_HIT_GRP178 : (Group 178 pm_l3_hit) L3 Hits
event:0X0B21 counters:1 um:zero minimum:1000 name:PM_L3_LD_HIT_GRP178 : (Group 178 pm_l3_hit) L3 demand LD Hits
event:0X0B22 counters:2 um:zero minimum:1000 name:PM_L3_PREF_HIT_GRP178 : (Group 178 pm_l3_hit) L3 Prefetch Directory Hit
event:0X0B23 counters:3 um:zero minimum:1000 name:PM_L3_CO_L31_GRP178 : (Group 178 pm_l3_hit) L3 Castouts to Memory
event:0X0B24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP178 : (Group 178 pm_l3_hit) Number of run instructions completed.
event:0X0B25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP178 : (Group 178 pm_l3_hit) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 179 pm_shl, Shell Events
event:0X0B30 counters:0 um:zero minimum:1000 name:PM_SHL_DEALLOCATED_GRP179 : (Group 179 pm_shl) SHL Table entry deallocated
event:0X0B31 counters:1 um:zero minimum:1000 name:PM_SHL_CREATED_GRP179 : (Group 179 pm_shl) SHL table entry Created
event:0X0B32 counters:2 um:zero minimum:1000 name:PM_SHL_MERGED_GRP179 : (Group 179 pm_shl) SHL table entry merged with existing
event:0X0B33 counters:3 um:zero minimum:1000 name:PM_SHL_MATCH_GRP179 : (Group 179 pm_shl) SHL Table Match
event:0X0B34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP179 : (Group 179 pm_shl) Number of run instructions completed.
event:0X0B35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP179 : (Group 179 pm_shl) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 180 pm_l3_pref, L3 Prefetch events
event:0X0B40 counters:0 um:zero minimum:1000 name:PM_L3_PREF_LD_GRP180 : (Group 180 pm_l3_pref) L3 cache LD prefetches
event:0X0B41 counters:1 um:zero minimum:1000 name:PM_L3_PREF_ST_GRP180 : (Group 180 pm_l3_pref) L3 cache ST prefetches
event:0X0B42 counters:2 um:zero minimum:1000 name:PM_L3_PREF_LDST_GRP180 : (Group 180 pm_l3_pref) L3 cache prefetches LD + ST
event:0X0B43 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP180 : (Group 180 pm_l3_pref) A request to prefetch data into the L1 was made
event:0X0B44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP180 : (Group 180 pm_l3_pref) Number of run instructions completed.
event:0X0B45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP180 : (Group 180 pm_l3_pref) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 181 pm_l3, L3 events
event:0X0B50 counters:0 um:zero minimum:1000 name:PM_L3_MISS_GRP181 : (Group 181 pm_l3) L3 Misses
event:0X0B51 counters:1 um:zero minimum:1000 name:PM_L3_LD_MISS_GRP181 : (Group 181 pm_l3) L3 demand LD Miss
event:0X0B52 counters:2 um:zero minimum:1000 name:PM_L3_PREF_MISS_GRP181 : (Group 181 pm_l3) L3 Prefetch  Directory Miss
event:0X0B53 counters:3 um:zero minimum:1000 name:PM_L3_CO_MEM_GRP181 : (Group 181 pm_l3) L3 Castouts to L3.1
event:0X0B54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP181 : (Group 181 pm_l3) Number of run instructions completed.
event:0X0B55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP181 : (Group 181 pm_l3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 182 pm_streams1, Streams
event:0X0B60 counters:0 um:zero minimum:10000 name:PM_CYC_GRP182 : (Group 182 pm_streams1) Processor Cycles
event:0X0B61 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_CONFIRM_GRP182 : (Group 182 pm_streams1) Dcache new prefetch stream confirmed
event:0X0B62 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_CONFIRM_GRP182 : (Group 182 pm_streams1) LS0 Dcache prefetch stream confirmed
event:0X0B63 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_CONFIRM_GRP182 : (Group 182 pm_streams1) LS1 'Dcache prefetch stream confirmed
event:0X0B64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP182 : (Group 182 pm_streams1) Number of run instructions completed.
event:0X0B65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP182 : (Group 182 pm_streams1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 183 pm_streams2, Streams
event:0X0B70 counters:0 um:zero minimum:10000 name:PM_CYC_GRP183 : (Group 183 pm_streams2) Processor Cycles
event:0X0B71 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM_GRP183 : (Group 183 pm_streams2) Dcache Strided prefetch stream confirmed (software + hardware)
event:0X0B72 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_CONFIRM_STRIDE_GRP183 : (Group 183 pm_streams2) LS0 Dcache Strided prefetch stream confirmed
event:0X0B73 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_CONFIRM_STRIDE_GRP183 : (Group 183 pm_streams2) LS1  Dcache Strided prefetch stream confirmed
event:0X0B74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP183 : (Group 183 pm_streams2) Number of run instructions completed.
event:0X0B75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP183 : (Group 183 pm_streams2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 184 pm_streams3, Streams
event:0X0B80 counters:0 um:zero minimum:1000 name:PM_DC_PREF_DST_GRP184 : (Group 184 pm_streams3) A prefetch stream was started using the DST instruction.
event:0X0B81 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP184 : (Group 184 pm_streams3) D cache new prefetch stream allocated
event:0X0B82 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_ALLOC_GRP184 : (Group 184 pm_streams3) LS0 D cache new prefetch stream allocated
event:0X0B83 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_ALLOC_GRP184 : (Group 184 pm_streams3) LS 1 D cache new prefetch stream allocated
event:0X0B84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP184 : (Group 184 pm_streams3) Number of run instructions completed.
event:0X0B85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP184 : (Group 184 pm_streams3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 185 pm_larx, LARX
event:0X0B90 counters:0 um:zero minimum:1000 name:PM_LARX_LSU0_GRP185 : (Group 185 pm_larx) A larx (lwarx or ldarx) was executed on side 0
event:0X0B91 counters:1 um:zero minimum:1000 name:PM_LARX_LSU1_GRP185 : (Group 185 pm_larx) A larx (lwarx or ldarx) was executed on side 1
event:0X0B92 counters:2 um:zero minimum:10000 name:PM_CYC_GRP185 : (Group 185 pm_larx) Processor Cycles
event:0X0B93 counters:3 um:zero minimum:1000 name:PM_LARX_LSU_GRP185 : (Group 185 pm_larx) Larx Finished
event:0X0B94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP185 : (Group 185 pm_larx) Number of run instructions completed.
event:0X0B95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP185 : (Group 185 pm_larx) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 186 pm_ldf, Floating Point loads
event:0X0BA0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP186 : (Group 186 pm_ldf) Processor Cycles
event:0X0BA1 counters:1 um:zero minimum:1000 name:PM_LSU_LDF_GRP186 : (Group 186 pm_ldf) LSU executed Floating Point load instruction.  Combined Unit 0 + 1.
event:0X0BA2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP186 : (Group 186 pm_ldf) A floating point load was executed by LSU0
event:0X0BA3 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP186 : (Group 186 pm_ldf) A floating point load was executed by LSU1
event:0X0BA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP186 : (Group 186 pm_ldf) Number of run instructions completed.
event:0X0BA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP186 : (Group 186 pm_ldf) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 187 pm_ldx, Vector Load
event:0X0BB0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP187 : (Group 187 pm_ldx) Processor Cycles
event:0X0BB1 counters:1 um:zero minimum:1000 name:PM_LSU_LDX_GRP187 : (Group 187 pm_ldx) All Vector loads (vsx vector + vmx vector)
event:0X0BB2 counters:2 um:zero minimum:1000 name:PM_LSU0_LDX_GRP187 : (Group 187 pm_ldx) LS0 Vector Loads
event:0X0BB3 counters:3 um:zero minimum:1000 name:PM_LSU1_LDX_GRP187 : (Group 187 pm_ldx) LS1  Vector Loads
event:0X0BB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP187 : (Group 187 pm_ldx) Number of run instructions completed.
event:0X0BB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP187 : (Group 187 pm_ldx) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 188 pm_l2_ld_st, L2 load and store events
event:0X0BC0 counters:0 um:zero minimum:1000 name:PM_L2_LD_GRP188 : (Group 188 pm_l2_ld_st) Data Load Count
event:0X0BC1 counters:1 um:zero minimum:1000 name:PM_L2_ST_MISS_GRP188 : (Group 188 pm_l2_ld_st) Data Store Miss
event:0X0BC2 counters:2 um:zero minimum:1000 name:PM_L3_PREF_HIT_GRP188 : (Group 188 pm_l2_ld_st) L3 Prefetch Directory Hit
event:0X0BC3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP188 : (Group 188 pm_l2_ld_st) Processor Cycles
event:0X0BC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP188 : (Group 188 pm_l2_ld_st) Number of run instructions completed.
event:0X0BC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP188 : (Group 188 pm_l2_ld_st) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 189 pm_stcx, STCX
event:0X0BD0 counters:0 um:zero minimum:1000 name:PM_LARX_LSU_GRP189 : (Group 189 pm_stcx) Larx Finished
event:0X0BD1 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP189 : (Group 189 pm_stcx) The Load Store Unit rejected a load load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully. Combined Unit 0 + 1
event:0X0BD2 counters:2 um:zero minimum:1000 name:PM_STCX_CMPL_GRP189 : (Group 189 pm_stcx) Conditional stores with reservation completed
event:0X0BD3 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP189 : (Group 189 pm_stcx) A stcx (stwcx or stdcx) failed
event:0X0BD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP189 : (Group 189 pm_stcx) Number of run instructions completed.
event:0X0BD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP189 : (Group 189 pm_stcx) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 190 pm_btac, BTAC
event:0X0BE0 counters:0 um:zero minimum:1000 name:PM_BTAC_HIT_GRP190 : (Group 190 pm_btac) BTAC Correct Prediction
event:0X0BE1 counters:1 um:zero minimum:1000 name:PM_BTAC_MISS_GRP190 : (Group 190 pm_btac) BTAC Mispredicted
event:0X0BE2 counters:2 um:zero minimum:1000 name:PM_STCX_CMPL_GRP190 : (Group 190 pm_btac) Conditional stores with reservation completed
event:0X0BE3 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP190 : (Group 190 pm_btac) A stcx (stwcx or stdcx) failed
event:0X0BE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP190 : (Group 190 pm_btac) Number of run instructions completed.
event:0X0BE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP190 : (Group 190 pm_btac) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 191 pm_br_bc, Branch BC events
event:0X0BF0 counters:0 um:zero minimum:1000 name:PM_BC_PLUS_8_CONV_GRP191 : (Group 191 pm_br_bc) BC+8 Converted
event:0X0BF1 counters:1 um:zero minimum:1000 name:PM_BC_PLUS_8_RSLV_TAKEN_GRP191 : (Group 191 pm_br_bc) BC+8 Resolve outcome was Taken, resulting in the conditional instruction being canceled
event:0X0BF2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP191 : (Group 191 pm_br_bc) Processor Cycles
event:0X0BF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP191 : (Group 191 pm_br_bc) Number of PowerPC Instructions that completed.
event:0X0BF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP191 : (Group 191 pm_br_bc) Number of run instructions completed.
event:0X0BF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP191 : (Group 191 pm_br_bc) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 192 pm_inst_imc, inst imc events
event:0X0C00 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP192 : (Group 192 pm_inst_imc) Number of instructions resulting from the marked instructions expansion that completed.
event:0X0C01 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP192 : (Group 192 pm_inst_imc) Number of PowerPC instructions successfully dispatched.
event:0X0C02 counters:2 um:zero minimum:1000 name:PM_INST_IMC_MATCH_DISP_GRP192 : (Group 192 pm_inst_imc) IMC Matches dispatched
event:0X0C03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP192 : (Group 192 pm_inst_imc) Number of PowerPC Instructions that completed.
event:0X0C04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP192 : (Group 192 pm_inst_imc) Number of run instructions completed.
event:0X0C05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP192 : (Group 192 pm_inst_imc) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 193 pm_l2_misc1, L2 load/store Miss events
event:0X0C10 counters:0 um:zero minimum:1000 name:PM_L2_LDST_GRP193 : (Group 193 pm_l2_misc1) Data Load+Store Count
event:0X0C11 counters:1 um:zero minimum:1000 name:PM_L2_LDST_MISS_GRP193 : (Group 193 pm_l2_misc1) Data Load+Store Miss
event:0X0C12 counters:2 um:zero minimum:1000 name:PM_L2_INST_MISS_GRP193 : (Group 193 pm_l2_misc1) Instruction Load Misses
event:0X0C13 counters:3 um:zero minimum:1000 name:PM_L2_DISP_ALL_GRP193 : (Group 193 pm_l2_misc1) All successful LD/ST dispatches for this thread(i+d)
event:0X0C14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP193 : (Group 193 pm_l2_misc1) Number of run instructions completed.
event:0X0C15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP193 : (Group 193 pm_l2_misc1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 194 pm_l2_misc2, L2 Events
event:0X0C20 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP194 : (Group 194 pm_l2_misc2) Number of PowerPC Instructions that completed.
event:0X0C21 counters:1 um:zero minimum:10000 name:PM_CYC_GRP194 : (Group 194 pm_l2_misc2) Processor Cycles
event:0X0C22 counters:2 um:zero minimum:1000 name:PM_L2_INST_GRP194 : (Group 194 pm_l2_misc2) Instruction Load Count
event:0X0C23 counters:3 um:zero minimum:1000 name:PM_L2_DISP_ALL_GRP194 : (Group 194 pm_l2_misc2) All successful LD/ST dispatches for this thread(i+d)
event:0X0C24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP194 : (Group 194 pm_l2_misc2) Number of run instructions completed.
event:0X0C25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP194 : (Group 194 pm_l2_misc2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 195 pm_l2_misc3, L2 Events
event:0X0C30 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP195 : (Group 195 pm_l2_misc3) Number of PowerPC Instructions that completed.
event:0X0C31 counters:1 um:zero minimum:10000 name:PM_CYC_GRP195 : (Group 195 pm_l2_misc3) Processor Cycles
event:0X0C32 counters:2 um:zero minimum:1000 name:PM_L2_SYS_PUMP_GRP195 : (Group 195 pm_l2_misc3) RC req that was a global (aka system) pump attempt
event:0X0C33 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP195 : (Group 195 pm_l2_misc3) Number of run instructions completed.
event:0X0C34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP195 : (Group 195 pm_l2_misc3) Number of run instructions completed.
event:0X0C35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP195 : (Group 195 pm_l2_misc3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 196 pm_l2_misc4, L2 Events
event:0X0C40 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP196 : (Group 196 pm_l2_misc4) Number of PowerPC Instructions that completed.
event:0X0C41 counters:1 um:zero minimum:10000 name:PM_CYC_GRP196 : (Group 196 pm_l2_misc4) Processor Cycles
event:0X0C42 counters:2 um:zero minimum:1000 name:PM_L2_SN_SX_I_DONE_GRP196 : (Group 196 pm_l2_misc4) SNP dispatched and went from Sx or Tx to Ix
event:0X0C43 counters:3 um:zero minimum:1000 name:PM_L2_SN_M_WR_DONE_GRP196 : (Group 196 pm_l2_misc4) SNP dispatched for a write and was M
event:0X0C44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP196 : (Group 196 pm_l2_misc4) Number of run instructions completed.
event:0X0C45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP196 : (Group 196 pm_l2_misc4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 197 pm_l2_misc5, L2 Events
event:0X0C50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP197 : (Group 197 pm_l2_misc5) Number of PowerPC Instructions that completed.
event:0X0C51 counters:1 um:zero minimum:10000 name:PM_CYC_GRP197 : (Group 197 pm_l2_misc5) Processor Cycles
event:0X0C52 counters:2 um:zero minimum:1000 name:PM_L2_NODE_PUMP_GRP197 : (Group 197 pm_l2_misc5) RC req that was a local (aka node) pump attempt
event:0X0C53 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP197 : (Group 197 pm_l2_misc5) Number of run instructions completed.
event:0X0C54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP197 : (Group 197 pm_l2_misc5) Number of run instructions completed.
event:0X0C55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP197 : (Group 197 pm_l2_misc5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 198 pm_l2_misc6, L2 Events
event:0X0C60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP198 : (Group 198 pm_l2_misc6) Number of PowerPC Instructions that completed.
event:0X0C61 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP198 : (Group 198 pm_l2_misc6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0C62 counters:2 um:zero minimum:10000 name:PM_CYC_GRP198 : (Group 198 pm_l2_misc6) Processor Cycles
event:0X0C63 counters:3 um:zero minimum:1000 name:PM_L2_SN_M_RD_DONE_GRP198 : (Group 198 pm_l2_misc6) SNP dispatched for a read and was M
event:0X0C64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP198 : (Group 198 pm_l2_misc6) Number of run instructions completed.
event:0X0C65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP198 : (Group 198 pm_l2_misc6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 199 pm_ierat, IERAT Events
event:0X0C70 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP199 : (Group 199 pm_ierat) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0C71 counters:1 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_16MPLUS_GRP199 : (Group 199 pm_ierat) large page 16M+
event:0X0C72 counters:2 um:zero minimum:1000 name:PM_IERAT_WR_64K_GRP199 : (Group 199 pm_ierat) large page 64k
event:0X0C73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP199 : (Group 199 pm_ierat) Number of PowerPC Instructions that completed.
event:0X0C74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP199 : (Group 199 pm_ierat) Number of run instructions completed.
event:0X0C75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP199 : (Group 199 pm_ierat) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 200 pm_disp_clb, Dispatch CLB Events
event:0X0C80 counters:0 um:zero minimum:1000 name:PM_DISP_CLB_HELD_GRP200 : (Group 200 pm_disp_clb) CLB Hold: Any Reason
event:0X0C81 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_SB_GRP200 : (Group 200 pm_disp_clb) Dispatch/CLB Hold: Scoreboard
event:0X0C82 counters:2 um:zero minimum:10000 name:PM_CYC_GRP200 : (Group 200 pm_disp_clb) Processor Cycles
event:0X0C83 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP200 : (Group 200 pm_disp_clb) Number of PowerPC Instructions that completed.
event:0X0C84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP200 : (Group 200 pm_disp_clb) Number of run instructions completed.
event:0X0C85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP200 : (Group 200 pm_disp_clb) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 201 pm_dpu, DPU Events
event:0X0C90 counters:0 um:zero minimum:10000 name:PM_CYC_GRP201 : (Group 201 pm_dpu) Processor Cycles
event:0X0C91 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP201 : (Group 201 pm_dpu) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
event:0X0C92 counters:2 um:zero minimum:1000 name:PM_DISP_WT_GRP201 : (Group 201 pm_dpu) Dispatched Starved (not held, nothing to dispatch)
event:0X0C93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP201 : (Group 201 pm_dpu) Number of PowerPC Instructions that completed.
event:0X0C94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP201 : (Group 201 pm_dpu) Number of run instructions completed.
event:0X0C95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP201 : (Group 201 pm_dpu) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 202 pm_cpu_util, Basic CPU utilization
event:0X0CA0 counters:0 um:zero minimum:1000 name:PM_RUN_SPURR_GRP202 : (Group 202 pm_cpu_util) Run SPURR
event:0X0CA1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP202 : (Group 202 pm_cpu_util) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0CA2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP202 : (Group 202 pm_cpu_util) Processor Cycles
event:0X0CA3 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP202 : (Group 202 pm_cpu_util) The Processor Utilization of Resources Register was incremented while the run latch was set. The PURR registers will be incremented roughly in the ratio in which the instructions are dispatched from the two threads.
event:0X0CA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP202 : (Group 202 pm_cpu_util) Number of run instructions completed.
event:0X0CA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP202 : (Group 202 pm_cpu_util) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 203 pm_overflow1, Overflow events
event:0X0CB0 counters:0 um:zero minimum:1000 name:PM_PMC4_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC4 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CB1 counters:1 um:zero minimum:1000 name:PM_PMC1_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC1 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CB2 counters:2 um:zero minimum:1000 name:PM_PMC2_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC2 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CB3 counters:3 um:zero minimum:1000 name:PM_PMC3_OVERFLOW_GRP203 : (Group 203 pm_overflow1) Overflows from PMC3 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP203 : (Group 203 pm_overflow1) Number of run instructions completed.
event:0X0CB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP203 : (Group 203 pm_overflow1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 204 pm_overflow2, Overflow events
event:0X0CC0 counters:0 um:zero minimum:1000 name:PM_PMC5_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC5 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CC1 counters:1 um:zero minimum:1000 name:PM_PMC1_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC1 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CC2 counters:2 um:zero minimum:1000 name:PM_PMC6_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC6 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CC3 counters:3 um:zero minimum:1000 name:PM_PMC3_OVERFLOW_GRP204 : (Group 204 pm_overflow2) Overflows from PMC3 are counted.  This effectively widens the PMC. The Overflow from the original PMC will not trigger an exception even if the PMU is configured to generate exceptions on overflow.
event:0X0CC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP204 : (Group 204 pm_overflow2) Number of run instructions completed.
event:0X0CC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP204 : (Group 204 pm_overflow2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 205 pm_rewind, Rewind events
event:0X0CD0 counters:0 um:zero minimum:1000 name:PM_PMC4_REWIND_GRP205 : (Group 205 pm_rewind) PMC4 was counting speculatively. The speculative condition was not met and the counter was restored to its previous value.
event:0X0CD1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP205 : (Group 205 pm_rewind) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0CD2 counters:2 um:zero minimum:1000 name:PM_PMC2_REWIND_GRP205 : (Group 205 pm_rewind) PMC2 was counting speculatively. The speculative condition was not met and the counter was restored to its previous value.
event:0X0CD3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP205 : (Group 205 pm_rewind) Number of PowerPC Instructions that completed.
event:0X0CD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP205 : (Group 205 pm_rewind) Number of run instructions completed.
event:0X0CD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP205 : (Group 205 pm_rewind) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 206 pm_saved, Saved Events
event:0X0CE0 counters:0 um:zero minimum:1000 name:PM_PMC2_SAVED_GRP206 : (Group 206 pm_saved) PMC2 was counting speculatively. The speculative condition was met and the counter value was committed by copying it to the backup register.
event:0X0CE1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP206 : (Group 206 pm_saved) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0CE2 counters:2 um:zero minimum:1000 name:PM_PMC4_SAVED_GRP206 : (Group 206 pm_saved) PMC4 was counting speculatively. The speculative condition was met and the counter value was committed by copying it to the backup register.
event:0X0CE3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP206 : (Group 206 pm_saved) Number of PowerPC Instructions that completed.
event:0X0CE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP206 : (Group 206 pm_saved) Number of run instructions completed.
event:0X0CE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP206 : (Group 206 pm_saved) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 207 pm_tlbie, TLBIE Events
event:0X0CF0 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_TLBIE_GRP207 : (Group 207 pm_tlbie) Dispatch Flush: TLBIE
event:0X0CF1 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_TLBIE_GRP207 : (Group 207 pm_tlbie) Dispatch Hold: Due to TLBIE
event:0X0CF2 counters:2 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP207 : (Group 207 pm_tlbie) A tlbie was snooped from another processor.
event:0X0CF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP207 : (Group 207 pm_tlbie) Number of PowerPC Instructions that completed.
event:0X0CF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP207 : (Group 207 pm_tlbie) Number of run instructions completed.
event:0X0CF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP207 : (Group 207 pm_tlbie) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 208 pm_id_miss_erat_l1, Instruction/Data miss from ERAT/L1 cache
event:0X0D00 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP208 : (Group 208 pm_id_miss_erat_l1) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0D01 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP208 : (Group 208 pm_id_miss_erat_l1) An instruction fetch request missed the L1 cache.
event:0X0D02 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP208 : (Group 208 pm_id_miss_erat_l1) A store missed the dcache.  Combined Unit 0 + 1.
event:0X0D03 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP208 : (Group 208 pm_id_miss_erat_l1) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0D04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP208 : (Group 208 pm_id_miss_erat_l1) Number of run instructions completed.
event:0X0D05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP208 : (Group 208 pm_id_miss_erat_l1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 209 pm_id_miss_erat_tlab, Instruction/Data miss from ERAT/TLB
event:0X0D10 counters:0 um:zero minimum:10000 name:PM_CYC_GRP209 : (Group 209 pm_id_miss_erat_tlab) Processor Cycles
event:0X0D11 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP209 : (Group 209 pm_id_miss_erat_tlab) Total D-ERAT Misses.  Requests that miss the Derat are rejected and retried until the request hits in the Erat. This may result in multiple erat misses for the same instruction.  Combined Unit 0 + 1.
event:0X0D12 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP209 : (Group 209 pm_id_miss_erat_tlab) Data TLB misses, all page sizes.
event:0X0D13 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP209 : (Group 209 pm_id_miss_erat_tlab) A TLB miss for an Instruction Fetch has occurred
event:0X0D14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP209 : (Group 209 pm_id_miss_erat_tlab) Number of run instructions completed.
event:0X0D15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP209 : (Group 209 pm_id_miss_erat_tlab) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 210 pm_compat_utilization1, Basic CPU utilization
event:0X0D20 counters:0 um:zero minimum:1000 name:PM_ANY_THRD_RUN_CYC_GRP210 : (Group 210 pm_compat_utilization1) One of threads in run_cycles
event:0X0D21 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP210 : (Group 210 pm_compat_utilization1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0D22 counters:2 um:zero minimum:10000 name:PM_CYC_GRP210 : (Group 210 pm_compat_utilization1) Processor Cycles
event:0X0D23 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP210 : (Group 210 pm_compat_utilization1) The Processor Utilization of Resources Register was incremented while the run latch was set. The PURR registers will be incremented roughly in the ratio in which the instructions are dispatched from the two threads.
event:0X0D24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP210 : (Group 210 pm_compat_utilization1) Number of run instructions completed.
event:0X0D25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP210 : (Group 210 pm_compat_utilization1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 211 pm_compat_utilization2, CPI and utilization data
event:0X0D30 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP211 : (Group 211 pm_compat_utilization2) A floating point operation has completed
event:0X0D31 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP211 : (Group 211 pm_compat_utilization2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0D32 counters:2 um:zero minimum:10000 name:PM_CYC_GRP211 : (Group 211 pm_compat_utilization2) Processor Cycles
event:0X0D33 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP211 : (Group 211 pm_compat_utilization2) Number of run instructions completed.
event:0X0D34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP211 : (Group 211 pm_compat_utilization2) Number of run instructions completed.
event:0X0D35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP211 : (Group 211 pm_compat_utilization2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 212 pm_compat_cpi_1plus_ppc, Misc CPI and utilization data
event:0X0D40 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0D41 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0D42 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Number of PowerPC instructions successfully dispatched.
event:0X0D43 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) A group containing at least one PPC instruction was dispatched. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0D44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Number of run instructions completed.
event:0X0D45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP212 : (Group 212 pm_compat_cpi_1plus_ppc) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 213 pm_compat_l1_dcache_load_store_miss, L1 D-Cache load/store miss
event:0X0D50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Number of PowerPC Instructions that completed.
event:0X0D51 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Store requests sent to the nest.
event:0X0D52 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) A store missed the dcache.  Combined Unit 0 + 1.
event:0X0D53 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0D54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Number of run instructions completed.
event:0X0D55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP213 : (Group 213 pm_compat_l1_dcache_load_store_miss) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 214 pm_compat_l1_cache_load, L1 Cache loads
event:0X0D60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP214 : (Group 214 pm_compat_l1_cache_load) Number of PowerPC Instructions that completed.
event:0X0D61 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP214 : (Group 214 pm_compat_l1_cache_load) The processor's Data Cache was reloaded but not from the local L2.
event:0X0D62 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP214 : (Group 214 pm_compat_l1_cache_load) The data source information is valid,the data cache has been reloaded.  Prior to POWER5+ this included data cache reloads due to prefetch activity.  With POWER5+ this now only includes reloads due to demand loads.
event:0X0D63 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP214 : (Group 214 pm_compat_l1_cache_load) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0D64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP214 : (Group 214 pm_compat_l1_cache_load) Number of run instructions completed.
event:0X0D65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP214 : (Group 214 pm_compat_l1_cache_load) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 215 pm_compat_instruction_directory, Instruction Directory
event:0X0D70 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP215 : (Group 215 pm_compat_instruction_directory) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0D71 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP215 : (Group 215 pm_compat_instruction_directory) An instruction fetch request missed the L1 cache.
event:0X0D72 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP215 : (Group 215 pm_compat_instruction_directory) Number of PowerPC Instructions that completed.
event:0X0D73 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP215 : (Group 215 pm_compat_instruction_directory) A TLB miss for an Instruction Fetch has occurred
event:0X0D74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP215 : (Group 215 pm_compat_instruction_directory) Number of run instructions completed.
event:0X0D75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP215 : (Group 215 pm_compat_instruction_directory) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 216 pm_compat_suspend, Suspend Events
event:0X0D80 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
event:0X0D81 counters:1 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
event:0X0D82 counters:2 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
event:0X0D83 counters:3 um:zero minimum:1000 name:PM_SUSPENDED_GRP216 : (Group 216 pm_compat_suspend) The counter is suspended (does not count)
event:0X0D84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP216 : (Group 216 pm_compat_suspend) Number of run instructions completed.
event:0X0D85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP216 : (Group 216 pm_compat_suspend) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 217 pm_compat_misc_events1, Misc Events
event:0X0D90 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP217 : (Group 217 pm_compat_misc_events1) Number of PowerPC Instructions that completed.
event:0X0D91 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP217 : (Group 217 pm_compat_misc_events1) An interrupt due to an external exception occurred
event:0X0D92 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP217 : (Group 217 pm_compat_misc_events1) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
event:0X0D93 counters:3 um:zero minimum:10000 name:PM_CYC_GRP217 : (Group 217 pm_compat_misc_events1) Processor Cycles
event:0X0D94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP217 : (Group 217 pm_compat_misc_events1) Number of run instructions completed.
event:0X0D95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP217 : (Group 217 pm_compat_misc_events1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 218 pm_compat_misc_events2, Misc Events
event:0X0DA0 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP218 : (Group 218 pm_compat_misc_events2) Number of instructions resulting from the marked instructions expansion that completed.
event:0X0DA1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP218 : (Group 218 pm_compat_misc_events2) Number of PowerPC instructions successfully dispatched.
event:0X0DA2 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP218 : (Group 218 pm_compat_misc_events2) Instructions completed by this thread when both threads had their run latches set.
event:0X0DA3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP218 : (Group 218 pm_compat_misc_events2) Flushes occurred including LSU and Branch flushes.
event:0X0DA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP218 : (Group 218 pm_compat_misc_events2) Number of run instructions completed.
event:0X0DA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP218 : (Group 218 pm_compat_misc_events2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 219 pm_compat_misc_events3, Misc Events
event:0X0DB0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP219 : (Group 219 pm_compat_misc_events3) Cycles when the Global Completion Table has no slots from this thread.
event:0X0DB1 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP219 : (Group 219 pm_compat_misc_events3) Number of PowerPC instructions successfully dispatched.
event:0X0DB2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP219 : (Group 219 pm_compat_misc_events3) Processor Cycles
event:0X0DB3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP219 : (Group 219 pm_compat_misc_events3) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0DB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP219 : (Group 219 pm_compat_misc_events3) Number of run instructions completed.
event:0X0DB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP219 : (Group 219 pm_compat_misc_events3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 220 pm_mrk_br, Marked Branch events
event:0X0DC0 counters:0 um:zero minimum:1000 name:PM_MRK_BR_TAKEN_GRP220 : (Group 220 pm_mrk_br) A marked branch was taken
event:0X0DC1 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP220 : (Group 220 pm_mrk_br) Marked L1 D cache load misses
event:0X0DC2 counters:2 um:zero minimum:1000 name:PM_MRK_BR_MPRED_GRP220 : (Group 220 pm_mrk_br) A marked branch was mispredicted
event:0X0DC3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP220 : (Group 220 pm_mrk_br) Number of PowerPC Instructions that completed.
event:0X0DC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP220 : (Group 220 pm_mrk_br) Number of run instructions completed.
event:0X0DC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP220 : (Group 220 pm_mrk_br) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 221 pm_mrk_dsource1, Marked data sources
event:0X0DD0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_GRP221 : (Group 221 pm_mrk_dsource1) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a marked load.
event:0X0DD1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_CYC_GRP221 : (Group 221 pm_mrk_dsource1) Marked ld latency Data Source 1110 (Distant Memory)
event:0X0DD2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_MOD_GRP221 : (Group 221 pm_mrk_dsource1) Marked data loaded from another L2 on same chip modified
event:0X0DD3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_MOD_CYC_GRP221 : (Group 221 pm_mrk_dsource1) Marked ld latency Data source 0101 (L2.1 M same chip)
event:0X0DD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP221 : (Group 221 pm_mrk_dsource1) Number of run instructions completed.
event:0X0DD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP221 : (Group 221 pm_mrk_dsource1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 222 pm_mrk_dsource2, Marked data sources
event:0X0DE0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP222 : (Group 222 pm_mrk_dsource2) The processor's Data Cache was reloaded from the local L3 due to a marked load.
event:0X0DE1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP222 : (Group 222 pm_mrk_dsource2) Cycles a marked load waited for data from this level of the storage system.  Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache.  To calculate average latency divide this count by the number of marked misses to the same level.
event:0X0DE2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP222 : (Group 222 pm_mrk_dsource2) The processor's Data Cache was reloaded due to a marked load from memory attached to the same module this processor is located on.
event:0X0DE3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP222 : (Group 222 pm_mrk_dsource2) Cycles a marked load waited for data from this level of the storage system.  Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache.  To calculate average latency divide this count by the number of marked misses to the same level.
event:0X0DE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP222 : (Group 222 pm_mrk_dsource2) Number of run instructions completed.
event:0X0DE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP222 : (Group 222 pm_mrk_dsource2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 223 pm_mrk_dsource3, Marked data sources
event:0X0DF0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_MOD_GRP223 : (Group 223 pm_mrk_dsource3) Marked data loaded from another L3 on same chip modified
event:0X0DF1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_SHR_CYC_GRP223 : (Group 223 pm_mrk_dsource3) Marked load latency Data source 0100 (L2.1 S)
event:0X0DF2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_SHR_GRP223 : (Group 223 pm_mrk_dsource3) Marked data loaded from another L2 on same chip shared
event:0X0DF3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_MOD_CYC_GRP223 : (Group 223 pm_mrk_dsource3) Marked ld latency Data source 0111  (L3.1 M same chip)
event:0X0DF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP223 : (Group 223 pm_mrk_dsource3) Number of run instructions completed.
event:0X0DF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP223 : (Group 223 pm_mrk_dsource3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 224 pm_mrk_dsource4, Marked data sources
event:0X0E00 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP224 : (Group 224 pm_mrk_dsource4) The processor's Data Cache was reloaded from the local L2 due to a marked load.
event:0X0E01 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP224 : (Group 224 pm_mrk_dsource4) Cycles a marked load waited for data from this level of the storage system.  Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache.  To calculate average latency divide this count by the number of marked misses to the same level.
event:0X0E02 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP224 : (Group 224 pm_mrk_dsource4) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X0E03 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP224 : (Group 224 pm_mrk_dsource4) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0E04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP224 : (Group 224 pm_mrk_dsource4) Number of run instructions completed.
event:0X0E05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP224 : (Group 224 pm_mrk_dsource4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 225 pm_mrk_dsource5, Marked data sources
event:0X0E10 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_GRP225 : (Group 225 pm_mrk_dsource5) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a remote module due to a marked load.
event:0X0E11 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_CYC_GRP225 : (Group 225 pm_mrk_dsource5) Marked ld latency Data Source 1010 (Distant L2.75/L3.75 S)
event:0X0E12 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_GRP225 : (Group 225 pm_mrk_dsource5) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a distant module due to a marked load.
event:0X0E13 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_CYC_GRP225 : (Group 225 pm_mrk_dsource5) Marked ld latency Data source 1001 (L2.5/L3.5 M same 4 chip node)
event:0X0E14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP225 : (Group 225 pm_mrk_dsource5) Number of run instructions completed.
event:0X0E15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP225 : (Group 225 pm_mrk_dsource5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 226 pm_mrk_dsource6, Marked data sources
event:0X0E20 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_GRP226 : (Group 226 pm_mrk_dsource6) The processor's Data Cache was reloaded with shared (T or SL) data from an L2 or L3 on a remote module due to a marked load
event:0X0E21 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_CYC_GRP226 : (Group 226 pm_mrk_dsource6) Marked load latency Data Source 1000 (Remote L2.5/L3.5 S)
event:0X0E22 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP226 : (Group 226 pm_mrk_dsource6) The processor's Data Cache was reloaded due to a marked load from memory attached to a different module than this processor is located on.
event:0X0E23 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP226 : (Group 226 pm_mrk_dsource6) Cycles a marked load waited for data from this level of the storage system.  Counting begins when a marked load misses the data cache and ends when the data is reloaded into the data cache.  To calculate average latency divide this count by the number of marked misses to the same level.
event:0X0E24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP226 : (Group 226 pm_mrk_dsource6) Number of run instructions completed.
event:0X0E25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP226 : (Group 226 pm_mrk_dsource6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 227 pm_mrk_dsource7, Marked data sources
event:0X0E30 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_SHR_GRP227 : (Group 227 pm_mrk_dsource7) Marked data loaded from another L3 on same chip shared
event:0X0E31 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_SHR_CYC_GRP227 : (Group 227 pm_mrk_dsource7) Marked load latency Data source 0110 (L3.1 S)
event:0X0E32 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP227 : (Group 227 pm_mrk_dsource7) One of the execution units finished a marked instruction.  Instructions that finish may not necessary complete
event:0X0E33 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP227 : (Group 227 pm_mrk_dsource7) DL1 was reloaded from beyond L2 due to a marked demand load.
event:0X0E34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP227 : (Group 227 pm_mrk_dsource7) Number of run instructions completed.
event:0X0E35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP227 : (Group 227 pm_mrk_dsource7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 228 pm_mrk_dsource8, Marked data sources
event:0X0E40 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_COUNT_GRP228 : (Group 228 pm_mrk_dsource8) Marked Load exposed Miss (use edge detect to count #)
event:0X0E41 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3MISS_GRP228 : (Group 228 pm_mrk_dsource8) DL1 was reloaded from beyond L3 due to a marked load.
event:0X0E42 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_GRP228 : (Group 228 pm_mrk_dsource8) The processor's Data Cache was reloaded with modified (M) data from an L2  or L3 on a distant module due to a marked load.
event:0X0E43 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_CYC_GRP228 : (Group 228 pm_mrk_dsource8) Marked ld latency Data source 1011  (L2.75/L3.75 M different 4 chip node)
event:0X0E44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP228 : (Group 228 pm_mrk_dsource8) Number of run instructions completed.
event:0X0E45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP228 : (Group 228 pm_mrk_dsource8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 229 pm_mrk_lsu_flush1, Marked LSU Flush
event:0X0E50 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP229 : (Group 229 pm_mrk_lsu_flush1) A marked load was flushed because it was unaligned (crossed a 64byte boundary, or 32 byte if it missed the L1)
event:0X0E51 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP229 : (Group 229 pm_mrk_lsu_flush1) A marked store was flushed because it was unaligned
event:0X0E52 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP229 : (Group 229 pm_mrk_lsu_flush1) Number of PowerPC Instructions that completed.
event:0X0E53 counters:3 um:zero minimum:10000 name:PM_CYC_GRP229 : (Group 229 pm_mrk_lsu_flush1) Processor Cycles
event:0X0E54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP229 : (Group 229 pm_mrk_lsu_flush1) Number of run instructions completed.
event:0X0E55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP229 : (Group 229 pm_mrk_lsu_flush1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 230 pm_mrk_lsu_flush2, Marked LSU Flush
event:0X0E60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP230 : (Group 230 pm_mrk_lsu_flush2) Number of PowerPC Instructions that completed.
event:0X0E61 counters:1 um:zero minimum:10000 name:PM_CYC_GRP230 : (Group 230 pm_mrk_lsu_flush2) Processor Cycles
event:0X0E62 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP230 : (Group 230 pm_mrk_lsu_flush2) Load Hit Load or Store Hit Load flush.  A marked load was flushed because it executed before an older store and they had overlapping data OR two loads executed out of order and they have byte overlap and there was a snoop in between to an overlapped byte.
event:0X0E63 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP230 : (Group 230 pm_mrk_lsu_flush2) Load Hit Store flush.  A marked load was flushed because it hits (overlaps) an older store that is already in the SRQ or in the same group.  If the real addresses match but the effective addresses do not, an alias condition exists that prevents store forwarding.  If the load and store are in the same group the load must be flushed to separate the two instructions.
event:0X0E64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP230 : (Group 230 pm_mrk_lsu_flush2) Number of run instructions completed.
event:0X0E65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP230 : (Group 230 pm_mrk_lsu_flush2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 231 pm_mrk_rejects, Marked rejects
event:0X0E70 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP231 : (Group 231 pm_mrk_rejects) The Load Store Unit rejected a marked load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully
event:0X0E71 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_GRP231 : (Group 231 pm_mrk_rejects) Marked flush initiated by LSU
event:0X0E72 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP231 : (Group 231 pm_mrk_rejects) Number of PowerPC Instructions that completed.
event:0X0E73 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_GRP231 : (Group 231 pm_mrk_rejects) LSU marked reject (up to 2 per cycle)
event:0X0E74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP231 : (Group 231 pm_mrk_rejects) Number of run instructions completed.
event:0X0E75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP231 : (Group 231 pm_mrk_rejects) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 232 pm_mrk_inst, Marked instruction events
event:0X0E80 counters:0 um:zero minimum:1000 name:PM_MRK_INST_ISSUED_GRP232 : (Group 232 pm_mrk_inst) A marked instruction was issued to an execution unit.
event:0X0E81 counters:1 um:zero minimum:1000 name:PM_MRK_INST_DISP_GRP232 : (Group 232 pm_mrk_inst) A marked instruction was dispatched
event:0X0E82 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP232 : (Group 232 pm_mrk_inst) One of the execution units finished a marked instruction.  Instructions that finish may not necessary complete
event:0X0E83 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP232 : (Group 232 pm_mrk_inst) Number of PowerPC Instructions that completed.
event:0X0E84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP232 : (Group 232 pm_mrk_inst) Number of run instructions completed.
event:0X0E85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP232 : (Group 232 pm_mrk_inst) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 233 pm_mrk_st, Marked stores events
event:0X0E90 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP233 : (Group 233 pm_mrk_st) A sampled store has completed (data home)
event:0X0E91 counters:1 um:zero minimum:1000 name:PM_MRK_ST_NEST_GRP233 : (Group 233 pm_mrk_st) A sampled store has been sent to the memory subsystem
event:0X0E92 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP233 : (Group 233 pm_mrk_st) A marked store previously sent to the memory subsystem completed (data home) after requiring intervention
event:0X0E93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP233 : (Group 233 pm_mrk_st) Number of PowerPC Instructions that completed.
event:0X0E94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP233 : (Group 233 pm_mrk_st) Number of run instructions completed.
event:0X0E95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP233 : (Group 233 pm_mrk_st) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 234 pm_mrk_dtlb_miss1, Marked Data TLB Miss
event:0X0EA0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Number of PowerPC Instructions that completed.
event:0X0EA1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Data TLB references to 4KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
event:0X0EA2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Data TLB references to 64KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
event:0X0EA3 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Data TLB references to 16M pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
event:0X0EA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Number of run instructions completed.
event:0X0EA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP234 : (Group 234 pm_mrk_dtlb_miss1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 235 pm_mrk_dtlb_miss2, Marked Data TLB Miss
event:0X0EB0 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Data TLB references to 16GB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
event:0X0EB1 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Data TLB references to 4KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
event:0X0EB2 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Data TLB references to 64KB pages by a marked instruction that missed the TLB. Page size is determined at TLB reload time.
event:0X0EB3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Number of PowerPC Instructions that completed.
event:0X0EB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Number of run instructions completed.
event:0X0EB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP235 : (Group 235 pm_mrk_dtlb_miss2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 236 pm_mrk_derat_miss1, Marked DERAT Miss events
event:0X0EC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP236 : (Group 236 pm_mrk_derat_miss1) Number of PowerPC Instructions that completed.
event:0X0EC1 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP236 : (Group 236 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
event:0X0EC2 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP236 : (Group 236 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
event:0X0EC3 counters:3 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16G_GRP236 : (Group 236 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
event:0X0EC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP236 : (Group 236 pm_mrk_derat_miss1) Number of run instructions completed.
event:0X0EC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP236 : (Group 236 pm_mrk_derat_miss1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 237 pm_mrk_derat_miss2, Marked DERAT Miss events
event:0X0ED0 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_4K_GRP237 : (Group 237 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
event:0X0ED1 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP237 : (Group 237 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
event:0X0ED2 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP237 : (Group 237 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
event:0X0ED3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP237 : (Group 237 pm_mrk_derat_miss2) Number of PowerPC Instructions that completed.
event:0X0ED4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP237 : (Group 237 pm_mrk_derat_miss2) Number of run instructions completed.
event:0X0ED5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP237 : (Group 237 pm_mrk_derat_miss2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 238 pm_mrk_misc_miss, marked Miss Events
event:0X0EE0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_GRP238 : (Group 238 pm_mrk_misc_miss) Marked Load exposed Miss
event:0X0EE1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP238 : (Group 238 pm_mrk_misc_miss) Number of PowerPC Instructions that completed.
event:0X0EE2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_DERAT_MISS_GRP238 : (Group 238 pm_mrk_misc_miss) Marked DERAT Miss
event:0X0EE3 counters:3 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_CYC_GRP238 : (Group 238 pm_mrk_misc_miss) L1 data load miss cycles
event:0X0EE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP238 : (Group 238 pm_mrk_misc_miss) Number of run instructions completed.
event:0X0EE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP238 : (Group 238 pm_mrk_misc_miss) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 239 pm_mrk_pteg1, Marked PTEG
event:0X0EF0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP239 : (Group 239 pm_mrk_pteg1) Number of PowerPC Instructions that completed.
event:0X0EF1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DMEM_GRP239 : (Group 239 pm_mrk_pteg1) A Page Table Entry was loaded into the ERAT from memory attached to a different module than this processor is located on due to a marked load or store.
event:0X0EF2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_MOD_GRP239 : (Group 239 pm_mrk_pteg1) Marked PTEG loaded from another L2 on same chip modified
event:0X0EF3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_SHR_GRP239 : (Group 239 pm_mrk_pteg1) Marked PTEG loaded from another L2 on same chip shared
event:0X0EF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP239 : (Group 239 pm_mrk_pteg1) Number of run instructions completed.
event:0X0EF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP239 : (Group 239 pm_mrk_pteg1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 240 pm_mrk_pteg2, Marked PTEG
event:0X0F00 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2_GRP240 : (Group 240 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT from the local L2 due to a marked load or store.
event:0X0F01 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_SHR_GRP240 : (Group 240 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT from memory attached to a different module than this processor is located on due to a marked load or store.
event:0X0F02 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RMEM_GRP240 : (Group 240 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT. POWER6 does not have a TLB
event:0X0F03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP240 : (Group 240 pm_mrk_pteg2) Number of PowerPC Instructions that completed.
event:0X0F04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP240 : (Group 240 pm_mrk_pteg2) Number of run instructions completed.
event:0X0F05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP240 : (Group 240 pm_mrk_pteg2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 241 pm_mrk_pteg3, Marked PTEG
event:0X0F10 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP241 : (Group 241 pm_mrk_pteg3) Number of PowerPC Instructions that completed.
event:0X0F11 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L31_SHR_GRP241 : (Group 241 pm_mrk_pteg3) Marked PTEG loaded from another L3 on same chip shared
event:0X0F12 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_MOD_GRP241 : (Group 241 pm_mrk_pteg3) Marked PTEG loaded from another L2 on same chip modified
event:0X0F13 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_MOD_GRP241 : (Group 241 pm_mrk_pteg3) A Page Table Entry was loaded into the ERAT with modified (M) data from an L2  or L3 on a distant module due to a marked load or store.
event:0X0F14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP241 : (Group 241 pm_mrk_pteg3) Number of run instructions completed.
event:0X0F15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP241 : (Group 241 pm_mrk_pteg3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 242 pm_mrk_pteg4, Marked PTEG
event:0X0F20 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L31_MOD_GRP242 : (Group 242 pm_mrk_pteg4) Marked PTEG loaded from another L3 on same chip modified
event:0X0F21 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3_GRP242 : (Group 242 pm_mrk_pteg4) A Page Table Entry was loaded into the ERAT from the local L3 due to a marked load or store.
event:0X0F22 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP242 : (Group 242 pm_mrk_pteg4) Number of PowerPC Instructions that completed.
event:0X0F23 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2MISS_GRP242 : (Group 242 pm_mrk_pteg4) A Page Table Entry was loaded into the ERAT but not from the local L2 due to a marked load or store.
event:0X0F24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP242 : (Group 242 pm_mrk_pteg4) Number of run instructions completed.
event:0X0F25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP242 : (Group 242 pm_mrk_pteg4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 243 pm_mrk_pteg5, Marked PTEG
event:0X0F30 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_MOD_GRP243 : (Group 243 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT with shared (T or SL) data from an L2 or L3 on a remote module due to a marked load or store.
event:0X0F31 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3MISS_GRP243 : (Group 243 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT from beyond the L3 due to a marked load or store
event:0X0F32 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP243 : (Group 243 pm_mrk_pteg5) Number of PowerPC Instructions that completed.
event:0X0F33 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_LMEM_GRP243 : (Group 243 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT from memory attached to the same module this processor is located on due to a marked load or store.
event:0X0F34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP243 : (Group 243 pm_mrk_pteg5) Number of run instructions completed.
event:0X0F35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP243 : (Group 243 pm_mrk_pteg5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 244 pm_mrk_misc1, Marked misc events
event:0X0F40 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP244 : (Group 244 pm_mrk_misc1) A marked stcx (stwcx or stdcx) failed
event:0X0F41 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP244 : (Group 244 pm_mrk_misc1) Number of PowerPC Instructions that completed.
event:0X0F42 counters:2 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP244 : (Group 244 pm_mrk_misc1) The Instruction Fetch Unit finished a marked instruction.
event:0X0F43 counters:3 um:zero minimum:1000 name:PM_MRK_INST_TIMEO_GRP244 : (Group 244 pm_mrk_misc1) The number of instructions finished since the last progress indicator from a marked instruction exceeded the threshold. The marked instruction was flushed.
event:0X0F44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP244 : (Group 244 pm_mrk_misc1) Number of run instructions completed.
event:0X0F45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP244 : (Group 244 pm_mrk_misc1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 245 pm_mrk_misc2, Marked misc events
event:0X0F50 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP245 : (Group 245 pm_mrk_misc2) Number of PowerPC Instructions that completed.
event:0X0F51 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP245 : (Group 245 pm_mrk_misc2) One of the Fixed Point Units finished a marked instruction.  Instructions that finish may not necessary complete.
event:0X0F52 counters:2 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP245 : (Group 245 pm_mrk_misc2) The Instruction Fetch Unit finished a marked instruction.
event:0X0F53 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP245 : (Group 245 pm_mrk_misc2) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
event:0X0F54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP245 : (Group 245 pm_mrk_misc2) Number of run instructions completed.
event:0X0F55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP245 : (Group 245 pm_mrk_misc2) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 246 pm_mrk_misc3, Marked misc events
event:0X0F60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP246 : (Group 246 pm_mrk_misc3) Number of PowerPC Instructions that completed.
event:0X0F61 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP246 : (Group 246 pm_mrk_misc3) The branch unit finished a marked instruction. Instructions that finish may not necessary complete.
event:0X0F62 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_PARTIAL_CDF_GRP246 : (Group 246 pm_mrk_misc3) A partial cacheline was returned from the L3 for a marked load
event:0X0F63 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP246 : (Group 246 pm_mrk_misc3) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
event:0X0F64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP246 : (Group 246 pm_mrk_misc3) Number of run instructions completed.
event:0X0F65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP246 : (Group 246 pm_mrk_misc3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 247 pm_mrk_misc4, Marked misc events
event:0X0F70 counters:0 um:zero minimum:1000 name:PM_MRK_FIN_STALL_CYC_GRP247 : (Group 247 pm_mrk_misc4) Marked instruction Finish Stall cycles (marked finish after NTC)
event:0X0F71 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP247 : (Group 247 pm_mrk_misc4) Number of PowerPC Instructions that completed.
event:0X0F72 counters:2 um:zero minimum:1000 name:PM_MRK_VSU_FIN_GRP247 : (Group 247 pm_mrk_misc4) vsu (fpu) marked  instr finish
event:0X0F73 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP247 : (Group 247 pm_mrk_misc4) A group containing a marked (sampled) instruction experienced an instruction cache miss.
event:0X0F74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP247 : (Group 247 pm_mrk_misc4) Number of run instructions completed.
event:0X0F75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP247 : (Group 247 pm_mrk_misc4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 248 pm_mrk_misc5, Marked misc events
event:0X0F80 counters:0 um:zero minimum:1000 name:PM_MRK_FIN_STALL_CYC_COUNT_GRP248 : (Group 248 pm_mrk_misc5) Marked instruction Finish Stall cycles (marked finish after NTC) (use edge detect to count #)
event:0X0F81 counters:1 um:zero minimum:1000 name:PM_MRK_DFU_FIN_GRP248 : (Group 248 pm_mrk_misc5) The Decimal Floating Point Unit finished a marked instruction.
event:0X0F82 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_COUNT_GRP248 : (Group 248 pm_mrk_misc5) Marked Group Completion Stall cycles (use edge detect to count #)
event:0X0F83 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP248 : (Group 248 pm_mrk_misc5) Number of PowerPC Instructions that completed.
event:0X0F84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP248 : (Group 248 pm_mrk_misc5) Number of run instructions completed.
event:0X0F85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP248 : (Group 248 pm_mrk_misc5) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 249 pm_mrk_misc6, Marked misc events
event:0X0F90 counters:0 um:zero minimum:1000 name:PM_GRP_MRK_CYC_GRP249 : (Group 249 pm_mrk_misc6) cycles IDU marked instruction before dispatch
event:0X0F91 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP249 : (Group 249 pm_mrk_misc6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
event:0X0F92 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP249 : (Group 249 pm_mrk_misc6) Number of PowerPC Instructions that completed.
event:0X0F93 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP249 : (Group 249 pm_mrk_misc6) A group containing a sampled instruction completed.  Microcoded instructions that span multiple groups will generate this event once per group.
event:0X0F94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP249 : (Group 249 pm_mrk_misc6) Number of run instructions completed.
event:0X0F95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP249 : (Group 249 pm_mrk_misc6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 250 pm_mrk_misc7, Marked misc events
event:0X0FA0 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP250 : (Group 250 pm_mrk_misc7) The Load Store Unit rejected a marked load instruction that had an address overlap with an older store in the store queue. The store must be committed and de-allocated from the Store Queue before the load can execute successfully
event:0X0FA1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP250 : (Group 250 pm_mrk_misc7) Number of PowerPC Instructions that completed.
event:0X0FA2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_ERAT_MISS_GRP250 : (Group 250 pm_mrk_misc7) LSU marked reject due to ERAT (up to 2 per cycle)
event:0X0FA3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_GRP250 : (Group 250 pm_mrk_misc7) LSU marked reject (up to 2 per cycle)
event:0X0FA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP250 : (Group 250 pm_mrk_misc7) Number of run instructions completed.
event:0X0FA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP250 : (Group 250 pm_mrk_misc7) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.

#Group 251 pm_mrk_misc8, Marked misc events
event:0X0FB0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP251 : (Group 251 pm_mrk_misc8) Processor Cycles
event:0X0FB1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP251 : (Group 251 pm_mrk_misc8) Processor Cycles
event:0X0FB2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP251 : (Group 251 pm_mrk_misc8) Number of PowerPC Instructions that completed.
event:0X0FB3 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP251 : (Group 251 pm_mrk_misc8) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
event:0X0FB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP251 : (Group 251 pm_mrk_misc8) Number of run instructions completed.
event:0X0FB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP251 : (Group 251 pm_mrk_misc8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop.  Gating by the run latch filters out the idle loop.
