xref: /linux/tools/perf/pmu-events/arch/x86/arrowlake/floating-point.json (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*ba56a910SIan Rogers[
2*ba56a910SIan Rogers    {
3*ba56a910SIan Rogers        "BriefDescription": "Cycles when floating-point divide unit is busy executing divide or square root operations.",
4*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
5*ba56a910SIan Rogers        "CounterMask": "1",
6*ba56a910SIan Rogers        "EventCode": "0xb0",
7*ba56a910SIan Rogers        "EventName": "ARITH.FPDIV_ACTIVE",
8*ba56a910SIan Rogers        "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for floating-point operations only.",
9*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
10*ba56a910SIan Rogers        "UMask": "0x1",
11*ba56a910SIan Rogers        "Unit": "cpu_core"
12*ba56a910SIan Rogers    },
13*ba56a910SIan Rogers    {
14*ba56a910SIan Rogers        "BriefDescription": "Counts the number of cycles when any of the floating point dividers are active.",
15*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
16*ba56a910SIan Rogers        "CounterMask": "1",
17*ba56a910SIan Rogers        "EventCode": "0xcd",
18*ba56a910SIan Rogers        "EventName": "ARITH.FPDIV_ACTIVE",
19*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
20*ba56a910SIan Rogers        "UMask": "0x2",
21*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
22*ba56a910SIan Rogers    },
23*ba56a910SIan Rogers    {
24*ba56a910SIan Rogers        "BriefDescription": "Counts all microcode FP assists.",
25*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
26*ba56a910SIan Rogers        "EventCode": "0xc1",
27*ba56a910SIan Rogers        "EventName": "ASSISTS.FP",
28*ba56a910SIan Rogers        "PublicDescription": "Counts all microcode Floating Point assists.",
29*ba56a910SIan Rogers        "SampleAfterValue": "100003",
30*ba56a910SIan Rogers        "UMask": "0x2",
31*ba56a910SIan Rogers        "Unit": "cpu_core"
32*ba56a910SIan Rogers    },
33*ba56a910SIan Rogers    {
34*ba56a910SIan Rogers        "BriefDescription": "ASSISTS.SSE_AVX_MIX",
35*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
36*ba56a910SIan Rogers        "EventCode": "0xc1",
37*ba56a910SIan Rogers        "EventName": "ASSISTS.SSE_AVX_MIX",
38*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
39*ba56a910SIan Rogers        "UMask": "0x10",
40*ba56a910SIan Rogers        "Unit": "cpu_core"
41*ba56a910SIan Rogers    },
42*ba56a910SIan Rogers    {
43*ba56a910SIan Rogers        "BriefDescription": "Number of FP-arith-uops dispatched on 1st VEC port (port 0). FP-arith-uops are of type ADD* / SUB* / MUL / FMA* / DPP.",
44*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
45*ba56a910SIan Rogers        "EventCode": "0xb3",
46*ba56a910SIan Rogers        "EventName": "FP_ARITH_DISPATCHED.V0",
47*ba56a910SIan Rogers        "SampleAfterValue": "2000003",
48*ba56a910SIan Rogers        "UMask": "0x1",
49*ba56a910SIan Rogers        "Unit": "cpu_core"
50*ba56a910SIan Rogers    },
51*ba56a910SIan Rogers    {
52*ba56a910SIan Rogers        "BriefDescription": "Number of FP-arith-uops dispatched on 2nd VEC port (port 1)",
53*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
54*ba56a910SIan Rogers        "EventCode": "0xb3",
55*ba56a910SIan Rogers        "EventName": "FP_ARITH_DISPATCHED.V1",
56*ba56a910SIan Rogers        "SampleAfterValue": "2000003",
57*ba56a910SIan Rogers        "UMask": "0x2",
58*ba56a910SIan Rogers        "Unit": "cpu_core"
59*ba56a910SIan Rogers    },
60*ba56a910SIan Rogers    {
61*ba56a910SIan Rogers        "BriefDescription": "Number of FP-arith-uops dispatched on 3rd VEC port (port 5)",
62*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
63*ba56a910SIan Rogers        "EventCode": "0xb3",
64*ba56a910SIan Rogers        "EventName": "FP_ARITH_DISPATCHED.V2",
65*ba56a910SIan Rogers        "SampleAfterValue": "2000003",
66*ba56a910SIan Rogers        "UMask": "0x4",
67*ba56a910SIan Rogers        "Unit": "cpu_core"
68*ba56a910SIan Rogers    },
69*ba56a910SIan Rogers    {
70*ba56a910SIan Rogers        "BriefDescription": "Number of FP-arith-uops dispatched on 4th VEC port",
71*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
72*ba56a910SIan Rogers        "EventCode": "0xb3",
73*ba56a910SIan Rogers        "EventName": "FP_ARITH_DISPATCHED.V3",
74*ba56a910SIan Rogers        "SampleAfterValue": "2000003",
75*ba56a910SIan Rogers        "UMask": "0x8",
76*ba56a910SIan Rogers        "Unit": "cpu_core"
77*ba56a910SIan Rogers    },
78*ba56a910SIan Rogers    {
79*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.128B_PACKED_DOUBLE",
80*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
81*ba56a910SIan Rogers        "Deprecated": "1",
82*ba56a910SIan Rogers        "EventCode": "0xc7",
83*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE",
84*ba56a910SIan Rogers        "SampleAfterValue": "100003",
85*ba56a910SIan Rogers        "UMask": "0x4",
86*ba56a910SIan Rogers        "Unit": "cpu_core"
87*ba56a910SIan Rogers    },
88*ba56a910SIan Rogers    {
89*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.128B_PACKED_SINGLE",
90*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
91*ba56a910SIan Rogers        "Deprecated": "1",
92*ba56a910SIan Rogers        "EventCode": "0xc7",
93*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE",
94*ba56a910SIan Rogers        "SampleAfterValue": "100003",
95*ba56a910SIan Rogers        "UMask": "0x8",
96*ba56a910SIan Rogers        "Unit": "cpu_core"
97*ba56a910SIan Rogers    },
98*ba56a910SIan Rogers    {
99*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.256B_PACKED_DOUBLE",
100*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
101*ba56a910SIan Rogers        "Deprecated": "1",
102*ba56a910SIan Rogers        "EventCode": "0xc7",
103*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE",
104*ba56a910SIan Rogers        "SampleAfterValue": "100003",
105*ba56a910SIan Rogers        "UMask": "0x10",
106*ba56a910SIan Rogers        "Unit": "cpu_core"
107*ba56a910SIan Rogers    },
108*ba56a910SIan Rogers    {
109*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.256B_PACKED_SINGLE",
110*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
111*ba56a910SIan Rogers        "Deprecated": "1",
112*ba56a910SIan Rogers        "EventCode": "0xc7",
113*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE",
114*ba56a910SIan Rogers        "SampleAfterValue": "100003",
115*ba56a910SIan Rogers        "UMask": "0x20",
116*ba56a910SIan Rogers        "Unit": "cpu_core"
117*ba56a910SIan Rogers    },
118*ba56a910SIan Rogers    {
119*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.4_FLOPS",
120*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
121*ba56a910SIan Rogers        "Deprecated": "1",
122*ba56a910SIan Rogers        "EventCode": "0xc7",
123*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS",
124*ba56a910SIan Rogers        "SampleAfterValue": "100003",
125*ba56a910SIan Rogers        "UMask": "0x18",
126*ba56a910SIan Rogers        "Unit": "cpu_core"
127*ba56a910SIan Rogers    },
128*ba56a910SIan Rogers    {
129*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.SCALAR",
130*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
131*ba56a910SIan Rogers        "Deprecated": "1",
132*ba56a910SIan Rogers        "EventCode": "0xc7",
133*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.SCALAR",
134*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
135*ba56a910SIan Rogers        "UMask": "0x3",
136*ba56a910SIan Rogers        "Unit": "cpu_core"
137*ba56a910SIan Rogers    },
138*ba56a910SIan Rogers    {
139*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.SCALAR_DOUBLE",
140*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
141*ba56a910SIan Rogers        "Deprecated": "1",
142*ba56a910SIan Rogers        "EventCode": "0xc7",
143*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE",
144*ba56a910SIan Rogers        "SampleAfterValue": "100003",
145*ba56a910SIan Rogers        "UMask": "0x1",
146*ba56a910SIan Rogers        "Unit": "cpu_core"
147*ba56a910SIan Rogers    },
148*ba56a910SIan Rogers    {
149*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.SCALAR_SINGLE",
150*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
151*ba56a910SIan Rogers        "Deprecated": "1",
152*ba56a910SIan Rogers        "EventCode": "0xc7",
153*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE",
154*ba56a910SIan Rogers        "SampleAfterValue": "100003",
155*ba56a910SIan Rogers        "UMask": "0x2",
156*ba56a910SIan Rogers        "Unit": "cpu_core"
157*ba56a910SIan Rogers    },
158*ba56a910SIan Rogers    {
159*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.VECTOR",
160*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
161*ba56a910SIan Rogers        "Deprecated": "1",
162*ba56a910SIan Rogers        "EventCode": "0xc7",
163*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.VECTOR",
164*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
165*ba56a910SIan Rogers        "UMask": "0x3c",
166*ba56a910SIan Rogers        "Unit": "cpu_core"
167*ba56a910SIan Rogers    },
168*ba56a910SIan Rogers    {
169*ba56a910SIan Rogers        "BriefDescription": "FP_ARITH_INST_RETIRED.VECTOR_128B [This event is alias to FP_ARITH_OPS_RETIRED.VECTOR_128B]",
170*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
171*ba56a910SIan Rogers        "EventCode": "0xc7",
172*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.VECTOR_128B",
173*ba56a910SIan Rogers        "SampleAfterValue": "100003",
174*ba56a910SIan Rogers        "UMask": "0xc",
175*ba56a910SIan Rogers        "Unit": "cpu_core"
176*ba56a910SIan Rogers    },
177*ba56a910SIan Rogers    {
178*ba56a910SIan Rogers        "BriefDescription": "FP_ARITH_INST_RETIRED.VECTOR_256B [This event is alias to FP_ARITH_OPS_RETIRED.VECTOR_256B]",
179*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
180*ba56a910SIan Rogers        "EventCode": "0xc7",
181*ba56a910SIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.VECTOR_256B",
182*ba56a910SIan Rogers        "SampleAfterValue": "100003",
183*ba56a910SIan Rogers        "UMask": "0x30",
184*ba56a910SIan Rogers        "Unit": "cpu_core"
185*ba56a910SIan Rogers    },
186*ba56a910SIan Rogers    {
187*ba56a910SIan Rogers        "BriefDescription": "Counts number of SSE/AVX computational 128-bit packed double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 2 computation operations, one for each element.  Applies to SSE* and AVX* packed double precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
188*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
189*ba56a910SIan Rogers        "EventCode": "0xc7",
190*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.128B_PACKED_DOUBLE",
191*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 128-bit packed double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 2 computation operations, one for each element.  Applies to SSE* and AVX* packed double precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
192*ba56a910SIan Rogers        "SampleAfterValue": "100003",
193*ba56a910SIan Rogers        "UMask": "0x4",
194*ba56a910SIan Rogers        "Unit": "cpu_core"
195*ba56a910SIan Rogers    },
196*ba56a910SIan Rogers    {
197*ba56a910SIan Rogers        "BriefDescription": "Number of SSE/AVX computational 128-bit packed single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 4 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP14 RSQRT14 SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
198*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
199*ba56a910SIan Rogers        "EventCode": "0xc7",
200*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.128B_PACKED_SINGLE",
201*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 128-bit packed single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 4 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT RCP DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
202*ba56a910SIan Rogers        "SampleAfterValue": "100003",
203*ba56a910SIan Rogers        "UMask": "0x8",
204*ba56a910SIan Rogers        "Unit": "cpu_core"
205*ba56a910SIan Rogers    },
206*ba56a910SIan Rogers    {
207*ba56a910SIan Rogers        "BriefDescription": "Counts number of SSE/AVX computational 256-bit packed double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 4 computation operations, one for each element.  Applies to SSE* and AVX* packed double precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
208*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
209*ba56a910SIan Rogers        "EventCode": "0xc7",
210*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.256B_PACKED_DOUBLE",
211*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 256-bit packed double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 4 computation operations, one for each element.  Applies to SSE* and AVX* packed double precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
212*ba56a910SIan Rogers        "SampleAfterValue": "100003",
213*ba56a910SIan Rogers        "UMask": "0x10",
214*ba56a910SIan Rogers        "Unit": "cpu_core"
215*ba56a910SIan Rogers    },
216*ba56a910SIan Rogers    {
217*ba56a910SIan Rogers        "BriefDescription": "Counts number of SSE/AVX computational 256-bit packed single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 8 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT RCP DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
218*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
219*ba56a910SIan Rogers        "EventCode": "0xc7",
220*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.256B_PACKED_SINGLE",
221*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 256-bit packed single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 8 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT RCP DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
222*ba56a910SIan Rogers        "SampleAfterValue": "100003",
223*ba56a910SIan Rogers        "UMask": "0x20",
224*ba56a910SIan Rogers        "Unit": "cpu_core"
225*ba56a910SIan Rogers    },
226*ba56a910SIan Rogers    {
227*ba56a910SIan Rogers        "BriefDescription": "Number of SSE/AVX computational 128-bit packed single and 256-bit packed double precision FP instructions retired; some instructions will count twice as noted below.  Each count represents 2 or/and 4 computation operations, 1 for each element.  Applies to SSE* and AVX* packed single precision and packed double precision FP instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX RCP14 RSQRT14 SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB count twice as they perform 2 calculations per element.",
228*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
229*ba56a910SIan Rogers        "EventCode": "0xc7",
230*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.4_FLOPS",
231*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 128-bit packed single precision and 256-bit packed double precision  floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 2 or/and 4 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point and packed double precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX RCP14 RSQRT14 SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
232*ba56a910SIan Rogers        "SampleAfterValue": "100003",
233*ba56a910SIan Rogers        "UMask": "0x18",
234*ba56a910SIan Rogers        "Unit": "cpu_core"
235*ba56a910SIan Rogers    },
236*ba56a910SIan Rogers    {
237*ba56a910SIan Rogers        "BriefDescription": "Number of SSE/AVX computational scalar floating-point instructions retired; some instructions will count twice as noted below.  Applies to SSE* and AVX* scalar, double and single precision floating-point: ADD SUB MUL DIV MIN MAX RCP14 RSQRT14 RANGE SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.",
238*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
239*ba56a910SIan Rogers        "EventCode": "0xc7",
240*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.SCALAR",
241*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational scalar single precision and double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SSE* and AVX* scalar single precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT RCP FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
242*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
243*ba56a910SIan Rogers        "UMask": "0x3",
244*ba56a910SIan Rogers        "Unit": "cpu_core"
245*ba56a910SIan Rogers    },
246*ba56a910SIan Rogers    {
247*ba56a910SIan Rogers        "BriefDescription": "Counts number of SSE/AVX computational scalar double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SSE* and AVX* scalar double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
248*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
249*ba56a910SIan Rogers        "EventCode": "0xc7",
250*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.SCALAR_DOUBLE",
251*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational scalar double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SSE* and AVX* scalar double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
252*ba56a910SIan Rogers        "SampleAfterValue": "100003",
253*ba56a910SIan Rogers        "UMask": "0x1",
254*ba56a910SIan Rogers        "Unit": "cpu_core"
255*ba56a910SIan Rogers    },
256*ba56a910SIan Rogers    {
257*ba56a910SIan Rogers        "BriefDescription": "Counts number of SSE/AVX computational scalar single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SSE* and AVX* scalar single precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT RCP FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
258*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
259*ba56a910SIan Rogers        "EventCode": "0xc7",
260*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.SCALAR_SINGLE",
261*ba56a910SIan Rogers        "PublicDescription": "Number of SSE/AVX computational scalar single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SSE* and AVX* scalar single precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT RCP FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
262*ba56a910SIan Rogers        "SampleAfterValue": "100003",
263*ba56a910SIan Rogers        "UMask": "0x2",
264*ba56a910SIan Rogers        "Unit": "cpu_core"
265*ba56a910SIan Rogers    },
266*ba56a910SIan Rogers    {
267*ba56a910SIan Rogers        "BriefDescription": "Number of any Vector retired FP arithmetic instructions",
268*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
269*ba56a910SIan Rogers        "EventCode": "0xc7",
270*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.VECTOR",
271*ba56a910SIan Rogers        "PublicDescription": "Number of any Vector retired FP arithmetic instructions.  The DAZ and FTZ flags in the MXCSR register need to be set when using these events.",
272*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
273*ba56a910SIan Rogers        "UMask": "0x3c",
274*ba56a910SIan Rogers        "Unit": "cpu_core"
275*ba56a910SIan Rogers    },
276*ba56a910SIan Rogers    {
277*ba56a910SIan Rogers        "BriefDescription": "FP_ARITH_OPS_RETIRED.VECTOR_128B [This event is alias to FP_ARITH_INST_RETIRED.VECTOR_128B]",
278*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
279*ba56a910SIan Rogers        "EventCode": "0xc7",
280*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.VECTOR_128B",
281*ba56a910SIan Rogers        "SampleAfterValue": "100003",
282*ba56a910SIan Rogers        "UMask": "0xc",
283*ba56a910SIan Rogers        "Unit": "cpu_core"
284*ba56a910SIan Rogers    },
285*ba56a910SIan Rogers    {
286*ba56a910SIan Rogers        "BriefDescription": "FP_ARITH_OPS_RETIRED.VECTOR_256B [This event is alias to FP_ARITH_INST_RETIRED.VECTOR_256B]",
287*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7,8,9",
288*ba56a910SIan Rogers        "EventCode": "0xc7",
289*ba56a910SIan Rogers        "EventName": "FP_ARITH_OPS_RETIRED.VECTOR_256B",
290*ba56a910SIan Rogers        "SampleAfterValue": "100003",
291*ba56a910SIan Rogers        "UMask": "0x30",
292*ba56a910SIan Rogers        "Unit": "cpu_core"
293*ba56a910SIan Rogers    },
294*ba56a910SIan Rogers    {
295*ba56a910SIan Rogers        "BriefDescription": "Counts the number of all types of floating point operations per uop with all default weighting",
296*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
297*ba56a910SIan Rogers        "EventCode": "0xc8",
298*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.ALL",
299*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
300*ba56a910SIan Rogers        "UMask": "0x3",
301*ba56a910SIan Rogers        "Unit": "cpu_atom"
302*ba56a910SIan Rogers    },
303*ba56a910SIan Rogers    {
304*ba56a910SIan Rogers        "BriefDescription": "Counts the number of all types of floating point operations per uop with all default weighting",
305*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
306*ba56a910SIan Rogers        "EventCode": "0xc8",
307*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.ALL",
308*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
309*ba56a910SIan Rogers        "UMask": "0x3",
310*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
311*ba56a910SIan Rogers    },
312*ba56a910SIan Rogers    {
313*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. [This event is alias to FP_FLOPS_RETIRED.FP64]",
314*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
315*ba56a910SIan Rogers        "Deprecated": "1",
316*ba56a910SIan Rogers        "EventCode": "0xc8",
317*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.DP",
318*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
319*ba56a910SIan Rogers        "UMask": "0x1",
320*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
321*ba56a910SIan Rogers    },
322*ba56a910SIan Rogers    {
323*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point operations that produce 32 bit single precision results",
324*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
325*ba56a910SIan Rogers        "EventCode": "0xc8",
326*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.FP32",
327*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
328*ba56a910SIan Rogers        "UMask": "0x2",
329*ba56a910SIan Rogers        "Unit": "cpu_atom"
330*ba56a910SIan Rogers    },
331*ba56a910SIan Rogers    {
332*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point operations that produce 32 bit single precision results [This event is alias to FP_FLOPS_RETIRED.SP]",
333*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
334*ba56a910SIan Rogers        "EventCode": "0xc8",
335*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.FP32",
336*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
337*ba56a910SIan Rogers        "UMask": "0x2",
338*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
339*ba56a910SIan Rogers    },
340*ba56a910SIan Rogers    {
341*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point operations that produce 64 bit double precision results",
342*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
343*ba56a910SIan Rogers        "EventCode": "0xc8",
344*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.FP64",
345*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
346*ba56a910SIan Rogers        "UMask": "0x1",
347*ba56a910SIan Rogers        "Unit": "cpu_atom"
348*ba56a910SIan Rogers    },
349*ba56a910SIan Rogers    {
350*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point operations that produce 64 bit double precision results [This event is alias to FP_FLOPS_RETIRED.DP]",
351*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
352*ba56a910SIan Rogers        "EventCode": "0xc8",
353*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.FP64",
354*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
355*ba56a910SIan Rogers        "UMask": "0x1",
356*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
357*ba56a910SIan Rogers    },
358*ba56a910SIan Rogers    {
359*ba56a910SIan Rogers        "BriefDescription": "This event is deprecated. [This event is alias to FP_FLOPS_RETIRED.FP32]",
360*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
361*ba56a910SIan Rogers        "Deprecated": "1",
362*ba56a910SIan Rogers        "EventCode": "0xc8",
363*ba56a910SIan Rogers        "EventName": "FP_FLOPS_RETIRED.SP",
364*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
365*ba56a910SIan Rogers        "UMask": "0x2",
366*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
367*ba56a910SIan Rogers    },
368*ba56a910SIan Rogers    {
369*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a packed 128 bit double precision floating point. This may be SSE or AVX.128 operations.",
370*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
371*ba56a910SIan Rogers        "EventCode": "0xc7",
372*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.128B_DP",
373*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
374*ba56a910SIan Rogers        "UMask": "0x8",
375*ba56a910SIan Rogers        "Unit": "cpu_atom"
376*ba56a910SIan Rogers    },
377*ba56a910SIan Rogers    {
378*ba56a910SIan Rogers        "BriefDescription": "Counts the total number of  floating point retired instructions.",
379*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
380*ba56a910SIan Rogers        "EventCode": "0xc7",
381*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.128B_DP",
382*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
383*ba56a910SIan Rogers        "UMask": "0x8",
384*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
385*ba56a910SIan Rogers    },
386*ba56a910SIan Rogers    {
387*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a packed 128 bit single precision floating point. This may be SSE or AVX.128 operations.",
388*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
389*ba56a910SIan Rogers        "EventCode": "0xc7",
390*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.128B_SP",
391*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
392*ba56a910SIan Rogers        "UMask": "0x4",
393*ba56a910SIan Rogers        "Unit": "cpu_atom"
394*ba56a910SIan Rogers    },
395*ba56a910SIan Rogers    {
396*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a packed 128 bit single precision floating point. This may be SSE or AVX.128 operations.",
397*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
398*ba56a910SIan Rogers        "EventCode": "0xc7",
399*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.128B_SP",
400*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
401*ba56a910SIan Rogers        "UMask": "0x4",
402*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
403*ba56a910SIan Rogers    },
404*ba56a910SIan Rogers    {
405*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a packed 256 bit double precision floating point.",
406*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
407*ba56a910SIan Rogers        "EventCode": "0xc7",
408*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.256B_DP",
409*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
410*ba56a910SIan Rogers        "UMask": "0x20",
411*ba56a910SIan Rogers        "Unit": "cpu_atom"
412*ba56a910SIan Rogers    },
413*ba56a910SIan Rogers    {
414*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a packed 256 bit double precision floating point.",
415*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
416*ba56a910SIan Rogers        "EventCode": "0xc7",
417*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.256B_DP",
418*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
419*ba56a910SIan Rogers        "UMask": "0x20",
420*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
421*ba56a910SIan Rogers    },
422*ba56a910SIan Rogers    {
423*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a packed 256 bit single precision floating point.",
424*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
425*ba56a910SIan Rogers        "EventCode": "0xc7",
426*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.256B_SP",
427*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
428*ba56a910SIan Rogers        "UMask": "0x10",
429*ba56a910SIan Rogers        "Unit": "cpu_atom"
430*ba56a910SIan Rogers    },
431*ba56a910SIan Rogers    {
432*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 32bit single precision floating point",
433*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
434*ba56a910SIan Rogers        "EventCode": "0xc7",
435*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.32B_SP",
436*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
437*ba56a910SIan Rogers        "UMask": "0x1",
438*ba56a910SIan Rogers        "Unit": "cpu_atom"
439*ba56a910SIan Rogers    },
440*ba56a910SIan Rogers    {
441*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 32bit single precision floating point.",
442*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
443*ba56a910SIan Rogers        "EventCode": "0xc7",
444*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.32B_SP",
445*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
446*ba56a910SIan Rogers        "UMask": "0x1",
447*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
448*ba56a910SIan Rogers    },
449*ba56a910SIan Rogers    {
450*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 64 bit double precision floating point",
451*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
452*ba56a910SIan Rogers        "EventCode": "0xc7",
453*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.64B_DP",
454*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
455*ba56a910SIan Rogers        "UMask": "0x2",
456*ba56a910SIan Rogers        "Unit": "cpu_atom"
457*ba56a910SIan Rogers    },
458*ba56a910SIan Rogers    {
459*ba56a910SIan Rogers        "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 64 bit double precision floating point.",
460*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
461*ba56a910SIan Rogers        "EventCode": "0xc7",
462*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.64B_DP",
463*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
464*ba56a910SIan Rogers        "UMask": "0x2",
465*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
466*ba56a910SIan Rogers    },
467*ba56a910SIan Rogers    {
468*ba56a910SIan Rogers        "BriefDescription": "Counts the total number of  floating point retired instructions.",
469*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
470*ba56a910SIan Rogers        "EventCode": "0xc7",
471*ba56a910SIan Rogers        "EventName": "FP_INST_RETIRED.ALL",
472*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
473*ba56a910SIan Rogers        "UMask": "0x3f",
474*ba56a910SIan Rogers        "Unit": "cpu_atom"
475*ba56a910SIan Rogers    },
476*ba56a910SIan Rogers    {
477*ba56a910SIan Rogers        "BriefDescription": "Counts the number of uops executed on floating point and vector integer port 0, 1, 2, 3.",
478*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
479*ba56a910SIan Rogers        "EventCode": "0xb2",
480*ba56a910SIan Rogers        "EventName": "FP_VINT_UOPS_EXECUTED.PRIMARY",
481*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
482*ba56a910SIan Rogers        "UMask": "0x1e",
483*ba56a910SIan Rogers        "Unit": "cpu_atom"
484*ba56a910SIan Rogers    },
485*ba56a910SIan Rogers    {
486*ba56a910SIan Rogers        "BriefDescription": "Counts the number of uops executed on floating point and vector integer store data port.",
487*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
488*ba56a910SIan Rogers        "EventCode": "0xb2",
489*ba56a910SIan Rogers        "EventName": "FP_VINT_UOPS_EXECUTED.STD",
490*ba56a910SIan Rogers        "SampleAfterValue": "1000003",
491*ba56a910SIan Rogers        "UMask": "0x1",
492*ba56a910SIan Rogers        "Unit": "cpu_atom"
493*ba56a910SIan Rogers    },
494*ba56a910SIan Rogers    {
495*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point operations retired that required microcode assist.",
496*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
497*ba56a910SIan Rogers        "EventCode": "0xc3",
498*ba56a910SIan Rogers        "EventName": "MACHINE_CLEARS.FP_ASSIST",
499*ba56a910SIan Rogers        "PublicDescription": "Counts the number of floating point operations retired that required microcode assist, which is not a reflection of the number of FP operations, instructions or uops.",
500*ba56a910SIan Rogers        "SampleAfterValue": "20003",
501*ba56a910SIan Rogers        "UMask": "0x4",
502*ba56a910SIan Rogers        "Unit": "cpu_atom"
503*ba56a910SIan Rogers    },
504*ba56a910SIan Rogers    {
505*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point operations retired that required microcode assist.",
506*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
507*ba56a910SIan Rogers        "EventCode": "0xc3",
508*ba56a910SIan Rogers        "EventName": "MACHINE_CLEARS.FP_ASSIST",
509*ba56a910SIan Rogers        "PublicDescription": "Counts the number of floating point operations retired that required microcode assist, which is not a reflection of the number of FP operations, instructions or uops.",
510*ba56a910SIan Rogers        "SampleAfterValue": "20003",
511*ba56a910SIan Rogers        "UMask": "0x4",
512*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
513*ba56a910SIan Rogers    },
514*ba56a910SIan Rogers    {
515*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point divide uops retired (x87 and sse, including x87 sqrt)",
516*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
517*ba56a910SIan Rogers        "EventCode": "0xc2",
518*ba56a910SIan Rogers        "EventName": "UOPS_RETIRED.FPDIV",
519*ba56a910SIan Rogers        "SampleAfterValue": "2000003",
520*ba56a910SIan Rogers        "UMask": "0x8",
521*ba56a910SIan Rogers        "Unit": "cpu_atom"
522*ba56a910SIan Rogers    },
523*ba56a910SIan Rogers    {
524*ba56a910SIan Rogers        "BriefDescription": "Counts the number of floating point divide uops retired (x87 and sse, including x87 sqrt).",
525*ba56a910SIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
526*ba56a910SIan Rogers        "EventCode": "0xc2",
527*ba56a910SIan Rogers        "EventName": "UOPS_RETIRED.FPDIV",
528*ba56a910SIan Rogers        "SampleAfterValue": "2000003",
529*ba56a910SIan Rogers        "UMask": "0x8",
530*ba56a910SIan Rogers        "Unit": "cpu_lowpower"
531*ba56a910SIan Rogers    }
532*ba56a910SIan Rogers]
533