Blame src/libpfm4/lib/events/intel_core_events.h

Packit 577717
/*
Packit 577717
 * Copyright (c) 2011 Google, Inc
Packit 577717
 * Contributed by Stephane Eranian <eranian@gmail.com>
Packit 577717
 *
Packit 577717
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit 577717
 * of this software and associated documentation files (the "Software"), to deal
Packit 577717
 * in the Software without restriction, including without limitation the rights
Packit 577717
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
Packit 577717
 * of the Software, and to permit persons to whom the Software is furnished to do so,
Packit 577717
 * subject to the following conditions:
Packit 577717
 *
Packit 577717
 * The above copyright notice and this permission notice shall be included in all
Packit 577717
 * copies or substantial portions of the Software.
Packit 577717
 *
Packit 577717
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
Packit 577717
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Packit 577717
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit 577717
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Packit 577717
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Packit 577717
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit 577717
 *
Packit 577717
 * This file is part of libpfm, a performance monitoring support library for
Packit 577717
 * applications on Linux.
Packit 577717
 *
Packit 577717
 * This file has been automatically generated.
Packit 577717
 *
Packit 577717
 * PMU: core (Intel Core)
Packit 577717
 */
Packit 577717
Packit 577717
static const intel_x86_umask_t core_rs_uops_dispatched_cycles[]={
Packit 577717
   { .uname  = "PORT_0",
Packit 577717
     .udesc  = "On port 0",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "PORT_1",
Packit 577717
     .udesc  = "On port 1",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PORT_2",
Packit 577717
     .udesc  = "On port 2",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "PORT_3",
Packit 577717
     .udesc  = "On port 3",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "PORT_4",
Packit 577717
     .udesc  = "On port 4",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "PORT_5",
Packit 577717
     .udesc  = "On port 5",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "On any port",
Packit 577717
     .uequiv = "PORT_0:PORT_1:PORT_2:PORT_3:PORT_4:PORT_5",
Packit 577717
     .ucode = 0x3f00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_load_block[]={
Packit 577717
   { .uname  = "STA",
Packit 577717
     .udesc  = "Loads blocked by a preceding store with unknown address",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "STD",
Packit 577717
     .udesc  = "Loads blocked by a preceding store with unknown data",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "OVERLAP_STORE",
Packit 577717
     .udesc  = "Loads that partially overlap an earlier store, or 4K equived with a previous store",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "UNTIL_RETIRE",
Packit 577717
     .udesc  = "Loads blocked until retirement",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "L1D",
Packit 577717
     .udesc  = "Loads blocked by the L1 data cache",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_store_block[]={
Packit 577717
   { .uname  = "ORDER",
Packit 577717
     .udesc  = "Cycles while store is waiting for a preceding store to be globally observed",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "SNOOP",
Packit 577717
     .udesc  = "A store is blocked due to a conflict with an external or internal snoop",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_sse_pre_exec[]={
Packit 577717
   { .uname  = "NTA",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) Prefetch NTA instructions executed",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "L1",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) PrefetchT0 instructions executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "L2",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) PrefetchT1 and PrefetchT2 instructions executed",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "STORES",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) Weakly-ordered store instructions executed",
Packit 577717
     .ucode = 0x300,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_dtlb_misses[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Any memory access that missed the DTLB",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "MISS_LD",
Packit 577717
     .udesc  = "DTLB misses due to load operations",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "L0_MISS_LD",
Packit 577717
     .udesc  = "L0 DTLB misses due to load operations",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "MISS_ST",
Packit 577717
     .udesc  = "DTLB misses due to store operations",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_memory_disambiguation[]={
Packit 577717
   { .uname  = "RESET",
Packit 577717
     .udesc  = "Memory disambiguation reset cycles",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SUCCESS",
Packit 577717
     .udesc  = "Number of loads that were successfully disambiguated",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_page_walks[]={
Packit 577717
   { .uname  = "COUNT",
Packit 577717
     .udesc  = "Number of page-walks executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CYCLES",
Packit 577717
     .udesc  = "Duration of page-walks in core cycles",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_delayed_bypass[]={
Packit 577717
   { .uname  = "FP",
Packit 577717
     .udesc  = "Delayed bypass to FP operation",
Packit 577717
     .ucode = 0x0,
Packit 577717
   },
Packit 577717
   { .uname  = "SIMD",
Packit 577717
     .udesc  = "Delayed bypass to SIMD operation",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "LOAD",
Packit 577717
     .udesc  = "Delayed bypass to load operation",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l2_ads[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l2_lines_in[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "All inclusive",
Packit 577717
     .ucode = 0x3000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PREFETCH",
Packit 577717
     .udesc  = "Hardware prefetch only",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "EXCL_PREFETCH",
Packit 577717
     .udesc  = "Exclude hardware prefetch",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l2_ifetch[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "MESI",
Packit 577717
     .udesc  = "Any cacheline access",
Packit 577717
     .uequiv = "M_STATE:E_STATE:S_STATE:I_STATE",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Invalid cacheline",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Shared cacheline",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Exclusive cacheline",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Modified cacheline",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l2_ld[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "All inclusive",
Packit 577717
     .ucode = 0x3000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PREFETCH",
Packit 577717
     .udesc  = "Hardware prefetch only",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "EXCL_PREFETCH",
Packit 577717
     .udesc  = "Exclude hardware prefetch",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "MESI",
Packit 577717
     .udesc  = "Any cacheline access",
Packit 577717
     .uequiv = "M_STATE:E_STATE:S_STATE:I_STATE",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Invalid cacheline",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Shared cacheline",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Exclusive cacheline",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Modified cacheline",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_cpu_clk_unhalted[]={
Packit 577717
   { .uname  = "CORE_P",
Packit 577717
     .udesc  = "Core cycles when core is not halted",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "BUS",
Packit 577717
     .udesc  = "Bus cycles when core is not halted. This event can give a measurement of the elapsed time. This events has a constant ratio with CPU_CLK_UNHALTED:REF event, which is the maximum bus to processor frequency ratio",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "NO_OTHER",
Packit 577717
     .udesc  = "Bus cycles when core is active and the other is halted",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l1d_cache_ld[]={
Packit 577717
   { .uname  = "MESI",
Packit 577717
     .udesc  = "Any cacheline access",
Packit 577717
     .uequiv = "M_STATE:E_STATE:S_STATE:I_STATE",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Invalid cacheline",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Shared cacheline",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Exclusive cacheline",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Modified cacheline",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l1d_split[]={
Packit 577717
   { .uname  = "LOADS",
Packit 577717
     .udesc  = "Cache line split loads from the L1 data cache",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "STORES",
Packit 577717
     .udesc  = "Cache line split stores to the L1 data cache",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_sse_pre_miss[]={
Packit 577717
   { .uname  = "NTA",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) Prefetch NTA instructions missing all cache levels",
Packit 577717
     .ucode = 0x0,
Packit 577717
   },
Packit 577717
   { .uname  = "L1",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) PrefetchT0 instructions missing all cache levels",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "L2",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) PrefetchT1 and PrefetchT2 instructions missing all cache levels",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_l1d_prefetch[]={
Packit 577717
   { .uname  = "REQUESTS",
Packit 577717
     .udesc  = "L1 data cache prefetch requests",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_bus_request_outstanding[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "THIS_AGENT",
Packit 577717
     .udesc  = "This agent",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "ALL_AGENTS",
Packit 577717
     .udesc  = "Any agent on the bus",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_bus_bnr_drv[]={
Packit 577717
   { .uname  = "THIS_AGENT",
Packit 577717
     .udesc  = "This agent",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "ALL_AGENTS",
Packit 577717
     .udesc  = "Any agent on the bus",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_ext_snoop[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Any external snoop response",
Packit 577717
     .ucode = 0xb00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "CLEAN",
Packit 577717
     .udesc  = "External snoop CLEAN response",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "HIT",
Packit 577717
     .udesc  = "External snoop HIT response",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "HITM",
Packit 577717
     .udesc  = "External snoop HITM response",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "THIS_AGENT",
Packit 577717
     .udesc  = "This agent",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "ALL_AGENTS",
Packit 577717
     .udesc  = "Any agent on the bus",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_cmp_snoop[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "L1 data cache is snooped by other core",
Packit 577717
     .ucode = 0x300,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "SHARE",
Packit 577717
     .udesc  = "L1 data cache is snooped for sharing by other core",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "INVALIDATE",
Packit 577717
     .udesc  = "L1 data cache is snooped for Invalidation by other core",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_itlb[]={
Packit 577717
   { .uname  = "SMALL_MISS",
Packit 577717
     .udesc  = "ITLB small page misses",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LARGE_MISS",
Packit 577717
     .udesc  = "ITLB large page misses",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "FLUSH",
Packit 577717
     .udesc  = "ITLB flushes",
Packit 577717
     .ucode = 0x4000,
Packit 577717
   },
Packit 577717
   { .uname  = "MISSES",
Packit 577717
     .udesc  = "ITLB misses",
Packit 577717
     .ucode = 0x1200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_inst_queue[]={
Packit 577717
   { .uname  = "FULL",
Packit 577717
     .udesc  = "Cycles during which the instruction queue is full",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_macro_insts[]={
Packit 577717
   { .uname  = "DECODED",
Packit 577717
     .udesc  = "Instructions decoded",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CISC_DECODED",
Packit 577717
     .udesc  = "CISC instructions decoded",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_esp[]={
Packit 577717
   { .uname  = "SYNCH",
Packit 577717
     .udesc  = "ESP register content synchronization",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "ADDITIONS",
Packit 577717
     .udesc  = "ESP register automatic additions",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_simd_uop_type_exec[]={
Packit 577717
   { .uname  = "MUL",
Packit 577717
     .udesc  = "SIMD packed multiply micro-ops executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SHIFT",
Packit 577717
     .udesc  = "SIMD packed shift micro-ops executed",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PACK",
Packit 577717
     .udesc  = "SIMD pack micro-ops executed",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "UNPACK",
Packit 577717
     .udesc  = "SIMD unpack micro-ops executed",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "LOGICAL",
Packit 577717
     .udesc  = "SIMD packed logical micro-ops executed",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "ARITHMETIC",
Packit 577717
     .udesc  = "SIMD packed arithmetic micro-ops executed",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_inst_retired[]={
Packit 577717
   { .uname  = "ANY_P",
Packit 577717
     .udesc  = "Instructions retired (Precise Event)",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_PEBS | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "LOADS",
Packit 577717
     .udesc  = "Instructions retired, which contain a load",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "STORES",
Packit 577717
     .udesc  = "Instructions retired, which contain a store",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "OTHER",
Packit 577717
     .udesc  = "Instructions retired, with no load or store operation",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_x87_ops_retired[]={
Packit 577717
   { .uname  = "FXCH",
Packit 577717
     .udesc  = "FXCH instructions retired",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Retired floating-point computational operations (Precise Event)",
Packit 577717
     .ucode = 0xfe00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_PEBS | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_uops_retired[]={
Packit 577717
   { .uname  = "LD_IND_BR",
Packit 577717
     .udesc  = "Fused load+op or load+indirect branch retired",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "STD_STA",
Packit 577717
     .udesc  = "Fused store address + data retired",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "MACRO_FUSION",
Packit 577717
     .udesc  = "Retired instruction pairs fused into one micro-op",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "NON_FUSED",
Packit 577717
     .udesc  = "Non-fused micro-ops retired",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "FUSED",
Packit 577717
     .udesc  = "Fused micro-ops retired",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Micro-ops retired",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_machine_nukes[]={
Packit 577717
   { .uname  = "SMC",
Packit 577717
     .udesc  = "Self-Modifying Code detected",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "MEM_ORDER",
Packit 577717
     .udesc  = "Execution pipeline restart due to memory ordering conflict or memory disambiguation misprediction",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_br_inst_retired[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Retired branch instructions",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "PRED_NOT_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were predicted not-taken",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "MISPRED_NOT_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were mispredicted not-taken",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PRED_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were predicted taken",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "MISPRED_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were mispredicted taken",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "TAKEN",
Packit 577717
     .udesc  = "Retired taken branch instructions",
Packit 577717
     .ucode = 0xc00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_simd_inst_retired[]={
Packit 577717
   { .uname  = "PACKED_SINGLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions (SSE) packed-single instructions",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_SINGLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions (SSE) scalar-single instructions",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PACKED_DOUBLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions 2 (SSE2) packed-double instructions",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_DOUBLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions 2 (SSE2) scalar-double instructions",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "VECTOR",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions 2 (SSE2) vector integer instructions",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Retired Streaming SIMD instructions (Precise Event)",
Packit 577717
     .ucode = 0x1f00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_PEBS | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_simd_comp_inst_retired[]={
Packit 577717
   { .uname  = "PACKED_SINGLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions (SSE) packed-single instructions",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_SINGLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions (SSE) scalar-single instructions",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PACKED_DOUBLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions 2 (SSE2) packed-double instructions",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_DOUBLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions 2 (SSE2) scalar-double instructions",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_mem_load_retired[]={
Packit 577717
   { .uname  = "L1D_MISS",
Packit 577717
     .udesc  = "Retired loads that miss the L1 data cache (Precise Event)",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
   { .uname  = "L1D_LINE_MISS",
Packit 577717
     .udesc  = "L1 data cache line missed by retired loads (Precise Event)",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
   { .uname  = "L2_MISS",
Packit 577717
     .udesc  = "Retired loads that miss the L2 cache (Precise Event)",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
   { .uname  = "L2_LINE_MISS",
Packit 577717
     .udesc  = "L2 cache line missed by retired loads (Precise Event)",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
   { .uname  = "DTLB_MISS",
Packit 577717
     .udesc  = "Retired loads that miss the DTLB (Precise Event)",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_fp_mmx_trans[]={
Packit 577717
   { .uname  = "TO_FP",
Packit 577717
     .udesc  = "Transitions from MMX (TM) Instructions to Floating Point Instructions",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "TO_MMX",
Packit 577717
     .udesc  = "Transitions from Floating Point to MMX (TM) Instructions",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_rat_stalls[]={
Packit 577717
   { .uname  = "ROB_READ_PORT",
Packit 577717
     .udesc  = "ROB read port stalls cycles",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "PARTIAL_CYCLES",
Packit 577717
     .udesc  = "Partial register stall cycles",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "FLAGS",
Packit 577717
     .udesc  = "Flag stall cycles",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "FPSW",
Packit 577717
     .udesc  = "FPU status word stall",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "All RAT stall cycles",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_seg_rename_stalls[]={
Packit 577717
   { .uname  = "ES",
Packit 577717
     .udesc  = "Segment rename stalls - ES ",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "DS",
Packit 577717
     .udesc  = "Segment rename stalls - DS",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "FS",
Packit 577717
     .udesc  = "Segment rename stalls - FS",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "GS",
Packit 577717
     .udesc  = "Segment rename stalls - GS",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Any (ES/DS/FS/GS) segment rename stall",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_seg_reg_renames[]={
Packit 577717
   { .uname  = "ES",
Packit 577717
     .udesc  = "Segment renames - ES",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "DS",
Packit 577717
     .udesc  = "Segment renames - DS",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "FS",
Packit 577717
     .udesc  = "Segment renames - FS",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "GS",
Packit 577717
     .udesc  = "Segment renames - GS",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Any (ES/DS/FS/GS) segment rename",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t core_resource_stalls[]={
Packit 577717
   { .uname  = "ROB_FULL",
Packit 577717
     .udesc  = "Cycles during which the ROB is full",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "RS_FULL",
Packit 577717
     .udesc  = "Cycles during which the RS is full",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LD_ST",
Packit 577717
     .udesc  = "Cycles during which the pipeline has exceeded load or store limit or waiting to commit all stores",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "FPCW",
Packit 577717
     .udesc  = "Cycles stalled due to FPU control word write",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "BR_MISS_CLEAR",
Packit 577717
     .udesc  = "Cycles stalled due to branch misprediction",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Resource related stalls",
Packit 577717
     .ucode = 0x1f00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_entry_t intel_core_pe[]={
Packit 577717
{ .name   = "UNHALTED_CORE_CYCLES",
Packit 577717
  .desc   = "Count core clock cycles whenever the clock signal on the specific core is running (not halted)",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x200000003ull,
Packit 577717
  .code = 0x3c,
Packit 577717
},
Packit 577717
{ .name   = "INSTRUCTION_RETIRED",
Packit 577717
  .desc   = "Count the number of instructions at retirement",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x100000003ull,
Packit 577717
  .code = 0xc0,
Packit 577717
},
Packit 577717
{ .name   = "INSTRUCTIONS_RETIRED",
Packit 577717
  .desc   = "This is an alias from INSTRUCTION_RETIRED",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .equiv = "INSTRUCTION_RETIRED",
Packit 577717
  .cntmsk = 0x100000003ull,
Packit 577717
  .code = 0xc0,
Packit 577717
},
Packit 577717
{ .name   = "UNHALTED_REFERENCE_CYCLES",
Packit 577717
  .desc   = "Unhalted reference cycles",
Packit 577717
  .modmsk = INTEL_FIXED2_ATTRS,
Packit 577717
  .cntmsk = 0x400000000ull,
Packit 577717
  .code = 0x0300, /* pseudo encoding */
Packit 577717
  .flags = INTEL_X86_FIXED,
Packit 577717
},
Packit 577717
{ .name   = "LLC_REFERENCES",
Packit 577717
  .desc   = "Count each request originating equiv the core to reference a cache line in the last level cache. The count may include speculation, but excludes cache line fills due to hardware prefetch. Alias to L2_RQSTS:SELF_DEMAND_MESI",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4f2e,
Packit 577717
},
Packit 577717
{ .name   = "LAST_LEVEL_CACHE_REFERENCES",
Packit 577717
  .desc   = "This is an alias for LLC_REFERENCES",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .equiv = "LLC_REFERENCES",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4f2e,
Packit 577717
},
Packit 577717
{ .name   = "LLC_MISSES",
Packit 577717
  .desc   = "Count each cache miss condition for references to the last level cache. The event count may include speculation, but excludes cache line fills due to hardware prefetch. Alias to event L2_RQSTS:SELF_DEMAND_I_STATE",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x412e,
Packit 577717
},
Packit 577717
{ .name   = "LAST_LEVEL_CACHE_MISSES",
Packit 577717
  .desc   = "This is an alias for LLC_MISSES",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .equiv = "LLC_MISSES",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x412e,
Packit 577717
},
Packit 577717
{ .name   = "BRANCH_INSTRUCTIONS_RETIRED",
Packit 577717
  .desc   = "Count branch instructions at retirement. Specifically, this event counts the retirement of the last micro-op of a branch instruction.",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .equiv = "BR_INST_RETIRED:ANY",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc4,
Packit 577717
},
Packit 577717
{ .name   = "MISPREDICTED_BRANCH_RETIRED",
Packit 577717
  .desc   = "Count mispredicted branch instructions at retirement. Specifically, this event counts at retirement of the last micro-op of a branch instruction in the architectural path of the execution and experienced misprediction in the branch prediction hardware.",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .equiv = "BR_INST_RETIRED_MISPRED",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc5,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
},
Packit 577717
{ .name   = "RS_UOPS_DISPATCHED_CYCLES",
Packit 577717
  .desc   = "Cycles micro-ops dispatched for execution",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x1,
Packit 577717
  .code = 0xa1,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_rs_uops_dispatched_cycles),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_rs_uops_dispatched_cycles,
Packit 577717
},
Packit 577717
{ .name   = "RS_UOPS_DISPATCHED",
Packit 577717
  .desc   = "Number of micro-ops dispatched for execution",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xa0,
Packit 577717
},
Packit 577717
{ .name   = "RS_UOPS_DISPATCHED_NONE",
Packit 577717
  .desc   = "Number of of cycles in which no micro-ops is dispatched for execution",
Packit 577717
  .modmsk =0x0,
Packit 577717
  .equiv = "RS_UOPS_DISPATCHED:i=1:c=1",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xa0 | INTEL_X86_MOD_INV | (0x1 << INTEL_X86_CMASK_BIT),
Packit 577717
},
Packit 577717
{ .name   = "LOAD_BLOCK",
Packit 577717
  .desc   = "Loads blocked",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x3,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_load_block),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_load_block,
Packit 577717
},
Packit 577717
{ .name   = "SB_DRAIN_CYCLES",
Packit 577717
  .desc   = "Cycles while stores are blocked due to store buffer drain",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x104,
Packit 577717
},
Packit 577717
{ .name   = "STORE_BLOCK",
Packit 577717
  .desc   = "Cycles while store is waiting",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_store_block),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_store_block,
Packit 577717
},
Packit 577717
{ .name   = "SEGMENT_REG_LOADS",
Packit 577717
  .desc   = "Number of segment register loads",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6,
Packit 577717
},
Packit 577717
{ .name   = "SSE_PRE_EXEC",
Packit 577717
  .desc   = "Streaming SIMD Extensions (SSE) Prefetch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_sse_pre_exec),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_sse_pre_exec,
Packit 577717
},
Packit 577717
{ .name   = "DTLB_MISSES",
Packit 577717
  .desc   = "Memory accesses that missed the DTLB",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_dtlb_misses),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_dtlb_misses,
Packit 577717
},
Packit 577717
{ .name   = "MEMORY_DISAMBIGUATION",
Packit 577717
  .desc   = "Memory disambiguation",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x9,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_memory_disambiguation),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_memory_disambiguation,
Packit 577717
},
Packit 577717
{ .name   = "PAGE_WALKS",
Packit 577717
  .desc   = "Number of page-walks executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_page_walks),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_page_walks,
Packit 577717
},
Packit 577717
{ .name   = "FP_COMP_OPS_EXE",
Packit 577717
  .desc   = "Floating point computational micro-ops executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x1,
Packit 577717
  .code = 0x10,
Packit 577717
},
Packit 577717
{ .name   = "FP_ASSIST",
Packit 577717
  .desc   = "Floating point assists",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x2,
Packit 577717
  .code = 0x11,
Packit 577717
},
Packit 577717
{ .name   = "MUL",
Packit 577717
  .desc   = "Multiply operations executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x2,
Packit 577717
  .code = 0x12,
Packit 577717
},
Packit 577717
{ .name   = "DIV",
Packit 577717
  .desc   = "Divide operations executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x2,
Packit 577717
  .code = 0x13,
Packit 577717
},
Packit 577717
{ .name   = "CYCLES_DIV_BUSY",
Packit 577717
  .desc   = "Cycles the divider is busy",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x1,
Packit 577717
  .code = 0x14,
Packit 577717
},
Packit 577717
{ .name   = "IDLE_DURING_DIV",
Packit 577717
  .desc   = "Cycles the divider is busy and all other execution units are idle",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x1,
Packit 577717
  .code = 0x18,
Packit 577717
},
Packit 577717
{ .name   = "DELAYED_BYPASS",
Packit 577717
  .desc   = "Delayed bypass",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x2,
Packit 577717
  .code = 0x19,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_delayed_bypass),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_delayed_bypass,
Packit 577717
},
Packit 577717
{ .name   = "L2_ADS",
Packit 577717
  .desc   = "Cycles L2 address bus is in use",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x21,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l2_ads,
Packit 577717
},
Packit 577717
{ .name   = "L2_DBUS_BUSY_RD",
Packit 577717
  .desc   = "Cycles the L2 transfers data to the core",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x23,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l2_ads, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_LINES_IN",
Packit 577717
  .desc   = "L2 cache misses",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x24,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_lines_in),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_l2_lines_in,
Packit 577717
},
Packit 577717
{ .name   = "L2_M_LINES_IN",
Packit 577717
  .desc   = "L2 cache line modifications",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x25,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l2_ads, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_LINES_OUT",
Packit 577717
  .desc   = "L2 cache lines evicted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x26,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_lines_in),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_l2_lines_in, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_M_LINES_OUT",
Packit 577717
  .desc   = "Modified lines evicted from the L2 cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x27,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_lines_in),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_l2_lines_in, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_IFETCH",
Packit 577717
  .desc   = "L2 cacheable instruction fetch requests",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x28,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ifetch),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_l2_ifetch,
Packit 577717
},
Packit 577717
{ .name   = "L2_LD",
Packit 577717
  .desc   = "L2 cache reads",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x29,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ld),
Packit 577717
  .ngrp = 3,
Packit 577717
  .umasks = core_l2_ld,
Packit 577717
},
Packit 577717
{ .name   = "L2_ST",
Packit 577717
  .desc   = "L2 store requests",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ifetch),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_l2_ifetch, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_LOCK",
Packit 577717
  .desc   = "L2 locked accesses",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ifetch),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_l2_ifetch, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_RQSTS",
Packit 577717
  .desc   = "L2 cache requests",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ld),
Packit 577717
  .ngrp = 3,
Packit 577717
  .umasks = core_l2_ld, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_REJECT_BUSQ",
Packit 577717
  .desc   = "Rejected L2 cache requests",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x30,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ld),
Packit 577717
  .ngrp = 3,
Packit 577717
  .umasks = core_l2_ld, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_NO_REQ",
Packit 577717
  .desc   = "Cycles no L2 cache requests are pending",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x32,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l2_ads, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "EIST_TRANS",
Packit 577717
  .desc   = "Number of Enhanced Intel SpeedStep(R) Technology (EIST) transitions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x3a,
Packit 577717
},
Packit 577717
{ .name   = "THERMAL_TRIP",
Packit 577717
  .desc   = "Number of thermal trips",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc03b,
Packit 577717
},
Packit 577717
{ .name   = "CPU_CLK_UNHALTED",
Packit 577717
  .desc   = "Core cycles when core is not halted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x3c,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_cpu_clk_unhalted),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_cpu_clk_unhalted,
Packit 577717
},
Packit 577717
{ .name   = "L1D_CACHE_LD",
Packit 577717
  .desc   = "L1 cacheable data reads",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x40,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l1d_cache_ld),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l1d_cache_ld,
Packit 577717
},
Packit 577717
{ .name   = "L1D_CACHE_ST",
Packit 577717
  .desc   = "L1 cacheable data writes",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x41,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l1d_cache_ld),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l1d_cache_ld, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L1D_CACHE_LOCK",
Packit 577717
  .desc   = "L1 data cacheable locked reads",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x42,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l1d_cache_ld),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l1d_cache_ld, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L1D_ALL_REF",
Packit 577717
  .desc   = "All references to the L1 data cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x143,
Packit 577717
},
Packit 577717
{ .name   = "L1D_ALL_CACHE_REF",
Packit 577717
  .desc   = "L1 Data cacheable reads and writes",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x243,
Packit 577717
},
Packit 577717
{ .name   = "L1D_REPL",
Packit 577717
  .desc   = "Cache lines allocated in the L1 data cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xf45,
Packit 577717
},
Packit 577717
{ .name   = "L1D_M_REPL",
Packit 577717
  .desc   = "Modified cache lines allocated in the L1 data cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x46,
Packit 577717
},
Packit 577717
{ .name   = "L1D_M_EVICT",
Packit 577717
  .desc   = "Modified cache lines evicted from the L1 data cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x47,
Packit 577717
},
Packit 577717
{ .name   = "L1D_PEND_MISS",
Packit 577717
  .desc   = "Total number of outstanding L1 data cache misses at any cycle",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x48,
Packit 577717
},
Packit 577717
{ .name   = "L1D_SPLIT",
Packit 577717
  .desc   = "Cache line split from L1 data cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x49,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l1d_split),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l1d_split,
Packit 577717
},
Packit 577717
{ .name   = "SSE_PRE_MISS",
Packit 577717
  .desc   = "Streaming SIMD Extensions (SSE) instructions missing all cache levels",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_sse_pre_miss),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_sse_pre_miss,
Packit 577717
},
Packit 577717
{ .name   = "LOAD_HIT_PRE",
Packit 577717
  .desc   = "Load operations conflicting with a software prefetch to the same address",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4c,
Packit 577717
},
Packit 577717
{ .name   = "L1D_PREFETCH",
Packit 577717
  .desc   = "L1 data cache prefetch",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l1d_prefetch),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l1d_prefetch,
Packit 577717
},
Packit 577717
{ .name   = "BUS_REQUEST_OUTSTANDING",
Packit 577717
  .desc   = "Number of pending full cache line read transactions on the bus occurring in each cycle",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x60,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding,
Packit 577717
},
Packit 577717
{ .name   = "BUS_BNR_DRV",
Packit 577717
  .desc   = "Number of Bus Not Ready signals asserted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x61,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_bnr_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_bus_bnr_drv,
Packit 577717
},
Packit 577717
{ .name   = "BUS_DRDY_CLOCKS",
Packit 577717
  .desc   = "Bus cycles when data is sent on the bus",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x62,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_bnr_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_bus_bnr_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_LOCK_CLOCKS",
Packit 577717
  .desc   = "Bus cycles when a LOCK signal is asserted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x63,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_DATA_RCV",
Packit 577717
  .desc   = "Bus cycles while processor receives data",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x64,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l2_ads, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_BRD",
Packit 577717
  .desc   = "Burst read bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x65,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_RFO",
Packit 577717
  .desc   = "RFO bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x66,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_WB",
Packit 577717
  .desc   = "Explicit writeback bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x67,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_IFETCH",
Packit 577717
  .desc   = "Instruction-fetch bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x68,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_INVAL",
Packit 577717
  .desc   = "Invalidate bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x69,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_PWR",
Packit 577717
  .desc   = "Partial write bus transaction",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_P",
Packit 577717
  .desc   = "Partial bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_IO",
Packit 577717
  .desc   = "IO bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6c,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_DEF",
Packit 577717
  .desc   = "Deferred bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6d,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_BURST",
Packit 577717
  .desc   = "Burst (full cache-line) bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_MEM",
Packit 577717
  .desc   = "Memory bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6f,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_ANY",
Packit 577717
  .desc   = "All bus transactions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x70,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "EXT_SNOOP",
Packit 577717
  .desc   = "External snoops responses",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x77,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_ext_snoop),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_ext_snoop,
Packit 577717
},
Packit 577717
{ .name   = "CMP_SNOOP",
Packit 577717
  .desc   = "L1 data cache is snooped by other core",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x78,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_cmp_snoop),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_cmp_snoop,
Packit 577717
},
Packit 577717
{ .name   = "BUS_HIT_DRV",
Packit 577717
  .desc   = "HIT signal asserted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_bnr_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_bus_bnr_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_HITM_DRV",
Packit 577717
  .desc   = "HITM signal asserted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_bnr_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_bus_bnr_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUSQ_EMPTY",
Packit 577717
  .desc   = "Bus queue is empty",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7d,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_bnr_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_bus_bnr_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "SNOOP_STALL_DRV",
Packit 577717
  .desc   = "Bus stalled for snoops",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_bus_request_outstanding),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = core_bus_request_outstanding, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_IO_WAIT",
Packit 577717
  .desc   = "IO requests waiting in the bus queue",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7f,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_l2_ads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_l2_ads, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L1I_READS",
Packit 577717
  .desc   = "Instruction fetches",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x80,
Packit 577717
},
Packit 577717
{ .name   = "L1I_MISSES",
Packit 577717
  .desc   = "Instruction Fetch Unit misses",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x81,
Packit 577717
},
Packit 577717
{ .name   = "ITLB",
Packit 577717
  .desc   = "ITLB small page misses",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x82,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_itlb),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_itlb,
Packit 577717
},
Packit 577717
{ .name   = "INST_QUEUE",
Packit 577717
  .desc   = "Cycles during which the instruction queue is full",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x83,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_inst_queue),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_inst_queue,
Packit 577717
},
Packit 577717
{ .name   = "CYCLES_L1I_MEM_STALLED",
Packit 577717
  .desc   = "Cycles during which instruction fetches are stalled",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x86,
Packit 577717
},
Packit 577717
{ .name   = "ILD_STALL",
Packit 577717
  .desc   = "Instruction Length Decoder stall cycles due to a length changing prefix",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x87,
Packit 577717
},
Packit 577717
{ .name   = "BR_INST_EXEC",
Packit 577717
  .desc   = "Branch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x88,
Packit 577717
},
Packit 577717
{ .name   = "BR_MISSP_EXEC",
Packit 577717
  .desc   = "Mispredicted branch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x89,
Packit 577717
},
Packit 577717
{ .name   = "BR_BAC_MISSP_EXEC",
Packit 577717
  .desc   = "Branch instructions mispredicted at decoding",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8a,
Packit 577717
},
Packit 577717
{ .name   = "BR_CND_EXEC",
Packit 577717
  .desc   = "Conditional branch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8b,
Packit 577717
},
Packit 577717
{ .name   = "BR_CND_MISSP_EXEC",
Packit 577717
  .desc   = "Mispredicted conditional branch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8c,
Packit 577717
},
Packit 577717
{ .name   = "BR_IND_EXEC",
Packit 577717
  .desc   = "Indirect branch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8d,
Packit 577717
},
Packit 577717
{ .name   = "BR_IND_MISSP_EXEC",
Packit 577717
  .desc   = "Mispredicted indirect branch instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8e,
Packit 577717
},
Packit 577717
{ .name   = "BR_RET_EXEC",
Packit 577717
  .desc   = "RET instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8f,
Packit 577717
},
Packit 577717
{ .name   = "BR_RET_MISSP_EXEC",
Packit 577717
  .desc   = "Mispredicted RET instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x90,
Packit 577717
},
Packit 577717
{ .name   = "BR_RET_BAC_MISSP_EXEC",
Packit 577717
  .desc   = "RET instructions executed mispredicted at decoding",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x91,
Packit 577717
},
Packit 577717
{ .name   = "BR_CALL_EXEC",
Packit 577717
  .desc   = "CALL instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x92,
Packit 577717
},
Packit 577717
{ .name   = "BR_CALL_MISSP_EXEC",
Packit 577717
  .desc   = "Mispredicted CALL instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x93,
Packit 577717
},
Packit 577717
{ .name   = "BR_IND_CALL_EXEC",
Packit 577717
  .desc   = "Indirect CALL instructions executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x94,
Packit 577717
},
Packit 577717
{ .name   = "BR_TKN_BUBBLE_1",
Packit 577717
  .desc   = "Branch predicted taken with bubble I",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x97,
Packit 577717
},
Packit 577717
{ .name   = "BR_TKN_BUBBLE_2",
Packit 577717
  .desc   = "Branch predicted taken with bubble II",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x98,
Packit 577717
},
Packit 577717
{ .name   = "MACRO_INSTS",
Packit 577717
  .desc   = "Instructions decoded",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xaa,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_macro_insts),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_macro_insts,
Packit 577717
},
Packit 577717
{ .name   = "ESP",
Packit 577717
  .desc   = "ESP register content synchronization",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xab,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_esp),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_esp,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_UOPS_EXEC",
Packit 577717
  .desc   = "SIMD micro-ops executed (excluding stores)",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xb0,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_SAT_UOP_EXEC",
Packit 577717
  .desc   = "SIMD saturated arithmetic micro-ops executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xb1,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_UOP_TYPE_EXEC",
Packit 577717
  .desc   = "SIMD packed multiply micro-ops executed",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xb3,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_simd_uop_type_exec),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_simd_uop_type_exec,
Packit 577717
},
Packit 577717
{ .name   = "INST_RETIRED",
Packit 577717
  .desc   = "Instructions retired",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc0,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "X87_OPS_RETIRED",
Packit 577717
  .desc   = "FXCH instructions retired",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc1,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_x87_ops_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_x87_ops_retired,
Packit 577717
},
Packit 577717
{ .name   = "UOPS_RETIRED",
Packit 577717
  .desc   = "Fused load+op or load+indirect branch retired",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc2,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_uops_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_uops_retired,
Packit 577717
},
Packit 577717
{ .name   = "MACHINE_NUKES",
Packit 577717
  .desc   = "Self-Modifying Code detected",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc3,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_machine_nukes),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_machine_nukes,
Packit 577717
},
Packit 577717
{ .name   = "BR_INST_RETIRED",
Packit 577717
  .desc   = "Retired branch instructions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc4,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_br_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_br_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "BR_INST_RETIRED_MISPRED",
Packit 577717
  .desc   = "Retired mispredicted branch instructions (Precise_Event)",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc5,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
},
Packit 577717
{ .name   = "CYCLES_INT_MASKED",
Packit 577717
  .desc   = "Cycles during which interrupts are disabled",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x1c6,
Packit 577717
},
Packit 577717
{ .name   = "CYCLES_INT_PENDING_AND_MASKED",
Packit 577717
  .desc   = "Cycles during which interrupts are pending and disabled",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2c6,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_INST_RETIRED",
Packit 577717
  .desc   = "Retired Streaming SIMD Extensions (SSE) packed-single instructions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc7,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_simd_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_simd_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "HW_INT_RCV",
Packit 577717
  .desc   = "Hardware interrupts received",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc8,
Packit 577717
},
Packit 577717
{ .name   = "ITLB_MISS_RETIRED",
Packit 577717
  .desc   = "Retired instructions that missed the ITLB",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc9,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_COMP_INST_RETIRED",
Packit 577717
  .desc   = "Retired computational Streaming SIMD Extensions (SSE) packed-single instructions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xca,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_simd_comp_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_simd_comp_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "MEM_LOAD_RETIRED",
Packit 577717
  .desc   = "Retired loads that miss the L1 data cache",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x1,
Packit 577717
  .code = 0xcb,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_mem_load_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_mem_load_retired,
Packit 577717
},
Packit 577717
{ .name   = "FP_MMX_TRANS",
Packit 577717
  .desc   = "Transitions from MMX (TM) Instructions to Floating Point Instructions",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xcc,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_fp_mmx_trans),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_fp_mmx_trans,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_ASSIST",
Packit 577717
  .desc   = "SIMD assists invoked",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xcd,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_INSTR_RETIRED",
Packit 577717
  .desc   = "SIMD Instructions retired",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xce,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_SAT_INSTR_RETIRED",
Packit 577717
  .desc   = "Saturated arithmetic instructions retired",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xcf,
Packit 577717
},
Packit 577717
{ .name   = "RAT_STALLS",
Packit 577717
  .desc   = "ROB read port stalls cycles",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xd2,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_rat_stalls),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_rat_stalls,
Packit 577717
},
Packit 577717
{ .name   = "SEG_RENAME_STALLS",
Packit 577717
  .desc   = "Segment rename stalls - ES ",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xd4,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_seg_rename_stalls),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_seg_rename_stalls,
Packit 577717
},
Packit 577717
{ .name   = "SEG_REG_RENAMES",
Packit 577717
  .desc   = "Segment renames - ES",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xd5,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_seg_reg_renames),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_seg_reg_renames,
Packit 577717
},
Packit 577717
{ .name   = "RESOURCE_STALLS",
Packit 577717
  .desc   = "Cycles during which the ROB is full",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xdc,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(core_resource_stalls),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = core_resource_stalls,
Packit 577717
},
Packit 577717
{ .name   = "BR_INST_DECODED",
Packit 577717
  .desc   = "Branch instructions decoded",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xe0,
Packit 577717
},
Packit 577717
{ .name   = "BOGUS_BR",
Packit 577717
  .desc   = "Bogus branches",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xe4,
Packit 577717
},
Packit 577717
{ .name   = "BACLEARS",
Packit 577717
  .desc   = "BACLEARS asserted",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xe6,
Packit 577717
},
Packit 577717
{ .name   = "PREF_RQSTS_UP",
Packit 577717
  .desc   = "Upward prefetches issued from the DPL",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xf0,
Packit 577717
},
Packit 577717
{ .name   = "PREF_RQSTS_DN",
Packit 577717
  .desc   = "Downward prefetches issued from the DPL",
Packit 577717
  .modmsk = INTEL_X86_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xf8,
Packit 577717
},
Packit 577717
};