#PPC64 POWER7 events
#
# Copyright OProfile authors
# Copyright (c) International Business Machines, 2009, 2011.
# Contributed by Maynard Johnson <maynardj@us.ibm.com>.
#
#
#  Only events within the same group can be selected simultaneously when
#  using legacy opcontrol to do profiling.  When profiling with operf,
#  events from different groups may be specified, and the Linux Performance
#  Events Kernel Subsystem code will handle the necessary multiplexing.
#
#  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 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 count cache. This will result in a branch redirect flush if not overwritten 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 count cache. This will result in a branch redirect flush if not overwritten 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 count cache. This will result in a branch redirect flush if not overwritten 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_cyc1, Thread cycles
event:0X02D0 counters:0 um:zero minimum:1000 name:PM_ANY_THRD_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc1) One of threads in run_cycles
event:0X02D1 counters:1 um:zero minimum:1000 name:PM_THRD_ALL_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc1) 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_cyc1) Instructions completed by this thread when both threads had their run latches set.
event:0X02D3 counters:3 um:zero minimum:1000 name:PM_THRD_4_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc1) 4 thread in Run Cycles
event:0X02D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP45 : (Group 45 pm_thread_cyc1) Number of run instructions completed.
event:0X02D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP45 : (Group 45 pm_thread_cyc1) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_cyc2, Thread cycles
event:0X02E0 counters:0 um:zero minimum:1000 name:PM_THRD_GRP_CMPL_BOTH_CYC_GRP46 : (Group 46 pm_thread_cyc2) Cycles that both threads completed.
event:0X02E1 counters:1 um:zero minimum:1000 name:PM_THRD_ALL_RUN_CYC_GRP46 : (Group 46 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:0X02E2 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP46 : (Group 46 pm_thread_cyc2) Instructions completed by this thread when both threads had their run latches set.
event:0X02E3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_0_1_CYC_GRP46 : (Group 46 pm_thread_cyc2)  Cycles thread running at priority level 0 or 1
event:0X02E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP46 : (Group 46 pm_thread_cyc2) Number of run instructions completed.
event:0X02E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP46 : (Group 46 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 47 pm_thread_cyc3, Thread cycles
event:0X02F0 counters:0 um:zero minimum:1000 name:PM_THRD_3_CONC_RUN_INST_GRP47 : (Group 47 pm_thread_cyc3) 3 thread Concurrent Run Instructions
event:0X02F1 counters:1 um:zero minimum:1000 name:PM_THRD_2_RUN_CYC_GRP47 : (Group 47 pm_thread_cyc3) 2 thread in Run Cycles
event:0X02F2 counters:2 um:zero minimum:1000 name:PM_THRD_3_RUN_CYC_GRP47 : (Group 47 pm_thread_cyc3) 3 thread in Run Cycles
event:0X02F3 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_4_5_CYC_GRP47 : (Group 47 pm_thread_cyc3)  Cycles thread running at priority level 4 or 5
event:0X02F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP47 : (Group 47 pm_thread_cyc3) Number of run instructions completed.
event:0X02F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP47 : (Group 47 pm_thread_cyc3) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_thread_cyc4, Thread cycles
event:0X0300 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_2_3_CYC_GRP48 : (Group 48 pm_thread_cyc4)  Cycles thread running at priority level 2 or 3
event:0X0301 counters:1 um:zero minimum:1000 name:PM_THRD_4_CONC_RUN_INST_GRP48 : (Group 48 pm_thread_cyc4) 4 thread Concurrent Run Instructions
event:0X0302 counters:2 um:zero minimum:1000 name:PM_1THRD_CON_RUN_INSTR_GRP48 : (Group 48 pm_thread_cyc4) 1 thread Concurrent Run Instructions
event:0X0303 counters:3 um:zero minimum:1000 name:PM_THRD_2_CONC_RUN_INSTR_GRP48 : (Group 48 pm_thread_cyc4) 2 thread Concurrent Run Instructions
event:0X0304 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP48 : (Group 48 pm_thread_cyc4) Number of run instructions completed.
event:0X0305 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP48 : (Group 48 pm_thread_cyc4) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_thread_cyc5, Thread cycles
event:0X0310 counters:0 um:zero minimum:1000 name:PM_THRD_PRIO_0_1_CYC_GRP49 : (Group 49 pm_thread_cyc5)  Cycles thread running at priority level 0 or 1
event:0X0311 counters:1 um:zero minimum:1000 name:PM_THRD_PRIO_2_3_CYC_GRP49 : (Group 49 pm_thread_cyc5)  Cycles thread running at priority level 2 or 3
event:0X0312 counters:2 um:zero minimum:1000 name:PM_THRD_PRIO_4_5_CYC_GRP49 : (Group 49 pm_thread_cyc5)  Cycles thread running at priority level 4 or 5
event:0X0313 counters:3 um:zero minimum:1000 name:PM_THRD_PRIO_6_7_CYC_GRP49 : (Group 49 pm_thread_cyc5)  Cycles thread running at priority level 6 or 7
event:0X0314 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP49 : (Group 49 pm_thread_cyc5) Number of run instructions completed.
event:0X0315 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP49 : (Group 49 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 50 pm_thread_cyc6, Thread cycles
event:0X0320 counters:0 um:zero minimum:1000 name:PM_THRD_1_RUN_CYC_GRP50 : (Group 50 pm_thread_cyc6) At least one thread has set its run latch. Operating systems use the run latch to indicate when they are doing useful work.  The run latch is typically cleared in the OS idle loop. This event does not respect FCWAIT.
event:0X0321 counters:1 um:zero minimum:1000 name:PM_THRD_ALL_RUN_CYC_GRP50 : (Group 50 pm_thread_cyc6) Cycles when all threads had their run latches set. Operating systems use the run latch to indicate when they are doing useful work.
event:0X0322 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP50 : (Group 50 pm_thread_cyc6) Instructions completed by this thread when both threads had their run latches set.
event:0X0323 counters:3 um:zero minimum:1000 name:PM_THRD_4_RUN_CYC_GRP50 : (Group 50 pm_thread_cyc6) 4 thread in Run Cycles
event:0X0324 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP50 : (Group 50 pm_thread_cyc6) Number of run instructions completed.
event:0X0325 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP50 : (Group 50 pm_thread_cyc6) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_fxu1, FXU events
event:0X0330 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP51 : (Group 51 pm_fxu1) FXU0 and FXU1 are both idle.
event:0X0331 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP51 : (Group 51 pm_fxu1) Cycles when both FXU0 and FXU1 are busy.
event:0X0332 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP51 : (Group 51 pm_fxu1) FXU0 is busy while FXU1 was idle
event:0X0333 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP51 : (Group 51 pm_fxu1) FXU0 was idle while FXU1 was busy
event:0X0334 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP51 : (Group 51 pm_fxu1) Number of run instructions completed.
event:0X0335 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP51 : (Group 51 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 52 pm_fxu2, FXU events
event:0X0340 counters:0 um:zero minimum:1000 name:PM_FXU0_FIN_GRP52 : (Group 52 pm_fxu2) The Fixed Point unit 0 finished an instruction and produced a result.  Instructions that finish may not necessary complete.
event:0X0341 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP52 : (Group 52 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:0X0342 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP52 : (Group 52 pm_fxu2) Number of PowerPC Instructions that completed.
event:0X0343 counters:3 um:zero minimum:1000 name:PM_FXU1_FIN_GRP52 : (Group 52 pm_fxu2) The Fixed Point unit 1 finished an instruction and produced a result. Instructions that finish may not necessary complete.
event:0X0344 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP52 : (Group 52 pm_fxu2) Number of run instructions completed.
event:0X0345 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP52 : (Group 52 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 53 pm_fxu3, FXU events
event:0X0350 counters:0 um:zero minimum:10000 name:PM_CYC_GRP53 : (Group 53 pm_fxu3) Processor Cycles
event:0X0351 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP53 : (Group 53 pm_fxu3) Cycles when both FXU0 and FXU1 are busy.
event:0X0352 counters:2 um:zero minimum:1000 name:PM_FXU0_BUSY_FXU1_IDLE_GRP53 : (Group 53 pm_fxu3) FXU0 is busy while FXU1 was idle
event:0X0353 counters:3 um:zero minimum:1000 name:PM_FXU1_BUSY_FXU0_IDLE_GRP53 : (Group 53 pm_fxu3) FXU0 was idle while FXU1 was busy
event:0X0354 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP53 : (Group 53 pm_fxu3) Number of run instructions completed.
event:0X0355 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP53 : (Group 53 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 54 pm_fxu4, FXU events
event:0X0360 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP54 : (Group 54 pm_fxu4) FXU0 and FXU1 are both idle.
event:0X0361 counters:1 um:zero minimum:1000 name:PM_FXU_BUSY_GRP54 : (Group 54 pm_fxu4) Cycles when both FXU0 and FXU1 are busy.
event:0X0362 counters:2 um:zero minimum:10000 name:PM_CYC_GRP54 : (Group 54 pm_fxu4) Processor Cycles
event:0X0363 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP54 : (Group 54 pm_fxu4) Number of PowerPC Instructions that completed.
event:0X0364 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP54 : (Group 54 pm_fxu4) Number of run instructions completed.
event:0X0365 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP54 : (Group 54 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 55 pm_L2_RCLD, L2  RC load events
event:0X0370 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_GRP55 : (Group 55 pm_L2_RCLD)  L2  RC load dispatch attempt
event:0X0371 counters:1 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_OTHER_GRP55 : (Group 55 pm_L2_RCLD)  L2  RC load dispatch attempt failed due to other reasons
event:0X0372 counters:2 um:zero minimum:1000 name:PM_L2_RCST_DISP_GRP55 : (Group 55 pm_L2_RCLD)  L2  RC store dispatch attempt
event:0X0373 counters:3 um:zero minimum:1000 name:PM_L2_RCLD_BUSY_RC_FULL_GRP55 : (Group 55 pm_L2_RCLD)  L2  activated Busy to the core for loads due to all RC full
event:0X0374 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP55 : (Group 55 pm_L2_RCLD) Number of run instructions completed.
event:0X0375 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP55 : (Group 55 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 56 pm_L2_RC, RC related events
event:0X0380 counters:0 um:zero minimum:1000 name:PM_L2_CO_FAIL_BUSY_GRP56 : (Group 56 pm_L2_RC)  L2  RC Cast Out dispatch attempt failed due to all CO machines busy
event:0X0381 counters:1 um:zero minimum:10000 name:PM_CYC_GRP56 : (Group 56 pm_L2_RC) Processor Cycles
event:0X0382 counters:2 um:zero minimum:1000 name:PM_L2_RC_ST_DONE_GRP56 : (Group 56 pm_L2_RC) RC did st to line that was Tx or Sx
event:0X0383 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP56 : (Group 56 pm_L2_RC) Number of PowerPC Instructions that completed.
event:0X0384 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP56 : (Group 56 pm_L2_RC) Number of run instructions completed.
event:0X0385 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP56 : (Group 56 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 57 pm_L2_RCST, L2 RC Store Events
event:0X0390 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_GRP57 : (Group 57 pm_L2_RCST)  L2  RC load dispatch attempt
event:0X0391 counters:1 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_OTHER_GRP57 : (Group 57 pm_L2_RCST)  L2  RC load dispatch attempt failed due to other reasons
event:0X0392 counters:2 um:zero minimum:1000 name:PM_L2_RCST_DISP_FAIL_ADDR_GRP57 : (Group 57 pm_L2_RCST)  L2  RC store dispatch attempt failed due to address collision with RC/CO/SN/SQ
event:0X0393 counters:3 um:zero minimum:1000 name:PM_L2_RCST_DISP_FAIL_OTHER_GRP57 : (Group 57 pm_L2_RCST)  L2  RC store dispatch attempt failed due to other reasons
event:0X0394 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP57 : (Group 57 pm_L2_RCST) Number of run instructions completed.
event:0X0395 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP57 : (Group 57 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 58 pm_L2_ldst_1, L2 load/store
event:0X03A0 counters:0 um:zero minimum:1000 name:PM_L2_ST_GRP58 : (Group 58 pm_L2_ldst_1) Data Store Count
event:0X03A1 counters:1 um:zero minimum:1000 name:PM_L2_LD_MISS_GRP58 : (Group 58 pm_L2_ldst_1) Data Load Miss
event:0X03A2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP58 : (Group 58 pm_L2_ldst_1) Number of PowerPC Instructions that completed.
event:0X03A3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP58 : (Group 58 pm_L2_ldst_1) Processor Cycles
event:0X03A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP58 : (Group 58 pm_L2_ldst_1) Number of run instructions completed.
event:0X03A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP58 : (Group 58 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 59 pm_L2_ldst_2, L2 load/store
event:0X03B0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP59 : (Group 59 pm_L2_ldst_2) Number of PowerPC Instructions that completed.
event:0X03B1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP59 : (Group 59 pm_L2_ldst_2) Processor Cycles
event:0X03B2 counters:2 um:zero minimum:1000 name:PM_L2_LD_HIT_GRP59 : (Group 59 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:0X03B3 counters:3 um:zero minimum:1000 name:PM_L2_ST_HIT_GRP59 : (Group 59 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:0X03B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP59 : (Group 59 pm_L2_ldst_2) Number of run instructions completed.
event:0X03B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP59 : (Group 59 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 60 pm_L2_ldst_3, L2 load/store
event:0X03C0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP60 : (Group 60 pm_L2_ldst_3) Number of PowerPC Instructions that completed.
event:0X03C1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP60 : (Group 60 pm_L2_ldst_3) Processor Cycles
event:0X03C2 counters:2 um:zero minimum:1000 name:PM_L2_LD_DISP_GRP60 : (Group 60 pm_L2_ldst_3) All successful load dispatches
event:0X03C3 counters:3 um:zero minimum:1000 name:PM_L2_ST_DISP_GRP60 : (Group 60 pm_L2_ldst_3) All successful store dispatches
event:0X03C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP60 : (Group 60 pm_L2_ldst_3) Number of run instructions completed.
event:0X03C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP60 : (Group 60 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 61 pm_L2_RCSTLD, L2 RC Load/Store Events
event:0X03D0 counters:0 um:zero minimum:1000 name:PM_L2_RCLD_DISP_FAIL_ADDR_GRP61 : (Group 61 pm_L2_RCSTLD)  L2  RC load dispatch attempt failed due to address collision with RC/CO/SN/SQ
event:0X03D1 counters:1 um:zero minimum:1000 name:PM_L2_RCST_BUSY_RC_FULL_GRP61 : (Group 61 pm_L2_RCSTLD)  L2  activated Busy to the core for stores due to all RC full
event:0X03D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP61 : (Group 61 pm_L2_RCSTLD) Number of PowerPC Instructions that completed.
event:0X03D3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP61 : (Group 61 pm_L2_RCSTLD) Processor Cycles
event:0X03D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP61 : (Group 61 pm_L2_RCSTLD) Number of run instructions completed.
event:0X03D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP61 : (Group 61 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 62 pm_nest1, Nest Events
event:0X03E0 counters:0 um:zero minimum:1000 name:PM_PB_NODE_PUMP_GRP62 : (Group 62 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair0 Bit0
event:0X03E1 counters:1 um:zero minimum:1000 name:PM_PB_SYS_PUMP_GRP62 : (Group 62 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair1 Bit0
event:0X03E2 counters:2 um:zero minimum:1000 name:PM_PB_RETRY_NODE_PUMP_GRP62 : (Group 62 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair2 Bit0
event:0X03E3 counters:3 um:zero minimum:1000 name:PM_PB_RETRY_SYS_PUMP_GRP62 : (Group 62 pm_nest1)  Nest events (MC0/MC1/PB/GX), Pair3 Bit0
event:0X03E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP62 : (Group 62 pm_nest1) Number of run instructions completed.
event:0X03E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP62 : (Group 62 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 63 pm_nest2, Nest Events
event:0X03F0 counters:0 um:zero minimum:1000 name:PM_MEM0_RQ_DISP_GRP63 : (Group 63 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair0 Bit1
event:0X03F1 counters:1 um:zero minimum:1000 name:PM_MEM0_PREFETCH_DISP_GRP63 : (Group 63 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair1 Bit1
event:0X03F2 counters:2 um:zero minimum:1000 name:PM_MEM0_PB_RD_CL_GRP63 : (Group 63 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair2 Bit1
event:0X03F3 counters:3 um:zero minimum:1000 name:PM_MEM0_WQ_DISP_GRP63 : (Group 63 pm_nest2)  Nest events (MC0/MC1/PB/GX), Pair3 Bit1
event:0X03F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP63 : (Group 63 pm_nest2) Number of run instructions completed.
event:0X03F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP63 : (Group 63 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 64 pm_nest3, Nest Events
event:0X0400 counters:0 um:zero minimum:1000 name:PM_NEST_PAIR0_ADD_GRP64 : (Group 64 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair0 ADD
event:0X0401 counters:1 um:zero minimum:1000 name:PM_NEST_PAIR1_ADD_GRP64 : (Group 64 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair1 ADD
event:0X0402 counters:2 um:zero minimum:1000 name:PM_NEST_PAIR2_ADD_GRP64 : (Group 64 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair2 ADD
event:0X0403 counters:3 um:zero minimum:1000 name:PM_NEST_PAIR3_ADD_GRP64 : (Group 64 pm_nest3)  Nest events (MC0/MC1/PB/GX), Pair3 ADD
event:0X0404 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP64 : (Group 64 pm_nest3) Number of run instructions completed.
event:0X0405 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP64 : (Group 64 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 65 pm_nest4, Nest Events
event:0X0410 counters:0 um:zero minimum:1000 name:PM_NEST_PAIR0_AND_GRP65 : (Group 65 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair0 AND
event:0X0411 counters:1 um:zero minimum:1000 name:PM_NEST_PAIR1_AND_GRP65 : (Group 65 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair1 AND
event:0X0412 counters:2 um:zero minimum:1000 name:PM_NEST_PAIR2_AND_GRP65 : (Group 65 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair2 AND
event:0X0413 counters:3 um:zero minimum:1000 name:PM_NEST_PAIR3_AND_GRP65 : (Group 65 pm_nest4)  Nest events (MC0/MC1/PB/GX), Pair3 AND
event:0X0414 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP65 : (Group 65 pm_nest4) Number of run instructions completed.
event:0X0415 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP65 : (Group 65 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 66 pm_L2_redir_pref, L2 redirect and prefetch
event:0X0420 counters:0 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BHT_REDIRECT_GRP66 : (Group 66 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:0X0421 counters:1 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_REDIRECT_GRP66 : (Group 66 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:0X0422 counters:2 um:zero minimum:1000 name:PM_IC_DEMAND_REQ_GRP66 : (Group 66 pm_L2_redir_pref) Demand Instruction fetch request
event:0X0423 counters:3 um:zero minimum:1000 name:PM_IC_BANK_CONFLICT_GRP66 : (Group 66 pm_L2_redir_pref) Read blocked due to interleave conflict.
event:0X0424 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP66 : (Group 66 pm_L2_redir_pref) Number of run instructions completed.
event:0X0425 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP66 : (Group 66 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 67 pm_dlatencies1, Data latencies
event:0X0430 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP67 : (Group 67 pm_dlatencies1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X0431 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP67 : (Group 67 pm_dlatencies1) Number of PowerPC instructions successfully dispatched.
event:0X0432 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP67 : (Group 67 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:0X0433 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP67 : (Group 67 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:0X0434 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP67 : (Group 67 pm_dlatencies1) Number of run instructions completed.
event:0X0435 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP67 : (Group 67 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 68 pm_dlatencies2, Data latencies
event:0X0440 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP68 : (Group 68 pm_dlatencies2) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X0441 counters:1 um:zero minimum:10000 name:PM_CYC_GRP68 : (Group 68 pm_dlatencies2) Processor Cycles
event:0X0442 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP68 : (Group 68 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:0X0443 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP68 : (Group 68 pm_dlatencies2) Number of PowerPC Instructions that completed.
event:0X0444 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP68 : (Group 68 pm_dlatencies2) Number of run instructions completed.
event:0X0445 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP68 : (Group 68 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 69 pm_dlatencies3, Data latencies
event:0X0450 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP69 : (Group 69 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:0X0451 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP69 : (Group 69 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:0X0452 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP69 : (Group 69 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:0X0453 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP69 : (Group 69 pm_dlatencies3) Number of PowerPC Instructions that completed.
event:0X0454 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP69 : (Group 69 pm_dlatencies3) Number of run instructions completed.
event:0X0455 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP69 : (Group 69 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 70 pm_rejects1, Reject event
event:0X0460 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_GRP70 : (Group 70 pm_rejects1) The Load Store Unit rejected an instruction. Combined Unit 0 + 1
event:0X0461 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_LHS_GRP70 : (Group 70 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:0X0462 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LHS_GRP70 : (Group 70 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:0X0463 counters:3 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP70 : (Group 70 pm_rejects1) The Load Store Unit 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. Combined Unit 0 + 1
event:0X0464 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP70 : (Group 70 pm_rejects1) Number of run instructions completed.
event:0X0465 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP70 : (Group 70 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 71 pm_rejects2, Reject events
event:0X0470 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_GRP71 : (Group 71 pm_rejects2) The Load Store Unit rejected an instruction. Combined Unit 0 + 1
event:0X0471 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_ERAT_MISS_GRP71 : (Group 71 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:0X0472 counters:2 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP71 : (Group 71 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:0X0473 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP71 : (Group 71 pm_rejects2) The Store Request Queue is empty
event:0X0474 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP71 : (Group 71 pm_rejects2) Number of run instructions completed.
event:0X0475 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP71 : (Group 71 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 72 pm_rejects3, Set mispredictions rejects
event:0X0480 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_SET_MPRED_GRP72 : (Group 72 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:0X0481 counters:1 um:zero minimum:1000 name:PM_LSU_SET_MPRED_GRP72 : (Group 72 pm_rejects3) Line already in cache at reload time
event:0X0482 counters:2 um:zero minimum:10000 name:PM_CYC_GRP72 : (Group 72 pm_rejects3) Processor Cycles
event:0X0483 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP72 : (Group 72 pm_rejects3) Number of PowerPC Instructions that completed.
event:0X0484 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP72 : (Group 72 pm_rejects3) Number of run instructions completed.
event:0X0485 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP72 : (Group 72 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 73 pm_lsu_reject, LSU Reject Event
event:0X0490 counters:0 um:zero minimum:1000 name:PM_LSU_REJECT_LMQ_FULL_GRP73 : (Group 73 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:0X0491 counters:1 um:zero minimum:1000 name:PM_LSU0_REJECT_LMQ_FULL_GRP73 : (Group 73 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:0X0492 counters:2 um:zero minimum:1000 name:PM_LSU1_REJECT_LMQ_FULL_GRP73 : (Group 73 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:0X0493 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP73 : (Group 73 pm_lsu_reject) Number of PowerPC Instructions that completed.
event:0X0494 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP73 : (Group 73 pm_lsu_reject) Number of run instructions completed.
event:0X0495 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP73 : (Group 73 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 74 pm_lsu_ncld, Non cachable loads
event:0X04A0 counters:0 um:zero minimum:1000 name:PM_LSU_NCLD_GRP74 : (Group 74 pm_lsu_ncld) A non-cacheable load was executed. Combined Unit 0 + 1.
event:0X04A1 counters:1 um:zero minimum:1000 name:PM_LSU0_NCLD_GRP74 : (Group 74 pm_lsu_ncld) A non-cacheable load was executed by unit 0.
event:0X04A2 counters:2 um:zero minimum:1000 name:PM_LSU1_NCLD_GRP74 : (Group 74 pm_lsu_ncld) A non-cacheable load was executed by Unit 0.
event:0X04A3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP74 : (Group 74 pm_lsu_ncld) Number of PowerPC Instructions that completed.
event:0X04A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP74 : (Group 74 pm_lsu_ncld) Number of run instructions completed.
event:0X04A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP74 : (Group 74 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 75 pm_gct1, GCT events
event:0X04B0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP75 : (Group 75 pm_gct1) Cycles when the Global Completion Table has no slots from this thread.
event:0X04B1 counters:1 um:zero minimum:1000 name:PM_GCT_EMPTY_CYC_GRP75 : (Group 75 pm_gct1) Cycles when the Global Completion Table was completely empty.  No thread had an entry allocated.
event:0X04B2 counters:2 um:zero minimum:1000 name:PM_GCT_FULL_CYC_GRP75 : (Group 75 pm_gct1) The Global Completion Table is completely full.
event:0X04B3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP75 : (Group 75 pm_gct1) Processor Cycles
event:0X04B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP75 : (Group 75 pm_gct1) Number of run instructions completed.
event:0X04B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP75 : (Group 75 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 76 pm_gct2, GCT Events
event:0X04C0 counters:0 um:zero minimum:1000 name:PM_GCT_UTIL_1_TO_2_SLOTS_GRP76 : (Group 76 pm_gct2) GCT Utilization 1-2 entries
event:0X04C1 counters:1 um:zero minimum:1000 name:PM_GCT_UTIL_3_TO_6_SLOTS_GRP76 : (Group 76 pm_gct2) GCT Utilization 3-6 entries
event:0X04C2 counters:2 um:zero minimum:1000 name:PM_GCT_UTIL_7_TO_10_SLOTS_GRP76 : (Group 76 pm_gct2) GCT Utilization 7-10 entries
event:0X04C3 counters:3 um:zero minimum:1000 name:PM_GCT_UTIL_11_PLUS_SLOTS_GRP76 : (Group 76 pm_gct2) GCT Utilization 11+ entries
event:0X04C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP76 : (Group 76 pm_gct2) Number of run instructions completed.
event:0X04C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP76 : (Group 76 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 77 pm_L2_castout_invalidate_1, L2 castout and invalidate events
event:0X04D0 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_MOD_GRP77 : (Group 77 pm_L2_castout_invalidate_1) An L2 line in the Modified state was castout. Total for all slices.
event:0X04D1 counters:1 um:zero minimum:1000 name:PM_L2_DC_INV_GRP77 : (Group 77 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:0X04D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP77 : (Group 77 pm_L2_castout_invalidate_1) Number of PowerPC Instructions that completed.
event:0X04D3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP77 : (Group 77 pm_L2_castout_invalidate_1) Processor Cycles
event:0X04D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP77 : (Group 77 pm_L2_castout_invalidate_1) Number of run instructions completed.
event:0X04D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP77 : (Group 77 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 78 pm_L2_castout_invalidate_2, L2 castout and invalidate events
event:0X04E0 counters:0 um:zero minimum:1000 name:PM_L2_CASTOUT_SHR_GRP78 : (Group 78 pm_L2_castout_invalidate_2) An L2 line in the Shared state was castout. Total for all slices.
event:0X04E1 counters:1 um:zero minimum:1000 name:PM_L2_IC_INV_GRP78 : (Group 78 pm_L2_castout_invalidate_2) Icache Invalidates from L2
event:0X04E2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP78 : (Group 78 pm_L2_castout_invalidate_2) Number of PowerPC Instructions that completed.
event:0X04E3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP78 : (Group 78 pm_L2_castout_invalidate_2) Processor Cycles
event:0X04E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP78 : (Group 78 pm_L2_castout_invalidate_2) Number of run instructions completed.
event:0X04E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP78 : (Group 78 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 79 pm_disp_held1, Dispatch held conditions
event:0X04F0 counters:0 um:zero minimum:1000 name:PM_DISP_HELD_GRP79 : (Group 79 pm_disp_held1) Dispatch Held
event:0X04F1 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP79 : (Group 79 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:0X04F2 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP79 : (Group 79 pm_disp_held1) Dispatch Held due to Thermal
event:0X04F3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP79 : (Group 79 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:0X04F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP79 : (Group 79 pm_disp_held1) Number of run instructions completed.
event:0X04F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP79 : (Group 79 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 80 pm_disp_held2, Dispatch held conditions
event:0X0500 counters:0 um:zero minimum:1000 name:PM_THERMAL_WARN_GRP80 : (Group 80 pm_disp_held2) Processor in Thermal Warning
event:0X0501 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP80 : (Group 80 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:0X0502 counters:2 um:zero minimum:1000 name:PM_DISP_HELD_THERMAL_GRP80 : (Group 80 pm_disp_held2) Dispatch Held due to Thermal
event:0X0503 counters:3 um:zero minimum:1000 name:PM_THERMAL_MAX_GRP80 : (Group 80 pm_disp_held2) The processor experienced a thermal overload condition. This bit is sticky, it remains set until cleared by software.
event:0X0504 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP80 : (Group 80 pm_disp_held2) Number of run instructions completed.
event:0X0505 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP80 : (Group 80 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 81 pm_disp_clb_held, Display CLB held conditions
event:0X0510 counters:0 um:zero minimum:1000 name:PM_DISP_CLB_HELD_BAL_GRP81 : (Group 81 pm_disp_clb_held) Dispatch/CLB Hold: Balance
event:0X0511 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_RES_GRP81 : (Group 81 pm_disp_clb_held) Dispatch/CLB Hold: Resource
event:0X0512 counters:2 um:zero minimum:1000 name:PM_DISP_CLB_HELD_TLBIE_GRP81 : (Group 81 pm_disp_clb_held) Dispatch Hold: Due to TLBIE
event:0X0513 counters:3 um:zero minimum:1000 name:PM_DISP_CLB_HELD_SYNC_GRP81 : (Group 81 pm_disp_clb_held) Dispatch/CLB Hold: Sync type instruction
event:0X0514 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP81 : (Group 81 pm_disp_clb_held) Number of run instructions completed.
event:0X0515 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP81 : (Group 81 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 82 pm_power, Power Events
event:0X0520 counters:0 um:zero minimum:1000 name:PM_POWER_EVENT1_GRP82 : (Group 82 pm_power) Power Management Event 1
event:0X0521 counters:1 um:zero minimum:1000 name:PM_POWER_EVENT2_GRP82 : (Group 82 pm_power) Power Management Event 2
event:0X0522 counters:2 um:zero minimum:1000 name:PM_POWER_EVENT3_GRP82 : (Group 82 pm_power) Power Management Event 3
event:0X0523 counters:3 um:zero minimum:1000 name:PM_POWER_EVENT4_GRP82 : (Group 82 pm_power) Power Management Event 4
event:0X0524 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP82 : (Group 82 pm_power) Number of run instructions completed.
event:0X0525 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP82 : (Group 82 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 83 pm_dispatch1, Groups and instructions dispatched
event:0X0530 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP83 : (Group 83 pm_dispatch1) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0531 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP83 : (Group 83 pm_dispatch1) Number of PowerPC instructions successfully dispatched.
event:0X0532 counters:2 um:zero minimum:1000 name:PM_GRP_DISP_GRP83 : (Group 83 pm_dispatch1) A group was dispatched
event:0X0533 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP83 : (Group 83 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:0X0534 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP83 : (Group 83 pm_dispatch1) Number of run instructions completed.
event:0X0535 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP83 : (Group 83 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 84 pm_dispatch2, Groups and instructions dispatched
event:0X0540 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP84 : (Group 84 pm_dispatch2) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0541 counters:1 um:zero minimum:10000 name:PM_CYC_GRP84 : (Group 84 pm_dispatch2) Processor Cycles
event:0X0542 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP84 : (Group 84 pm_dispatch2) Number of PowerPC Instructions that completed.
event:0X0543 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP84 : (Group 84 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:0X0544 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP84 : (Group 84 pm_dispatch2) Number of run instructions completed.
event:0X0545 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP84 : (Group 84 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 85 pm_ic, I cache operations
event:0X0550 counters:0 um:zero minimum:1000 name:PM_IC_REQ_ALL_GRP85 : (Group 85 pm_ic) Icache requests, prefetch + demand
event:0X0551 counters:1 um:zero minimum:1000 name:PM_IC_WRITE_ALL_GRP85 : (Group 85 pm_ic) Icache sectors written, prefetch + demand
event:0X0552 counters:2 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_ALL_GRP85 : (Group 85 pm_ic) Prefetch Canceled due to page boundary or icache hit
event:0X0553 counters:3 um:zero minimum:1000 name:PM_IC_DEMAND_L2_BR_ALL_GRP85 : (Group 85 pm_ic)  L2 I cache demand request due to BHT or redirect
event:0X0554 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP85 : (Group 85 pm_ic) Number of run instructions completed.
event:0X0555 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP85 : (Group 85 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 86 pm_ic_pref_cancel, Instruction pre-fetched cancelled
event:0X0560 counters:0 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_PAGE_GRP86 : (Group 86 pm_ic_pref_cancel) Prefetch Canceled due to page boundary
event:0X0561 counters:1 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_HIT_GRP86 : (Group 86 pm_ic_pref_cancel) Prefetch Canceled due to icache hit
event:0X0562 counters:2 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_L2_GRP86 : (Group 86 pm_ic_pref_cancel) L2 Squashed request
event:0X0563 counters:3 um:zero minimum:1000 name:PM_IC_PREF_CANCEL_ALL_GRP86 : (Group 86 pm_ic_pref_cancel) Prefetch Canceled due to page boundary or icache hit
event:0X0564 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP86 : (Group 86 pm_ic_pref_cancel) Number of run instructions completed.
event:0X0565 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP86 : (Group 86 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 87 pm_ic_miss, Icache and Ierat miss events
event:0X0570 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP87 : (Group 87 pm_ic_miss) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0571 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP87 : (Group 87 pm_ic_miss) An instruction fetch request missed the L1 cache.
event:0X0572 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP87 : (Group 87 pm_ic_miss) Number of PowerPC Instructions that completed.
event:0X0573 counters:3 um:zero minimum:10000 name:PM_CYC_GRP87 : (Group 87 pm_ic_miss) Processor Cycles
event:0X0574 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP87 : (Group 87 pm_ic_miss) Number of run instructions completed.
event:0X0575 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP87 : (Group 87 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 88 pm_cpi_stack1, CPI stack breakdown
event:0X0580 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP88 : (Group 88 pm_cpi_stack1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X0581 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP88 : (Group 88 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:0X0582 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP88 : (Group 88 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:0X0583 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP88 : (Group 88 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:0X0584 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP88 : (Group 88 pm_cpi_stack1) Number of run instructions completed.
event:0X0585 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP88 : (Group 88 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 89 pm_cpi_stack2, CPI stack breakdown
event:0X0590 counters:0 um:zero minimum:1000 name:PM_FXU_IDLE_GRP89 : (Group 89 pm_cpi_stack2) FXU0 and FXU1 are both idle.
event:0X0591 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_FXU_GRP89 : (Group 89 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:0X0592 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP89 : (Group 89 pm_cpi_stack2) A group completed. Microcoded instructions that span multiple groups will generate this event once per group.
event:0X0593 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_DIV_GRP89 : (Group 89 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:0X0594 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP89 : (Group 89 pm_cpi_stack2) Number of run instructions completed.
event:0X0595 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP89 : (Group 89 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 90 pm_cpi_stack3, CPI stack breakdown
event:0X05A0 counters:0 um:zero minimum:1000 name:PM_TABLEWALK_CYC_GRP90 : (Group 90 pm_cpi_stack3) Cycles doing instruction or data tablewalks
event:0X05A1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_LSU_GRP90 : (Group 90 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:0X05A2 counters:2 um:zero minimum:1000 name:PM_DATA_TABLEWALK_CYC_GRP90 : (Group 90 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:0X05A3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_REJECT_GRP90 : (Group 90 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:0X05A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP90 : (Group 90 pm_cpi_stack3) Number of run instructions completed.
event:0X05A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP90 : (Group 90 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 91 pm_cpi_stack4, CPI stack breakdown
event:0X05B0 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP91 : (Group 91 pm_cpi_stack4) A floating point operation has completed
event:0X05B1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_SCALAR_LONG_GRP91 : (Group 91 pm_cpi_stack4) Completion stall caused by long latency scalar instruction
event:0X05B2 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_GRP91 : (Group 91 pm_cpi_stack4) Marked Group Completion Stall cycles
event:0X05B3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_SCALAR_GRP91 : (Group 91 pm_cpi_stack4) Completion stall caused by FPU instruction
event:0X05B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP91 : (Group 91 pm_cpi_stack4) Number of run instructions completed.
event:0X05B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP91 : (Group 91 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 92 pm_cpi_stack5, CPI stack breakdown
event:0X05C0 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_END_GCT_NOSLOT_GRP92 : (Group 92 pm_cpi_stack5) Count ended because GCT went empty
event:0X05C1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_GRP92 : (Group 92 pm_cpi_stack5) Completion stall caused by Vector instruction
event:0X05C2 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_COUNT_GRP92 : (Group 92 pm_cpi_stack5) Marked Group Completion Stall cycles (use edge detect to count #)
event:0X05C3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_GRP92 : (Group 92 pm_cpi_stack5) No groups completed, GCT not empty
event:0X05C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP92 : (Group 92 pm_cpi_stack5) Number of run instructions completed.
event:0X05C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP92 : (Group 92 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 93 pm_cpi_stack6, CPI stack breakdown
event:0X05D0 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_THRD_GRP93 : (Group 93 pm_cpi_stack6) Completion Stalled due to thread conflict.  Group ready to complete but it was another thread's turn
event:0X05D1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DFU_GRP93 : (Group 93 pm_cpi_stack6) Completion stall caused by Decimal Floating Point Unit
event:0X05D2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP93 : (Group 93 pm_cpi_stack6) Number of PowerPC Instructions that completed.
event:0X05D3 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_IC_MISS_GRP93 : (Group 93 pm_cpi_stack6) No slot in GCT caused by branch mispredict or I cache miss
event:0X05D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP93 : (Group 93 pm_cpi_stack6) Number of run instructions completed.
event:0X05D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP93 : (Group 93 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 94 pm_cpi_stack7, CPI stack breakdown
event:0X05E0 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP94 : (Group 94 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread.
event:0X05E1 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP94 : (Group 94 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread because of an Instruction Cache miss.
event:0X05E2 counters:2 um:zero minimum:1000 name:PM_IOPS_DISP_GRP94 : (Group 94 pm_cpi_stack7) IOPS dispatched
event:0X05E3 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_GRP94 : (Group 94 pm_cpi_stack7) Cycles when the Global Completion Table has no slots from this thread because of a branch misprediction.
event:0X05E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP94 : (Group 94 pm_cpi_stack7) Number of run instructions completed.
event:0X05E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP94 : (Group 94 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 95 pm_cpi_stack8, CPI stack breakdown
event:0X05F0 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP95 : (Group 95 pm_cpi_stack8) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X05F1 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_STORE_GRP95 : (Group 95 pm_cpi_stack8) Completion stall due to store instruction
event:0X05F2 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP95 : (Group 95 pm_cpi_stack8) Number of PowerPC instructions successfully dispatched.
event:0X05F3 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_LONG_GRP95 : (Group 95 pm_cpi_stack8) completion stall due to long latency vector instruction
event:0X05F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP95 : (Group 95 pm_cpi_stack8) Number of run instructions completed.
event:0X05F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP95 : (Group 95 pm_cpi_stack8) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_cpi_stack9, CPI stack breakdown
event:0X0600 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_THRD_GRP96 : (Group 96 pm_cpi_stack9) Completion Stalled due to thread conflict.  Group ready to complete but it was another thread's turn
event:0X0601 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DFU_GRP96 : (Group 96 pm_cpi_stack9) Completion stall caused by Decimal Floating Point Unit
event:0X0602 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP96 : (Group 96 pm_cpi_stack9) Number of PowerPC Instructions that completed.
event:0X0603 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_COUNT_GRP96 : (Group 96 pm_cpi_stack9) Count of  Cycles where a thread was not completing any groups , when the group completion table had entries for that thread.
event:0X0604 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP96 : (Group 96 pm_cpi_stack9) Number of run instructions completed.
event:0X0605 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP96 : (Group 96 pm_cpi_stack9) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_cpi_stack10, CPI stack breakdown
event:0X0610 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP97 : (Group 97 pm_cpi_stack10) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0611 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_DCACHE_MISS_GRP97 : (Group 97 pm_cpi_stack10) 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:0X0612 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP97 : (Group 97 pm_cpi_stack10) 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:0X0613 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_ERAT_MISS_GRP97 : (Group 97 pm_cpi_stack10) 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:0X0614 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP97 : (Group 97 pm_cpi_stack10) Number of run instructions completed.
event:0X0615 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP97 : (Group 97 pm_cpi_stack10) Processor Cycles gated by the run latch.  Operating systems use the run latch to indicate when they are 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_dsource1, Data source information
event:0X0620 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP98 : (Group 98 pm_dsource1) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X0621 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP98 : (Group 98 pm_dsource1) 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_RMEM_GRP98 : (Group 98 pm_dsource1) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X0623 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP98 : (Group 98 pm_dsource1) 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_dsource1) Number of run instructions completed.
event:0X0625 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP98 : (Group 98 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 99 pm_dsource2, Data source information
event:0X0630 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP99 : (Group 99 pm_dsource2) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X0631 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L31_SHR_GRP99 : (Group 99 pm_dsource2) Data loaded from another L3 on same chip shared
event:0X0632 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP99 : (Group 99 pm_dsource2) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0633 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP99 : (Group 99 pm_dsource2) The processor's Data Cache was reloaded but not from the local L2.
event:0X0634 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP99 : (Group 99 pm_dsource2) Number of run instructions completed.
event:0X0635 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP99 : (Group 99 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 100 pm_dsource3, Data source information
event:0X0640 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP100 : (Group 100 pm_dsource3) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X0641 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP100 : (Group 100 pm_dsource3) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X0642 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L21_MOD_GRP100 : (Group 100 pm_dsource3) Data loaded from another L2 on same chip modified
event:0X0643 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP100 : (Group 100 pm_dsource3) The processor's Data Cache was reloaded but not from the local L2.
event:0X0644 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP100 : (Group 100 pm_dsource3) Number of run instructions completed.
event:0X0645 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP100 : (Group 100 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 101 pm_dsource4, Data source information
event:0X0650 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L31_MOD_GRP101 : (Group 101 pm_dsource4) Data loaded from another L3 on same chip modified
event:0X0651 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP101 : (Group 101 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:0X0652 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP101 : (Group 101 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:0X0653 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP101 : (Group 101 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:0X0654 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP101 : (Group 101 pm_dsource4) Number of run instructions completed.
event:0X0655 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP101 : (Group 101 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 102 pm_dsource5, Data source information
event:0X0660 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L31_SHR_GRP102 : (Group 102 pm_dsource5) Data loaded from another L3 on same chip shared
event:0X0661 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP102 : (Group 102 pm_dsource5) 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_DL2L3_SHR_GRP102 : (Group 102 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:0X0663 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L21_SHR_GRP102 : (Group 102 pm_dsource5) Data loaded from another L2 on same chip shared
event:0X0664 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP102 : (Group 102 pm_dsource5) Number of run instructions completed.
event:0X0665 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP102 : (Group 102 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 103 pm_dsource6, Data source information
event:0X0670 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP103 : (Group 103 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:0X0671 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP103 : (Group 103 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:0X0672 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L21_SHR_GRP103 : (Group 103 pm_dsource6) Data loaded from another L2 on same chip shared
event:0X0673 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP103 : (Group 103 pm_dsource6) The processor's Data Cache was reloaded but not from the local L2.
event:0X0674 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP103 : (Group 103 pm_dsource6) Number of run instructions completed.
event:0X0675 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP103 : (Group 103 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 104 pm_dsource7, Data source information
event:0X0680 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP104 : (Group 104 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:0X0681 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP104 : (Group 104 pm_dsource7) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X0682 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP104 : (Group 104 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:0X0683 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP104 : (Group 104 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:0X0684 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP104 : (Group 104 pm_dsource7) Number of run instructions completed.
event:0X0685 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP104 : (Group 104 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 105 pm_dsource8, Data source information
event:0X0690 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP105 : (Group 105 pm_dsource8) Number of PowerPC Instructions that completed.
event:0X0691 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L3_GRP105 : (Group 105 pm_dsource8) The processor's Data Cache was reloaded from the local L3 due to a demand load.
event:0X0692 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP105 : (Group 105 pm_dsource8) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X0693 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP105 : (Group 105 pm_dsource8) 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_dsource8) Number of run instructions completed.
event:0X0695 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP105 : (Group 105 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 106 pm_dsource9, Data source information
event:0X06A0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP106 : (Group 106 pm_dsource9) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X06A1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP106 : (Group 106 pm_dsource9) The processor's Data Cache was reloaded but not from the local L2.
event:0X06A2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP106 : (Group 106 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:0X06A3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP106 : (Group 106 pm_dsource9) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X06A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP106 : (Group 106 pm_dsource9) Number of run instructions completed.
event:0X06A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP106 : (Group 106 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 107 pm_dsource10, Data source information
event:0X06B0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP107 : (Group 107 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:0X06B1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_SHR_GRP107 : (Group 107 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:0X06B2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP107 : (Group 107 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:0X06B3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP107 : (Group 107 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:0X06B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP107 : (Group 107 pm_dsource10) Number of run instructions completed.
event:0X06B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP107 : (Group 107 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 108 pm_dsource11, Data source information
event:0X06C0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_L2_GRP108 : (Group 108 pm_dsource11) The processor's Data Cache was reloaded from the local L2 due to a demand load.
event:0X06C1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP108 : (Group 108 pm_dsource11) The processor's Data Cache was reloaded but not from the local L2.
event:0X06C2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_L3MISS_GRP108 : (Group 108 pm_dsource11) The processor's Data Cache was reloaded from beyond L3 due to a demand load
event:0X06C3 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP108 : (Group 108 pm_dsource11) Number of run instructions completed.
event:0X06C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP108 : (Group 108 pm_dsource11) Number of run instructions completed.
event:0X06C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP108 : (Group 108 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 109 pm_dsource12, Data source information
event:0X06D0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_RL2L3_MOD_GRP109 : (Group 109 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:0X06D1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP109 : (Group 109 pm_dsource12) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X06D2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP109 : (Group 109 pm_dsource12) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X06D3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP109 : (Group 109 pm_dsource12) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X06D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP109 : (Group 109 pm_dsource12) Number of run instructions completed.
event:0X06D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP109 : (Group 109 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 110 pm_dsource13, Data source information
event:0X06E0 counters:0 um:zero minimum:1000 name:PM_DERAT_MISS_4K_GRP110 : (Group 110 pm_dsource13) A data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
event:0X06E1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP110 : (Group 110 pm_dsource13) Number of PowerPC Instructions that completed.
event:0X06E2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_SHR_GRP110 : (Group 110 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:0X06E3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_DL2L3_MOD_GRP110 : (Group 110 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:0X06E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP110 : (Group 110 pm_dsource13) Number of run instructions completed.
event:0X06E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP110 : (Group 110 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 111 pm_dsource14, Data source information
event:0X06F0 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP111 : (Group 111 pm_dsource14) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X06F1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP111 : (Group 111 pm_dsource14) Number of PowerPC Instructions that completed.
event:0X06F2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP111 : (Group 111 pm_dsource14) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X06F3 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP111 : (Group 111 pm_dsource14) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X06F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP111 : (Group 111 pm_dsource14) Number of run instructions completed.
event:0X06F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP111 : (Group 111 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 112 pm_dsource15, Data source information
event:0X0700 counters:0 um:zero minimum:1000 name:PM_DATA_FROM_DMEM_GRP112 : (Group 112 pm_dsource15) The processor's Data Cache was reloaded with data from memory attached to a distant module due to a demand load
event:0X0701 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP112 : (Group 112 pm_dsource15) Number of PowerPC Instructions that completed.
event:0X0702 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP112 : (Group 112 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:0X0703 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP112 : (Group 112 pm_dsource15) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0704 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP112 : (Group 112 pm_dsource15) Number of run instructions completed.
event:0X0705 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP112 : (Group 112 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 113 pm_isource1, Instruction source information
event:0X0710 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP113 : (Group 113 pm_isource1) An instruction fetch group was fetched from L2. Fetch Groups can contain up to 8 instructions
event:0X0711 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP113 : (Group 113 pm_isource1) An instruction fetch group was fetched from 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_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:0X0713 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP113 : (Group 113 pm_isource1) 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_isource1) Number of run instructions completed.
event:0X0715 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP113 : (Group 113 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 114 pm_isource2, Instruction source information
event:0X0720 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP114 : (Group 114 pm_isource2) An instruction fetch group was fetched from L3. 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_isource2) 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_DL2L3_MOD_GRP114 : (Group 114 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:0X0723 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP114 : (Group 114 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:0X0724 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP114 : (Group 114 pm_isource2) Number of run instructions completed.
event:0X0725 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP114 : (Group 114 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 115 pm_isource3, Instruction source information
event:0X0730 counters:0 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP115 : (Group 115 pm_isource3) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X0731 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP115 : (Group 115 pm_isource3) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X0732 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP115 : (Group 115 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:0X0733 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP115 : (Group 115 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:0X0734 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP115 : (Group 115 pm_isource3) Number of run instructions completed.
event:0X0735 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP115 : (Group 115 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 116 pm_isource4, Instruction source information
event:0X0740 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L31_MOD_GRP116 : (Group 116 pm_isource4) Instruction fetched from another L3 on same chip modified
event:0X0741 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L31_SHR_GRP116 : (Group 116 pm_isource4) Instruction fetched from another L3 on same chip shared
event:0X0742 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L21_MOD_GRP116 : (Group 116 pm_isource4) Instruction fetched from another L2 on same chip modified
event:0X0743 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L21_SHR_GRP116 : (Group 116 pm_isource4) Instruction fetched from another L2 on same chip shared
event:0X0744 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP116 : (Group 116 pm_isource4) Number of run instructions completed.
event:0X0745 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP116 : (Group 116 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 117 pm_isource5, Instruction source information
event:0X0750 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L31_SHR_GRP117 : (Group 117 pm_isource5) Instruction fetched from another L3 on same chip shared
event:0X0751 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP117 : (Group 117 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:0X0752 counters:2 um:zero minimum:1000 name:PM_INST_FROM_L21_SHR_GRP117 : (Group 117 pm_isource5) Instruction fetched from another L2 on same chip shared
event:0X0753 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP117 : (Group 117 pm_isource5) An instruction fetch group was fetched from beyond the local L2.
event:0X0754 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP117 : (Group 117 pm_isource5) Number of run instructions completed.
event:0X0755 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP117 : (Group 117 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 118 pm_isource6, Instruction source information
event:0X0760 counters:0 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP118 : (Group 118 pm_isource6) An instruction fetch group was fetched from the prefetch buffer. Fetch groups can contain up to 8 instructions
event:0X0761 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP118 : (Group 118 pm_isource6) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X0762 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP118 : (Group 118 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:0X0763 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP118 : (Group 118 pm_isource6) An instruction fetch group was fetched from beyond the local L2.
event:0X0764 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP118 : (Group 118 pm_isource6) Number of run instructions completed.
event:0X0765 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP118 : (Group 118 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 119 pm_isource7, Instruction source information
event:0X0770 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP119 : (Group 119 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:0X0771 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP119 : (Group 119 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:0X0772 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP119 : (Group 119 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:0X0773 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP119 : (Group 119 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:0X0774 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP119 : (Group 119 pm_isource7) Number of run instructions completed.
event:0X0775 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP119 : (Group 119 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 120 pm_isource8, Instruction source information
event:0X0780 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP120 : (Group 120 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:0X0781 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3MISS_GRP120 : (Group 120 pm_isource8) An instruction fetch group was fetched from beyond L3. Fetch groups can contain up to 8 instructions.
event:0X0782 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP120 : (Group 120 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:0X0783 counters:3 um:zero minimum:1000 name:PM_INST_FROM_L2MISS_GRP120 : (Group 120 pm_isource8) An instruction fetch group was fetched from beyond the local L2.
event:0X0784 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP120 : (Group 120 pm_isource8) Number of run instructions completed.
event:0X0785 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP120 : (Group 120 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 121 pm_isource9, Instruction source information
event:0X0790 counters:0 um:zero minimum:1000 name:PM_INST_FROM_PREF_GRP121 : (Group 121 pm_isource9) An instruction fetch group was fetched from the prefetch buffer. Fetch groups can contain up to 8 instructions
event:0X0791 counters:1 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP121 : (Group 121 pm_isource9) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X0792 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP121 : (Group 121 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:0X0793 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP121 : (Group 121 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:0X0794 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP121 : (Group 121 pm_isource9) Number of run instructions completed.
event:0X0795 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP121 : (Group 121 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 122 pm_isource10, Instruction source information
event:0X07A0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_L2_GRP122 : (Group 122 pm_isource10) An instruction fetch group was fetched from L2. Fetch Groups can contain up to 8 instructions
event:0X07A1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L3_GRP122 : (Group 122 pm_isource10) An instruction fetch group was fetched from L3. Fetch Groups can contain up to 8 instructions
event:0X07A2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP122 : (Group 122 pm_isource10) Number of PowerPC Instructions that completed.
event:0X07A3 counters:3 um:zero minimum:10000 name:PM_CYC_GRP122 : (Group 122 pm_isource10) Processor Cycles
event:0X07A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP122 : (Group 122 pm_isource10) Number of run instructions completed.
event:0X07A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP122 : (Group 122 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 123 pm_isource11, Instruction source information
event:0X07B0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_MOD_GRP123 : (Group 123 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:0X07B1 counters:1 um:zero minimum:1000 name:PM_INST_FROM_RL2L3_SHR_GRP123 : (Group 123 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:0X07B2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP123 : (Group 123 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:0X07B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP123 : (Group 123 pm_isource11) Number of PowerPC Instructions that completed.
event:0X07B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP123 : (Group 123 pm_isource11) Number of run instructions completed.
event:0X07B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP123 : (Group 123 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 124 pm_isource12, Instruction source information
event:0X07C0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP124 : (Group 124 pm_isource12) Processor Cycles
event:0X07C1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP124 : (Group 124 pm_isource12) Number of PowerPC Instructions that completed.
event:0X07C2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_SHR_GRP124 : (Group 124 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:0X07C3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_DL2L3_MOD_GRP124 : (Group 124 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:0X07C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP124 : (Group 124 pm_isource12) Number of run instructions completed.
event:0X07C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP124 : (Group 124 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 125 pm_isource13, Instruction source information
event:0X07D0 counters:0 um:zero minimum:1000 name:PM_INST_FROM_DMEM_GRP125 : (Group 125 pm_isource13) An instruction fetch group was fetched from memory attached to a distant module. Fetch groups can contain up to 8 instructions
event:0X07D1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP125 : (Group 125 pm_isource13) Number of PowerPC Instructions that completed.
event:0X07D2 counters:2 um:zero minimum:1000 name:PM_INST_FROM_RMEM_GRP125 : (Group 125 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:0X07D3 counters:3 um:zero minimum:1000 name:PM_INST_FROM_LMEM_GRP125 : (Group 125 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:0X07D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP125 : (Group 125 pm_isource13) Number of run instructions completed.
event:0X07D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP125 : (Group 125 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 126 pm_prefetch1, Prefetch events
event:0X07E0 counters:0 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP126 : (Group 126 pm_prefetch1) D cache new prefetch stream allocated
event:0X07E1 counters:1 um:zero minimum:1000 name:PM_L3_PREF_LDST_GRP126 : (Group 126 pm_prefetch1) L3 cache prefetches LD + ST
event:0X07E2 counters:2 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_CONFIRM_GRP126 : (Group 126 pm_prefetch1) Dcache new prefetch stream confirmed
event:0X07E3 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP126 : (Group 126 pm_prefetch1) A request to prefetch data into the L1 was made
event:0X07E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP126 : (Group 126 pm_prefetch1) Number of run instructions completed.
event:0X07E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP126 : (Group 126 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 127 pm_prefetch2, Prefetch events
event:0X07F0 counters:0 um:zero minimum:1000 name:PM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM_GRP127 : (Group 127 pm_prefetch2) Dcache Strided prefetch stream confirmed (software + hardware)
event:0X07F1 counters:1 um:zero minimum:1000 name:PM_LD_REF_L1_GRP127 : (Group 127 pm_prefetch2)  L1 D cache load references counted at finish
event:0X07F2 counters:2 um:zero minimum:1000 name:PM_LSU_FIN_GRP127 : (Group 127 pm_prefetch2) LSU Finished an instruction (up to 2 per cycle)
event:0X07F3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP127 : (Group 127 pm_prefetch2) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X07F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP127 : (Group 127 pm_prefetch2) Number of run instructions completed.
event:0X07F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP127 : (Group 127 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 128 pm_vsu0, VSU Execution
event:0X0800 counters:0 um:zero minimum:1000 name:PM_VSU0_1FLOP_GRP128 : (Group 128 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:0X0801 counters:1 um:zero minimum:1000 name:PM_VSU1_1FLOP_GRP128 : (Group 128 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:0X0802 counters:2 um:zero minimum:1000 name:PM_VSU0_2FLOP_GRP128 : (Group 128 pm_vsu0) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X0803 counters:3 um:zero minimum:1000 name:PM_VSU1_2FLOP_GRP128 : (Group 128 pm_vsu0) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X0804 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP128 : (Group 128 pm_vsu0) Number of run instructions completed.
event:0X0805 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP128 : (Group 128 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 129 pm_vsu1, VSU Execution
event:0X0810 counters:0 um:zero minimum:1000 name:PM_VSU0_4FLOP_GRP129 : (Group 129 pm_vsu1) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
event:0X0811 counters:1 um:zero minimum:1000 name:PM_VSU1_4FLOP_GRP129 : (Group 129 pm_vsu1) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
event:0X0812 counters:2 um:zero minimum:1000 name:PM_VSU0_8FLOP_GRP129 : (Group 129 pm_vsu1) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
event:0X0813 counters:3 um:zero minimum:1000 name:PM_VSU1_8FLOP_GRP129 : (Group 129 pm_vsu1) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
event:0X0814 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP129 : (Group 129 pm_vsu1) Number of run instructions completed.
event:0X0815 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP129 : (Group 129 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 130 pm_vsu2, VSU Execution
event:0X0820 counters:0 um:zero minimum:1000 name:PM_VSU_2FLOP_GRP130 : (Group 130 pm_vsu2) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X0821 counters:1 um:zero minimum:1000 name:PM_VSU_2FLOP_DOUBLE_GRP130 : (Group 130 pm_vsu2) DP vector version of fmul, fsub, fcmp, fsel, fabs, fnabs, fres ,fsqrte, fneg
event:0X0822 counters:2 um:zero minimum:1000 name:PM_VSU0_2FLOP_DOUBLE_GRP130 : (Group 130 pm_vsu2) two flop DP vector operation (xvadddp, xvmuldp, xvsubdp, xvcmpdp, xvseldp, xvabsdp, xvnabsdp, xvredp ,xvsqrtedp, vxnegdp)
event:0X0823 counters:3 um:zero minimum:1000 name:PM_VSU1_2FLOP_DOUBLE_GRP130 : (Group 130 pm_vsu2) two flop DP vector operation (xvadddp, xvmuldp, xvsubdp, xvcmpdp, xvseldp, xvabsdp, xvnabsdp, xvredp ,xvsqrtedp, vxnegdp)
event:0X0824 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP130 : (Group 130 pm_vsu2) Number of run instructions completed.
event:0X0825 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP130 : (Group 130 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 131 pm_vsu3, VSU Execution
event:0X0830 counters:0 um:zero minimum:1000 name:PM_VSU0_FMA_GRP131 : (Group 131 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub, xsmadd, xsnmadd, xsmsub, xsnmsub) Scalar instructions only!
event:0X0831 counters:1 um:zero minimum:1000 name:PM_VSU1_FMA_GRP131 : (Group 131 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub, xsmadd, xsnmadd, xsmsub, xsnmsub) Scalar instructions only!
event:0X0832 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP131 : (Group 131 pm_vsu3) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
event:0X0833 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP131 : (Group 131 pm_vsu3) Number of PowerPC Instructions that completed.
event:0X0834 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP131 : (Group 131 pm_vsu3) Number of run instructions completed.
event:0X0835 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP131 : (Group 131 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 132 pm_vsu4, VSU Execution
event:0X0840 counters:0 um:zero minimum:1000 name:PM_VSU0_FMA_DOUBLE_GRP132 : (Group 132 pm_vsu4) four flop DP vector operations (xvmadddp, xvnmadddp, xvmsubdp, xvmsubdp)
event:0X0841 counters:1 um:zero minimum:1000 name:PM_VSU1_FMA_DOUBLE_GRP132 : (Group 132 pm_vsu4) four flop DP vector operations (xvmadddp, xvnmadddp, xvmsubdp, xvmsubdp)
event:0X0842 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_DOUBLE_GRP132 : (Group 132 pm_vsu4) DP vector version of fmadd,fnmadd,fmsub,fnmsub
event:0X0843 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP132 : (Group 132 pm_vsu4) Number of PowerPC Instructions that completed.
event:0X0844 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP132 : (Group 132 pm_vsu4) Number of run instructions completed.
event:0X0845 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP132 : (Group 132 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 133 pm_vsu5, VSU Execution
event:0X0850 counters:0 um:zero minimum:1000 name:PM_VSU_VECTOR_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu5) Double Precision vector instruction issued on Pipe0
event:0X0851 counters:1 um:zero minimum:1000 name:PM_VSU0_VECT_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu5) Double Precision vector instruction issued on Pipe0
event:0X0852 counters:2 um:zero minimum:1000 name:PM_VSU1_VECT_DOUBLE_ISSUED_GRP133 : (Group 133 pm_vsu5) Double Precision vector instruction issued on Pipe1
event:0X0853 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP133 : (Group 133 pm_vsu5) Number of PowerPC Instructions that completed.
event:0X0854 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP133 : (Group 133 pm_vsu5) Number of run instructions completed.
event:0X0855 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP133 : (Group 133 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 134 pm_vsu6, VSU Execution
event:0X0860 counters:0 um:zero minimum:1000 name:PM_VSU_DENORM_GRP134 : (Group 134 pm_vsu6) Vector or Scalar denorm operand
event:0X0861 counters:1 um:zero minimum:1000 name:PM_VSU0_DENORM_GRP134 : (Group 134 pm_vsu6) VSU0 received denormalized data
event:0X0862 counters:2 um:zero minimum:1000 name:PM_VSU1_DENORM_GRP134 : (Group 134 pm_vsu6) VSU1 received denormalized data
event:0X0863 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP134 : (Group 134 pm_vsu6) Number of PowerPC Instructions that completed.
event:0X0864 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP134 : (Group 134 pm_vsu6) Number of run instructions completed.
event:0X0865 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP134 : (Group 134 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 135 pm_vsu7, VSU Execution
event:0X0870 counters:0 um:zero minimum:1000 name:PM_VSU_FIN_GRP135 : (Group 135 pm_vsu7) VSU0 Finished an instruction
event:0X0871 counters:1 um:zero minimum:1000 name:PM_VSU0_FIN_GRP135 : (Group 135 pm_vsu7) VSU0 Finished an instruction
event:0X0872 counters:2 um:zero minimum:1000 name:PM_VSU1_FIN_GRP135 : (Group 135 pm_vsu7) VSU1 Finished an instruction
event:0X0873 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP135 : (Group 135 pm_vsu7) Number of PowerPC Instructions that completed.
event:0X0874 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP135 : (Group 135 pm_vsu7) Number of run instructions completed.
event:0X0875 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP135 : (Group 135 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 136 pm_vsu8, VSU Execution
event:0X0880 counters:0 um:zero minimum:1000 name:PM_VSU_STF_GRP136 : (Group 136 pm_vsu8) FPU store (SP or DP) issued on Pipe0
event:0X0881 counters:1 um:zero minimum:1000 name:PM_VSU0_STF_GRP136 : (Group 136 pm_vsu8) FPU store (SP or DP) issued on Pipe0
event:0X0882 counters:2 um:zero minimum:1000 name:PM_VSU1_STF_GRP136 : (Group 136 pm_vsu8) FPU store (SP or DP) issued on Pipe1
event:0X0883 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP136 : (Group 136 pm_vsu8) Number of PowerPC Instructions that completed.
event:0X0884 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP136 : (Group 136 pm_vsu8) Number of run instructions completed.
event:0X0885 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP136 : (Group 136 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 137 pm_vsu9, VSU Execution
event:0X0890 counters:0 um:zero minimum:1000 name:PM_VSU_SINGLE_GRP137 : (Group 137 pm_vsu9) Vector or Scalar single precision
event:0X0891 counters:1 um:zero minimum:1000 name:PM_VSU0_SINGLE_GRP137 : (Group 137 pm_vsu9) VSU0 executed single precision instruction
event:0X0892 counters:2 um:zero minimum:1000 name:PM_VSU1_SINGLE_GRP137 : (Group 137 pm_vsu9) VSU1 executed single precision instruction
event:0X0893 counters:3 um:zero minimum:1000 name:PM_VSU0_16FLOP_GRP137 : (Group 137 pm_vsu9) Sixteen flops operation (SP vector versions of fdiv,fsqrt)
event:0X0894 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP137 : (Group 137 pm_vsu9) Number of run instructions completed.
event:0X0895 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP137 : (Group 137 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 138 pm_vsu10, VSU Execution
event:0X08A0 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_GRP138 : (Group 138 pm_vsu10) DP vector versions of fdiv,fsqrt
event:0X08A1 counters:1 um:zero minimum:1000 name:PM_VSU0_FSQRT_FDIV_GRP138 : (Group 138 pm_vsu10) four flops operation (fdiv,fsqrt,xsdiv,xssqrt) Scalar Instructions only!
event:0X08A2 counters:2 um:zero minimum:1000 name:PM_VSU1_FSQRT_FDIV_GRP138 : (Group 138 pm_vsu10) four flops operation (fdiv,fsqrt,xsdiv,xssqrt) Scalar Instructions only!
event:0X08A3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP138 : (Group 138 pm_vsu10) Number of PowerPC Instructions that completed.
event:0X08A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP138 : (Group 138 pm_vsu10) Number of run instructions completed.
event:0X08A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP138 : (Group 138 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 139 pm_vsu11, VSU Execution
event:0X08B0 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_DOUBLE_GRP139 : (Group 139 pm_vsu11) DP vector versions of fdiv,fsqrt
event:0X08B1 counters:1 um:zero minimum:1000 name:PM_VSU0_FSQRT_FDIV_DOUBLE_GRP139 : (Group 139 pm_vsu11) eight flop DP vector operations (xvfdivdp, xvsqrtdp
event:0X08B2 counters:2 um:zero minimum:1000 name:PM_VSU1_FSQRT_FDIV_DOUBLE_GRP139 : (Group 139 pm_vsu11) eight flop DP vector operations (xvfdivdp, xvsqrtdp
event:0X08B3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP139 : (Group 139 pm_vsu11) Number of PowerPC Instructions that completed.
event:0X08B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP139 : (Group 139 pm_vsu11) Number of run instructions completed.
event:0X08B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP139 : (Group 139 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 140 pm_vsu12, VSU Execution
event:0X08C0 counters:0 um:zero minimum:1000 name:PM_VSU_SCALAR_DOUBLE_ISSUED_GRP140 : (Group 140 pm_vsu12) Double Precision scalar instruction issued on Pipe0
event:0X08C1 counters:1 um:zero minimum:1000 name:PM_VSU0_SCAL_DOUBLE_ISSUED_GRP140 : (Group 140 pm_vsu12) Double Precision scalar instruction issued on Pipe0
event:0X08C2 counters:2 um:zero minimum:1000 name:PM_VSU1_SCAL_DOUBLE_ISSUED_GRP140 : (Group 140 pm_vsu12) Double Precision scalar instruction issued on Pipe1
event:0X08C3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP140 : (Group 140 pm_vsu12) Number of PowerPC Instructions that completed.
event:0X08C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP140 : (Group 140 pm_vsu12) Number of run instructions completed.
event:0X08C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP140 : (Group 140 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 141 pm_vsu13, VSU Execution
event:0X08D0 counters:0 um:zero minimum:1000 name:PM_VSU_SCALAR_SINGLE_ISSUED_GRP141 : (Group 141 pm_vsu13) Single Precision scalar instruction issued on Pipe0
event:0X08D1 counters:1 um:zero minimum:1000 name:PM_VSU0_SCAL_SINGLE_ISSUED_GRP141 : (Group 141 pm_vsu13) Single Precision scalar instruction issued on Pipe0
event:0X08D2 counters:2 um:zero minimum:1000 name:PM_VSU1_SCAL_SINGLE_ISSUED_GRP141 : (Group 141 pm_vsu13) Single Precision scalar instruction issued on Pipe1
event:0X08D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP141 : (Group 141 pm_vsu13) Number of PowerPC Instructions that completed.
event:0X08D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP141 : (Group 141 pm_vsu13) Number of run instructions completed.
event:0X08D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP141 : (Group 141 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 142 pm_vsu14, VSU Execution
event:0X08E0 counters:0 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP142 : (Group 142 pm_vsu14) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X08E1 counters:1 um:zero minimum:1000 name:PM_VSU_4FLOP_GRP142 : (Group 142 pm_vsu14) four flops operation (scalar fdiv, fsqrt; DP vector version of fmadd, fnmadd, fmsub, fnmsub; SP vector versions of single flop instructions)
event:0X08E2 counters:2 um:zero minimum:1000 name:PM_VSU_8FLOP_GRP142 : (Group 142 pm_vsu14) eight flops operation (DP vector versions of fdiv,fsqrt and SP vector versions of fmadd,fnmadd,fmsub,fnmsub)
event:0X08E3 counters:3 um:zero minimum:1000 name:PM_VSU_2FLOP_GRP142 : (Group 142 pm_vsu14) two flops operation (scalar fmadd, fnmadd, fmsub, fnmsub and DP vector versions of single flop instructions)
event:0X08E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP142 : (Group 142 pm_vsu14) Number of run instructions completed.
event:0X08E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP142 : (Group 142 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 143 pm_vsu15, VSU Execution
event:0X08F0 counters:0 um:zero minimum:1000 name:PM_VSU_VECTOR_SINGLE_ISSUED_GRP143 : (Group 143 pm_vsu15) Single Precision vector instruction issued (executed)
event:0X08F1 counters:1 um:zero minimum:1000 name:PM_VSU0_VECTOR_SP_ISSUED_GRP143 : (Group 143 pm_vsu15) Single Precision vector instruction issued (executed)
event:0X08F2 counters:2 um:zero minimum:1000 name:PM_VSU0_FPSCR_GRP143 : (Group 143 pm_vsu15) Move to/from FPSCR type instruction issued on Pipe 0
event:0X08F3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP143 : (Group 143 pm_vsu15) Number of PowerPC Instructions that completed.
event:0X08F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP143 : (Group 143 pm_vsu15) Number of run instructions completed.
event:0X08F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP143 : (Group 143 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 144 pm_vsu16, VSU Execution
event:0X0900 counters:0 um:zero minimum:1000 name:PM_VSU_SIMPLE_ISSUED_GRP144 : (Group 144 pm_vsu16) Simple VMX instruction issued
event:0X0901 counters:1 um:zero minimum:1000 name:PM_VSU0_SIMPLE_ISSUED_GRP144 : (Group 144 pm_vsu16) Simple VMX instruction issued
event:0X0902 counters:2 um:zero minimum:1000 name:PM_VSU0_COMPLEX_ISSUED_GRP144 : (Group 144 pm_vsu16) Complex VMX instruction issued
event:0X0903 counters:3 um:zero minimum:1000 name:PM_VMX_RESULT_SAT_1_GRP144 : (Group 144 pm_vsu16) Valid result with sat=1
event:0X0904 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP144 : (Group 144 pm_vsu16) Number of run instructions completed.
event:0X0905 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP144 : (Group 144 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 145 pm_vsu17, VSU Execution
event:0X0910 counters:0 um:zero minimum:1000 name:PM_VSU1_DD_ISSUED_GRP145 : (Group 145 pm_vsu17) 64BIT Decimal Issued on Pipe1
event:0X0911 counters:1 um:zero minimum:1000 name:PM_VSU1_DQ_ISSUED_GRP145 : (Group 145 pm_vsu17) 128BIT Decimal Issued on Pipe1
event:0X0912 counters:2 um:zero minimum:1000 name:PM_VSU1_PERMUTE_ISSUED_GRP145 : (Group 145 pm_vsu17) Permute VMX Instruction Issued
event:0X0913 counters:3 um:zero minimum:1000 name:PM_VSU1_SQ_GRP145 : (Group 145 pm_vsu17) Store Vector Issued on Pipe1
event:0X0914 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP145 : (Group 145 pm_vsu17) Number of run instructions completed.
event:0X0915 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP145 : (Group 145 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 146 pm_vsu18, VSU Execution
event:0X0920 counters:0 um:zero minimum:1000 name:PM_VSU_FCONV_GRP146 : (Group 146 pm_vsu18) Convert instruction executed
event:0X0921 counters:1 um:zero minimum:1000 name:PM_VSU0_FCONV_GRP146 : (Group 146 pm_vsu18) Convert instruction executed
event:0X0922 counters:2 um:zero minimum:1000 name:PM_VSU1_FCONV_GRP146 : (Group 146 pm_vsu18) Convert instruction executed
event:0X0923 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP146 : (Group 146 pm_vsu18) Number of PowerPC Instructions that completed.
event:0X0924 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP146 : (Group 146 pm_vsu18) Number of run instructions completed.
event:0X0925 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP146 : (Group 146 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 147 pm_vsu19, VSU Execution
event:0X0930 counters:0 um:zero minimum:1000 name:PM_VSU_FRSP_GRP147 : (Group 147 pm_vsu19) Round to single precision instruction executed
event:0X0931 counters:1 um:zero minimum:1000 name:PM_VSU0_FRSP_GRP147 : (Group 147 pm_vsu19) Round to single precision instruction executed
event:0X0932 counters:2 um:zero minimum:1000 name:PM_VSU1_FRSP_GRP147 : (Group 147 pm_vsu19) Round to single precision instruction executed
event:0X0933 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP147 : (Group 147 pm_vsu19) Number of PowerPC Instructions that completed.
event:0X0934 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP147 : (Group 147 pm_vsu19) Number of run instructions completed.
event:0X0935 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP147 : (Group 147 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 148 pm_vsu20, VSU Execution
event:0X0940 counters:0 um:zero minimum:1000 name:PM_VSU_FEST_GRP148 : (Group 148 pm_vsu20) Estimate instruction executed
event:0X0941 counters:1 um:zero minimum:1000 name:PM_VSU0_FEST_GRP148 : (Group 148 pm_vsu20) Estimate instruction executed
event:0X0942 counters:2 um:zero minimum:1000 name:PM_VSU1_FEST_GRP148 : (Group 148 pm_vsu20) Estimate instruction executed
event:0X0943 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP148 : (Group 148 pm_vsu20) Number of PowerPC Instructions that completed.
event:0X0944 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP148 : (Group 148 pm_vsu20) Number of run instructions completed.
event:0X0945 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP148 : (Group 148 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 149 pm_vsu21, VSU Execution
event:0X0950 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP149 : (Group 149 pm_vsu21) The Branch execution unit finished an instruction
event:0X0951 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP149 : (Group 149 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:0X0952 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP149 : (Group 149 pm_vsu21) Number of PowerPC Instructions that completed.
event:0X0953 counters:3 um:zero minimum:1000 name:PM_VSU_FIN_GRP149 : (Group 149 pm_vsu21) VSU0 Finished an instruction
event:0X0954 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP149 : (Group 149 pm_vsu21) Number of run instructions completed.
event:0X0955 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP149 : (Group 149 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 150 pm_vsu22, VSU Execution
event:0X0960 counters:0 um:zero minimum:1000 name:PM_LSU_LDF_GRP150 : (Group 150 pm_vsu22) LSU executed Floating Point load instruction.  Combined Unit 0 + 1.
event:0X0961 counters:1 um:zero minimum:1000 name:PM_VSU_STF_GRP150 : (Group 150 pm_vsu22) FPU store (SP or DP) issued on Pipe0
event:0X0962 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP150 : (Group 150 pm_vsu22) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
event:0X0963 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP150 : (Group 150 pm_vsu22) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X0964 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP150 : (Group 150 pm_vsu22) Number of run instructions completed.
event:0X0965 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP150 : (Group 150 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 151 pm_vsu23, VSU Execution
event:0X0970 counters:0 um:zero minimum:1000 name:PM_VSU_FSQRT_FDIV_GRP151 : (Group 151 pm_vsu23) DP vector versions of fdiv,fsqrt
event:0X0971 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP151 : (Group 151 pm_vsu23) VSU0 Finished an instruction
event:0X0972 counters:2 um:zero minimum:1000 name:PM_VSU_FMA_GRP151 : (Group 151 pm_vsu23) two flops operation (fmadd, fnmadd, fmsub, fnmsub) Scalar instructions only!
event:0X0973 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP151 : (Group 151 pm_vsu23) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X0974 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP151 : (Group 151 pm_vsu23) Number of run instructions completed.
event:0X0975 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP151 : (Group 151 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 152 pm_vsu24, VSU Execution
event:0X0980 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP152 : (Group 152 pm_vsu24) A floating point operation has completed
event:0X0981 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP152 : (Group 152 pm_vsu24) VSU0 Finished an instruction
event:0X0982 counters:2 um:zero minimum:1000 name:PM_VSU_FEST_GRP152 : (Group 152 pm_vsu24) Estimate instruction executed
event:0X0983 counters:3 um:zero minimum:1000 name:PM_VSU_1FLOP_GRP152 : (Group 152 pm_vsu24) one flop (fadd, fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg) operation finished
event:0X0984 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP152 : (Group 152 pm_vsu24) Number of run instructions completed.
event:0X0985 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP152 : (Group 152 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 153 pm_vsu25, VSU Execution
event:0X0990 counters:0 um:zero minimum:1000 name:PM_VSU_STF_GRP153 : (Group 153 pm_vsu25) FPU store (SP or DP) issued on Pipe0
event:0X0991 counters:1 um:zero minimum:1000 name:PM_VSU_FIN_GRP153 : (Group 153 pm_vsu25) VSU0 Finished an instruction
event:0X0992 counters:2 um:zero minimum:1000 name:PM_VSU_FRSP_GRP153 : (Group 153 pm_vsu25) Round to single precision instruction executed
event:0X0993 counters:3 um:zero minimum:1000 name:PM_VSU_FCONV_GRP153 : (Group 153 pm_vsu25) Convert instruction executed
event:0X0994 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP153 : (Group 153 pm_vsu25) Number of run instructions completed.
event:0X0995 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP153 : (Group 153 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 154 pm_lsu1, LSU LMQ SRQ events
event:0X09A0 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP154 : (Group 154 pm_lsu1) The Load Miss Queue was full.
event:0X09A1 counters:1 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_CYC_GRP154 : (Group 154 pm_lsu1) Cycles when both the LMQ and SRQ are empty (LSU is idle)
event:0X09A2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_SRQ_EMPTY_ALL_CYC_GRP154 : (Group 154 pm_lsu1) ALL threads lsu empty (lmq and srq empty)
event:0X09A3 counters:3 um:zero minimum:1000 name:PM_LSU_SRQ_EMPTY_CYC_GRP154 : (Group 154 pm_lsu1) The Store Request Queue is empty
event:0X09A4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP154 : (Group 154 pm_lsu1) Number of run instructions completed.
event:0X09A5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP154 : (Group 154 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 155 pm_lsu2, LSU events
event:0X09B0 counters:0 um:zero minimum:1000 name:PM_LSU_FX_FIN_GRP155 : (Group 155 pm_lsu2) LSU Finished a FX operation  (up to 2 per cycle)
event:0X09B1 counters:1 um:zero minimum:1000 name:PM_LSU_NCST_GRP155 : (Group 155 pm_lsu2) Non-cachable Stores sent to nest
event:0X09B2 counters:2 um:zero minimum:1000 name:PM_LSU_FIN_GRP155 : (Group 155 pm_lsu2) LSU Finished an instruction (up to 2 per cycle)
event:0X09B3 counters:3 um:zero minimum:1000 name:PM_LSU_FLUSH_GRP155 : (Group 155 pm_lsu2) A flush was initiated by the Load Store Unit.
event:0X09B4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP155 : (Group 155 pm_lsu2) Number of run instructions completed.
event:0X09B5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP155 : (Group 155 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 156 pm_lsu_lmq, LSU LMQ Events
event:0X09C0 counters:0 um:zero minimum:1000 name:PM_LSU0_LMQ_LHR_MERGE_GRP156 : (Group 156 pm_lsu_lmq) LS0  Load Merged with another cacheline request
event:0X09C1 counters:1 um:zero minimum:1000 name:PM_LSU1_LMQ_LHR_MERGE_GRP156 : (Group 156 pm_lsu_lmq) LS1 Load Merge with another cacheline request
event:0X09C2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP156 : (Group 156 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:0X09C3 counters:3 um:zero minimum:1000 name:PM_LSU_LMQ_FULL_CYC_GRP156 : (Group 156 pm_lsu_lmq) The Load Miss Queue was full.
event:0X09C4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP156 : (Group 156 pm_lsu_lmq) Number of run instructions completed.
event:0X09C5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP156 : (Group 156 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 157 pm_lsu_srq1, Store Request Queue Info
event:0X09D0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_STFWD_GRP157 : (Group 157 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:0X09D1 counters:1 um:zero minimum:1000 name:PM_LSU0_SRQ_STFWD_GRP157 : (Group 157 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:0X09D2 counters:2 um:zero minimum:1000 name:PM_LSU1_SRQ_STFWD_GRP157 : (Group 157 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:0X09D3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP157 : (Group 157 pm_lsu_srq1) Number of PowerPC Instructions that completed.
event:0X09D4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP157 : (Group 157 pm_lsu_srq1) Number of run instructions completed.
event:0X09D5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP157 : (Group 157 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 158 pm_lsu_srq2, Store Request Queue Info
event:0X09E0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_CYC_GRP158 : (Group 158 pm_lsu_srq2) Cycles that a sync instruction is active in the Store Request Queue.
event:0X09E1 counters:1 um:zero minimum:1000 name:PM_LSU_SRQ_SYNC_COUNT_GRP158 : (Group 158 pm_lsu_srq2) SRQ sync count (edge of PM_LSU_SRQ_SYNC_CYC)
event:0X09E2 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP158 : (Group 158 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:0X09E3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP158 : (Group 158 pm_lsu_srq2) Number of PowerPC Instructions that completed.
event:0X09E4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP158 : (Group 158 pm_lsu_srq2) Number of run instructions completed.
event:0X09E5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP158 : (Group 158 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 159 pm_lsu_s0_valid, LSU Events
event:0X09F0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_S0_VALID_GRP159 : (Group 159 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:0X09F1 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_VALID_GRP159 : (Group 159 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:0X09F2 counters:2 um:zero minimum:1000 name:PM_LSU_LMQ_S0_VALID_GRP159 : (Group 159 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:0X09F3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP159 : (Group 159 pm_lsu_s0_valid) Number of PowerPC Instructions that completed.
event:0X09F4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP159 : (Group 159 pm_lsu_s0_valid) Number of run instructions completed.
event:0X09F5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP159 : (Group 159 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 160 pm_lsu_s0_alloc, LSU Events
event:0X0A00 counters:0 um:zero minimum:1000 name:PM_LSU_LMQ_S0_ALLOC_GRP160 : (Group 160 pm_lsu_s0_alloc) Slot 0 of LMQ valid
event:0X0A01 counters:1 um:zero minimum:1000 name:PM_LSU_LRQ_S0_ALLOC_GRP160 : (Group 160 pm_lsu_s0_alloc) Slot 0 of LRQ valid
event:0X0A02 counters:2 um:zero minimum:1000 name:PM_LSU_SRQ_S0_ALLOC_GRP160 : (Group 160 pm_lsu_s0_alloc) Slot 0 of SRQ valid
event:0X0A03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP160 : (Group 160 pm_lsu_s0_alloc) Number of PowerPC Instructions that completed.
event:0X0A04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP160 : (Group 160 pm_lsu_s0_alloc) Number of run instructions completed.
event:0X0A05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP160 : (Group 160 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 161 pm_l1_pref, L1 pref Events
event:0X0A10 counters:0 um:zero minimum:1000 name:PM_L1_PREF_GRP161 : (Group 161 pm_l1_pref) A request to prefetch data into the L1 was made
event:0X0A11 counters:1 um:zero minimum:1000 name:PM_LSU0_L1_PREF_GRP161 : (Group 161 pm_l1_pref)  LS0 L1 cache data prefetches
event:0X0A12 counters:2 um:zero minimum:1000 name:PM_LSU1_L1_PREF_GRP161 : (Group 161 pm_l1_pref)  LS1 L1 cache data prefetches
event:0X0A13 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP161 : (Group 161 pm_l1_pref) Number of PowerPC Instructions that completed.
event:0X0A14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP161 : (Group 161 pm_l1_pref) Number of run instructions completed.
event:0X0A15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP161 : (Group 161 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 162 pm_l2_guess_1, L2_Guess_events
event:0X0A20 counters:0 um:zero minimum:1000 name:PM_L2_LOC_GUESS_CORRECT_GRP162 : (Group 162 pm_l2_guess_1) L2 guess loc and guess was correct (ie data local)
event:0X0A21 counters:1 um:zero minimum:1000 name:PM_L2_LOC_GUESS_WRONG_GRP162 : (Group 162 pm_l2_guess_1) L2 guess loc and guess was not correct (ie data remote)
event:0X0A22 counters:2 um:zero minimum:10000 name:PM_CYC_GRP162 : (Group 162 pm_l2_guess_1) Processor Cycles
event:0X0A23 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP162 : (Group 162 pm_l2_guess_1) Number of PowerPC Instructions that completed.
event:0X0A24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP162 : (Group 162 pm_l2_guess_1) Number of run instructions completed.
event:0X0A25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP162 : (Group 162 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 163 pm_l2_guess_2, L2_Guess_events
event:0X0A30 counters:0 um:zero minimum:1000 name:PM_L2_GLOB_GUESS_CORRECT_GRP163 : (Group 163 pm_l2_guess_2) L2 guess glb and guess was correct (ie data remote)
event:0X0A31 counters:1 um:zero minimum:1000 name:PM_L2_GLOB_GUESS_WRONG_GRP163 : (Group 163 pm_l2_guess_2) L2 guess glb and guess was not correct (ie data local)
event:0X0A32 counters:2 um:zero minimum:10000 name:PM_CYC_GRP163 : (Group 163 pm_l2_guess_2) Processor Cycles
event:0X0A33 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP163 : (Group 163 pm_l2_guess_2) Number of PowerPC Instructions that completed.
event:0X0A34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP163 : (Group 163 pm_l2_guess_2) Number of run instructions completed.
event:0X0A35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP163 : (Group 163 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 164 pm_misc1, Misc events
event:0X0A40 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP164 : (Group 164 pm_misc1) Number of instructions resulting from the marked instructions expansion that completed.
event:0X0A41 counters:1 um:zero minimum:1000 name:PM_INST_FROM_L1_GRP164 : (Group 164 pm_misc1) An instruction fetch group was fetched from L1. Fetch Groups can contain up to 8 instructions
event:0X0A42 counters:2 um:zero minimum:1000 name:PM_INST_IMC_MATCH_DISP_GRP164 : (Group 164 pm_misc1) IMC Matches dispatched
event:0X0A43 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP164 : (Group 164 pm_misc1) Number of PowerPC Instructions that completed.
event:0X0A44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP164 : (Group 164 pm_misc1) Number of run instructions completed.
event:0X0A45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP164 : (Group 164 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 165 pm_misc2, Misc events
event:0X0A50 counters:0 um:zero minimum:1000 name:PM_EE_OFF_EXT_INT_GRP165 : (Group 165 pm_misc2) Cycles when an interrupt due to an external exception is pending but external exceptions were masked.
event:0X0A51 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP165 : (Group 165 pm_misc2) An interrupt due to an external exception occurred
event:0X0A52 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP165 : (Group 165 pm_misc2) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
event:0X0A53 counters:3 um:zero minimum:10000 name:PM_CYC_GRP165 : (Group 165 pm_misc2) Processor Cycles
event:0X0A54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP165 : (Group 165 pm_misc2) Number of run instructions completed.
event:0X0A55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP165 : (Group 165 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 166 pm_misc3, Misc events
event:0X0A60 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP166 : (Group 166 pm_misc3) A group containing at least one PPC instruction completed. For microcoded instructions that span multiple groups, this will only occur once.
event:0X0A61 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP166 : (Group 166 pm_misc3) Cycles when the processor is executing in Hypervisor (MSR[HV] = 1 and MSR[PR]=0)
event:0X0A62 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP166 : (Group 166 pm_misc3) Number of PowerPC instructions successfully dispatched.
event:0X0A63 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP166 : (Group 166 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:0X0A64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP166 : (Group 166 pm_misc3) Number of run instructions completed.
event:0X0A65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP166 : (Group 166 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 167 pm_misc4, Misc events
event:0X0A70 counters:0 um:zero minimum:1000 name:PM_GRP_IC_MISS_NONSPEC_GRP167 : (Group 167 pm_misc4) Number of groups, counted at completion, that have encountered an instruction cache miss.
event:0X0A71 counters:1 um:zero minimum:1000 name:PM_GCT_NOSLOT_IC_MISS_GRP167 : (Group 167 pm_misc4) Cycles when the Global Completion Table has no slots from this thread because of an Instruction Cache miss.
event:0X0A72 counters:2 um:zero minimum:10000 name:PM_CYC_GRP167 : (Group 167 pm_misc4) Processor Cycles
event:0X0A73 counters:3 um:zero minimum:1000 name:PM_GCT_NOSLOT_BR_MPRED_IC_MISS_GRP167 : (Group 167 pm_misc4) No slot in GCT caused by branch mispredict or I cache miss
event:0X0A74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP167 : (Group 167 pm_misc4) Number of run instructions completed.
event:0X0A75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP167 : (Group 167 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 168 pm_misc5, Misc events
event:0X0A80 counters:0 um:zero minimum:1000 name:PM_GRP_BR_MPRED_NONSPEC_GRP168 : (Group 168 pm_misc5) Group experienced non-speculative branch redirect
event:0X0A81 counters:1 um:zero minimum:1000 name:PM_BR_MPRED_CR_TA_GRP168 : (Group 168 pm_misc5) Branch mispredict - taken/not taken and target
event:0X0A82 counters:2 um:zero minimum:1000 name:PM_BR_MPRED_CCACHE_GRP168 : (Group 168 pm_misc5) A branch instruction target was incorrectly predicted by the count cache. This will result in a branch redirect flush if not overwritten by a flush of an older instruction.
event:0X0A83 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP168 : (Group 168 pm_misc5) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0A84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP168 : (Group 168 pm_misc5) Number of run instructions completed.
event:0X0A85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP168 : (Group 168 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 169 pm_misc6, Misc events
event:0X0A90 counters:0 um:zero minimum:1000 name:PM_L1_DEMAND_WRITE_GRP169 : (Group 169 pm_misc6) Instruction Demand sectors wriittent into IL1
event:0X0A91 counters:1 um:zero minimum:1000 name:PM_IC_PREF_WRITE_GRP169 : (Group 169 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:0X0A92 counters:2 um:zero minimum:1000 name:PM_IC_WRITE_ALL_GRP169 : (Group 169 pm_misc6) Icache sectors written, prefetch + demand
event:0X0A93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP169 : (Group 169 pm_misc6) Number of PowerPC Instructions that completed.
event:0X0A94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP169 : (Group 169 pm_misc6) Number of run instructions completed.
event:0X0A95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP169 : (Group 169 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 170 pm_misc7, Misc events
event:0X0AA0 counters:0 um:zero minimum:1000 name:PM_THRESH_TIMEO_GRP170 : (Group 170 pm_misc7) The threshold timer expired
event:0X0AA1 counters:1 um:zero minimum:1000 name:PM_HV_CYC_GRP170 : (Group 170 pm_misc7) Cycles when the processor is executing in Hypervisor (MSR[HV] = 1 and MSR[PR]=0)
event:0X0AA2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP170 : (Group 170 pm_misc7) Processor Cycles
event:0X0AA3 counters:3 um:zero minimum:1000 name:PM_IFU_FIN_GRP170 : (Group 170 pm_misc7) The Instruction Fetch Unit finished an instruction
event:0X0AA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP170 : (Group 170 pm_misc7) Number of run instructions completed.
event:0X0AA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP170 : (Group 170 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 171 pm_misc8, Misc events
event:0X0AB0 counters:0 um:zero minimum:1000 name:PM_BR_MPRED_LSTACK_GRP171 : (Group 171 pm_misc8) Branch Mispredict due to Link Stack
event:0X0AB1 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP171 : (Group 171 pm_misc8) An interrupt due to an external exception occurred
event:0X0AB2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP171 : (Group 171 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:0X0AB3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP171 : (Group 171 pm_misc8) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0AB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP171 : (Group 171 pm_misc8) Number of run instructions completed.
event:0X0AB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP171 : (Group 171 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 172 pm_misc9, Misc events
event:0X0AC0 counters:0 um:zero minimum:1000 name:PM_FLUSH_BR_MPRED_GRP172 : (Group 172 pm_misc9) A flush was caused by a branch mispredict.
event:0X0AC1 counters:1 um:zero minimum:1000 name:PM_FLUSH_PARTIAL_GRP172 : (Group 172 pm_misc9) Partial flush
event:0X0AC2 counters:2 um:zero minimum:1000 name:PM_LSU_SET_MPRED_GRP172 : (Group 172 pm_misc9) Line already in cache at reload time
event:0X0AC3 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP172 : (Group 172 pm_misc9) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0AC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP172 : (Group 172 pm_misc9) Number of run instructions completed.
event:0X0AC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP172 : (Group 172 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 173 pm_misc10, Misc events
event:0X0AD0 counters:0 um:zero minimum:1000 name:PM_LSU_SRQ_FULL_CYC_GRP173 : (Group 173 pm_misc10) Cycles the Store Request Queue is full.
event:0X0AD1 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP173 : (Group 173 pm_misc10) D cache new prefetch stream allocated
event:0X0AD2 counters:2 um:zero minimum:1000 name:PM_L1_PREF_GRP173 : (Group 173 pm_misc10) A request to prefetch data into the L1 was made
event:0X0AD3 counters:3 um:zero minimum:1000 name:PM_IBUF_FULL_CYC_GRP173 : (Group 173 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:0X0AD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP173 : (Group 173 pm_misc10) Number of run instructions completed.
event:0X0AD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP173 : (Group 173 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 174 pm_misc11, Misc events
event:0X0AE0 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP174 : (Group 174 pm_misc11) A floating point operation has completed
event:0X0AE1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP174 : (Group 174 pm_misc11) Processor Cycles
event:0X0AE2 counters:2 um:zero minimum:1000 name:PM_GRP_CMPL_GRP174 : (Group 174 pm_misc11) A group completed. Microcoded instructions that span multiple groups will generate this event once per group.
event:0X0AE3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP174 : (Group 174 pm_misc11) Number of PowerPC Instructions that completed.
event:0X0AE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP174 : (Group 174 pm_misc11) Number of run instructions completed.
event:0X0AE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP174 : (Group 174 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 175 pm_misc_12, Misc Events
event:0X0AF0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP175 : (Group 175 pm_misc_12) Number of PowerPC Instructions that completed.
event:0X0AF1 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP175 : (Group 175 pm_misc_12) Store requests sent to the nest.
event:0X0AF2 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP175 : (Group 175 pm_misc_12) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
event:0X0AF3 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP175 : (Group 175 pm_misc_12) Flushes occurred including LSU and Branch flushes.
event:0X0AF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP175 : (Group 175 pm_misc_12) Number of run instructions completed.
event:0X0AF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP175 : (Group 175 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 176 pm_misc_13, Misc Events
event:0X0B00 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP176 : (Group 176 pm_misc_13) Cycles when the Global Completion Table has no slots from this thread.
event:0X0B01 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP176 : (Group 176 pm_misc_13) Store requests sent to the nest.
event:0X0B02 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP176 : (Group 176 pm_misc_13) Data TLB misses, all page sizes.
event:0X0B03 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP176 : (Group 176 pm_misc_13) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0B04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP176 : (Group 176 pm_misc_13) Number of run instructions completed.
event:0X0B05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP176 : (Group 176 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 177 pm_misc_14, Misc Events
event:0X0B10 counters:0 um:zero minimum:10000 name:PM_CYC_GRP177 : (Group 177 pm_misc_14) Processor Cycles
event:0X0B11 counters:1 um:zero minimum:10000 name:PM_CYC_GRP177 : (Group 177 pm_misc_14) Processor Cycles
event:0X0B12 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP177 : (Group 177 pm_misc_14) Number of PowerPC Instructions that completed.
event:0X0B13 counters:3 um:zero minimum:1000 name:PM_IFU_FIN_GRP177 : (Group 177 pm_misc_14) The Instruction Fetch Unit finished an instruction
event:0X0B14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP177 : (Group 177 pm_misc_14) Number of run instructions completed.
event:0X0B15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP177 : (Group 177 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 178 pm_misc_15, Misc Events
event:0X0B20 counters:0 um:zero minimum:1000 name:PM_LSU_DCACHE_RELOAD_VALID_GRP178 : (Group 178 pm_misc_15) count per sector of lines reloaded in L1 (demand + prefetch)
event:0X0B21 counters:1 um:zero minimum:1000 name:PM_CMPLU_STALL_STORE_GRP178 : (Group 178 pm_misc_15) Completion stall due to store instruction
event:0X0B22 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP178 : (Group 178 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:0X0B23 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_VECTOR_LONG_GRP178 : (Group 178 pm_misc_15) completion stall due to long latency vector instruction
event:0X0B24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP178 : (Group 178 pm_misc_15) Number of run instructions completed.
event:0X0B25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP178 : (Group 178 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 179 pm_misc_16, Misc Events
event:0X0B30 counters:0 um:zero minimum:1000 name:PM_CMPLU_STALL_END_GCT_NOSLOT_GRP179 : (Group 179 pm_misc_16) Count ended because GCT went empty
event:0X0B31 counters:1 um:zero minimum:1000 name:PM_LSU0_L1_SW_PREF_GRP179 : (Group 179 pm_misc_16) LSU0 Software L1 Prefetches, including SW Transient Prefetches
event:0X0B32 counters:2 um:zero minimum:1000 name:PM_LSU1_L1_SW_PREF_GRP179 : (Group 179 pm_misc_16) LSU1 Software L1 Prefetches, including SW Transient Prefetches
event:0X0B33 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_IFU_GRP179 : (Group 179 pm_misc_16) Completion stall due to IFU
event:0X0B34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP179 : (Group 179 pm_misc_16) Number of run instructions completed.
event:0X0B35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP179 : (Group 179 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 180 pm_misc_17, Misc Events
event:0X0B40 counters:0 um:zero minimum:1000 name:PM_BRU_FIN_GRP180 : (Group 180 pm_misc_17) The Branch execution unit finished an instruction
event:0X0B41 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP180 : (Group 180 pm_misc_17) Store requests sent to the nest.
event:0X0B42 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_SHR_GRP180 : (Group 180 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:0X0B43 counters:3 um:zero minimum:1000 name:PM_CMPLU_STALL_BRU_GRP180 : (Group 180 pm_misc_17) Completion stall due to BRU
event:0X0B44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP180 : (Group 180 pm_misc_17) Number of run instructions completed.
event:0X0B45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP180 : (Group 180 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 181 pm_suspend, SUSPENDED events
event:0X0B50 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP181 : (Group 181 pm_suspend) The counter is suspended (does not count)
event:0X0B51 counters:1 um:zero minimum:10000 name:PM_CYC_GRP181 : (Group 181 pm_suspend) Processor Cycles
event:0X0B52 counters:2 um:zero minimum:1000 name:PM_LWSYNC_GRP181 : (Group 181 pm_suspend) lwsync count (easier to use than IMC)
event:0X0B53 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP181 : (Group 181 pm_suspend) Number of PowerPC Instructions that completed.
event:0X0B54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP181 : (Group 181 pm_suspend) Number of run instructions completed.
event:0X0B55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP181 : (Group 181 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 182 pm_iops, Internal Operations events
event:0X0B60 counters:0 um:zero minimum:1000 name:PM_IOPS_CMPL_GRP182 : (Group 182 pm_iops) Number of internal operations that completed.
event:0X0B61 counters:1 um:zero minimum:10000 name:PM_CYC_GRP182 : (Group 182 pm_iops) Processor Cycles
event:0X0B62 counters:2 um:zero minimum:1000 name:PM_IOPS_DISP_GRP182 : (Group 182 pm_iops) IOPS dispatched
event:0X0B63 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP182 : (Group 182 pm_iops) Number of PowerPC Instructions that completed.
event:0X0B64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP182 : (Group 182 pm_iops) Number of run instructions completed.
event:0X0B65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP182 : (Group 182 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 183 pm_sync, sync
event:0X0B70 counters:0 um:zero minimum:1000 name:PM_LWSYNC_GRP183 : (Group 183 pm_sync) lwsync count (easier to use than IMC)
event:0X0B71 counters:1 um:zero minimum:10000 name:PM_CYC_GRP183 : (Group 183 pm_sync) Processor Cycles
event:0X0B72 counters:2 um:zero minimum:1000 name:PM_LWSYNC_HELD_GRP183 : (Group 183 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:0X0B73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP183 : (Group 183 pm_sync) Number of PowerPC Instructions that completed.
event:0X0B74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP183 : (Group 183 pm_sync) Number of run instructions completed.
event:0X0B75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP183 : (Group 183 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 184 pm_seg, Segment events
event:0X0B80 counters:0 um:zero minimum:10000 name:PM_CYC_GRP184 : (Group 184 pm_seg) Processor Cycles
event:0X0B81 counters:1 um:zero minimum:1000 name:PM_SEG_EXCEPTION_GRP184 : (Group 184 pm_seg) ISEG + DSEG Exception
event:0X0B82 counters:2 um:zero minimum:1000 name:PM_ISEG_GRP184 : (Group 184 pm_seg) ISEG Exception
event:0X0B83 counters:3 um:zero minimum:1000 name:PM_DSEG_GRP184 : (Group 184 pm_seg) DSEG Exception
event:0X0B84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP184 : (Group 184 pm_seg) Number of run instructions completed.
event:0X0B85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP184 : (Group 184 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 185 pm_l3_hit, L3 Hit Events
event:0X0B90 counters:0 um:zero minimum:1000 name:PM_L3_HIT_GRP185 : (Group 185 pm_l3_hit) L3 Hits
event:0X0B91 counters:1 um:zero minimum:1000 name:PM_L3_LD_HIT_GRP185 : (Group 185 pm_l3_hit) L3 demand LD Hits
event:0X0B92 counters:2 um:zero minimum:1000 name:PM_L3_PREF_HIT_GRP185 : (Group 185 pm_l3_hit) L3 Prefetch Directory Hit
event:0X0B93 counters:3 um:zero minimum:1000 name:PM_L3_CO_L31_GRP185 : (Group 185 pm_l3_hit) L3 Castouts to L3.1
event:0X0B94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP185 : (Group 185 pm_l3_hit) Number of run instructions completed.
event:0X0B95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP185 : (Group 185 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 186 pm_shl, Shell Events
event:0X0BA0 counters:0 um:zero minimum:1000 name:PM_SHL_DEALLOCATED_GRP186 : (Group 186 pm_shl) SHL Table entry deallocated
event:0X0BA1 counters:1 um:zero minimum:1000 name:PM_SHL_CREATED_GRP186 : (Group 186 pm_shl) SHL table entry Created
event:0X0BA2 counters:2 um:zero minimum:1000 name:PM_SHL_MERGED_GRP186 : (Group 186 pm_shl) SHL table entry merged with existing
event:0X0BA3 counters:3 um:zero minimum:1000 name:PM_SHL_MATCH_GRP186 : (Group 186 pm_shl) SHL Table Match
event:0X0BA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP186 : (Group 186 pm_shl) Number of run instructions completed.
event:0X0BA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP186 : (Group 186 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 187 pm_l3_pref, L3 Prefetch events
event:0X0BB0 counters:0 um:zero minimum:1000 name:PM_L3_PREF_LD_GRP187 : (Group 187 pm_l3_pref) L3 cache LD prefetches
event:0X0BB1 counters:1 um:zero minimum:1000 name:PM_L3_PREF_ST_GRP187 : (Group 187 pm_l3_pref) L3 cache ST prefetches
event:0X0BB2 counters:2 um:zero minimum:1000 name:PM_L3_PREF_LDST_GRP187 : (Group 187 pm_l3_pref) L3 cache prefetches LD + ST
event:0X0BB3 counters:3 um:zero minimum:1000 name:PM_L1_PREF_GRP187 : (Group 187 pm_l3_pref) A request to prefetch data into the L1 was made
event:0X0BB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP187 : (Group 187 pm_l3_pref) Number of run instructions completed.
event:0X0BB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP187 : (Group 187 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 188 pm_l3, L3 events
event:0X0BC0 counters:0 um:zero minimum:1000 name:PM_L3_MISS_GRP188 : (Group 188 pm_l3) L3 Misses
event:0X0BC1 counters:1 um:zero minimum:1000 name:PM_L3_LD_MISS_GRP188 : (Group 188 pm_l3) L3 demand LD Miss
event:0X0BC2 counters:2 um:zero minimum:1000 name:PM_L3_PREF_MISS_GRP188 : (Group 188 pm_l3) L3 Prefetch  Directory Miss
event:0X0BC3 counters:3 um:zero minimum:1000 name:PM_L3_CO_MEM_GRP188 : (Group 188 pm_l3) L3 Castouts to Memory
event:0X0BC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP188 : (Group 188 pm_l3) Number of run instructions completed.
event:0X0BC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP188 : (Group 188 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 189 pm_streams1, Streams
event:0X0BD0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP189 : (Group 189 pm_streams1) Processor Cycles
event:0X0BD1 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_CONFIRM_GRP189 : (Group 189 pm_streams1) Dcache new prefetch stream confirmed
event:0X0BD2 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_CONFIRM_GRP189 : (Group 189 pm_streams1) LS0 Dcache prefetch stream confirmed
event:0X0BD3 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_CONFIRM_GRP189 : (Group 189 pm_streams1) LS1 'Dcache prefetch stream confirmed
event:0X0BD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP189 : (Group 189 pm_streams1) Number of run instructions completed.
event:0X0BD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP189 : (Group 189 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 190 pm_streams2, Streams
event:0X0BE0 counters:0 um:zero minimum:10000 name:PM_CYC_GRP190 : (Group 190 pm_streams2) Processor Cycles
event:0X0BE1 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STRIDED_STREAM_CONFIRM_GRP190 : (Group 190 pm_streams2) Dcache Strided prefetch stream confirmed (software + hardware)
event:0X0BE2 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_CONFIRM_STRIDE_GRP190 : (Group 190 pm_streams2) LS0 Dcache Strided prefetch stream confirmed
event:0X0BE3 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_CONFIRM_STRIDE_GRP190 : (Group 190 pm_streams2) LS1  Dcache Strided prefetch stream confirmed
event:0X0BE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP190 : (Group 190 pm_streams2) Number of run instructions completed.
event:0X0BE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP190 : (Group 190 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 191 pm_streams3, Streams
event:0X0BF0 counters:0 um:zero minimum:1000 name:PM_DC_PREF_DST_GRP191 : (Group 191 pm_streams3) A prefetch stream was started using the DST instruction.
event:0X0BF1 counters:1 um:zero minimum:1000 name:PM_LSU_DC_PREF_STREAM_ALLOC_GRP191 : (Group 191 pm_streams3) D cache new prefetch stream allocated
event:0X0BF2 counters:2 um:zero minimum:1000 name:PM_LSU0_DC_PREF_STREAM_ALLOC_GRP191 : (Group 191 pm_streams3) LS0 D cache new prefetch stream allocated
event:0X0BF3 counters:3 um:zero minimum:1000 name:PM_LSU1_DC_PREF_STREAM_ALLOC_GRP191 : (Group 191 pm_streams3) LS 1 D cache new prefetch stream allocated
event:0X0BF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP191 : (Group 191 pm_streams3) Number of run instructions completed.
event:0X0BF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP191 : (Group 191 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 192 pm_larx, LARX
event:0X0C00 counters:0 um:zero minimum:1000 name:PM_LARX_LSU0_GRP192 : (Group 192 pm_larx) A larx (lwarx or ldarx) was executed on side 0
event:0X0C01 counters:1 um:zero minimum:1000 name:PM_LARX_LSU1_GRP192 : (Group 192 pm_larx) A larx (lwarx or ldarx) was executed on side 1
event:0X0C02 counters:2 um:zero minimum:10000 name:PM_CYC_GRP192 : (Group 192 pm_larx) Processor Cycles
event:0X0C03 counters:3 um:zero minimum:1000 name:PM_LARX_LSU_GRP192 : (Group 192 pm_larx) Larx Finished
event:0X0C04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP192 : (Group 192 pm_larx) Number of run instructions completed.
event:0X0C05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP192 : (Group 192 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 193 pm_ldf, Floating Point loads
event:0X0C10 counters:0 um:zero minimum:10000 name:PM_CYC_GRP193 : (Group 193 pm_ldf) Processor Cycles
event:0X0C11 counters:1 um:zero minimum:1000 name:PM_LSU_LDF_GRP193 : (Group 193 pm_ldf) LSU executed Floating Point load instruction.  Combined Unit 0 + 1.
event:0X0C12 counters:2 um:zero minimum:1000 name:PM_LSU0_LDF_GRP193 : (Group 193 pm_ldf) A floating point load was executed by LSU0
event:0X0C13 counters:3 um:zero minimum:1000 name:PM_LSU1_LDF_GRP193 : (Group 193 pm_ldf) A floating point load was executed by LSU1
event:0X0C14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP193 : (Group 193 pm_ldf) Number of run instructions completed.
event:0X0C15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP193 : (Group 193 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 194 pm_ldx, Vector Load
event:0X0C20 counters:0 um:zero minimum:10000 name:PM_CYC_GRP194 : (Group 194 pm_ldx) Processor Cycles
event:0X0C21 counters:1 um:zero minimum:1000 name:PM_LSU_LDX_GRP194 : (Group 194 pm_ldx) All Vector loads (vsx vector + vmx vector)
event:0X0C22 counters:2 um:zero minimum:1000 name:PM_LSU0_LDX_GRP194 : (Group 194 pm_ldx) LS0 Vector Loads
event:0X0C23 counters:3 um:zero minimum:1000 name:PM_LSU1_LDX_GRP194 : (Group 194 pm_ldx) LS1  Vector Loads
event:0X0C24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP194 : (Group 194 pm_ldx) Number of run instructions completed.
event:0X0C25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP194 : (Group 194 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 195 pm_l2_ld_st, L2 load and store events
event:0X0C30 counters:0 um:zero minimum:1000 name:PM_L2_LD_GRP195 : (Group 195 pm_l2_ld_st) Data Load Count
event:0X0C31 counters:1 um:zero minimum:1000 name:PM_L2_ST_MISS_GRP195 : (Group 195 pm_l2_ld_st) Data Store Miss
event:0X0C32 counters:2 um:zero minimum:1000 name:PM_L3_PREF_HIT_GRP195 : (Group 195 pm_l2_ld_st) L3 Prefetch Directory Hit
event:0X0C33 counters:3 um:zero minimum:10000 name:PM_CYC_GRP195 : (Group 195 pm_l2_ld_st) Processor Cycles
event:0X0C34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP195 : (Group 195 pm_l2_ld_st) Number of run instructions completed.
event:0X0C35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP195 : (Group 195 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 196 pm_stcx, STCX
event:0X0C40 counters:0 um:zero minimum:1000 name:PM_LARX_LSU_GRP196 : (Group 196 pm_stcx) Larx Finished
event:0X0C41 counters:1 um:zero minimum:1000 name:PM_LSU_REJECT_LHS_GRP196 : (Group 196 pm_stcx) The Load Store Unit 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. Combined Unit 0 + 1
event:0X0C42 counters:2 um:zero minimum:1000 name:PM_STCX_CMPL_GRP196 : (Group 196 pm_stcx) Conditional stores with reservation completed
event:0X0C43 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP196 : (Group 196 pm_stcx) A stcx (stwcx or stdcx) failed
event:0X0C44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP196 : (Group 196 pm_stcx) Number of run instructions completed.
event:0X0C45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP196 : (Group 196 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 197 pm_btac, BTAC
event:0X0C50 counters:0 um:zero minimum:1000 name:PM_BTAC_HIT_GRP197 : (Group 197 pm_btac) BTAC Correct Prediction
event:0X0C51 counters:1 um:zero minimum:1000 name:PM_BTAC_MISS_GRP197 : (Group 197 pm_btac) BTAC Mispredicted
event:0X0C52 counters:2 um:zero minimum:1000 name:PM_STCX_CMPL_GRP197 : (Group 197 pm_btac) Conditional stores with reservation completed
event:0X0C53 counters:3 um:zero minimum:1000 name:PM_STCX_FAIL_GRP197 : (Group 197 pm_btac) A stcx (stwcx or stdcx) failed
event:0X0C54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP197 : (Group 197 pm_btac) Number of run instructions completed.
event:0X0C55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP197 : (Group 197 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 198 pm_br_bc, Branch BC events
event:0X0C60 counters:0 um:zero minimum:1000 name:PM_BC_PLUS_8_CONV_GRP198 : (Group 198 pm_br_bc) BC+8 Converted
event:0X0C61 counters:1 um:zero minimum:1000 name:PM_BC_PLUS_8_RSLV_TAKEN_GRP198 : (Group 198 pm_br_bc) BC+8 Resolve outcome was Taken, resulting in the conditional instruction being canceled
event:0X0C62 counters:2 um:zero minimum:10000 name:PM_CYC_GRP198 : (Group 198 pm_br_bc) Processor Cycles
event:0X0C63 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP198 : (Group 198 pm_br_bc) Number of PowerPC Instructions that completed.
event:0X0C64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP198 : (Group 198 pm_br_bc) Number of run instructions completed.
event:0X0C65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP198 : (Group 198 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 199 pm_inst_imc, inst imc events
event:0X0C70 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP199 : (Group 199 pm_inst_imc) Number of instructions resulting from the marked instructions expansion that completed.
event:0X0C71 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP199 : (Group 199 pm_inst_imc) Number of PowerPC instructions successfully dispatched.
event:0X0C72 counters:2 um:zero minimum:1000 name:PM_INST_IMC_MATCH_DISP_GRP199 : (Group 199 pm_inst_imc) IMC Matches dispatched
event:0X0C73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP199 : (Group 199 pm_inst_imc) Number of PowerPC Instructions that completed.
event:0X0C74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP199 : (Group 199 pm_inst_imc) Number of run instructions completed.
event:0X0C75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP199 : (Group 199 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 200 pm_l2_misc1, L2 load/store Miss events
event:0X0C80 counters:0 um:zero minimum:1000 name:PM_L2_LDST_GRP200 : (Group 200 pm_l2_misc1) Data Load+Store Count
event:0X0C81 counters:1 um:zero minimum:1000 name:PM_L2_LDST_MISS_GRP200 : (Group 200 pm_l2_misc1) Data Load+Store Miss
event:0X0C82 counters:2 um:zero minimum:1000 name:PM_L2_INST_MISS_GRP200 : (Group 200 pm_l2_misc1) Instruction Load Misses
event:0X0C83 counters:3 um:zero minimum:1000 name:PM_L2_DISP_ALL_GRP200 : (Group 200 pm_l2_misc1) All successful LD/ST dispatches for this thread(i+d)
event:0X0C84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP200 : (Group 200 pm_l2_misc1) Number of run instructions completed.
event:0X0C85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP200 : (Group 200 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 201 pm_l2_misc2, L2 Events
event:0X0C90 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP201 : (Group 201 pm_l2_misc2) Number of PowerPC Instructions that completed.
event:0X0C91 counters:1 um:zero minimum:10000 name:PM_CYC_GRP201 : (Group 201 pm_l2_misc2) Processor Cycles
event:0X0C92 counters:2 um:zero minimum:1000 name:PM_L2_INST_GRP201 : (Group 201 pm_l2_misc2) Instruction Load Count
event:0X0C93 counters:3 um:zero minimum:1000 name:PM_L2_DISP_ALL_GRP201 : (Group 201 pm_l2_misc2) All successful LD/ST dispatches for this thread(i+d)
event:0X0C94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP201 : (Group 201 pm_l2_misc2) Number of run instructions completed.
event:0X0C95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP201 : (Group 201 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 202 pm_l2_misc3, L2 Events
event:0X0CA0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP202 : (Group 202 pm_l2_misc3) Number of PowerPC Instructions that completed.
event:0X0CA1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP202 : (Group 202 pm_l2_misc3) Processor Cycles
event:0X0CA2 counters:2 um:zero minimum:1000 name:PM_L2_SYS_PUMP_GRP202 : (Group 202 pm_l2_misc3) RC req that was a global (aka system) pump attempt
event:0X0CA3 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP202 : (Group 202 pm_l2_misc3) Number of run instructions completed.
event:0X0CA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP202 : (Group 202 pm_l2_misc3) Number of run instructions completed.
event:0X0CA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP202 : (Group 202 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 203 pm_l2_misc4, L2 Events
event:0X0CB0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP203 : (Group 203 pm_l2_misc4) Number of PowerPC Instructions that completed.
event:0X0CB1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP203 : (Group 203 pm_l2_misc4) Processor Cycles
event:0X0CB2 counters:2 um:zero minimum:1000 name:PM_L2_SN_SX_I_DONE_GRP203 : (Group 203 pm_l2_misc4) SNP dispatched and went from Sx or Tx to Ix
event:0X0CB3 counters:3 um:zero minimum:1000 name:PM_L2_SN_M_WR_DONE_GRP203 : (Group 203 pm_l2_misc4) SNP dispatched for a write and was M
event:0X0CB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP203 : (Group 203 pm_l2_misc4) Number of run instructions completed.
event:0X0CB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP203 : (Group 203 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 204 pm_l2_misc5, L2 Events
event:0X0CC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP204 : (Group 204 pm_l2_misc5) Number of PowerPC Instructions that completed.
event:0X0CC1 counters:1 um:zero minimum:10000 name:PM_CYC_GRP204 : (Group 204 pm_l2_misc5) Processor Cycles
event:0X0CC2 counters:2 um:zero minimum:1000 name:PM_L2_NODE_PUMP_GRP204 : (Group 204 pm_l2_misc5) RC req that was a local (aka node) pump attempt
event:0X0CC3 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP204 : (Group 204 pm_l2_misc5) Number of run instructions completed.
event:0X0CC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP204 : (Group 204 pm_l2_misc5) Number of run instructions completed.
event:0X0CC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP204 : (Group 204 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 205 pm_l2_misc6, L2 Events
event:0X0CD0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP205 : (Group 205 pm_l2_misc6) Number of PowerPC Instructions that completed.
event:0X0CD1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP205 : (Group 205 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:0X0CD2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP205 : (Group 205 pm_l2_misc6) Processor Cycles
event:0X0CD3 counters:3 um:zero minimum:1000 name:PM_L2_SN_M_RD_DONE_GRP205 : (Group 205 pm_l2_misc6) SNP dispatched for a read and was M
event:0X0CD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP205 : (Group 205 pm_l2_misc6) Number of run instructions completed.
event:0X0CD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP205 : (Group 205 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 206 pm_ierat, IERAT Events
event:0X0CE0 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP206 : (Group 206 pm_ierat) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0CE1 counters:1 um:zero minimum:1000 name:PM_IERAT_XLATE_WR_16MPLUS_GRP206 : (Group 206 pm_ierat) large page 16M+
event:0X0CE2 counters:2 um:zero minimum:1000 name:PM_IERAT_WR_64K_GRP206 : (Group 206 pm_ierat) large page 64k
event:0X0CE3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP206 : (Group 206 pm_ierat) Number of PowerPC Instructions that completed.
event:0X0CE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP206 : (Group 206 pm_ierat) Number of run instructions completed.
event:0X0CE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP206 : (Group 206 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 207 pm_disp_clb, Dispatch CLB Events
event:0X0CF0 counters:0 um:zero minimum:1000 name:PM_DISP_CLB_HELD_GRP207 : (Group 207 pm_disp_clb) CLB Hold: Any Reason
event:0X0CF1 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_SB_GRP207 : (Group 207 pm_disp_clb) Dispatch/CLB Hold: Scoreboard
event:0X0CF2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP207 : (Group 207 pm_disp_clb) Processor Cycles
event:0X0CF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP207 : (Group 207 pm_disp_clb) Number of PowerPC Instructions that completed.
event:0X0CF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP207 : (Group 207 pm_disp_clb) Number of run instructions completed.
event:0X0CF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP207 : (Group 207 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 208 pm_dpu, DPU Events
event:0X0D00 counters:0 um:zero minimum:10000 name:PM_CYC_GRP208 : (Group 208 pm_dpu) Processor Cycles
event:0X0D01 counters:1 um:zero minimum:1000 name:PM_DPU_HELD_POWER_GRP208 : (Group 208 pm_dpu) Cycles that Instruction Dispatch was held due to power management. More than one hold condition can exist at the same time
event:0X0D02 counters:2 um:zero minimum:1000 name:PM_DISP_WT_GRP208 : (Group 208 pm_dpu) Dispatched Starved (not held, nothing to dispatch)
event:0X0D03 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP208 : (Group 208 pm_dpu) Number of PowerPC Instructions that completed.
event:0X0D04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP208 : (Group 208 pm_dpu) Number of run instructions completed.
event:0X0D05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP208 : (Group 208 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 209 pm_cpu_util, Basic CPU utilization
event:0X0D10 counters:0 um:zero minimum:1000 name:PM_RUN_SPURR_GRP209 : (Group 209 pm_cpu_util) Run SPURR
event:0X0D11 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP209 : (Group 209 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:0X0D12 counters:2 um:zero minimum:10000 name:PM_CYC_GRP209 : (Group 209 pm_cpu_util) Processor Cycles
event:0X0D13 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP209 : (Group 209 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:0X0D14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP209 : (Group 209 pm_cpu_util) Number of run instructions completed.
event:0X0D15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP209 : (Group 209 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 210 pm_overflow1, Overflow events
event:0X0D20 counters:0 um:zero minimum:1000 name:PM_PMC4_OVERFLOW_GRP210 : (Group 210 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:0X0D21 counters:1 um:zero minimum:1000 name:PM_PMC1_OVERFLOW_GRP210 : (Group 210 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:0X0D22 counters:2 um:zero minimum:1000 name:PM_PMC2_OVERFLOW_GRP210 : (Group 210 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:0X0D23 counters:3 um:zero minimum:1000 name:PM_PMC3_OVERFLOW_GRP210 : (Group 210 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:0X0D24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP210 : (Group 210 pm_overflow1) Number of run instructions completed.
event:0X0D25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP210 : (Group 210 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 211 pm_overflow2, Overflow events
event:0X0D30 counters:0 um:zero minimum:1000 name:PM_PMC5_OVERFLOW_GRP211 : (Group 211 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:0X0D31 counters:1 um:zero minimum:1000 name:PM_PMC1_OVERFLOW_GRP211 : (Group 211 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:0X0D32 counters:2 um:zero minimum:1000 name:PM_PMC6_OVERFLOW_GRP211 : (Group 211 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:0X0D33 counters:3 um:zero minimum:1000 name:PM_PMC3_OVERFLOW_GRP211 : (Group 211 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:0X0D34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP211 : (Group 211 pm_overflow2) Number of run instructions completed.
event:0X0D35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP211 : (Group 211 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 212 pm_rewind, Rewind events
event:0X0D40 counters:0 um:zero minimum:1000 name:PM_PMC4_REWIND_GRP212 : (Group 212 pm_rewind) PMC4 was counting speculatively. The speculative condition was not met and the counter was restored to its previous value.
event:0X0D41 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP212 : (Group 212 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:0X0D42 counters:2 um:zero minimum:1000 name:PM_PMC2_REWIND_GRP212 : (Group 212 pm_rewind) PMC2 was counting speculatively. The speculative condition was not met and the counter was restored to its previous value.
event:0X0D43 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP212 : (Group 212 pm_rewind) Number of PowerPC Instructions that completed.
event:0X0D44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP212 : (Group 212 pm_rewind) Number of run instructions completed.
event:0X0D45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP212 : (Group 212 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 213 pm_saved, Saved Events
event:0X0D50 counters:0 um:zero minimum:1000 name:PM_PMC2_SAVED_GRP213 : (Group 213 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:0X0D51 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP213 : (Group 213 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:0X0D52 counters:2 um:zero minimum:1000 name:PM_PMC4_SAVED_GRP213 : (Group 213 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:0X0D53 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP213 : (Group 213 pm_saved) Number of PowerPC Instructions that completed.
event:0X0D54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP213 : (Group 213 pm_saved) Number of run instructions completed.
event:0X0D55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP213 : (Group 213 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 214 pm_tlbie, TLBIE Events
event:0X0D60 counters:0 um:zero minimum:1000 name:PM_FLUSH_DISP_TLBIE_GRP214 : (Group 214 pm_tlbie) Dispatch Flush: TLBIE
event:0X0D61 counters:1 um:zero minimum:1000 name:PM_DISP_CLB_HELD_TLBIE_GRP214 : (Group 214 pm_tlbie) Dispatch Hold: Due to TLBIE
event:0X0D62 counters:2 um:zero minimum:1000 name:PM_SNOOP_TLBIE_GRP214 : (Group 214 pm_tlbie) A tlbie was snooped from another processor.
event:0X0D63 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP214 : (Group 214 pm_tlbie) Number of PowerPC Instructions that completed.
event:0X0D64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP214 : (Group 214 pm_tlbie) Number of run instructions completed.
event:0X0D65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP214 : (Group 214 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 215 pm_id_miss_erat_l1, Instruction/Data miss from ERAT/L1 cache
event:0X0D70 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP215 : (Group 215 pm_id_miss_erat_l1) 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_id_miss_erat_l1) An instruction fetch request missed the L1 cache.
event:0X0D72 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP215 : (Group 215 pm_id_miss_erat_l1) A store missed the dcache.  Combined Unit 0 + 1.
event:0X0D73 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP215 : (Group 215 pm_id_miss_erat_l1) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0D74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP215 : (Group 215 pm_id_miss_erat_l1) Number of run instructions completed.
event:0X0D75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP215 : (Group 215 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 216 pm_id_miss_erat_tlab, Instruction/Data miss from ERAT/TLB
event:0X0D80 counters:0 um:zero minimum:10000 name:PM_CYC_GRP216 : (Group 216 pm_id_miss_erat_tlab) Processor Cycles
event:0X0D81 counters:1 um:zero minimum:1000 name:PM_LSU_DERAT_MISS_GRP216 : (Group 216 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:0X0D82 counters:2 um:zero minimum:1000 name:PM_DTLB_MISS_GRP216 : (Group 216 pm_id_miss_erat_tlab) Data TLB misses, all page sizes.
event:0X0D83 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP216 : (Group 216 pm_id_miss_erat_tlab) A TLB miss for an Instruction Fetch has occurred
event:0X0D84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP216 : (Group 216 pm_id_miss_erat_tlab) Number of run instructions completed.
event:0X0D85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP216 : (Group 216 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 217 pm_compat_utilization1, Basic CPU utilization
event:0X0D90 counters:0 um:zero minimum:1000 name:PM_ANY_THRD_RUN_CYC_GRP217 : (Group 217 pm_compat_utilization1) One of threads in run_cycles
event:0X0D91 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP217 : (Group 217 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:0X0D92 counters:2 um:zero minimum:10000 name:PM_CYC_GRP217 : (Group 217 pm_compat_utilization1) Processor Cycles
event:0X0D93 counters:3 um:zero minimum:1000 name:PM_RUN_PURR_GRP217 : (Group 217 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:0X0D94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP217 : (Group 217 pm_compat_utilization1) Number of run instructions completed.
event:0X0D95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP217 : (Group 217 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 218 pm_compat_utilization2, CPI and utilization data
event:0X0DA0 counters:0 um:zero minimum:1000 name:PM_FLOP_GRP218 : (Group 218 pm_compat_utilization2) A floating point operation has completed
event:0X0DA1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP218 : (Group 218 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:0X0DA2 counters:2 um:zero minimum:10000 name:PM_CYC_GRP218 : (Group 218 pm_compat_utilization2) Processor Cycles
event:0X0DA3 counters:3 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP218 : (Group 218 pm_compat_utilization2) Number of run instructions completed.
event:0X0DA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP218 : (Group 218 pm_compat_utilization2) Number of run instructions completed.
event:0X0DA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP218 : (Group 218 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 219 pm_compat_cpi_1plus_ppc, Misc CPI and utilization data
event:0X0DB0 counters:0 um:zero minimum:1000 name:PM_1PLUS_PPC_CMPL_GRP219 : (Group 219 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:0X0DB1 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP219 : (Group 219 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:0X0DB2 counters:2 um:zero minimum:1000 name:PM_INST_DISP_GRP219 : (Group 219 pm_compat_cpi_1plus_ppc) Number of PowerPC instructions successfully dispatched.
event:0X0DB3 counters:3 um:zero minimum:1000 name:PM_1PLUS_PPC_DISP_GRP219 : (Group 219 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:0X0DB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP219 : (Group 219 pm_compat_cpi_1plus_ppc) Number of run instructions completed.
event:0X0DB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP219 : (Group 219 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 220 pm_compat_l1_dcache_load_store_miss, L1 D-Cache load/store miss
event:0X0DC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP220 : (Group 220 pm_compat_l1_dcache_load_store_miss) Number of PowerPC Instructions that completed.
event:0X0DC1 counters:1 um:zero minimum:1000 name:PM_ST_FIN_GRP220 : (Group 220 pm_compat_l1_dcache_load_store_miss) Store requests sent to the nest.
event:0X0DC2 counters:2 um:zero minimum:1000 name:PM_ST_MISS_L1_GRP220 : (Group 220 pm_compat_l1_dcache_load_store_miss) A store missed the dcache.  Combined Unit 0 + 1.
event:0X0DC3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP220 : (Group 220 pm_compat_l1_dcache_load_store_miss) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0DC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP220 : (Group 220 pm_compat_l1_dcache_load_store_miss) Number of run instructions completed.
event:0X0DC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP220 : (Group 220 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 221 pm_compat_l1_cache_load, L1 Cache loads
event:0X0DD0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP221 : (Group 221 pm_compat_l1_cache_load) Number of PowerPC Instructions that completed.
event:0X0DD1 counters:1 um:zero minimum:1000 name:PM_DATA_FROM_L2MISS_GRP221 : (Group 221 pm_compat_l1_cache_load) The processor's Data Cache was reloaded but not from the local L2.
event:0X0DD2 counters:2 um:zero minimum:1000 name:PM_L1_DCACHE_RELOAD_VALID_GRP221 : (Group 221 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:0X0DD3 counters:3 um:zero minimum:1000 name:PM_LD_MISS_L1_GRP221 : (Group 221 pm_compat_l1_cache_load) Load references that miss the Level 1 Data cache. Combined unit 0 + 1.
event:0X0DD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP221 : (Group 221 pm_compat_l1_cache_load) Number of run instructions completed.
event:0X0DD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP221 : (Group 221 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 222 pm_compat_instruction_directory, Instruction Directory
event:0X0DE0 counters:0 um:zero minimum:1000 name:PM_IERAT_MISS_GRP222 : (Group 222 pm_compat_instruction_directory) A translation request missed the Instruction Effective to Real Address Translation (ERAT) table
event:0X0DE1 counters:1 um:zero minimum:1000 name:PM_L1_ICACHE_MISS_GRP222 : (Group 222 pm_compat_instruction_directory) An instruction fetch request missed the L1 cache.
event:0X0DE2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP222 : (Group 222 pm_compat_instruction_directory) Number of PowerPC Instructions that completed.
event:0X0DE3 counters:3 um:zero minimum:1000 name:PM_ITLB_MISS_GRP222 : (Group 222 pm_compat_instruction_directory) A TLB miss for an Instruction Fetch has occurred
event:0X0DE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP222 : (Group 222 pm_compat_instruction_directory) Number of run instructions completed.
event:0X0DE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP222 : (Group 222 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 223 pm_compat_suspend, Suspend Events
event:0X0DF0 counters:0 um:zero minimum:1000 name:PM_SUSPENDED_GRP223 : (Group 223 pm_compat_suspend) The counter is suspended (does not count)
event:0X0DF1 counters:1 um:zero minimum:1000 name:PM_SUSPENDED_GRP223 : (Group 223 pm_compat_suspend) The counter is suspended (does not count)
event:0X0DF2 counters:2 um:zero minimum:1000 name:PM_SUSPENDED_GRP223 : (Group 223 pm_compat_suspend) The counter is suspended (does not count)
event:0X0DF3 counters:3 um:zero minimum:1000 name:PM_SUSPENDED_GRP223 : (Group 223 pm_compat_suspend) The counter is suspended (does not count)
event:0X0DF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP223 : (Group 223 pm_compat_suspend) Number of run instructions completed.
event:0X0DF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP223 : (Group 223 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 224 pm_compat_misc_events1, Misc Events
event:0X0E00 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP224 : (Group 224 pm_compat_misc_events1) Number of PowerPC Instructions that completed.
event:0X0E01 counters:1 um:zero minimum:1000 name:PM_EXT_INT_GRP224 : (Group 224 pm_compat_misc_events1) An interrupt due to an external exception occurred
event:0X0E02 counters:2 um:zero minimum:1000 name:PM_TB_BIT_TRANS_GRP224 : (Group 224 pm_compat_misc_events1) When the selected time base bit (as specified in MMCR0[TBSEL])transitions from 0 to 1
event:0X0E03 counters:3 um:zero minimum:10000 name:PM_CYC_GRP224 : (Group 224 pm_compat_misc_events1) Processor Cycles
event:0X0E04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP224 : (Group 224 pm_compat_misc_events1) Number of run instructions completed.
event:0X0E05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP224 : (Group 224 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 225 pm_compat_misc_events2, Misc Events
event:0X0E10 counters:0 um:zero minimum:1000 name:PM_INST_IMC_MATCH_CMPL_GRP225 : (Group 225 pm_compat_misc_events2) Number of instructions resulting from the marked instructions expansion that completed.
event:0X0E11 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP225 : (Group 225 pm_compat_misc_events2) Number of PowerPC instructions successfully dispatched.
event:0X0E12 counters:2 um:zero minimum:1000 name:PM_THRD_CONC_RUN_INST_GRP225 : (Group 225 pm_compat_misc_events2) Instructions completed by this thread when both threads had their run latches set.
event:0X0E13 counters:3 um:zero minimum:1000 name:PM_FLUSH_GRP225 : (Group 225 pm_compat_misc_events2) Flushes occurred including LSU and Branch flushes.
event:0X0E14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP225 : (Group 225 pm_compat_misc_events2) Number of run instructions completed.
event:0X0E15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP225 : (Group 225 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 226 pm_compat_misc_events3, Misc Events
event:0X0E20 counters:0 um:zero minimum:1000 name:PM_GCT_NOSLOT_CYC_GRP226 : (Group 226 pm_compat_misc_events3) Cycles when the Global Completion Table has no slots from this thread.
event:0X0E21 counters:1 um:zero minimum:1000 name:PM_INST_DISP_GRP226 : (Group 226 pm_compat_misc_events3) Number of PowerPC instructions successfully dispatched.
event:0X0E22 counters:2 um:zero minimum:10000 name:PM_CYC_GRP226 : (Group 226 pm_compat_misc_events3) Processor Cycles
event:0X0E23 counters:3 um:zero minimum:1000 name:PM_BR_MPRED_GRP226 : (Group 226 pm_compat_misc_events3) A branch instruction was incorrectly predicted. This could have been a target prediction, a condition prediction, or both
event:0X0E24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP226 : (Group 226 pm_compat_misc_events3) Number of run instructions completed.
event:0X0E25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP226 : (Group 226 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 227 pm_mrk_br, Marked Branch events
event:0X0E30 counters:0 um:zero minimum:1000 name:PM_MRK_BR_TAKEN_GRP227 : (Group 227 pm_mrk_br) A marked branch was taken
event:0X0E31 counters:1 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_GRP227 : (Group 227 pm_mrk_br) Marked L1 D cache load misses
event:0X0E32 counters:2 um:zero minimum:1000 name:PM_MRK_BR_MPRED_GRP227 : (Group 227 pm_mrk_br) A marked branch was mispredicted
event:0X0E33 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP227 : (Group 227 pm_mrk_br) Number of PowerPC Instructions that completed.
event:0X0E34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP227 : (Group 227 pm_mrk_br) Number of run instructions completed.
event:0X0E35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP227 : (Group 227 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 228 pm_mrk_dsource1, Marked data sources
event:0X0E40 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_GRP228 : (Group 228 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:0X0E41 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DMEM_CYC_GRP228 : (Group 228 pm_mrk_dsource1) Marked ld latency Data Source 1110 (Distant Memory)
event:0X0E42 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP228 : (Group 228 pm_mrk_dsource1) Number of PowerPC Instructions that completed.
event:0X0E43 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP228 : (Group 228 pm_mrk_dsource1) DL1 was reloaded from beyond L2 due to a marked demand load.
event:0X0E44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP228 : (Group 228 pm_mrk_dsource1) Number of run instructions completed.
event:0X0E45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP228 : (Group 228 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 229 pm_mrk_dsource2, Marked data sources
event:0X0E50 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_GRP229 : (Group 229 pm_mrk_dsource2) Marked Load exposed Miss
event:0X0E51 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP229 : (Group 229 pm_mrk_dsource2) Number of PowerPC Instructions that completed.
event:0X0E52 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_MOD_GRP229 : (Group 229 pm_mrk_dsource2) Marked data loaded from another L2 on same chip modified
event:0X0E53 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_MOD_CYC_GRP229 : (Group 229 pm_mrk_dsource2) Marked ld latency Data source 0101 (L2.1 M same chip)
event:0X0E54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP229 : (Group 229 pm_mrk_dsource2) Number of run instructions completed.
event:0X0E55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP229 : (Group 229 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 230 pm_mrk_dsource3, Marked data sources
event:0X0E60 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_GRP230 : (Group 230 pm_mrk_dsource3) The processor's Data Cache was reloaded from the local L3 due to a marked load.
event:0X0E61 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3MISS_GRP230 : (Group 230 pm_mrk_dsource3) DL1 was reloaded from beyond L3 due to a marked load.
event:0X0E62 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP230 : (Group 230 pm_mrk_dsource3) Number of PowerPC Instructions that completed.
event:0X0E63 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3_CYC_GRP230 : (Group 230 pm_mrk_dsource3) 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:0X0E64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP230 : (Group 230 pm_mrk_dsource3) Number of run instructions completed.
event:0X0E65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP230 : (Group 230 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 231 pm_mrk_dsource4, Marked data sources
event:0X0E70 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP231 : (Group 231 pm_mrk_dsource4) Number of PowerPC Instructions that completed.
event:0X0E71 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_CYC_GRP231 : (Group 231 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:0X0E72 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_LMEM_GRP231 : (Group 231 pm_mrk_dsource4) 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:0X0E73 counters:3 um:zero minimum:1000 name:PM_DATA_FROM_LMEM_GRP231 : (Group 231 pm_mrk_dsource4) The processor's Data Cache was reloaded from memory attached to the same module this processor is located on.
event:0X0E74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP231 : (Group 231 pm_mrk_dsource4) Number of run instructions completed.
event:0X0E75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP231 : (Group 231 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 232 pm_mrk_dsource5, Marked data sources
event:0X0E80 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_MOD_GRP232 : (Group 232 pm_mrk_dsource5) Marked data loaded from another L3 on same chip modified
event:0X0E81 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP232 : (Group 232 pm_mrk_dsource5) Number of PowerPC Instructions that completed.
event:0X0E82 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP232 : (Group 232 pm_mrk_dsource5) One of the execution units finished a marked instruction.  Instructions that finish may not necessary complete
event:0X0E83 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_MOD_CYC_GRP232 : (Group 232 pm_mrk_dsource5) Marked ld latency Data source 0111  (L3.1 M same chip)
event:0X0E84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP232 : (Group 232 pm_mrk_dsource5) Number of run instructions completed.
event:0X0E85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP232 : (Group 232 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 233 pm_mrk_dsource6, Marked data sources
event:0X0E90 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_COUNT_GRP233 : (Group 233 pm_mrk_dsource6) Marked Load exposed Miss (use edge detect to count #)
event:0X0E91 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_SHR_CYC_GRP233 : (Group 233 pm_mrk_dsource6) Marked load latency Data source 0100 (L2.1 S)
event:0X0E92 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L21_SHR_GRP233 : (Group 233 pm_mrk_dsource6) Marked data loaded from another L2 on same chip shared
event:0X0E93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP233 : (Group 233 pm_mrk_dsource6) Number of PowerPC Instructions that completed.
event:0X0E94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP233 : (Group 233 pm_mrk_dsource6) Number of run instructions completed.
event:0X0E95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP233 : (Group 233 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 234 pm_mrk_dsource7, Marked data sources
event:0X0EA0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_GRP234 : (Group 234 pm_mrk_dsource7) The processor's Data Cache was reloaded from the local L2 due to a marked load.
event:0X0EA1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2_CYC_GRP234 : (Group 234 pm_mrk_dsource7) 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:0X0EA2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP234 : (Group 234 pm_mrk_dsource7) Number of PowerPC Instructions that completed.
event:0X0EA3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP234 : (Group 234 pm_mrk_dsource7) DL1 was reloaded from beyond L2 due to a marked demand load.
event:0X0EA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP234 : (Group 234 pm_mrk_dsource7) Number of run instructions completed.
event:0X0EA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP234 : (Group 234 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 235 pm_mrk_dsource8, Marked data sources
event:0X0EB0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_GRP235 : (Group 235 pm_mrk_dsource8) 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:0X0EB1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L3MISS_GRP235 : (Group 235 pm_mrk_dsource8) DL1 was reloaded from beyond L3 due to a marked load.
event:0X0EB2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP235 : (Group 235 pm_mrk_dsource8) Number of PowerPC Instructions that completed.
event:0X0EB3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_MOD_CYC_GRP235 : (Group 235 pm_mrk_dsource8) Marked ld latency Data source 1001 (L2.5/L3.5 M same 4 chip node)
event:0X0EB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP235 : (Group 235 pm_mrk_dsource8) Number of run instructions completed.
event:0X0EB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP235 : (Group 235 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 236 pm_mrk_dsource9, Marked data sources
event:0X0EC0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP236 : (Group 236 pm_mrk_dsource9) Number of PowerPC Instructions that completed.
event:0X0EC1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_CYC_GRP236 : (Group 236 pm_mrk_dsource9) Marked ld latency Data Source 1010 (Distant L2.75/L3.75 S)
event:0X0EC2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_SHR_GRP236 : (Group 236 pm_mrk_dsource9) 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:0X0EC3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L2MISS_GRP236 : (Group 236 pm_mrk_dsource9) DL1 was reloaded from beyond L2 due to a marked demand load.
event:0X0EC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP236 : (Group 236 pm_mrk_dsource9) Number of run instructions completed.
event:0X0EC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP236 : (Group 236 pm_mrk_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 237 pm_mrk_dsource10, Marked data sources
event:0X0ED0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_GRP237 : (Group 237 pm_mrk_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 marked load
event:0X0ED1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RL2L3_SHR_CYC_GRP237 : (Group 237 pm_mrk_dsource10) Marked load latency Data Source 1000 (Remote L2.5/L3.5 S)
event:0X0ED2 counters:2 um:zero minimum:1000 name:PM_DATA_FROM_RMEM_GRP237 : (Group 237 pm_mrk_dsource10) The processor's Data Cache was reloaded from memory attached to a different module than this processor is located on.
event:0X0ED3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP237 : (Group 237 pm_mrk_dsource10) Number of PowerPC Instructions that completed.
event:0X0ED4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP237 : (Group 237 pm_mrk_dsource10) Number of run instructions completed.
event:0X0ED5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP237 : (Group 237 pm_mrk_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 238 pm_mrk_dsource11, Marked data sources
event:0X0EE0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_GRP238 : (Group 238 pm_mrk_dsource11) Marked Load exposed Miss
event:0X0EE1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP238 : (Group 238 pm_mrk_dsource11) Number of PowerPC Instructions that completed.
event:0X0EE2 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_GRP238 : (Group 238 pm_mrk_dsource11) 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:0X0EE3 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_RMEM_CYC_GRP238 : (Group 238 pm_mrk_dsource11) 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:0X0EE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP238 : (Group 238 pm_mrk_dsource11) Number of run instructions completed.
event:0X0EE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP238 : (Group 238 pm_mrk_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 239 pm_mrk_dsource12, Marked data sources
event:0X0EF0 counters:0 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_SHR_GRP239 : (Group 239 pm_mrk_dsource12) Marked data loaded from another L3 on same chip shared
event:0X0EF1 counters:1 um:zero minimum:1000 name:PM_MRK_DATA_FROM_L31_SHR_CYC_GRP239 : (Group 239 pm_mrk_dsource12) Marked load latency Data source 0110 (L3.1 S)
event:0X0EF2 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP239 : (Group 239 pm_mrk_dsource12) One of the execution units finished a marked instruction.  Instructions that finish may not necessary complete
event:0X0EF3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP239 : (Group 239 pm_mrk_dsource12) Number of PowerPC Instructions that completed.
event:0X0EF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP239 : (Group 239 pm_mrk_dsource12) Number of run instructions completed.
event:0X0EF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP239 : (Group 239 pm_mrk_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 240 pm_mrk_dsource13, Marked data sources
event:0X0F00 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_COUNT_GRP240 : (Group 240 pm_mrk_dsource13) Marked Load exposed Miss (use edge detect to count #)
event:0X0F01 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP240 : (Group 240 pm_mrk_dsource13) Number of PowerPC Instructions that completed.
event:0X0F02 counters:2 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_GRP240 : (Group 240 pm_mrk_dsource13) 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:0X0F03 counters:3 um:zero minimum:1000 name:PM_MRK_DATA_FROM_DL2L3_MOD_CYC_GRP240 : (Group 240 pm_mrk_dsource13) Marked ld latency Data source 1011  (L2.75/L3.75 M different 4 chip node)
event:0X0F04 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP240 : (Group 240 pm_mrk_dsource13) Number of run instructions completed.
event:0X0F05 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP240 : (Group 240 pm_mrk_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 241 pm_mrk_lsu_flush1, Marked LSU Flush
event:0X0F10 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_ULD_GRP241 : (Group 241 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:0X0F11 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_UST_GRP241 : (Group 241 pm_mrk_lsu_flush1) A marked store was flushed because it was unaligned
event:0X0F12 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP241 : (Group 241 pm_mrk_lsu_flush1) Number of PowerPC Instructions that completed.
event:0X0F13 counters:3 um:zero minimum:10000 name:PM_CYC_GRP241 : (Group 241 pm_mrk_lsu_flush1) Processor Cycles
event:0X0F14 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP241 : (Group 241 pm_mrk_lsu_flush1) Number of run instructions completed.
event:0X0F15 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP241 : (Group 241 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 242 pm_mrk_lsu_flush2, Marked LSU Flush
event:0X0F20 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP242 : (Group 242 pm_mrk_lsu_flush2) Number of PowerPC Instructions that completed.
event:0X0F21 counters:1 um:zero minimum:10000 name:PM_CYC_GRP242 : (Group 242 pm_mrk_lsu_flush2) Processor Cycles
event:0X0F22 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_LRQ_GRP242 : (Group 242 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:0X0F23 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_SRQ_GRP242 : (Group 242 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:0X0F24 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP242 : (Group 242 pm_mrk_lsu_flush2) Number of run instructions completed.
event:0X0F25 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP242 : (Group 242 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 243 pm_mrk_rejects, Marked rejects
event:0X0F30 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP243 : (Group 243 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:0X0F31 counters:1 um:zero minimum:1000 name:PM_MRK_LSU_FLUSH_GRP243 : (Group 243 pm_mrk_rejects) Marked flush initiated by LSU
event:0X0F32 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP243 : (Group 243 pm_mrk_rejects) Number of PowerPC Instructions that completed.
event:0X0F33 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_GRP243 : (Group 243 pm_mrk_rejects) LSU marked reject (up to 2 per cycle)
event:0X0F34 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP243 : (Group 243 pm_mrk_rejects) Number of run instructions completed.
event:0X0F35 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP243 : (Group 243 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 244 pm_mrk_inst, Marked instruction events
event:0X0F40 counters:0 um:zero minimum:1000 name:PM_MRK_INST_ISSUED_GRP244 : (Group 244 pm_mrk_inst) A marked instruction was issued to an execution unit.
event:0X0F41 counters:1 um:zero minimum:1000 name:PM_MRK_INST_DISP_GRP244 : (Group 244 pm_mrk_inst) A marked instruction was dispatched
event:0X0F42 counters:2 um:zero minimum:1000 name:PM_MRK_INST_FIN_GRP244 : (Group 244 pm_mrk_inst) One of the execution units finished a marked instruction.  Instructions that finish may not necessary complete
event:0X0F43 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP244 : (Group 244 pm_mrk_inst) Number of PowerPC Instructions that completed.
event:0X0F44 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP244 : (Group 244 pm_mrk_inst) Number of run instructions completed.
event:0X0F45 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP244 : (Group 244 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 245 pm_mrk_st, Marked stores events
event:0X0F50 counters:0 um:zero minimum:1000 name:PM_MRK_ST_CMPL_GRP245 : (Group 245 pm_mrk_st) A sampled store has completed (data home)
event:0X0F51 counters:1 um:zero minimum:1000 name:PM_MRK_ST_NEST_GRP245 : (Group 245 pm_mrk_st) A sampled store has been sent to the memory subsystem
event:0X0F52 counters:2 um:zero minimum:1000 name:PM_MRK_ST_CMPL_INT_GRP245 : (Group 245 pm_mrk_st) A marked store previously sent to the memory subsystem completed (data home) after requiring intervention
event:0X0F53 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP245 : (Group 245 pm_mrk_st) Number of PowerPC Instructions that completed.
event:0X0F54 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP245 : (Group 245 pm_mrk_st) Number of run instructions completed.
event:0X0F55 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP245 : (Group 245 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 246 pm_mrk_dtlb_miss1, Marked Data TLB Miss
event:0X0F60 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP246 : (Group 246 pm_mrk_dtlb_miss1) Number of PowerPC Instructions that completed.
event:0X0F61 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP246 : (Group 246 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:0X0F62 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP246 : (Group 246 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:0X0F63 counters:3 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16M_GRP246 : (Group 246 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:0X0F64 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP246 : (Group 246 pm_mrk_dtlb_miss1) Number of run instructions completed.
event:0X0F65 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP246 : (Group 246 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 247 pm_mrk_dtlb_miss2, Marked Data TLB Miss
event:0X0F70 counters:0 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_16G_GRP247 : (Group 247 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:0X0F71 counters:1 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_4K_GRP247 : (Group 247 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:0X0F72 counters:2 um:zero minimum:1000 name:PM_MRK_DTLB_MISS_64K_GRP247 : (Group 247 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:0X0F73 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP247 : (Group 247 pm_mrk_dtlb_miss2) Number of PowerPC Instructions that completed.
event:0X0F74 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP247 : (Group 247 pm_mrk_dtlb_miss2) Number of run instructions completed.
event:0X0F75 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP247 : (Group 247 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 248 pm_mrk_derat_miss1, Marked DERAT Miss events
event:0X0F80 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP248 : (Group 248 pm_mrk_derat_miss1) Number of PowerPC Instructions that completed.
event:0X0F81 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP248 : (Group 248 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
event:0X0F82 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP248 : (Group 248 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
event:0X0F83 counters:3 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16G_GRP248 : (Group 248 pm_mrk_derat_miss1) A marked data request (load or store) missed the ERAT for 16G page and resulted in an ERAT reload.
event:0X0F84 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP248 : (Group 248 pm_mrk_derat_miss1) Number of run instructions completed.
event:0X0F85 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP248 : (Group 248 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 249 pm_mrk_derat_miss2, Marked DERAT Miss events
event:0X0F90 counters:0 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_4K_GRP249 : (Group 249 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 4K page and resulted in an ERAT reload.
event:0X0F91 counters:1 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_64K_GRP249 : (Group 249 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 64K page and resulted in an ERAT reload.
event:0X0F92 counters:2 um:zero minimum:1000 name:PM_MRK_DERAT_MISS_16M_GRP249 : (Group 249 pm_mrk_derat_miss2) A marked data request (load or store) missed the ERAT for 16M page and resulted in an ERAT reload.
event:0X0F93 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP249 : (Group 249 pm_mrk_derat_miss2) Number of PowerPC Instructions that completed.
event:0X0F94 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP249 : (Group 249 pm_mrk_derat_miss2) Number of run instructions completed.
event:0X0F95 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP249 : (Group 249 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 250 pm_mrk_misc_miss, marked Miss Events
event:0X0FA0 counters:0 um:zero minimum:1000 name:PM_MRK_LD_MISS_EXPOSED_CYC_GRP250 : (Group 250 pm_mrk_misc_miss) Marked Load exposed Miss
event:0X0FA1 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP250 : (Group 250 pm_mrk_misc_miss) Number of PowerPC Instructions that completed.
event:0X0FA2 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_DERAT_MISS_GRP250 : (Group 250 pm_mrk_misc_miss) Marked DERAT Miss
event:0X0FA3 counters:3 um:zero minimum:1000 name:PM_MRK_LD_MISS_L1_CYC_GRP250 : (Group 250 pm_mrk_misc_miss) L1 data load miss cycles
event:0X0FA4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP250 : (Group 250 pm_mrk_misc_miss) Number of run instructions completed.
event:0X0FA5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP250 : (Group 250 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 251 pm_mrk_pteg1, Marked PTEG
event:0X0FB0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP251 : (Group 251 pm_mrk_pteg1) Number of PowerPC Instructions that completed.
event:0X0FB1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DMEM_GRP251 : (Group 251 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:0X0FB2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_MOD_GRP251 : (Group 251 pm_mrk_pteg1) Marked PTEG loaded from another L2 on same chip modified
event:0X0FB3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_SHR_GRP251 : (Group 251 pm_mrk_pteg1) Marked PTEG loaded from another L2 on same chip shared
event:0X0FB4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP251 : (Group 251 pm_mrk_pteg1) Number of run instructions completed.
event:0X0FB5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP251 : (Group 251 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 252 pm_mrk_pteg2, Marked PTEG
event:0X0FC0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2_GRP252 : (Group 252 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT from the local L2 due to a marked load or store.
event:0X0FC1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_SHR_GRP252 : (Group 252 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:0X0FC2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RMEM_GRP252 : (Group 252 pm_mrk_pteg2) A Page Table Entry was loaded into the ERAT. POWER6 does not have a TLB
event:0X0FC3 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP252 : (Group 252 pm_mrk_pteg2) Number of PowerPC Instructions that completed.
event:0X0FC4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP252 : (Group 252 pm_mrk_pteg2) Number of run instructions completed.
event:0X0FC5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP252 : (Group 252 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 253 pm_mrk_pteg3, Marked PTEG
event:0X0FD0 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP253 : (Group 253 pm_mrk_pteg3) Number of PowerPC Instructions that completed.
event:0X0FD1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L31_SHR_GRP253 : (Group 253 pm_mrk_pteg3) Marked PTEG loaded from another L3 on same chip shared
event:0X0FD2 counters:2 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L21_MOD_GRP253 : (Group 253 pm_mrk_pteg3) Marked PTEG loaded from another L2 on same chip modified
event:0X0FD3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_DL2L3_MOD_GRP253 : (Group 253 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:0X0FD4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP253 : (Group 253 pm_mrk_pteg3) Number of run instructions completed.
event:0X0FD5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP253 : (Group 253 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 254 pm_mrk_pteg4, Marked PTEG
event:0X0FE0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L31_MOD_GRP254 : (Group 254 pm_mrk_pteg4) Marked PTEG loaded from another L3 on same chip modified
event:0X0FE1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3_GRP254 : (Group 254 pm_mrk_pteg4) A Page Table Entry was loaded into the ERAT from the local L3 due to a marked load or store.
event:0X0FE2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP254 : (Group 254 pm_mrk_pteg4) Number of PowerPC Instructions that completed.
event:0X0FE3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L2MISS_GRP254 : (Group 254 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:0X0FE4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP254 : (Group 254 pm_mrk_pteg4) Number of run instructions completed.
event:0X0FE5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP254 : (Group 254 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 255 pm_mrk_pteg5, Marked PTEG
event:0X0FF0 counters:0 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_RL2L3_MOD_GRP255 : (Group 255 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:0X0FF1 counters:1 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_L3MISS_GRP255 : (Group 255 pm_mrk_pteg5) A Page Table Entry was loaded into the ERAT from beyond the L3 due to a marked load or store
event:0X0FF2 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP255 : (Group 255 pm_mrk_pteg5) Number of PowerPC Instructions that completed.
event:0X0FF3 counters:3 um:zero minimum:1000 name:PM_MRK_PTEG_FROM_LMEM_GRP255 : (Group 255 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:0X0FF4 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP255 : (Group 255 pm_mrk_pteg5) Number of run instructions completed.
event:0X0FF5 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP255 : (Group 255 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 256 pm_mrk_misc1, Marked misc events
event:0X1000 counters:0 um:zero minimum:1000 name:PM_MRK_STCX_FAIL_GRP256 : (Group 256 pm_mrk_misc1) A marked stcx (stwcx or stdcx) failed
event:0X1001 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP256 : (Group 256 pm_mrk_misc1) Number of PowerPC Instructions that completed.
event:0X1002 counters:2 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP256 : (Group 256 pm_mrk_misc1) The Instruction Fetch Unit finished a marked instruction.
event:0X1003 counters:3 um:zero minimum:1000 name:PM_MRK_INST_TIMEO_GRP256 : (Group 256 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:0X1004 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP256 : (Group 256 pm_mrk_misc1) Number of run instructions completed.
event:0X1005 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP256 : (Group 256 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 257 pm_mrk_misc2, Marked misc events
event:0X1010 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP257 : (Group 257 pm_mrk_misc2) Number of PowerPC Instructions that completed.
event:0X1011 counters:1 um:zero minimum:1000 name:PM_MRK_FXU_FIN_GRP257 : (Group 257 pm_mrk_misc2) One of the Fixed Point Units finished a marked instruction.  Instructions that finish may not necessary complete.
event:0X1012 counters:2 um:zero minimum:1000 name:PM_MRK_IFU_FIN_GRP257 : (Group 257 pm_mrk_misc2) The Instruction Fetch Unit finished a marked instruction.
event:0X1013 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP257 : (Group 257 pm_mrk_misc2) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
event:0X1014 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP257 : (Group 257 pm_mrk_misc2) Number of run instructions completed.
event:0X1015 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP257 : (Group 257 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 258 pm_mrk_misc3, Marked misc events
event:0X1020 counters:0 um:zero minimum:10000 name:PM_INST_CMPL_GRP258 : (Group 258 pm_mrk_misc3) Number of PowerPC Instructions that completed.
event:0X1021 counters:1 um:zero minimum:1000 name:PM_MRK_BRU_FIN_GRP258 : (Group 258 pm_mrk_misc3) The branch unit finished a marked instruction. Instructions that finish may not necessary complete.
event:0X1022 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_PARTIAL_CDF_GRP258 : (Group 258 pm_mrk_misc3) A partial cacheline was returned from the L3 for a marked load
event:0X1023 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP258 : (Group 258 pm_mrk_misc3) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
event:0X1024 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP258 : (Group 258 pm_mrk_misc3) Number of run instructions completed.
event:0X1025 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP258 : (Group 258 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 259 pm_mrk_misc4, Marked misc events
event:0X1030 counters:0 um:zero minimum:1000 name:PM_MRK_FIN_STALL_CYC_GRP259 : (Group 259 pm_mrk_misc4) Marked instruction Finish Stall cycles (marked finish after NTC)
event:0X1031 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP259 : (Group 259 pm_mrk_misc4) Number of PowerPC Instructions that completed.
event:0X1032 counters:2 um:zero minimum:1000 name:PM_MRK_VSU_FIN_GRP259 : (Group 259 pm_mrk_misc4) vsu (fpu) marked  instr finish
event:0X1033 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_IC_MISS_GRP259 : (Group 259 pm_mrk_misc4) A group containing a marked (sampled) instruction experienced an instruction cache miss.
event:0X1034 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP259 : (Group 259 pm_mrk_misc4) Number of run instructions completed.
event:0X1035 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP259 : (Group 259 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 260 pm_mrk_misc5, Marked misc events
event:0X1040 counters:0 um:zero minimum:1000 name:PM_MRK_FIN_STALL_CYC_COUNT_GRP260 : (Group 260 pm_mrk_misc5) Marked instruction Finish Stall cycles (marked finish after NTC) (use edge detect to count #)
event:0X1041 counters:1 um:zero minimum:1000 name:PM_MRK_DFU_FIN_GRP260 : (Group 260 pm_mrk_misc5) The Decimal Floating Point Unit finished a marked instruction.
event:0X1042 counters:2 um:zero minimum:1000 name:PM_MRK_STALL_CMPLU_CYC_COUNT_GRP260 : (Group 260 pm_mrk_misc5) Marked Group Completion Stall cycles (use edge detect to count #)
event:0X1043 counters:3 um:zero minimum:10000 name:PM_INST_CMPL_GRP260 : (Group 260 pm_mrk_misc5) Number of PowerPC Instructions that completed.
event:0X1044 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP260 : (Group 260 pm_mrk_misc5) Number of run instructions completed.
event:0X1045 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP260 : (Group 260 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 261 pm_mrk_misc6, Marked misc events
event:0X1050 counters:0 um:zero minimum:1000 name:PM_GRP_MRK_CYC_GRP261 : (Group 261 pm_mrk_misc6) cycles IDU marked instruction before dispatch
event:0X1051 counters:1 um:zero minimum:10000 name:PM_RUN_CYC_GRP261 : (Group 261 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:0X1052 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP261 : (Group 261 pm_mrk_misc6) Number of PowerPC Instructions that completed.
event:0X1053 counters:3 um:zero minimum:1000 name:PM_MRK_GRP_CMPL_GRP261 : (Group 261 pm_mrk_misc6) A group containing a sampled instruction completed.  Microcoded instructions that span multiple groups will generate this event once per group.
event:0X1054 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP261 : (Group 261 pm_mrk_misc6) Number of run instructions completed.
event:0X1055 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP261 : (Group 261 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 262 pm_mrk_misc7, Marked misc events
event:0X1060 counters:0 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_LHS_GRP262 : (Group 262 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:0X1061 counters:1 um:zero minimum:10000 name:PM_INST_CMPL_GRP262 : (Group 262 pm_mrk_misc7) Number of PowerPC Instructions that completed.
event:0X1062 counters:2 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_ERAT_MISS_GRP262 : (Group 262 pm_mrk_misc7) LSU marked reject due to ERAT (up to 2 per cycle)
event:0X1063 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_REJECT_GRP262 : (Group 262 pm_mrk_misc7) LSU marked reject (up to 2 per cycle)
event:0X1064 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP262 : (Group 262 pm_mrk_misc7) Number of run instructions completed.
event:0X1065 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP262 : (Group 262 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 263 pm_mrk_misc8, Marked misc events
event:0X1070 counters:0 um:zero minimum:10000 name:PM_CYC_GRP263 : (Group 263 pm_mrk_misc8) Processor Cycles
event:0X1071 counters:1 um:zero minimum:10000 name:PM_CYC_GRP263 : (Group 263 pm_mrk_misc8) Processor Cycles
event:0X1072 counters:2 um:zero minimum:10000 name:PM_INST_CMPL_GRP263 : (Group 263 pm_mrk_misc8) Number of PowerPC Instructions that completed.
event:0X1073 counters:3 um:zero minimum:1000 name:PM_MRK_LSU_FIN_GRP263 : (Group 263 pm_mrk_misc8) One of the Load/Store Units finished a marked instruction. Instructions that finish may not necessary complete
event:0X1074 counters:4 um:zero minimum:1000 name:PM_RUN_INST_CMPL_GRP263 : (Group 263 pm_mrk_misc8) Number of run instructions completed.
event:0X1075 counters:5 um:zero minimum:10000 name:PM_RUN_CYC_GRP263 : (Group 263 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.
