1*e6bda3ffSRobert Mustacchi[ {
2*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpRetx87FpOps",
3*e6bda3ffSRobert Mustacchi	"name": "FpRetx87FpOps",
4*e6bda3ffSRobert Mustacchi	"code": "0x002",
5*e6bda3ffSRobert Mustacchi	"summary": "Retired x87 FP Ops",
6*e6bda3ffSRobert Mustacchi	"description": "The number of x87 floating-point Ops that have retired.",
7*e6bda3ffSRobert Mustacchi	"units": [ {
8*e6bda3ffSRobert Mustacchi		"name": "DivSqrROps",
9*e6bda3ffSRobert Mustacchi		"bit": 2,
10*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
11*e6bda3ffSRobert Mustacchi		"description": "Divide and square root Ops. "
12*e6bda3ffSRobert Mustacchi	}, {
13*e6bda3ffSRobert Mustacchi		"name": "MulOps",
14*e6bda3ffSRobert Mustacchi		"bit": 1,
15*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
16*e6bda3ffSRobert Mustacchi		"description": "Multiply Ops. "
17*e6bda3ffSRobert Mustacchi	}, {
18*e6bda3ffSRobert Mustacchi		"name": "AddSubOps",
19*e6bda3ffSRobert Mustacchi		"bit": 0,
20*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
21*e6bda3ffSRobert Mustacchi		"description": "Add/subtract Ops. "
22*e6bda3ffSRobert Mustacchi	} ]
23*e6bda3ffSRobert Mustacchi},
24*e6bda3ffSRobert Mustacchi{
25*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpRetSseAvxOps",
26*e6bda3ffSRobert Mustacchi	"name": "FpRetSseAvxOps",
27*e6bda3ffSRobert Mustacchi	"code": "0x003",
28*e6bda3ffSRobert Mustacchi	"summary": "Retired SSE/AVX FLOPs",
29*e6bda3ffSRobert Mustacchi	"description": "This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.13.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
30*e6bda3ffSRobert Mustacchi	"units": [ {
31*e6bda3ffSRobert Mustacchi		"name": "BfloatMacFLOPs",
32*e6bda3ffSRobert Mustacchi		"bit": 4,
33*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
34*e6bda3ffSRobert Mustacchi		"description": "bfloat Multiply-Accumulate FLOPs.  Each bfloat MAC operation is counted as 2 FLOPS."
35*e6bda3ffSRobert Mustacchi	}, {
36*e6bda3ffSRobert Mustacchi		"name": "MacFLOPs",
37*e6bda3ffSRobert Mustacchi		"bit": 3,
38*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
39*e6bda3ffSRobert Mustacchi		"description": "Multiply-Accumulate FLOPs.  Each MAC operation is counted as 2 FLOPS.  This event does not include bfloat MAC operations."
40*e6bda3ffSRobert Mustacchi	}, {
41*e6bda3ffSRobert Mustacchi		"name": "DivFLOPs",
42*e6bda3ffSRobert Mustacchi		"bit": 2,
43*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
44*e6bda3ffSRobert Mustacchi		"description": "Divide/square root FLOPs. "
45*e6bda3ffSRobert Mustacchi	}, {
46*e6bda3ffSRobert Mustacchi		"name": "MultFLOPs",
47*e6bda3ffSRobert Mustacchi		"bit": 1,
48*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
49*e6bda3ffSRobert Mustacchi		"description": "Multiply FLOPs. "
50*e6bda3ffSRobert Mustacchi	}, {
51*e6bda3ffSRobert Mustacchi		"name": "AddSubFLOPs",
52*e6bda3ffSRobert Mustacchi		"bit": 0,
53*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
54*e6bda3ffSRobert Mustacchi		"description": "Add/subtract FLOPs. "
55*e6bda3ffSRobert Mustacchi	} ]
56*e6bda3ffSRobert Mustacchi},
57*e6bda3ffSRobert Mustacchi{
58*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpRetiredSerOps",
59*e6bda3ffSRobert Mustacchi	"name": "FpRetiredSerOps",
60*e6bda3ffSRobert Mustacchi	"code": "0x005",
61*e6bda3ffSRobert Mustacchi	"summary": "Retired Serializing Ops",
62*e6bda3ffSRobert Mustacchi	"description": "The number of serializing Ops retired.",
63*e6bda3ffSRobert Mustacchi	"units": [ {
64*e6bda3ffSRobert Mustacchi		"name": "SseBotRet",
65*e6bda3ffSRobert Mustacchi		"bit": 3,
66*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
67*e6bda3ffSRobert Mustacchi		"description": "SSE/AVX bottom-executing ops retired."
68*e6bda3ffSRobert Mustacchi	}, {
69*e6bda3ffSRobert Mustacchi		"name": "SseCtrlRet",
70*e6bda3ffSRobert Mustacchi		"bit": 2,
71*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
72*e6bda3ffSRobert Mustacchi		"description": "SSE/AVX control word mispredict traps."
73*e6bda3ffSRobert Mustacchi	}, {
74*e6bda3ffSRobert Mustacchi		"name": "X87BotRet",
75*e6bda3ffSRobert Mustacchi		"bit": 1,
76*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
77*e6bda3ffSRobert Mustacchi		"description": "x87 bottom-executing ops retired."
78*e6bda3ffSRobert Mustacchi	}, {
79*e6bda3ffSRobert Mustacchi		"name": "X87CtrlRet",
80*e6bda3ffSRobert Mustacchi		"bit": 0,
81*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
82*e6bda3ffSRobert Mustacchi		"description": "x87 control word mispredict traps due to mispredictions in RC or PC, or changes in Exception Mask bits."
83*e6bda3ffSRobert Mustacchi	} ]
84*e6bda3ffSRobert Mustacchi},
85*e6bda3ffSRobert Mustacchi{
86*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpOpsRetiredByWidth",
87*e6bda3ffSRobert Mustacchi	"name": "FpOpsRetiredByWidth",
88*e6bda3ffSRobert Mustacchi	"code": "0x008",
89*e6bda3ffSRobert Mustacchi	"summary": "Retired FP Ops By Width",
90*e6bda3ffSRobert Mustacchi	"units": [ {
91*e6bda3ffSRobert Mustacchi		"name": "Pack512uOpsRetired",
92*e6bda3ffSRobert Mustacchi		"bit": 5,
93*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
94*e6bda3ffSRobert Mustacchi		"description": "Number of packed 512-bit ops retired."
95*e6bda3ffSRobert Mustacchi	}, {
96*e6bda3ffSRobert Mustacchi		"name": "Pack256uOpsRetired",
97*e6bda3ffSRobert Mustacchi		"bit": 4,
98*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
99*e6bda3ffSRobert Mustacchi		"description": "Number of packed 256-bit ops retired."
100*e6bda3ffSRobert Mustacchi	}, {
101*e6bda3ffSRobert Mustacchi		"name": "Pack128uOpsRetired",
102*e6bda3ffSRobert Mustacchi		"bit": 3,
103*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
104*e6bda3ffSRobert Mustacchi		"description": "Number of packed 128-bit ops retired."
105*e6bda3ffSRobert Mustacchi	}, {
106*e6bda3ffSRobert Mustacchi		"name": "ScalaruOpsRetired",
107*e6bda3ffSRobert Mustacchi		"bit": 2,
108*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
109*e6bda3ffSRobert Mustacchi		"description": "Number of scalar ops retired."
110*e6bda3ffSRobert Mustacchi	}, {
111*e6bda3ffSRobert Mustacchi		"name": "MMXuOpsRetired",
112*e6bda3ffSRobert Mustacchi		"bit": 1,
113*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
114*e6bda3ffSRobert Mustacchi		"description": "Number of MMX ops retired."
115*e6bda3ffSRobert Mustacchi	}, {
116*e6bda3ffSRobert Mustacchi		"name": "x87uOpsRetired",
117*e6bda3ffSRobert Mustacchi		"bit": 0,
118*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
119*e6bda3ffSRobert Mustacchi		"description": "Number of x87 ops retired."
120*e6bda3ffSRobert Mustacchi	} ]
121*e6bda3ffSRobert Mustacchi},
122*e6bda3ffSRobert Mustacchi{
123*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpOpsRetiredByType",
124*e6bda3ffSRobert Mustacchi	"name": "FpOpsRetiredByType",
125*e6bda3ffSRobert Mustacchi	"code": "0x00A",
126*e6bda3ffSRobert Mustacchi	"summary": "Retired FP Ops By Type",
127*e6bda3ffSRobert Mustacchi	"description": "Note: Shuffle op counts may count for instructions that are not necessarily thought of as including shuffles. For example, Horizontal Add, Dot Product, and certain MOV instructions may include or use only shuffle type ops.",
128*e6bda3ffSRobert Mustacchi	"unit_mode": "or-value",
129*e6bda3ffSRobert Mustacchi	"units": [ {
130*e6bda3ffSRobert Mustacchi		"name": "VectorFpOpType",
131*e6bda3ffSRobert Mustacchi		"bit-range": "7:4",
132*e6bda3ffSRobert Mustacchi		"rw": "read-write",
133*e6bda3ffSRobert Mustacchi		"values": [
134*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
135*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
136*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
137*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
138*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
139*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "Div" },
140*e6bda3ffSRobert Mustacchi			{ "value": "0x6", "description": "Sqrt" },
141*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
142*e6bda3ffSRobert Mustacchi			{ "value": "0x8", "description": "Cvt" },
143*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Blend" },
144*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
145*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
146*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
147*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
148*e6bda3ffSRobert Mustacchi		]
149*e6bda3ffSRobert Mustacchi	}, {
150*e6bda3ffSRobert Mustacchi		"name": "ScalarFpOpType",
151*e6bda3ffSRobert Mustacchi		"bit-range": "3:0",
152*e6bda3ffSRobert Mustacchi		"rw": "read-write",
153*e6bda3ffSRobert Mustacchi		"values": [
154*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
155*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
156*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
157*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
158*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
159*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "Div" },
160*e6bda3ffSRobert Mustacchi			{ "value": "0x6", "description": "Sqrt" },
161*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
162*e6bda3ffSRobert Mustacchi			{ "value": "0x8", "description": "Cvt" },
163*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Blend" },
164*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
165*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
166*e6bda3ffSRobert Mustacchi		]
167*e6bda3ffSRobert Mustacchi	} ]
168*e6bda3ffSRobert Mustacchi},
169*e6bda3ffSRobert Mustacchi{
170*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::SseAvxOpsRetired",
171*e6bda3ffSRobert Mustacchi	"name": "SseAvxOpsRetired",
172*e6bda3ffSRobert Mustacchi	"code": "0x00B",
173*e6bda3ffSRobert Mustacchi	"summary": "INT Ops Retired",
174*e6bda3ffSRobert Mustacchi	"description": "Note: Shuffle op counts may count for instructions that are not necessarily thought of as including shuffles. For example, Horizontal Add, Dot Product, and certain MOV instructions may include or use only shuffle type ops.",
175*e6bda3ffSRobert Mustacchi	"unit_mode": "or-value",
176*e6bda3ffSRobert Mustacchi	"units": [ {
177*e6bda3ffSRobert Mustacchi		"name": "SseAvxOpType",
178*e6bda3ffSRobert Mustacchi		"bit-range": "7:4",
179*e6bda3ffSRobert Mustacchi		"rw": "read-write",
180*e6bda3ffSRobert Mustacchi		"values": [
181*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
182*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
183*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
184*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
185*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
186*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "AES" },
187*e6bda3ffSRobert Mustacchi			{ "value": "0x6", "description": "SHA" },
188*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
189*e6bda3ffSRobert Mustacchi			{ "value": "0x8", "description": "CLM" },
190*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Shift" },
191*e6bda3ffSRobert Mustacchi			{ "value": "0xA", "description": "Mov" },
192*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
193*e6bda3ffSRobert Mustacchi			{ "value": "0xC", "description": "Pack" },
194*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
195*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
196*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
197*e6bda3ffSRobert Mustacchi		]
198*e6bda3ffSRobert Mustacchi	}, {
199*e6bda3ffSRobert Mustacchi		"name": "MmxOpType",
200*e6bda3ffSRobert Mustacchi		"bit-range": "3:0",
201*e6bda3ffSRobert Mustacchi		"rw": "read-write",
202*e6bda3ffSRobert Mustacchi		"values": [
203*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
204*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
205*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
206*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
207*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
208*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
209*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Shift" },
210*e6bda3ffSRobert Mustacchi			{ "value": "0xA", "description": "Mov" },
211*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
212*e6bda3ffSRobert Mustacchi			{ "value": "0xC", "description": "Pack" },
213*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
214*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
215*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
216*e6bda3ffSRobert Mustacchi		]
217*e6bda3ffSRobert Mustacchi	} ]
218*e6bda3ffSRobert Mustacchi},
219*e6bda3ffSRobert Mustacchi{
220*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpPackOpsRetired",
221*e6bda3ffSRobert Mustacchi	"name": "FpPackOpsRetired",
222*e6bda3ffSRobert Mustacchi	"code": "0x00C",
223*e6bda3ffSRobert Mustacchi	"summary": "Packed FP Ops Retired",
224*e6bda3ffSRobert Mustacchi	"description": "Note: Shuffle op counts may count for instructions that are not necessarily thought of as including shuffles. For example, Horizontal Add, Dot Product, and certain MOV instructions may include or use only shuffle type ops.",
225*e6bda3ffSRobert Mustacchi	"unit_mode": "or-value",
226*e6bda3ffSRobert Mustacchi	"units": [ {
227*e6bda3ffSRobert Mustacchi		"name": "Fp256OpType",
228*e6bda3ffSRobert Mustacchi		"bit-range": "7:4",
229*e6bda3ffSRobert Mustacchi		"rw": "read-write",
230*e6bda3ffSRobert Mustacchi		"values": [
231*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
232*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
233*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
234*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
235*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
236*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "Div" },
237*e6bda3ffSRobert Mustacchi			{ "value": "0x6", "description": "Sqrt" },
238*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
239*e6bda3ffSRobert Mustacchi			{ "value": "0x8", "description": "Cvt" },
240*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Blend" },
241*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
242*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
243*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
244*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
245*e6bda3ffSRobert Mustacchi		]
246*e6bda3ffSRobert Mustacchi	}, {
247*e6bda3ffSRobert Mustacchi		"name": "Fp128OpType",
248*e6bda3ffSRobert Mustacchi		"bit-range": "3:0",
249*e6bda3ffSRobert Mustacchi		"rw": "read-write",
250*e6bda3ffSRobert Mustacchi		"values": [
251*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
252*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
253*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
254*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
255*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
256*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "Div" },
257*e6bda3ffSRobert Mustacchi			{ "value": "0x6", "description": "Sqrt" },
258*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
259*e6bda3ffSRobert Mustacchi			{ "value": "0x8", "description": "Cvt" },
260*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Blend" },
261*e6bda3ffSRobert Mustacchi			{ "value": "0xA", "description": "Reserved." },
262*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
263*e6bda3ffSRobert Mustacchi			{ "value": "0xC", "description": "Reserved." },
264*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
265*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
266*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
267*e6bda3ffSRobert Mustacchi		]
268*e6bda3ffSRobert Mustacchi	} ]
269*e6bda3ffSRobert Mustacchi},
270*e6bda3ffSRobert Mustacchi{
271*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::PackedIntOpType",
272*e6bda3ffSRobert Mustacchi	"name": "PackedIntOpType",
273*e6bda3ffSRobert Mustacchi	"code": "0x00D",
274*e6bda3ffSRobert Mustacchi	"summary": "Packed INT Ops Retired",
275*e6bda3ffSRobert Mustacchi	"description": "Note: Shuffle op counts may count for instructions that are not necessarily thought of as including shuffles. For example, Horizontal Add, Dot Product, and certain MOV instructions may include or use only shuffle type ops. This event also counts FP data type packed and scalar MOV and shuffle.",
276*e6bda3ffSRobert Mustacchi	"unit_mode": "or-value",
277*e6bda3ffSRobert Mustacchi	"units": [ {
278*e6bda3ffSRobert Mustacchi		"name": "Int256OpType",
279*e6bda3ffSRobert Mustacchi		"bit-range": "7:4",
280*e6bda3ffSRobert Mustacchi		"rw": "read-write",
281*e6bda3ffSRobert Mustacchi		"values": [
282*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
283*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
284*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
285*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
286*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
287*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
288*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Shift" },
289*e6bda3ffSRobert Mustacchi			{ "value": "0xA", "description": "Mov" },
290*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
291*e6bda3ffSRobert Mustacchi			{ "value": "0xC", "description": "Pack" },
292*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
293*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
294*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
295*e6bda3ffSRobert Mustacchi		]
296*e6bda3ffSRobert Mustacchi	}, {
297*e6bda3ffSRobert Mustacchi		"name": "Int128OpType",
298*e6bda3ffSRobert Mustacchi		"bit-range": "3:0",
299*e6bda3ffSRobert Mustacchi		"rw": "read-write",
300*e6bda3ffSRobert Mustacchi		"values": [
301*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "None" },
302*e6bda3ffSRobert Mustacchi			{ "value": "0x1", "description": "Add" },
303*e6bda3ffSRobert Mustacchi			{ "value": "0x2", "description": "Sub" },
304*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Mul" },
305*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Mac" },
306*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "AES" },
307*e6bda3ffSRobert Mustacchi			{ "value": "0x6", "description": "SHA" },
308*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "Cmp" },
309*e6bda3ffSRobert Mustacchi			{ "value": "0x8", "description": "CLM" },
310*e6bda3ffSRobert Mustacchi			{ "value": "0x9", "description": "Shift" },
311*e6bda3ffSRobert Mustacchi			{ "value": "0xA", "description": "Mov" },
312*e6bda3ffSRobert Mustacchi			{ "value": "0xB", "description": "Shuffle" },
313*e6bda3ffSRobert Mustacchi			{ "value": "0xC", "description": "Pack" },
314*e6bda3ffSRobert Mustacchi			{ "value": "0xD", "description": "Logical" },
315*e6bda3ffSRobert Mustacchi			{ "value": "0xE", "description": "Other" },
316*e6bda3ffSRobert Mustacchi			{ "value": "0xF", "description": "All" }
317*e6bda3ffSRobert Mustacchi		]
318*e6bda3ffSRobert Mustacchi	} ]
319*e6bda3ffSRobert Mustacchi},
320*e6bda3ffSRobert Mustacchi{
321*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::FpDispFaults",
322*e6bda3ffSRobert Mustacchi	"name": "FpDispFaults",
323*e6bda3ffSRobert Mustacchi	"code": "0x00E",
324*e6bda3ffSRobert Mustacchi	"summary": "FP Dispatch Faults",
325*e6bda3ffSRobert Mustacchi	"description": "Floating-point Dispatch Faults.",
326*e6bda3ffSRobert Mustacchi	"units": [ {
327*e6bda3ffSRobert Mustacchi		"name": "YmmSpillFault",
328*e6bda3ffSRobert Mustacchi		"bit": 3,
329*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
330*e6bda3ffSRobert Mustacchi		"description": "YMM Spill fault."
331*e6bda3ffSRobert Mustacchi	}, {
332*e6bda3ffSRobert Mustacchi		"name": "YmmFillFault",
333*e6bda3ffSRobert Mustacchi		"bit": 2,
334*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
335*e6bda3ffSRobert Mustacchi		"description": "YMM Fill fault."
336*e6bda3ffSRobert Mustacchi	}, {
337*e6bda3ffSRobert Mustacchi		"name": "XmmFillFault",
338*e6bda3ffSRobert Mustacchi		"bit": 1,
339*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
340*e6bda3ffSRobert Mustacchi		"description": "XMM Fill fault."
341*e6bda3ffSRobert Mustacchi	}, {
342*e6bda3ffSRobert Mustacchi		"name": "x87FillFault",
343*e6bda3ffSRobert Mustacchi		"bit": 0,
344*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
345*e6bda3ffSRobert Mustacchi		"description": "x87 Fill fault."
346*e6bda3ffSRobert Mustacchi	} ]
347*e6bda3ffSRobert Mustacchi},
348*e6bda3ffSRobert Mustacchi{
349*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsBadStatus2",
350*e6bda3ffSRobert Mustacchi	"name": "LsBadStatus2",
351*e6bda3ffSRobert Mustacchi	"code": "0x024",
352*e6bda3ffSRobert Mustacchi	"summary": "Bad Status 2",
353*e6bda3ffSRobert Mustacchi	"units": [ {
354*e6bda3ffSRobert Mustacchi		"name": "StliOther",
355*e6bda3ffSRobert Mustacchi		"bit": 1,
356*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
357*e6bda3ffSRobert Mustacchi		"description": "Store-to-load conflicts: A load was unable to complete due to a non-forwardable conflict with an older store. Most commonly, a load's address range partially but not completely overlaps with an uncompleted older store. Software can avoid this problem by using same-size and same-alignment loads and stores when accessing the same data. Vector/SIMD code is particularly susceptible to this problem; software should construct wide vector stores by manipulating vector elements in registers using shuffle/blend/swap instructions prior to storing to memory, instead of using narrow element-by-element stores."
358*e6bda3ffSRobert Mustacchi	} ]
359*e6bda3ffSRobert Mustacchi},
360*e6bda3ffSRobert Mustacchi{
361*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsLocks",
362*e6bda3ffSRobert Mustacchi	"name": "LsLocks",
363*e6bda3ffSRobert Mustacchi	"code": "0x025",
364*e6bda3ffSRobert Mustacchi	"summary": "Retired Lock Instructions",
365*e6bda3ffSRobert Mustacchi	"units": [ {
366*e6bda3ffSRobert Mustacchi		"name": "BusLock",
367*e6bda3ffSRobert Mustacchi		"bit": 0,
368*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
369*e6bda3ffSRobert Mustacchi		"description": "Comparable to legacy bus lock."
370*e6bda3ffSRobert Mustacchi	} ]
371*e6bda3ffSRobert Mustacchi},
372*e6bda3ffSRobert Mustacchi{
373*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsRetClClush",
374*e6bda3ffSRobert Mustacchi	"name": "LsRetClClush",
375*e6bda3ffSRobert Mustacchi	"code": "0x026",
376*e6bda3ffSRobert Mustacchi	"summary": "Retired CLFLUSH Instructions",
377*e6bda3ffSRobert Mustacchi	"description": "The number of retired CLFLUSH instructions. This is a non-speculative event."
378*e6bda3ffSRobert Mustacchi},
379*e6bda3ffSRobert Mustacchi{
380*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsRetCpuid",
381*e6bda3ffSRobert Mustacchi	"name": "LsRetCpuid",
382*e6bda3ffSRobert Mustacchi	"code": "0x027",
383*e6bda3ffSRobert Mustacchi	"summary": "Retired CPUID Instructions",
384*e6bda3ffSRobert Mustacchi	"description": "The number of CPUID instructions retired."
385*e6bda3ffSRobert Mustacchi},
386*e6bda3ffSRobert Mustacchi{
387*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsDispatch",
388*e6bda3ffSRobert Mustacchi	"name": "LsDispatch",
389*e6bda3ffSRobert Mustacchi	"code": "0x029",
390*e6bda3ffSRobert Mustacchi	"summary": "LS Dispatch",
391*e6bda3ffSRobert Mustacchi	"description": "Counts the number of operations dispatched to the LS unit. Unit Masks events are ADDed.",
392*e6bda3ffSRobert Mustacchi	"unit_mode": "add",
393*e6bda3ffSRobert Mustacchi	"units": [ {
394*e6bda3ffSRobert Mustacchi		"name": "LdStDispatch",
395*e6bda3ffSRobert Mustacchi		"bit": 2,
396*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
397*e6bda3ffSRobert Mustacchi		"description": "Load-op-Store Dispatch.  Dispatch of a single op that performs a load from and store to the same memory address."
398*e6bda3ffSRobert Mustacchi	}, {
399*e6bda3ffSRobert Mustacchi		"name": "StoreDispatch",
400*e6bda3ffSRobert Mustacchi		"bit": 1,
401*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
402*e6bda3ffSRobert Mustacchi		"description": "Dispatch of a single op that performs a memory store."
403*e6bda3ffSRobert Mustacchi	}, {
404*e6bda3ffSRobert Mustacchi		"name": "LdDispatch",
405*e6bda3ffSRobert Mustacchi		"bit": 0,
406*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
407*e6bda3ffSRobert Mustacchi		"description": "Dispatch of a single op that performs a memory load."
408*e6bda3ffSRobert Mustacchi	} ]
409*e6bda3ffSRobert Mustacchi},
410*e6bda3ffSRobert Mustacchi{
411*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsSmiRx",
412*e6bda3ffSRobert Mustacchi	"name": "LsSmiRx",
413*e6bda3ffSRobert Mustacchi	"code": "0x02B",
414*e6bda3ffSRobert Mustacchi	"summary": "SMIs Received",
415*e6bda3ffSRobert Mustacchi	"description": "Counts the number of SMIs received."
416*e6bda3ffSRobert Mustacchi},
417*e6bda3ffSRobert Mustacchi{
418*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsIntTaken",
419*e6bda3ffSRobert Mustacchi	"name": "LsIntTaken",
420*e6bda3ffSRobert Mustacchi	"code": "0x02C",
421*e6bda3ffSRobert Mustacchi	"summary": "Interrupts Taken",
422*e6bda3ffSRobert Mustacchi	"description": "Counts the number of interrupts taken.",
423*e6bda3ffSRobert Mustacchi	"units": [ {
424*e6bda3ffSRobert Mustacchi		"name": "IntTaken",
425*e6bda3ffSRobert Mustacchi		"bit": 0,
426*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
427*e6bda3ffSRobert Mustacchi		"description": "Number of Interrupts taken. This event is also counted when UnitMask[7:0]=0."
428*e6bda3ffSRobert Mustacchi	} ]
429*e6bda3ffSRobert Mustacchi},
430*e6bda3ffSRobert Mustacchi{
431*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsSTLF",
432*e6bda3ffSRobert Mustacchi	"name": "LsSTLF",
433*e6bda3ffSRobert Mustacchi	"code": "0x035",
434*e6bda3ffSRobert Mustacchi	"summary": "Store to Load Forward",
435*e6bda3ffSRobert Mustacchi	"description": "Number of STLF hits."
436*e6bda3ffSRobert Mustacchi},
437*e6bda3ffSRobert Mustacchi{
438*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsStCommitCancel2",
439*e6bda3ffSRobert Mustacchi	"name": "LsStCommitCancel2",
440*e6bda3ffSRobert Mustacchi	"code": "0x037",
441*e6bda3ffSRobert Mustacchi	"summary": "Store Commit Cancels 2",
442*e6bda3ffSRobert Mustacchi	"units": [ {
443*e6bda3ffSRobert Mustacchi		"name": "StCommitCancelWcbFull",
444*e6bda3ffSRobert Mustacchi		"bit": 0,
445*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
446*e6bda3ffSRobert Mustacchi		"description": "A non-cacheable store and the non-cacheable commit buffer is full."
447*e6bda3ffSRobert Mustacchi	} ]
448*e6bda3ffSRobert Mustacchi},
449*e6bda3ffSRobert Mustacchi{
450*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsMabAlloc",
451*e6bda3ffSRobert Mustacchi	"name": "LsMabAlloc",
452*e6bda3ffSRobert Mustacchi	"code": "0x041",
453*e6bda3ffSRobert Mustacchi	"summary": "LS MAB Allocates by Type",
454*e6bda3ffSRobert Mustacchi	"description": "Counts when a LS pipe allocates a MAB entry.",
455*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
456*e6bda3ffSRobert Mustacchi	"units": [ {
457*e6bda3ffSRobert Mustacchi	"name": "LsMabAllocation",
458*e6bda3ffSRobert Mustacchi		"bit-range": "6:0",
459*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
460*e6bda3ffSRobert Mustacchi		"values": [
461*e6bda3ffSRobert Mustacchi			{ "value": "0x3f", "description": "Load Store Allocations." },
462*e6bda3ffSRobert Mustacchi			{ "value": "0x40", "description": "Hardware Prefetecher Allocations." },
463*e6bda3ffSRobert Mustacchi			{ "value": "0x7f", "description": "All Allocations." }
464*e6bda3ffSRobert Mustacchi		]
465*e6bda3ffSRobert Mustacchi	} ]
466*e6bda3ffSRobert Mustacchi},
467*e6bda3ffSRobert Mustacchi{
468*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsDmndFillsFromSys",
469*e6bda3ffSRobert Mustacchi	"name": "LsDmndFillsFromSys",
470*e6bda3ffSRobert Mustacchi	"code": "0x043",
471*e6bda3ffSRobert Mustacchi	"summary": "Demand Data Cache Fills by Data Source",
472*e6bda3ffSRobert Mustacchi	"description": "Demand Data Cache Fills by Data Source.",
473*e6bda3ffSRobert Mustacchi	"units": [ {
474*e6bda3ffSRobert Mustacchi		"name": "AlternateMemories_NearFar",
475*e6bda3ffSRobert Mustacchi		"bit": 7,
476*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
477*e6bda3ffSRobert Mustacchi		"description": "Requests that return from Extension Memory."
478*e6bda3ffSRobert Mustacchi	}, {
479*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Far",
480*e6bda3ffSRobert Mustacchi		"bit": 6,
481*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
482*e6bda3ffSRobert Mustacchi		"description": "Requests that target another NUMA node and return from DRAM or MMIO from another NUMA node, either from the same or different socket."
483*e6bda3ffSRobert Mustacchi	}, {
484*e6bda3ffSRobert Mustacchi		"name": "FarCache_NearFar",
485*e6bda3ffSRobert Mustacchi		"bit": 4,
486*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
487*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in a different NUMA node."
488*e6bda3ffSRobert Mustacchi	}, {
489*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Near",
490*e6bda3ffSRobert Mustacchi		"bit": 3,
491*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
492*e6bda3ffSRobert Mustacchi		"description": "Requests that target the same NUMA node and return from either DRAM or MMIO in the same NUMA node."
493*e6bda3ffSRobert Mustacchi	}, {
494*e6bda3ffSRobert Mustacchi		"name": "NearCache_NearFar",
495*e6bda3ffSRobert Mustacchi		"bit": 2,
496*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
497*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in the same NUMA node."
498*e6bda3ffSRobert Mustacchi	}, {
499*e6bda3ffSRobert Mustacchi		"name": "LocalCcx",
500*e6bda3ffSRobert Mustacchi		"bit": 1,
501*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
502*e6bda3ffSRobert Mustacchi		"description": "Data returned from L3 or different L2 in the same CCX."
503*e6bda3ffSRobert Mustacchi	}, {
504*e6bda3ffSRobert Mustacchi		"name": "LocalL2",
505*e6bda3ffSRobert Mustacchi		"bit": 0,
506*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
507*e6bda3ffSRobert Mustacchi		"description": "Data returned from the local L2."
508*e6bda3ffSRobert Mustacchi	} ]
509*e6bda3ffSRobert Mustacchi},
510*e6bda3ffSRobert Mustacchi{
511*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsAnyFillsFromSys",
512*e6bda3ffSRobert Mustacchi	"name": "LsAnyFillsFromSys",
513*e6bda3ffSRobert Mustacchi	"code": "0x044",
514*e6bda3ffSRobert Mustacchi	"summary": "Any Data Cache Fills by Data Source",
515*e6bda3ffSRobert Mustacchi	"description": "Any Data Cache Fills by Data Source.",
516*e6bda3ffSRobert Mustacchi	"units": [ {
517*e6bda3ffSRobert Mustacchi		"name": "AlternateMemories_NearFar",
518*e6bda3ffSRobert Mustacchi		"bit": 7,
519*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
520*e6bda3ffSRobert Mustacchi		"description": "Requests that return from Extension Memory."
521*e6bda3ffSRobert Mustacchi	}, {
522*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Far",
523*e6bda3ffSRobert Mustacchi		"bit": 6,
524*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
525*e6bda3ffSRobert Mustacchi		"description": "Requests that target another NUMA node and return from DRAM or MMIO from another NUMA node, either from the same or different socket."
526*e6bda3ffSRobert Mustacchi	}, {
527*e6bda3ffSRobert Mustacchi		"name": "FarCache_NearFar",
528*e6bda3ffSRobert Mustacchi		"bit": 4,
529*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
530*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in a different NUMA node."
531*e6bda3ffSRobert Mustacchi	}, {
532*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Near",
533*e6bda3ffSRobert Mustacchi		"bit": 3,
534*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
535*e6bda3ffSRobert Mustacchi		"description": "Requests that target the same NUMA node and return from either DRAM or MMIO in the same NUMA node."
536*e6bda3ffSRobert Mustacchi	}, {
537*e6bda3ffSRobert Mustacchi		"name": "ExtCacheLocal",
538*e6bda3ffSRobert Mustacchi		"bit": 2,
539*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
540*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in the same NUMA node."
541*e6bda3ffSRobert Mustacchi	}, {
542*e6bda3ffSRobert Mustacchi		"name": "LocalCcx",
543*e6bda3ffSRobert Mustacchi		"bit": 1,
544*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
545*e6bda3ffSRobert Mustacchi		"description": "Data returned from L3 or different L2 in the same CCX."
546*e6bda3ffSRobert Mustacchi	}, {
547*e6bda3ffSRobert Mustacchi		"name": "LocalL2",
548*e6bda3ffSRobert Mustacchi		"bit": 0,
549*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
550*e6bda3ffSRobert Mustacchi		"description": "Data returned from the local L2."
551*e6bda3ffSRobert Mustacchi	} ]
552*e6bda3ffSRobert Mustacchi},
553*e6bda3ffSRobert Mustacchi{
554*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsL1DTlbMiss",
555*e6bda3ffSRobert Mustacchi	"name": "LsL1DTlbMiss",
556*e6bda3ffSRobert Mustacchi	"code": "0x045",
557*e6bda3ffSRobert Mustacchi	"summary": "L1 DTLB Misses",
558*e6bda3ffSRobert Mustacchi	"units": [ {
559*e6bda3ffSRobert Mustacchi		"name": "TlbReload1GL2Miss",
560*e6bda3ffSRobert Mustacchi		"bit": 7,
561*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
562*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a 1-G page that also missed in the L2 TLB."
563*e6bda3ffSRobert Mustacchi	}, {
564*e6bda3ffSRobert Mustacchi		"name": "TlbReload2ML2Miss",
565*e6bda3ffSRobert Mustacchi		"bit": 6,
566*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
567*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a 2-M page that also missed in the L2 TLB."
568*e6bda3ffSRobert Mustacchi	}, {
569*e6bda3ffSRobert Mustacchi		"name": "TlbReloadCoalescedPageMiss",
570*e6bda3ffSRobert Mustacchi		"bit": 5,
571*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
572*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a coalesced page that also missed in the L2 TLB."
573*e6bda3ffSRobert Mustacchi	}, {
574*e6bda3ffSRobert Mustacchi		"name": "TlbReload4KL2Miss",
575*e6bda3ffSRobert Mustacchi		"bit": 4,
576*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
577*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a 4-K page that missed the L2 TLB."
578*e6bda3ffSRobert Mustacchi	}, {
579*e6bda3ffSRobert Mustacchi		"name": "TlbReload1GL2Hit",
580*e6bda3ffSRobert Mustacchi		"bit": 3,
581*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
582*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a 1-G page that hit in the L2 TLB."
583*e6bda3ffSRobert Mustacchi	}, {
584*e6bda3ffSRobert Mustacchi		"name": "TlbReload2ML2Hit",
585*e6bda3ffSRobert Mustacchi		"bit": 2,
586*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
587*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a 2-M page that hit in the L2 TLB."
588*e6bda3ffSRobert Mustacchi	}, {
589*e6bda3ffSRobert Mustacchi		"name": "TlbReloadCoalescedPageHit",
590*e6bda3ffSRobert Mustacchi		"bit": 1,
591*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
592*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a coalesced page that hit in the L2 TLB."
593*e6bda3ffSRobert Mustacchi	}, {
594*e6bda3ffSRobert Mustacchi		"name": "TlbReload4KL2Hit",
595*e6bda3ffSRobert Mustacchi		"bit": 0,
596*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
597*e6bda3ffSRobert Mustacchi		"description": "DTLB reload to a 4-K page that hit in the L2 TLB."
598*e6bda3ffSRobert Mustacchi	} ]
599*e6bda3ffSRobert Mustacchi},
600*e6bda3ffSRobert Mustacchi{
601*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsMisalLoads",
602*e6bda3ffSRobert Mustacchi	"name": "LsMisalLoads",
603*e6bda3ffSRobert Mustacchi	"code": "0x047",
604*e6bda3ffSRobert Mustacchi	"summary": "Misaligned loads",
605*e6bda3ffSRobert Mustacchi	"units": [ {
606*e6bda3ffSRobert Mustacchi		"name": "MA4K",
607*e6bda3ffSRobert Mustacchi		"bit": 1,
608*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
609*e6bda3ffSRobert Mustacchi		"description": "The number of 4-KB misaligned (i.e., page crossing) loads."
610*e6bda3ffSRobert Mustacchi	}, {
611*e6bda3ffSRobert Mustacchi		"name": "MA64",
612*e6bda3ffSRobert Mustacchi		"bit": 0,
613*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
614*e6bda3ffSRobert Mustacchi		"description": "The number of 64-B misaligned (i.e., cacheline crossing) loads."
615*e6bda3ffSRobert Mustacchi	} ]
616*e6bda3ffSRobert Mustacchi},
617*e6bda3ffSRobert Mustacchi{
618*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsPrefInstrDisp",
619*e6bda3ffSRobert Mustacchi	"name": "LsPrefInstrDisp",
620*e6bda3ffSRobert Mustacchi	"code": "0x04B",
621*e6bda3ffSRobert Mustacchi	"summary": "Prefetch Instructions Dispatched",
622*e6bda3ffSRobert Mustacchi	"description": "Software Prefetch Instructions Dispatched (Speculative).",
623*e6bda3ffSRobert Mustacchi	"units": [ {
624*e6bda3ffSRobert Mustacchi		"name": "PREFETCHNTA",
625*e6bda3ffSRobert Mustacchi		"bit": 2,
626*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
627*e6bda3ffSRobert Mustacchi		"description": "PrefetchNTA instruction. See docAPM3 PREFETCHlevel."
628*e6bda3ffSRobert Mustacchi	}, {
629*e6bda3ffSRobert Mustacchi		"name": "PREFETCHW",
630*e6bda3ffSRobert Mustacchi		"bit": 1,
631*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
632*e6bda3ffSRobert Mustacchi		"description": "PrefetchW instruction. See docAPM3 PREFETCHW."
633*e6bda3ffSRobert Mustacchi	}, {
634*e6bda3ffSRobert Mustacchi		"name": "PREFETCH",
635*e6bda3ffSRobert Mustacchi		"bit": 0,
636*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
637*e6bda3ffSRobert Mustacchi		"description": "PrefetchT0, T1 and T2 instructions. See docAPM3 PREFETCHlevel."
638*e6bda3ffSRobert Mustacchi	} ]
639*e6bda3ffSRobert Mustacchi},
640*e6bda3ffSRobert Mustacchi{
641*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsWcbCloseFlush",
642*e6bda3ffSRobert Mustacchi	"name": "LsWcbCloseFlush",
643*e6bda3ffSRobert Mustacchi	"code": "0x050",
644*e6bda3ffSRobert Mustacchi	"summary": "Write Combine Buffer Close Flush",
645*e6bda3ffSRobert Mustacchi	"description": "UnitMask events ADDed.  Multible WCB can report events at the same time.",
646*e6bda3ffSRobert Mustacchi	"unit_mode": "add",
647*e6bda3ffSRobert Mustacchi	"units": [ {
648*e6bda3ffSRobert Mustacchi		"name": "FullLine64B",
649*e6bda3ffSRobert Mustacchi		"bit": 0,
650*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
651*e6bda3ffSRobert Mustacchi		"description": "All 64 bytes of the WCB entry have been written."
652*e6bda3ffSRobert Mustacchi	} ]
653*e6bda3ffSRobert Mustacchi},
654*e6bda3ffSRobert Mustacchi{
655*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsInefSwPref",
656*e6bda3ffSRobert Mustacchi	"name": "LsInefSwPref",
657*e6bda3ffSRobert Mustacchi	"code": "0x052",
658*e6bda3ffSRobert Mustacchi	"summary": "Ineffective Software Prefetches",
659*e6bda3ffSRobert Mustacchi	"description": "The number of software prefetches that did not fetch data outside of the processor core.",
660*e6bda3ffSRobert Mustacchi	"units": [ {
661*e6bda3ffSRobert Mustacchi		"name": "MabMchCnt",
662*e6bda3ffSRobert Mustacchi		"bit": 1,
663*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
664*e6bda3ffSRobert Mustacchi		"description": "Software PREFETCH instruction saw a match on an already-allocated miss request buffer."
665*e6bda3ffSRobert Mustacchi	}, {
666*e6bda3ffSRobert Mustacchi		"name": "DataPipeSwPfDcHit",
667*e6bda3ffSRobert Mustacchi		"bit": 0,
668*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
669*e6bda3ffSRobert Mustacchi		"description": "Software PREFETCH instruction saw a DC hit."
670*e6bda3ffSRobert Mustacchi	} ]
671*e6bda3ffSRobert Mustacchi},
672*e6bda3ffSRobert Mustacchi{
673*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsSwPfDcFills",
674*e6bda3ffSRobert Mustacchi	"name": "LsSwPfDcFills",
675*e6bda3ffSRobert Mustacchi	"code": "0x059",
676*e6bda3ffSRobert Mustacchi	"summary": "Software Prefetch Data Cache Fills",
677*e6bda3ffSRobert Mustacchi	"description": "Software Prefetch Data Cache Fills by Data Source.",
678*e6bda3ffSRobert Mustacchi	"units": [ {
679*e6bda3ffSRobert Mustacchi		"name": "AlternateMemories_NearFar",
680*e6bda3ffSRobert Mustacchi		"bit": 7,
681*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
682*e6bda3ffSRobert Mustacchi		"description": "Requests that return from Extension Memory."
683*e6bda3ffSRobert Mustacchi	}, {
684*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Far",
685*e6bda3ffSRobert Mustacchi		"bit": 6,
686*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
687*e6bda3ffSRobert Mustacchi		"description": "Requests that target another NUMA node and return from DRAM or MMIO from another NUMA node, either from the same or different socket."
688*e6bda3ffSRobert Mustacchi	}, {
689*e6bda3ffSRobert Mustacchi		"name": "FarCache_NearFar",
690*e6bda3ffSRobert Mustacchi		"bit": 4,
691*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
692*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in a different NUMA node."
693*e6bda3ffSRobert Mustacchi	}, {
694*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Near",
695*e6bda3ffSRobert Mustacchi		"bit": 3,
696*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
697*e6bda3ffSRobert Mustacchi		"description": "Requests that target the same NUMA node and return from either DRAM or MMIO in the same NUMA node."
698*e6bda3ffSRobert Mustacchi	}, {
699*e6bda3ffSRobert Mustacchi		"name": "NearCache_NearFar",
700*e6bda3ffSRobert Mustacchi		"bit": 2,
701*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
702*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in the same NUMA node."
703*e6bda3ffSRobert Mustacchi	}, {
704*e6bda3ffSRobert Mustacchi		"name": "LocalCcx",
705*e6bda3ffSRobert Mustacchi		"bit": 1,
706*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
707*e6bda3ffSRobert Mustacchi		"description": "Data returned from L3 or different L2 in the same CCX."
708*e6bda3ffSRobert Mustacchi	}, {
709*e6bda3ffSRobert Mustacchi		"name": "LocalL2",
710*e6bda3ffSRobert Mustacchi		"bit": 0,
711*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
712*e6bda3ffSRobert Mustacchi		"description": "Data returned from the local L2."
713*e6bda3ffSRobert Mustacchi	} ]
714*e6bda3ffSRobert Mustacchi},
715*e6bda3ffSRobert Mustacchi{
716*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsHwPfDcFills",
717*e6bda3ffSRobert Mustacchi	"name": "LsHwPfDcFills",
718*e6bda3ffSRobert Mustacchi	"code": "0x05A",
719*e6bda3ffSRobert Mustacchi	"summary": "Hardware Prefetch Data Cache Fills",
720*e6bda3ffSRobert Mustacchi	"description": "Hardware Prefetch Data Cache Fills by Data Source.",
721*e6bda3ffSRobert Mustacchi	"units": [ {
722*e6bda3ffSRobert Mustacchi		"name": "AlternateMemories_NearFar",
723*e6bda3ffSRobert Mustacchi		"bit": 7,
724*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
725*e6bda3ffSRobert Mustacchi		"description": "Requests that return from Extension Memory."
726*e6bda3ffSRobert Mustacchi	}, {
727*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Far",
728*e6bda3ffSRobert Mustacchi		"bit": 6,
729*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
730*e6bda3ffSRobert Mustacchi		"description": "Requests that target another NUMA node and return from DRAM or MMIO from another NUMA node, either from the same or different socket."
731*e6bda3ffSRobert Mustacchi	}, {
732*e6bda3ffSRobert Mustacchi		"name": "FarCache_NearFar",
733*e6bda3ffSRobert Mustacchi		"bit": 4,
734*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
735*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in a different NUMA node."
736*e6bda3ffSRobert Mustacchi	}, {
737*e6bda3ffSRobert Mustacchi		"name": "Dram_IO_Near",
738*e6bda3ffSRobert Mustacchi		"bit": 3,
739*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
740*e6bda3ffSRobert Mustacchi		"description": "Requests that target the same NUMA node and return from either DRAM or MMIO in the same NUMA node."
741*e6bda3ffSRobert Mustacchi	}, {
742*e6bda3ffSRobert Mustacchi		"name": "NearCache_NearFar",
743*e6bda3ffSRobert Mustacchi		"bit": 2,
744*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
745*e6bda3ffSRobert Mustacchi		"description": "Requests that return from another CCX cache in the same NUMA node."
746*e6bda3ffSRobert Mustacchi	}, {
747*e6bda3ffSRobert Mustacchi		"name": "LocalCcx",
748*e6bda3ffSRobert Mustacchi		"bit": 1,
749*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
750*e6bda3ffSRobert Mustacchi		"description": "Data returned from L3 or different L2 in the same CCX."
751*e6bda3ffSRobert Mustacchi	}, {
752*e6bda3ffSRobert Mustacchi		"name": "LocalL2",
753*e6bda3ffSRobert Mustacchi		"bit": 0,
754*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
755*e6bda3ffSRobert Mustacchi		"description": "Data returned from the local L2."
756*e6bda3ffSRobert Mustacchi	} ]
757*e6bda3ffSRobert Mustacchi},
758*e6bda3ffSRobert Mustacchi{
759*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsAllocMabCount",
760*e6bda3ffSRobert Mustacchi	"name": "LsAllocMabCount",
761*e6bda3ffSRobert Mustacchi	"code": "0x05F",
762*e6bda3ffSRobert Mustacchi	"summary": "Count of Allocated Mabs",
763*e6bda3ffSRobert Mustacchi	"description": "This event counts the in-flight L1 data cache misses (allocated Miss Address Buffers) each cycle."
764*e6bda3ffSRobert Mustacchi},
765*e6bda3ffSRobert Mustacchi{
766*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsNotHaltedCyc",
767*e6bda3ffSRobert Mustacchi	"name": "LsNotHaltedCyc",
768*e6bda3ffSRobert Mustacchi	"code": "0x076",
769*e6bda3ffSRobert Mustacchi	"summary": "Cycles not in Halt"
770*e6bda3ffSRobert Mustacchi},
771*e6bda3ffSRobert Mustacchi{
772*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsTlbFlush",
773*e6bda3ffSRobert Mustacchi	"name": "LsTlbFlush",
774*e6bda3ffSRobert Mustacchi	"code": "0x078",
775*e6bda3ffSRobert Mustacchi	"summary": "All TLB Flushes",
776*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
777*e6bda3ffSRobert Mustacchi	"units": [ {
778*e6bda3ffSRobert Mustacchi		"name": "All",
779*e6bda3ffSRobert Mustacchi		"bit-range": "7:0",
780*e6bda3ffSRobert Mustacchi		"rw": "read-write",
781*e6bda3ffSRobert Mustacchi		"values": [
782*e6bda3ffSRobert Mustacchi			{ "value": "0xFF", "description": "All TLB Flushes." }
783*e6bda3ffSRobert Mustacchi		]
784*e6bda3ffSRobert Mustacchi	} ]
785*e6bda3ffSRobert Mustacchi},
786*e6bda3ffSRobert Mustacchi{
787*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::LsNotHaltedP0Cyc",
788*e6bda3ffSRobert Mustacchi	"name": "LsNotHaltedP0Cyc",
789*e6bda3ffSRobert Mustacchi	"code": "0x120",
790*e6bda3ffSRobert Mustacchi	"summary": "P0 Freq Cycles not in Halt",
791*e6bda3ffSRobert Mustacchi	"units": [ {
792*e6bda3ffSRobert Mustacchi		"name": "P0FreqCyc",
793*e6bda3ffSRobert Mustacchi		"bit": 0,
794*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
795*e6bda3ffSRobert Mustacchi		"description": "Counts at the P0 frequency (same as Core::X86::Msr::MPERF) when not in Halt."
796*e6bda3ffSRobert Mustacchi	} ]
797*e6bda3ffSRobert Mustacchi},
798*e6bda3ffSRobert Mustacchi{
799*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::IcCacheFillL2",
800*e6bda3ffSRobert Mustacchi	"name": "IcCacheFillL2",
801*e6bda3ffSRobert Mustacchi	"code": "0x082",
802*e6bda3ffSRobert Mustacchi	"summary": "Instruction Cache Refills from L2",
803*e6bda3ffSRobert Mustacchi	"description": "The number of 64-byte instruction cache lines fulfilled from the L2 cache."
804*e6bda3ffSRobert Mustacchi},
805*e6bda3ffSRobert Mustacchi{
806*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::IcCacheFillSys",
807*e6bda3ffSRobert Mustacchi	"name": "IcCacheFillSys",
808*e6bda3ffSRobert Mustacchi	"code": "0x083",
809*e6bda3ffSRobert Mustacchi	"summary": "Instruction Cache Refills from System",
810*e6bda3ffSRobert Mustacchi	"description": "The number of 64-byte instruction cache line fulfilled from system memory or another cache."
811*e6bda3ffSRobert Mustacchi},
812*e6bda3ffSRobert Mustacchi{
813*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::BpL1TlbMissL2TlbHit",
814*e6bda3ffSRobert Mustacchi	"name": "BpL1TlbMissL2TlbHit",
815*e6bda3ffSRobert Mustacchi	"code": "0x084",
816*e6bda3ffSRobert Mustacchi	"summary": "L1 ITLB Miss, L2 ITLB Hit",
817*e6bda3ffSRobert Mustacchi	"description": "The number of instruction fetches that miss in the L1 ITLB but hit in the L2 ITLB."
818*e6bda3ffSRobert Mustacchi},
819*e6bda3ffSRobert Mustacchi{
820*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::BpL1TlbMissL2TlbMiss",
821*e6bda3ffSRobert Mustacchi	"name": "BpL1TlbMissL2TlbMiss",
822*e6bda3ffSRobert Mustacchi	"code": "0x085",
823*e6bda3ffSRobert Mustacchi	"summary": "ITLB Reload from Page-Table walk",
824*e6bda3ffSRobert Mustacchi	"description": "The number of valid fills into the ITLB originating from the LS Page-Table Walker. Tablewalk requests are issued for L1-ITLB and L2-ITLB misses.",
825*e6bda3ffSRobert Mustacchi	"units": [ {
826*e6bda3ffSRobert Mustacchi		"name": "Coalesced4K",
827*e6bda3ffSRobert Mustacchi		"bit": 3,
828*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
829*e6bda3ffSRobert Mustacchi		"description": "Walk for >4-K Coalesced page."
830*e6bda3ffSRobert Mustacchi	}, {
831*e6bda3ffSRobert Mustacchi		"name": "IF1G",
832*e6bda3ffSRobert Mustacchi		"bit": 2,
833*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
834*e6bda3ffSRobert Mustacchi		"description": "Walk for 1-G page."
835*e6bda3ffSRobert Mustacchi	}, {
836*e6bda3ffSRobert Mustacchi		"name": "IF2M",
837*e6bda3ffSRobert Mustacchi		"bit": 1,
838*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
839*e6bda3ffSRobert Mustacchi		"description": "Walk for 2-M page."
840*e6bda3ffSRobert Mustacchi	}, {
841*e6bda3ffSRobert Mustacchi		"name": "IF4K",
842*e6bda3ffSRobert Mustacchi		"bit": 0,
843*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
844*e6bda3ffSRobert Mustacchi		"description": "Walk to 4-K page."
845*e6bda3ffSRobert Mustacchi	} ]
846*e6bda3ffSRobert Mustacchi},
847*e6bda3ffSRobert Mustacchi{
848*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::BpL2BTBCorrect",
849*e6bda3ffSRobert Mustacchi	"name": "BpL2BTBCorrect",
850*e6bda3ffSRobert Mustacchi	"code" : "0x08B",
851*e6bda3ffSRobert Mustacchi	"summary": "L2 Branch Prediction Overrides Existing Prediction (speculative)"
852*e6bda3ffSRobert Mustacchi},
853*e6bda3ffSRobert Mustacchi{
854*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::BpDynIndPred",
855*e6bda3ffSRobert Mustacchi	"name": "BpDynIndPred",
856*e6bda3ffSRobert Mustacchi	"code": "0x08E",
857*e6bda3ffSRobert Mustacchi	"summary": "Dynamic Indirect Predictions",
858*e6bda3ffSRobert Mustacchi	"description": "The number of times a branch used the indirect predictor to make a prediction."
859*e6bda3ffSRobert Mustacchi},
860*e6bda3ffSRobert Mustacchi{
861*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::BpDeReDirect",
862*e6bda3ffSRobert Mustacchi	"name": "BpDeReDirect",
863*e6bda3ffSRobert Mustacchi	"code": "0x091",
864*e6bda3ffSRobert Mustacchi	"summary": "Decode Redirects",
865*e6bda3ffSRobert Mustacchi	"description": "The number of times the instruction decoder overrides the predicted target."
866*e6bda3ffSRobert Mustacchi},
867*e6bda3ffSRobert Mustacchi{
868*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::BpL1TlbFetchHit",
869*e6bda3ffSRobert Mustacchi	"name": "BpL1TlbFetchHit",
870*e6bda3ffSRobert Mustacchi	"code": "0x094",
871*e6bda3ffSRobert Mustacchi	"summary": "L1 TLB Hits for Instruction Fetch",
872*e6bda3ffSRobert Mustacchi	"description": "The number of instruction fetches that hit in the L1 ITLB.",
873*e6bda3ffSRobert Mustacchi	"units": [ {
874*e6bda3ffSRobert Mustacchi		"name": "IF1G",
875*e6bda3ffSRobert Mustacchi		"bit": 2,
876*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
877*e6bda3ffSRobert Mustacchi		"description": "L1 Instruction TLB hit (1-G page size)."
878*e6bda3ffSRobert Mustacchi	}, {
879*e6bda3ffSRobert Mustacchi		"name": "IF2M",
880*e6bda3ffSRobert Mustacchi		"bit": 1,
881*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
882*e6bda3ffSRobert Mustacchi		"description": "L1 Instruction TLB hit (2-M page size)."
883*e6bda3ffSRobert Mustacchi	}, {
884*e6bda3ffSRobert Mustacchi		"name": "IF4K",
885*e6bda3ffSRobert Mustacchi		"bit": 0,
886*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
887*e6bda3ffSRobert Mustacchi		"description": "L1 Instruction TLB hit (4-K or 16-K page size)."
888*e6bda3ffSRobert Mustacchi	} ]
889*e6bda3ffSRobert Mustacchi},
890*e6bda3ffSRobert Mustacchi{
891*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ResyncsOrNcRedirects",
892*e6bda3ffSRobert Mustacchi	"name": "ResyncsOrNcRedirects",
893*e6bda3ffSRobert Mustacchi	"code": "0x096",
894*e6bda3ffSRobert Mustacchi	"summary": "Resyncs",
895*e6bda3ffSRobert Mustacchi	"description": "Counts the number of HW resyncs (pipeline restarts) or NC redirects. NC redirects occur when the front-end transitions to fetching from UC (un-cacheable) memory."
896*e6bda3ffSRobert Mustacchi},
897*e6bda3ffSRobert Mustacchi{
898*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::IcTagHitMiss",
899*e6bda3ffSRobert Mustacchi	"name": "IcTagHitMiss",
900*e6bda3ffSRobert Mustacchi	"code": "0x18E",
901*e6bda3ffSRobert Mustacchi	"summary": "IC Tag Hit/Miss Events",
902*e6bda3ffSRobert Mustacchi	"description": "Counts various IC tag related hit and miss events.",
903*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
904*e6bda3ffSRobert Mustacchi	"units": [ {
905*e6bda3ffSRobert Mustacchi		"name": "IcAccessTypes",
906*e6bda3ffSRobert Mustacchi		"bit-range": "4:0",
907*e6bda3ffSRobert Mustacchi		"rw": "read-write",
908*e6bda3ffSRobert Mustacchi		"values": [
909*e6bda3ffSRobert Mustacchi			{ "value": "0x07", "description": "Instruction Cache Hit." },
910*e6bda3ffSRobert Mustacchi			{ "value": "0x18", "description": "Instruction Cache Miss." },
911*e6bda3ffSRobert Mustacchi			{ "value": "0x1F", "description": "All Instruction Cache Accesses." }
912*e6bda3ffSRobert Mustacchi		]
913*e6bda3ffSRobert Mustacchi	} ]
914*e6bda3ffSRobert Mustacchi},
915*e6bda3ffSRobert Mustacchi{
916*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::OpCacheHitMiss",
917*e6bda3ffSRobert Mustacchi	"name": "OpCacheHitMiss",
918*e6bda3ffSRobert Mustacchi	"code": "0x28F",
919*e6bda3ffSRobert Mustacchi	"summary": "Op Cache Hit/Miss",
920*e6bda3ffSRobert Mustacchi	"description": "Counts Op Cache micro-tag hit/miss events.",
921*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
922*e6bda3ffSRobert Mustacchi	"units": [ {
923*e6bda3ffSRobert Mustacchi		"name": "OpCacheAccesses",
924*e6bda3ffSRobert Mustacchi		"bit-range": "2:0",
925*e6bda3ffSRobert Mustacchi		"rw": "read-write",
926*e6bda3ffSRobert Mustacchi		"values": [
927*e6bda3ffSRobert Mustacchi			{ "value": "0x3", "description": "Op Cache Hit." },
928*e6bda3ffSRobert Mustacchi			{ "value": "0x4", "description": "Op Cache Miss." },
929*e6bda3ffSRobert Mustacchi			{ "value": "0x7", "description": "All Op Cache accesses." }
930*e6bda3ffSRobert Mustacchi		] }
931*e6bda3ffSRobert Mustacchi	]
932*e6bda3ffSRobert Mustacchi},
933*e6bda3ffSRobert Mustacchi{
934*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeOpQueueEmpty",
935*e6bda3ffSRobert Mustacchi	"name": "DeOpQueueEmpty",
936*e6bda3ffSRobert Mustacchi	"code": "0x0A9",
937*e6bda3ffSRobert Mustacchi	"summary": "Op Queue Empty",
938*e6bda3ffSRobert Mustacchi	"description": "Cycles where the Op Queue is empty."
939*e6bda3ffSRobert Mustacchi},
940*e6bda3ffSRobert Mustacchi{
941*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeSrcOpDisp",
942*e6bda3ffSRobert Mustacchi	"name": "DeSrcOpDisp",
943*e6bda3ffSRobert Mustacchi	"code": "0x0AA",
944*e6bda3ffSRobert Mustacchi	"summary": "Source of Op Dispatched From Decoder",
945*e6bda3ffSRobert Mustacchi	"description": "Counts the number of ops dispatched from the decoder classified by op source.",
946*e6bda3ffSRobert Mustacchi	"units": [ {
947*e6bda3ffSRobert Mustacchi		"name": "LoopBuffer",
948*e6bda3ffSRobert Mustacchi		"bit": 2,
949*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
950*e6bda3ffSRobert Mustacchi		"description": "Count of ops dispatched from Loop Buffer."
951*e6bda3ffSRobert Mustacchi	}, {
952*e6bda3ffSRobert Mustacchi		"name": "OpCache",
953*e6bda3ffSRobert Mustacchi		"bit": 1,
954*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
955*e6bda3ffSRobert Mustacchi		"description": "Count of ops fetched from Op Cache and dispatched."
956*e6bda3ffSRobert Mustacchi	}, {
957*e6bda3ffSRobert Mustacchi		"name": "Decoder",
958*e6bda3ffSRobert Mustacchi		"bit": 0,
959*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
960*e6bda3ffSRobert Mustacchi		"description": "Count of ops fetched from Instruction Cache and dispatched."
961*e6bda3ffSRobert Mustacchi	} ]
962*e6bda3ffSRobert Mustacchi},
963*e6bda3ffSRobert Mustacchi{
964*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeDisOpsFromDecoder",
965*e6bda3ffSRobert Mustacchi	"name": "DeDisOpsFromDecoder",
966*e6bda3ffSRobert Mustacchi	"code": "0x0AB",
967*e6bda3ffSRobert Mustacchi	"summary": "Types of Ops Dispatched From Decoder",
968*e6bda3ffSRobert Mustacchi	"description": "Counts the number of ops dispatched from the decoder classified by op type. The UnitMask value encodes which types of ops are counted.",
969*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
970*e6bda3ffSRobert Mustacchi	"units": [ {
971*e6bda3ffSRobert Mustacchi		"name": "DispOpType",
972*e6bda3ffSRobert Mustacchi		"bit-range": "4:0",
973*e6bda3ffSRobert Mustacchi		"rw": "read-write",
974*e6bda3ffSRobert Mustacchi		"values": [
975*e6bda3ffSRobert Mustacchi			{ "value": "0x04", "description": "Any FP dispatch." },
976*e6bda3ffSRobert Mustacchi			{ "value": "0x08", "description": "Any Integer dispatch." }
977*e6bda3ffSRobert Mustacchi		]
978*e6bda3ffSRobert Mustacchi	} ]
979*e6bda3ffSRobert Mustacchi},
980*e6bda3ffSRobert Mustacchi{
981*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeDisDispatchTokenStalls1",
982*e6bda3ffSRobert Mustacchi	"name": "DeDisDispatchTokenStalls1",
983*e6bda3ffSRobert Mustacchi	"code": "0x0AE",
984*e6bda3ffSRobert Mustacchi	"summary": "Dispatch Resource Stall Cycles 1",
985*e6bda3ffSRobert Mustacchi	"description": "Cycles where a dispatch group is valid but does not get dispatched due to a Token Stall. UnitMask bits select the stall types included in the count.",
986*e6bda3ffSRobert Mustacchi	"units": [ {
987*e6bda3ffSRobert Mustacchi		"name": "FpFlushRecoveryStall",
988*e6bda3ffSRobert Mustacchi		"bit": 7,
989*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
990*e6bda3ffSRobert Mustacchi		"description": "Counts FP Flush Recovery stall cycles."
991*e6bda3ffSRobert Mustacchi	}, {
992*e6bda3ffSRobert Mustacchi		"name": "FPSchRsrcStall",
993*e6bda3ffSRobert Mustacchi		"bit": 6,
994*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
995*e6bda3ffSRobert Mustacchi		"description": "Counts FP Scheduler token stall cycles."
996*e6bda3ffSRobert Mustacchi	}, {
997*e6bda3ffSRobert Mustacchi		"name": "FpRegFileRsrcStall",
998*e6bda3ffSRobert Mustacchi		"bit": 5,
999*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1000*e6bda3ffSRobert Mustacchi		"description": "Counts FP Register File token stall cycles. This applies to all ops that have an FP or SIMD destination register."
1001*e6bda3ffSRobert Mustacchi	}, {
1002*e6bda3ffSRobert Mustacchi		"name": "TakenBrnchBufferRsrc",
1003*e6bda3ffSRobert Mustacchi		"bit": 4,
1004*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1005*e6bda3ffSRobert Mustacchi		"description": "Counts Taken Branch Buffer token stall cycles."
1006*e6bda3ffSRobert Mustacchi	}, {
1007*e6bda3ffSRobert Mustacchi		"name": "StoreQueueRsrcStall",
1008*e6bda3ffSRobert Mustacchi		"bit": 2,
1009*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1010*e6bda3ffSRobert Mustacchi		"description": "Store Queue resource stall. Counts Store Queue token stall cycles."
1011*e6bda3ffSRobert Mustacchi	}, {
1012*e6bda3ffSRobert Mustacchi		"name": "LoadQueueRsrcStall",
1013*e6bda3ffSRobert Mustacchi		"bit": 1,
1014*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1015*e6bda3ffSRobert Mustacchi		"description": "Load Queue resource stall. Counts Load Queue token stall cycles."
1016*e6bda3ffSRobert Mustacchi	}, {
1017*e6bda3ffSRobert Mustacchi		"name": "IntPhyRegFileRsrcStall",
1018*e6bda3ffSRobert Mustacchi		"bit": 0,
1019*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1020*e6bda3ffSRobert Mustacchi		"description": "Integer Physical Register File resource stall. Counts Integer PRF token stall cycles. This applies to all ops that have an integer destination register."
1021*e6bda3ffSRobert Mustacchi	} ]
1022*e6bda3ffSRobert Mustacchi},
1023*e6bda3ffSRobert Mustacchi{
1024*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeDisDispatchTokenStalls2",
1025*e6bda3ffSRobert Mustacchi	"name": "DeDisDispatchTokenStalls2",
1026*e6bda3ffSRobert Mustacchi	"code": "0x0AF",
1027*e6bda3ffSRobert Mustacchi	"summary": "Dynamic Tokens Dispatch Stall Cycles 2",
1028*e6bda3ffSRobert Mustacchi	"description": "Cycles where a dispatch group is valid but does not get dispatched due to a token stall. UnitMask bits select the stall types included in the count.",
1029*e6bda3ffSRobert Mustacchi	"units": [ {
1030*e6bda3ffSRobert Mustacchi		"name": "RetireTokenStall",
1031*e6bda3ffSRobert Mustacchi		"bit": 5,
1032*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1033*e6bda3ffSRobert Mustacchi		"description": "Counts Retire Queue token stall cycles."
1034*e6bda3ffSRobert Mustacchi	}, {
1035*e6bda3ffSRobert Mustacchi		"name": "IntSch3TokenStall",
1036*e6bda3ffSRobert Mustacchi		"bit": 3,
1037*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1038*e6bda3ffSRobert Mustacchi		"description": "Counts Integer Scheduler Queue 3 token stall cycles."
1039*e6bda3ffSRobert Mustacchi	}, {
1040*e6bda3ffSRobert Mustacchi		"name": "IntSch2TokenStall",
1041*e6bda3ffSRobert Mustacchi		"bit": 2,
1042*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1043*e6bda3ffSRobert Mustacchi		"description": "Counts Integer Scheduler Queue 2 token stall cycles."
1044*e6bda3ffSRobert Mustacchi	}, {
1045*e6bda3ffSRobert Mustacchi		"name": "IntSch1TokenStall",
1046*e6bda3ffSRobert Mustacchi		"bit": 1,
1047*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1048*e6bda3ffSRobert Mustacchi		"description": "Counts Integer Scheduler Queue 1 token stall cycles."
1049*e6bda3ffSRobert Mustacchi	}, {
1050*e6bda3ffSRobert Mustacchi		"name": "IntSch0TokenStall",
1051*e6bda3ffSRobert Mustacchi		"bit": 0,
1052*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1053*e6bda3ffSRobert Mustacchi		"description": "Counts Integer Scheduler Queue 0 token stall cycles."
1054*e6bda3ffSRobert Mustacchi	} ]
1055*e6bda3ffSRobert Mustacchi},
1056*e6bda3ffSRobert Mustacchi{
1057*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeNoDispatchPerSlot",
1058*e6bda3ffSRobert Mustacchi	"name": "DeNoDispatchPerSlot",
1059*e6bda3ffSRobert Mustacchi	"code": "0x1A0",
1060*e6bda3ffSRobert Mustacchi	"summary": "Dispatch Stalls Per Slot",
1061*e6bda3ffSRobert Mustacchi	"description": "Counts the number of dispatch slots (each cycle) that remained unused for reasons selected by StallReason.",
1062*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
1063*e6bda3ffSRobert Mustacchi	"units": [ {
1064*e6bda3ffSRobert Mustacchi		"name": "StallReason",
1065*e6bda3ffSRobert Mustacchi		"bit-range": "7:0",
1066*e6bda3ffSRobert Mustacchi		"rw": "read-write",
1067*e6bda3ffSRobert Mustacchi		"values": [
1068*e6bda3ffSRobert Mustacchi			{ "value": "0x01", "description": "Counts dispatch slots left empty because the front-end did not supply ops." },
1069*e6bda3ffSRobert Mustacchi			{ "value": "0x1E", "description": "Counts ops unable to dispatch due to back-end stalls." },
1070*e6bda3ffSRobert Mustacchi			{ "value": "0x60", "description": "Counts ops unable to dispatch because the dispatch cycle was granted to the other SMT thread." }
1071*e6bda3ffSRobert Mustacchi		]
1072*e6bda3ffSRobert Mustacchi	} ]
1073*e6bda3ffSRobert Mustacchi},
1074*e6bda3ffSRobert Mustacchi{
1075*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::DeAdditionalResourceStalls",
1076*e6bda3ffSRobert Mustacchi	"name": "DeAdditionalResourceStalls",
1077*e6bda3ffSRobert Mustacchi	"code": "0x1A2",
1078*e6bda3ffSRobert Mustacchi	"summary": "Dispatch Additional Resource Stalls",
1079*e6bda3ffSRobert Mustacchi	"description": "This PMC event counts additional resource stalls that are not captured by Core::X86::Pmc::Core::DeDisDispatchTokenStalls1 or Core::X86::Pmc::Core::DeDisDispatchTokenStalls2.",
1080*e6bda3ffSRobert Mustacchi	"unit_mode": "value",
1081*e6bda3ffSRobert Mustacchi	"units": [ {
1082*e6bda3ffSRobert Mustacchi		"name": "Stall",
1083*e6bda3ffSRobert Mustacchi		"bit-range": "7:0",
1084*e6bda3ffSRobert Mustacchi		"rw": "read-write",
1085*e6bda3ffSRobert Mustacchi		"values": [
1086*e6bda3ffSRobert Mustacchi			{ "value": "0x30", "description": "Counts additional cycles dispatch is stalled due to the lack of dispatch resources" }
1087*e6bda3ffSRobert Mustacchi		]
1088*e6bda3ffSRobert Mustacchi	} ]
1089*e6bda3ffSRobert Mustacchi},
1090*e6bda3ffSRobert Mustacchi{
1091*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetInstr",
1092*e6bda3ffSRobert Mustacchi	"name": "ExRetInstr",
1093*e6bda3ffSRobert Mustacchi	"code": "0x0C0",
1094*e6bda3ffSRobert Mustacchi	"summary": "Retired Instructions",
1095*e6bda3ffSRobert Mustacchi	"description": "The number of instructions retired."
1096*e6bda3ffSRobert Mustacchi},
1097*e6bda3ffSRobert Mustacchi{
1098*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetOps",
1099*e6bda3ffSRobert Mustacchi	"name": "ExRetOps",
1100*e6bda3ffSRobert Mustacchi	"code": "0x0C1",
1101*e6bda3ffSRobert Mustacchi	"summary": "Retired Ops",
1102*e6bda3ffSRobert Mustacchi	"description": "The number of macro-ops retired."
1103*e6bda3ffSRobert Mustacchi},
1104*e6bda3ffSRobert Mustacchi{
1105*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetBrn",
1106*e6bda3ffSRobert Mustacchi	"name": "ExRetBrn",
1107*e6bda3ffSRobert Mustacchi	"code": "0x0C2",
1108*e6bda3ffSRobert Mustacchi	"summary": "Retired Branch Instructions",
1109*e6bda3ffSRobert Mustacchi	"description": "The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts."
1110*e6bda3ffSRobert Mustacchi},
1111*e6bda3ffSRobert Mustacchi{
1112*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetBrnMisp",
1113*e6bda3ffSRobert Mustacchi	"name": "ExRetBrnMisp",
1114*e6bda3ffSRobert Mustacchi	"code": "0x0C3",
1115*e6bda3ffSRobert Mustacchi	"summary": "Retired Branch Instructions Mispredicted",
1116*e6bda3ffSRobert Mustacchi	"description": "The number of retired branch instructions, that were mispredicted."
1117*e6bda3ffSRobert Mustacchi},
1118*e6bda3ffSRobert Mustacchi{
1119*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetBrnTkn",
1120*e6bda3ffSRobert Mustacchi	"name": "ExRetBrnTkn",
1121*e6bda3ffSRobert Mustacchi	"code": "0x0C4",
1122*e6bda3ffSRobert Mustacchi	"summary": "Retired Taken Branch Instructions",
1123*e6bda3ffSRobert Mustacchi	"description": "The number of taken branches that were retired. This includes all types of architectural control flow changes, including exceptions and interrupts."
1124*e6bda3ffSRobert Mustacchi},
1125*e6bda3ffSRobert Mustacchi{
1126*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetBrnTknMisp",
1127*e6bda3ffSRobert Mustacchi	"name": "ExRetBrnTknMisp",
1128*e6bda3ffSRobert Mustacchi	"code": "0x0C5",
1129*e6bda3ffSRobert Mustacchi	"summary": "Retired Taken Branch Instructions Mispredicted",
1130*e6bda3ffSRobert Mustacchi	"description": "The number of retired taken branch instructions that were mispredicted."
1131*e6bda3ffSRobert Mustacchi},
1132*e6bda3ffSRobert Mustacchi{
1133*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetBrnFar",
1134*e6bda3ffSRobert Mustacchi	"name": "ExRetBrnFar",
1135*e6bda3ffSRobert Mustacchi	"code": "0x0C6",
1136*e6bda3ffSRobert Mustacchi	"summary": "Retired Far Control Transfers",
1137*e6bda3ffSRobert Mustacchi	"description": "The number of far control transfers retired including far call/jump/return, IRET, SYSCALL and SYSRET, plus exceptions and interrupts. Far control transfers are not subject to branch prediction."
1138*e6bda3ffSRobert Mustacchi},
1139*e6bda3ffSRobert Mustacchi{
1140*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetNearRet",
1141*e6bda3ffSRobert Mustacchi	"name": "ExRetNearRet",
1142*e6bda3ffSRobert Mustacchi	"code": "0x0C8",
1143*e6bda3ffSRobert Mustacchi	"summary": "Retired Near Returns",
1144*e6bda3ffSRobert Mustacchi	"description": "The number of near return instructions (RET or RET Iw) retired."
1145*e6bda3ffSRobert Mustacchi},
1146*e6bda3ffSRobert Mustacchi{
1147*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetNearRetMispred",
1148*e6bda3ffSRobert Mustacchi	"name": "ExRetNearRetMispred",
1149*e6bda3ffSRobert Mustacchi	"code": "0x0C9",
1150*e6bda3ffSRobert Mustacchi	"summary": "Retired Near Returns Mispredicted",
1151*e6bda3ffSRobert Mustacchi	"description": "The number of near returns retired that were not correctly predicted by the return address predictor. Each such mispredict incurs the same penalty as a mispredicted conditional branch instruction."
1152*e6bda3ffSRobert Mustacchi},
1153*e6bda3ffSRobert Mustacchi{
1154*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetBrnIndMisp",
1155*e6bda3ffSRobert Mustacchi	"name": "ExRetBrnIndMisp",
1156*e6bda3ffSRobert Mustacchi	"code": "0x0CA",
1157*e6bda3ffSRobert Mustacchi	"summary": "Retired Indirect Branch Instructions Mispredicted",
1158*e6bda3ffSRobert Mustacchi	"description": "The number of indirect branches retired that were not correctly predicted. Each such mispredict incurs the same penalty as a mispredicted conditional branch instruction. Note that only EX mispredicts are counted."
1159*e6bda3ffSRobert Mustacchi},
1160*e6bda3ffSRobert Mustacchi{
1161*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetMmxFpInstr",
1162*e6bda3ffSRobert Mustacchi	"name": "ExRetMmxFpInstr",
1163*e6bda3ffSRobert Mustacchi	"code": "0x0CB",
1164*e6bda3ffSRobert Mustacchi	"summary": "Retired MMX/FP Instructions",
1165*e6bda3ffSRobert Mustacchi	"description": "The number of MMX, SSE or x87 instructions retired. The UnitMask allows the selection of the individual classes of instructions as given in the table. Each increment represents one complete instruction. Since this event includes non- numeric instructions it is not suitable for measuring MFLOPs.",
1166*e6bda3ffSRobert Mustacchi	"units": [ {
1167*e6bda3ffSRobert Mustacchi		"name": "SseInstr",
1168*e6bda3ffSRobert Mustacchi		"bit": 2,
1169*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1170*e6bda3ffSRobert Mustacchi		"description": "SSE instructions (SSE, SSE2, SSE3, SSSE3, SSE4A, SSE41, SSE42, AVX)."
1171*e6bda3ffSRobert Mustacchi	}, {
1172*e6bda3ffSRobert Mustacchi		"name": "MmxInstr",
1173*e6bda3ffSRobert Mustacchi		"bit": 1,
1174*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1175*e6bda3ffSRobert Mustacchi		"description": "MMX instructions."
1176*e6bda3ffSRobert Mustacchi	}, {
1177*e6bda3ffSRobert Mustacchi		"name": "X87Instr",
1178*e6bda3ffSRobert Mustacchi		"bit": 0,
1179*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1180*e6bda3ffSRobert Mustacchi		"description": "x87 instructions. "
1181*e6bda3ffSRobert Mustacchi	} ]
1182*e6bda3ffSRobert Mustacchi},
1183*e6bda3ffSRobert Mustacchi{
1184*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetIndBrchInstr",
1185*e6bda3ffSRobert Mustacchi	"name": "ExRetIndBrchInstr",
1186*e6bda3ffSRobert Mustacchi	"code": "0x0CC",
1187*e6bda3ffSRobert Mustacchi	"summary": "Retired Indirect Branch Instructions",
1188*e6bda3ffSRobert Mustacchi	"description": "The number of indirect branches retired."
1189*e6bda3ffSRobert Mustacchi},
1190*e6bda3ffSRobert Mustacchi{
1191*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetCond",
1192*e6bda3ffSRobert Mustacchi	"name": "ExRetCond",
1193*e6bda3ffSRobert Mustacchi	"code": "0x0D1",
1194*e6bda3ffSRobert Mustacchi	"summary": "Retired Conditional Branch Instructions"
1195*e6bda3ffSRobert Mustacchi},
1196*e6bda3ffSRobert Mustacchi{
1197*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExDivBusy",
1198*e6bda3ffSRobert Mustacchi	"name": "ExDivBusy",
1199*e6bda3ffSRobert Mustacchi	"code": "0x0D3",
1200*e6bda3ffSRobert Mustacchi	"summary": "Div Cycles Busy count"
1201*e6bda3ffSRobert Mustacchi},
1202*e6bda3ffSRobert Mustacchi{
1203*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExDivCount",
1204*e6bda3ffSRobert Mustacchi	"name": "ExDivCount",
1205*e6bda3ffSRobert Mustacchi	"code": "0x0D4",
1206*e6bda3ffSRobert Mustacchi	"summary": "Div Op Count"
1207*e6bda3ffSRobert Mustacchi},
1208*e6bda3ffSRobert Mustacchi{
1209*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExNoRetire",
1210*e6bda3ffSRobert Mustacchi	"name": "ExNoRetire",
1211*e6bda3ffSRobert Mustacchi	"code": "0x0D6",
1212*e6bda3ffSRobert Mustacchi	"summary": "Cycles With No Retire",
1213*e6bda3ffSRobert Mustacchi	"description": "This event counts cycles when the hardware thread does not retire any ops for reasons selected by UnitMask[4:0].  UnitMask events [4:0] are mutually exclusive. If multiple reasons apply for a given cycle, the lowest numbered UnitMask event is counted.",
1214*e6bda3ffSRobert Mustacchi	"unit_mode": "or-value",
1215*e6bda3ffSRobert Mustacchi	"units": [ {
1216*e6bda3ffSRobert Mustacchi		"name": "CompletionFilter",
1217*e6bda3ffSRobert Mustacchi		"bit-range": "7:5",
1218*e6bda3ffSRobert Mustacchi		"rw": "read-write",
1219*e6bda3ffSRobert Mustacchi		"values": [
1220*e6bda3ffSRobert Mustacchi			{ "value": "0x0", "description": "Load and ALU completion is considered for UnitMask[1]:NotComplete events." },
1221*e6bda3ffSRobert Mustacchi			{ "value": "0x5", "description": "Only missing load completion is considered for UnitMask[1]:NotComplete events." }
1222*e6bda3ffSRobert Mustacchi		]
1223*e6bda3ffSRobert Mustacchi	}, {
1224*e6bda3ffSRobert Mustacchi		"name": "ThreadNotSelected",
1225*e6bda3ffSRobert Mustacchi		"bit": 4,
1226*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1227*e6bda3ffSRobert Mustacchi		"description": "The number cycles where ops could have retired (i.e. did not fall into UnitMask events [0]...[3]). but did not retire because thread arbitration did not select the thread for retire."
1228*e6bda3ffSRobert Mustacchi	}, {
1229*e6bda3ffSRobert Mustacchi		"name": "Other",
1230*e6bda3ffSRobert Mustacchi		"bit": 3,
1231*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1232*e6bda3ffSRobert Mustacchi		"description": "The number of cycles where ops could have retired (self and older ops are complete), but were stopped from retirement for other reasons: retire breaks, traps, faults, etc."
1233*e6bda3ffSRobert Mustacchi	}, {
1234*e6bda3ffSRobert Mustacchi		"name": "NotComplete",
1235*e6bda3ffSRobert Mustacchi		"bit": 1,
1236*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1237*e6bda3ffSRobert Mustacchi		"description": "The number of cycles where the oldest retire slot did not have its completion bits set."
1238*e6bda3ffSRobert Mustacchi	}, {
1239*e6bda3ffSRobert Mustacchi		"name": "Empty",
1240*e6bda3ffSRobert Mustacchi		"bit": 0,
1241*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1242*e6bda3ffSRobert Mustacchi		"description": "The number of cycles when there were no valid ops in the retire queue. This may be caused by front-end bottlenecks or pipeline redirects."
1243*e6bda3ffSRobert Mustacchi	} ]
1244*e6bda3ffSRobert Mustacchi},
1245*e6bda3ffSRobert Mustacchi{
1246*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetUcodeInstr",
1247*e6bda3ffSRobert Mustacchi	"name": "ExRetUcodeInstr",
1248*e6bda3ffSRobert Mustacchi	"code": "0x1C1",
1249*e6bda3ffSRobert Mustacchi	"summary": "Retired Microcoded Instructions",
1250*e6bda3ffSRobert Mustacchi	"description": "Retired Microcoded Instructions."
1251*e6bda3ffSRobert Mustacchi},
1252*e6bda3ffSRobert Mustacchi{
1253*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetUcodeOps",
1254*e6bda3ffSRobert Mustacchi	"name": "ExRetUcodeOps",
1255*e6bda3ffSRobert Mustacchi	"code": "0x1C2",
1256*e6bda3ffSRobert Mustacchi	"summary": "Retired Microcode Ops",
1257*e6bda3ffSRobert Mustacchi	"description": "The number of microcode ops that have retired."
1258*e6bda3ffSRobert Mustacchi},
1259*e6bda3ffSRobert Mustacchi{
1260*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetMsprdBrnchInstrDirMsmtch",
1261*e6bda3ffSRobert Mustacchi	"name": "ExRetMsprdBrnchInstrDirMsmtch",
1262*e6bda3ffSRobert Mustacchi	"code": "0x1C7",
1263*e6bda3ffSRobert Mustacchi	"summary": "Retired Mispredicted Branch Instructions due to Direction Mismatch",
1264*e6bda3ffSRobert Mustacchi	"description": "The number of retired conditional branch instructions that were not correctly predicted because of a branch direction mismatch."
1265*e6bda3ffSRobert Mustacchi},
1266*e6bda3ffSRobert Mustacchi{
1267*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetUncondBrnchInstrMispred",
1268*e6bda3ffSRobert Mustacchi	"name": "ExRetUncondBrnchInstrMispred",
1269*e6bda3ffSRobert Mustacchi	"code": "0x1C8",
1270*e6bda3ffSRobert Mustacchi	"summary": "Retired Unconditional Indirect Branch Instructions Mispredicted",
1271*e6bda3ffSRobert Mustacchi	"description": "The number of retired unconditional indirect branch instructions that were mispredicted."
1272*e6bda3ffSRobert Mustacchi},
1273*e6bda3ffSRobert Mustacchi{
1274*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetUncondBrnchInstr",
1275*e6bda3ffSRobert Mustacchi	"name": "ExRetUncondBrnchInstr",
1276*e6bda3ffSRobert Mustacchi	"code": "0x1C9",
1277*e6bda3ffSRobert Mustacchi	"summary": "Retired Unconditional Branch Instructions",
1278*e6bda3ffSRobert Mustacchi	"description": "The number of retired unconditional branch instructions."
1279*e6bda3ffSRobert Mustacchi},
1280*e6bda3ffSRobert Mustacchi{
1281*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExTaggedIbsOps",
1282*e6bda3ffSRobert Mustacchi	"name": "ExTaggedIbsOps",
1283*e6bda3ffSRobert Mustacchi	"code": "0x1CF",
1284*e6bda3ffSRobert Mustacchi	"summary": "Tagged IBS Ops",
1285*e6bda3ffSRobert Mustacchi	"description": "Counts Op IBS related events.",
1286*e6bda3ffSRobert Mustacchi	"units": [ {
1287*e6bda3ffSRobert Mustacchi		"name": "IbsCountRollover",
1288*e6bda3ffSRobert Mustacchi		"bit": 2,
1289*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1290*e6bda3ffSRobert Mustacchi		"description": "Number of times an op could not be tagged by IBS because of a previous tagged op that has not retired."
1291*e6bda3ffSRobert Mustacchi	}, {
1292*e6bda3ffSRobert Mustacchi		"name": "IbsTaggedOpsRet",
1293*e6bda3ffSRobert Mustacchi		"bit": 1,
1294*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1295*e6bda3ffSRobert Mustacchi		"description": "Number of Ops tagged by IBS that retired."
1296*e6bda3ffSRobert Mustacchi	}, {
1297*e6bda3ffSRobert Mustacchi		"name": "IbsTaggedOps",
1298*e6bda3ffSRobert Mustacchi		"bit": 0,
1299*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1300*e6bda3ffSRobert Mustacchi		"description": "Number of Ops tagged by IBS."
1301*e6bda3ffSRobert Mustacchi	} ]
1302*e6bda3ffSRobert Mustacchi},
1303*e6bda3ffSRobert Mustacchi{
1304*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::Core::ExRetFusedInstr",
1305*e6bda3ffSRobert Mustacchi	"name": "ExRetFusedInstr",
1306*e6bda3ffSRobert Mustacchi	"code": "0x1D0",
1307*e6bda3ffSRobert Mustacchi	"summary": "Retired Fused Instructions",
1308*e6bda3ffSRobert Mustacchi	"description": "Counts retired fused instructions."
1309*e6bda3ffSRobert Mustacchi},
1310*e6bda3ffSRobert Mustacchi{
1311*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::L2::L2RequestG1",
1312*e6bda3ffSRobert Mustacchi	"name": "L2RequestG1",
1313*e6bda3ffSRobert Mustacchi	"code": "0x060",
1314*e6bda3ffSRobert Mustacchi	"summary": "Requests to L2 Group1",
1315*e6bda3ffSRobert Mustacchi	"description": "All L2 Cache Requests (Breakdown 1 - Common)",
1316*e6bda3ffSRobert Mustacchi	"units": [ {
1317*e6bda3ffSRobert Mustacchi		"name": "RdBlkL",
1318*e6bda3ffSRobert Mustacchi		"bit": 7,
1319*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1320*e6bda3ffSRobert Mustacchi		"description": "Data Cache Reads (including hardware and software prefetch)."
1321*e6bda3ffSRobert Mustacchi	}, {
1322*e6bda3ffSRobert Mustacchi		"name": "RdBlkX",
1323*e6bda3ffSRobert Mustacchi		"bit": 6,
1324*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1325*e6bda3ffSRobert Mustacchi		"description": "Data Cache Stores."
1326*e6bda3ffSRobert Mustacchi	}, {
1327*e6bda3ffSRobert Mustacchi		"name": "LsRdBlkC_S",
1328*e6bda3ffSRobert Mustacchi		"bit": 5,
1329*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1330*e6bda3ffSRobert Mustacchi		"description": "Data Cache Shared Reads."
1331*e6bda3ffSRobert Mustacchi	}, {
1332*e6bda3ffSRobert Mustacchi		"name": "CacheableIcRead",
1333*e6bda3ffSRobert Mustacchi		"bit": 4,
1334*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1335*e6bda3ffSRobert Mustacchi		"description": "Instruction Cache Reads."
1336*e6bda3ffSRobert Mustacchi	}, {
1337*e6bda3ffSRobert Mustacchi		"name": "ChangeToX",
1338*e6bda3ffSRobert Mustacchi		"bit": 3,
1339*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1340*e6bda3ffSRobert Mustacchi		"description": "Data Cache State Change Requests. Request change to writable, check L2 for current state."
1341*e6bda3ffSRobert Mustacchi	}, {
1342*e6bda3ffSRobert Mustacchi		"name": "PrefetchL2Cmd",
1343*e6bda3ffSRobert Mustacchi		"bit": 2,
1344*e6bda3ffSRobert Mustacchi		"rw": "Read-write"
1345*e6bda3ffSRobert Mustacchi	}, {
1346*e6bda3ffSRobert Mustacchi		"name": "L2HwPf",
1347*e6bda3ffSRobert Mustacchi		"bit": 1,
1348*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1349*e6bda3ffSRobert Mustacchi		"description": "L2 Prefetcher. All prefetches accepted by L2 pipeline, hit or miss. Types of PF and L2 hit/miss broken out in a separate perfmon event"
1350*e6bda3ffSRobert Mustacchi	}, {
1351*e6bda3ffSRobert Mustacchi		"name": "Group2. Read-write",
1352*e6bda3ffSRobert Mustacchi		"bit": 0,
1353*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1354*e6bda3ffSRobert Mustacchi		"description": "MiscRequests. Various Noncacheable requests. Non-cached Data Reads, Non- cached Instruction Reads, Self-modifying code checks."
1355*e6bda3ffSRobert Mustacchi	} ]
1356*e6bda3ffSRobert Mustacchi},
1357*e6bda3ffSRobert Mustacchi{
1358*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::L2::L2CacheReqStat",
1359*e6bda3ffSRobert Mustacchi	"name": "L2CacheReqStat",
1360*e6bda3ffSRobert Mustacchi	"code": "0x064",
1361*e6bda3ffSRobert Mustacchi	"summary": "Core to L2 Cacheable Request Access Status",
1362*e6bda3ffSRobert Mustacchi	"description": "L2 Cache Request Outcomes (not including L2 Prefetch).",
1363*e6bda3ffSRobert Mustacchi	"units": [ {
1364*e6bda3ffSRobert Mustacchi		"name": "LsRdBlkCS",
1365*e6bda3ffSRobert Mustacchi		"bit": 7,
1366*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1367*e6bda3ffSRobert Mustacchi		"description": "Data Cache Shared Read Hit in L2."
1368*e6bda3ffSRobert Mustacchi	}, {
1369*e6bda3ffSRobert Mustacchi		"name": "LsRdBlkLHitX",
1370*e6bda3ffSRobert Mustacchi		"bit": 6,
1371*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1372*e6bda3ffSRobert Mustacchi		"description": "Data Cache Read Hit in L2."
1373*e6bda3ffSRobert Mustacchi	}, {
1374*e6bda3ffSRobert Mustacchi		"name": "LsRdBlkLHitS",
1375*e6bda3ffSRobert Mustacchi		"bit": 5,
1376*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1377*e6bda3ffSRobert Mustacchi		"description": "Data Cache Read Hit Non-Modifiable Line in L2."
1378*e6bda3ffSRobert Mustacchi	}, {
1379*e6bda3ffSRobert Mustacchi		"name": "LsRdBlkX",
1380*e6bda3ffSRobert Mustacchi		"bit": 4,
1381*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1382*e6bda3ffSRobert Mustacchi		"description": "Data Cache Store or State Change Hit in L2."
1383*e6bda3ffSRobert Mustacchi	}, {
1384*e6bda3ffSRobert Mustacchi		"name": "LsRdBlkC",
1385*e6bda3ffSRobert Mustacchi		"bit": 3,
1386*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1387*e6bda3ffSRobert Mustacchi		"description": "Data Cache Req Miss in L2."
1388*e6bda3ffSRobert Mustacchi	}, {
1389*e6bda3ffSRobert Mustacchi		"name": "IcFillHitX",
1390*e6bda3ffSRobert Mustacchi		"bit": 2,
1391*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1392*e6bda3ffSRobert Mustacchi		"description": "Instruction Cache Hit Modifiable Line in L2."
1393*e6bda3ffSRobert Mustacchi	}, {
1394*e6bda3ffSRobert Mustacchi		"name": "IcFillHitS",
1395*e6bda3ffSRobert Mustacchi		"bit": 1,
1396*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1397*e6bda3ffSRobert Mustacchi		"description": "Instruction Cache Hit Non-Modifiable Line in L2."
1398*e6bda3ffSRobert Mustacchi	}, {
1399*e6bda3ffSRobert Mustacchi		"name": "IcFillMiss",
1400*e6bda3ffSRobert Mustacchi		"bit": 0,
1401*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1402*e6bda3ffSRobert Mustacchi		"description": "Instruction Cache Req Miss in L2."
1403*e6bda3ffSRobert Mustacchi	} ]
1404*e6bda3ffSRobert Mustacchi},
1405*e6bda3ffSRobert Mustacchi{
1406*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::L2::L2PfHitL2",
1407*e6bda3ffSRobert Mustacchi	"name": "L2PfHitL2",
1408*e6bda3ffSRobert Mustacchi	"code": "0x070",
1409*e6bda3ffSRobert Mustacchi	"summary": "L2 Prefetch Hit in L2",
1410*e6bda3ffSRobert Mustacchi	"description": "Counts all L2 prefetches accepted by L2 pipeline which hit in the L2 cache.",
1411*e6bda3ffSRobert Mustacchi	"units": [ {
1412*e6bda3ffSRobert Mustacchi		"name": "L1Region",
1413*e6bda3ffSRobert Mustacchi		"bit": 7,
1414*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1415*e6bda3ffSRobert Mustacchi		"description": "L1Region"
1416*e6bda3ffSRobert Mustacchi	}, {
1417*e6bda3ffSRobert Mustacchi		"name": "L1Stride",
1418*e6bda3ffSRobert Mustacchi		"bit": 6,
1419*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1420*e6bda3ffSRobert Mustacchi		"description": "L1Stride"
1421*e6bda3ffSRobert Mustacchi	}, {
1422*e6bda3ffSRobert Mustacchi		"name": "L1Stream",
1423*e6bda3ffSRobert Mustacchi		"bit": 5,
1424*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1425*e6bda3ffSRobert Mustacchi		"description": "L1Stream"
1426*e6bda3ffSRobert Mustacchi	}, {
1427*e6bda3ffSRobert Mustacchi		"name": "L2Stride",
1428*e6bda3ffSRobert Mustacchi		"bit": 4,
1429*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1430*e6bda3ffSRobert Mustacchi		"description": "L2Stride"
1431*e6bda3ffSRobert Mustacchi	}, {
1432*e6bda3ffSRobert Mustacchi		"name": "L2Burst",
1433*e6bda3ffSRobert Mustacchi		"bit": 3,
1434*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1435*e6bda3ffSRobert Mustacchi		"description": "L2Burst"
1436*e6bda3ffSRobert Mustacchi	}, {
1437*e6bda3ffSRobert Mustacchi		"name": "L2Up_Down",
1438*e6bda3ffSRobert Mustacchi		"bit": 2,
1439*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1440*e6bda3ffSRobert Mustacchi		"description": "L2 Up/Down"
1441*e6bda3ffSRobert Mustacchi	}, {
1442*e6bda3ffSRobert Mustacchi		"name": "L2NextLine",
1443*e6bda3ffSRobert Mustacchi		"bit": 1,
1444*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1445*e6bda3ffSRobert Mustacchi		"description": "L2NextLine"
1446*e6bda3ffSRobert Mustacchi	}, {
1447*e6bda3ffSRobert Mustacchi		"name": "L2Stream",
1448*e6bda3ffSRobert Mustacchi		"bit": 0,
1449*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1450*e6bda3ffSRobert Mustacchi		"description": "L2Stream"
1451*e6bda3ffSRobert Mustacchi	} ]
1452*e6bda3ffSRobert Mustacchi},
1453*e6bda3ffSRobert Mustacchi{
1454*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::L2::L2PfMissL2HitL2",
1455*e6bda3ffSRobert Mustacchi	"name": "L2PfMissL2HitL2",
1456*e6bda3ffSRobert Mustacchi	"code": "0x071",
1457*e6bda3ffSRobert Mustacchi	"summary": "L2 Prefetcher Hits in L3",
1458*e6bda3ffSRobert Mustacchi	"description": "Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 cache and hit the L3.",
1459*e6bda3ffSRobert Mustacchi	"units": [ {
1460*e6bda3ffSRobert Mustacchi		"name": "L1Region",
1461*e6bda3ffSRobert Mustacchi		"bit": 7,
1462*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1463*e6bda3ffSRobert Mustacchi		"description": "L1Region"
1464*e6bda3ffSRobert Mustacchi	}, {
1465*e6bda3ffSRobert Mustacchi		"name": "L1Stride",
1466*e6bda3ffSRobert Mustacchi		"bit": 6,
1467*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1468*e6bda3ffSRobert Mustacchi		"description": "L1Stride"
1469*e6bda3ffSRobert Mustacchi	}, {
1470*e6bda3ffSRobert Mustacchi		"name": "L1Stream",
1471*e6bda3ffSRobert Mustacchi		"bit": 5,
1472*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1473*e6bda3ffSRobert Mustacchi		"description": "L1Stream"
1474*e6bda3ffSRobert Mustacchi	}, {
1475*e6bda3ffSRobert Mustacchi		"name": "L2Stride",
1476*e6bda3ffSRobert Mustacchi		"bit": 4,
1477*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1478*e6bda3ffSRobert Mustacchi		"description": "L2Stride"
1479*e6bda3ffSRobert Mustacchi	}, {
1480*e6bda3ffSRobert Mustacchi		"name": "L2Burst",
1481*e6bda3ffSRobert Mustacchi		"bit": 3,
1482*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1483*e6bda3ffSRobert Mustacchi		"description": "L2Burst"
1484*e6bda3ffSRobert Mustacchi	}, {
1485*e6bda3ffSRobert Mustacchi		"name": "L2Up_Down",
1486*e6bda3ffSRobert Mustacchi		"bit": 2,
1487*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1488*e6bda3ffSRobert Mustacchi		"description": "L2 Up/Down"
1489*e6bda3ffSRobert Mustacchi	}, {
1490*e6bda3ffSRobert Mustacchi		"name": "L2NextLine",
1491*e6bda3ffSRobert Mustacchi		"bit": 1,
1492*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1493*e6bda3ffSRobert Mustacchi		"description": "L2NextLine"
1494*e6bda3ffSRobert Mustacchi	}, {
1495*e6bda3ffSRobert Mustacchi		"name": "L2Stream",
1496*e6bda3ffSRobert Mustacchi		"bit": 0,
1497*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1498*e6bda3ffSRobert Mustacchi		"description": "L2Stream"
1499*e6bda3ffSRobert Mustacchi	} ]
1500*e6bda3ffSRobert Mustacchi},
1501*e6bda3ffSRobert Mustacchi{
1502*e6bda3ffSRobert Mustacchi	"mnemonic": "Core::X86::Pmc::L2::L2PfMissL2L3",
1503*e6bda3ffSRobert Mustacchi	"name": "L2PfMissL2L3",
1504*e6bda3ffSRobert Mustacchi	"code": "0x072",
1505*e6bda3ffSRobert Mustacchi	"summary": "L2 Prefetcher Misses in L3",
1506*e6bda3ffSRobert Mustacchi	"description": "Counts all L2 prefetches accepted by the L2 pipeline which miss the L2 and the L3 caches",
1507*e6bda3ffSRobert Mustacchi	"units": [ {
1508*e6bda3ffSRobert Mustacchi		"name": "L1Region",
1509*e6bda3ffSRobert Mustacchi		"bit": 7,
1510*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1511*e6bda3ffSRobert Mustacchi		"description": "L1Region"
1512*e6bda3ffSRobert Mustacchi	}, {
1513*e6bda3ffSRobert Mustacchi		"name": "L1Stride",
1514*e6bda3ffSRobert Mustacchi		"bit": 6,
1515*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1516*e6bda3ffSRobert Mustacchi		"description": "L1Stride"
1517*e6bda3ffSRobert Mustacchi	}, {
1518*e6bda3ffSRobert Mustacchi		"name": "L1Stream",
1519*e6bda3ffSRobert Mustacchi		"bit": 5,
1520*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1521*e6bda3ffSRobert Mustacchi		"description": "L1Stream"
1522*e6bda3ffSRobert Mustacchi	}, {
1523*e6bda3ffSRobert Mustacchi		"name": "L2Stride",
1524*e6bda3ffSRobert Mustacchi		"bit": 4,
1525*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1526*e6bda3ffSRobert Mustacchi		"description": "L2Stride"
1527*e6bda3ffSRobert Mustacchi	}, {
1528*e6bda3ffSRobert Mustacchi		"name": "L2Burst",
1529*e6bda3ffSRobert Mustacchi		"bit": 3,
1530*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1531*e6bda3ffSRobert Mustacchi		"description": "L2Burst"
1532*e6bda3ffSRobert Mustacchi	}, {
1533*e6bda3ffSRobert Mustacchi		"name": "L2Up_Down",
1534*e6bda3ffSRobert Mustacchi		"bit": 2,
1535*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1536*e6bda3ffSRobert Mustacchi		"description": "L2 Up/Down"
1537*e6bda3ffSRobert Mustacchi	}, {
1538*e6bda3ffSRobert Mustacchi		"name": "L2NextLine",
1539*e6bda3ffSRobert Mustacchi		"bit": 1,
1540*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1541*e6bda3ffSRobert Mustacchi		"description": "L2NextLine"
1542*e6bda3ffSRobert Mustacchi	}, {
1543*e6bda3ffSRobert Mustacchi		"name": "L2Stream",
1544*e6bda3ffSRobert Mustacchi		"bit": 0,
1545*e6bda3ffSRobert Mustacchi		"rw": "Read-write",
1546*e6bda3ffSRobert Mustacchi		"description": "L2Stream"
1547*e6bda3ffSRobert Mustacchi	} ]
1548*e6bda3ffSRobert Mustacchi} ]
1549