xref: /freebsd/lib/libpmc/pmu-events/arch/x86/broadwell/floating-point.json (revision 18054d0220cfc8df9c9568c437bd6fbb59d53c3c)
1959826caSMatt Macy[
2959826caSMatt Macy    {
3*18054d02SAlexander Motin        "BriefDescription": "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.",
4959826caSMatt Macy        "Counter": "0,1,2,3",
5*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
6*18054d02SAlexander Motin        "EventCode": "0xc7",
7959826caSMatt Macy        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE",
8959826caSMatt Macy        "SampleAfterValue": "2000003",
9*18054d02SAlexander Motin        "UMask": "0x4"
10959826caSMatt Macy    },
11959826caSMatt Macy    {
12*18054d02SAlexander Motin        "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 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 4 calculations per element.",
13959826caSMatt Macy        "Counter": "0,1,2,3",
14*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
15*18054d02SAlexander Motin        "EventCode": "0xc7",
16959826caSMatt Macy        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE",
17959826caSMatt Macy        "SampleAfterValue": "2000003",
18*18054d02SAlexander Motin        "UMask": "0x8"
19959826caSMatt Macy    },
20959826caSMatt Macy    {
21*18054d02SAlexander Motin        "BriefDescription": "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 4 calculations per element.",
22959826caSMatt Macy        "Counter": "0,1,2,3",
23*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
24*18054d02SAlexander Motin        "EventCode": "0xc7",
25959826caSMatt Macy        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE",
26959826caSMatt Macy        "SampleAfterValue": "2000003",
27*18054d02SAlexander Motin        "UMask": "0x10"
28959826caSMatt Macy    },
29959826caSMatt Macy    {
30*18054d02SAlexander Motin        "BriefDescription": "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 8 calculations per element.",
31959826caSMatt Macy        "Counter": "0,1,2,3",
32*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
33959826caSMatt Macy        "EventCode": "0xc7",
34959826caSMatt Macy        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE",
35959826caSMatt Macy        "SampleAfterValue": "2000003",
36*18054d02SAlexander Motin        "UMask": "0x20"
37959826caSMatt Macy    },
38959826caSMatt Macy    {
39*18054d02SAlexander Motin        "BriefDescription": "Number of SSE/AVX computational double precision floating-point instructions retired; some instructions will count twice as noted below. Applies to SSE* and AVX* scalar and 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 multiple calculations per element.",
40959826caSMatt Macy        "Counter": "0,1,2,3",
41*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
42*18054d02SAlexander Motin        "EventCode": "0xc7",
43*18054d02SAlexander Motin        "EventName": "FP_ARITH_INST_RETIRED.DOUBLE",
44*18054d02SAlexander Motin        "SampleAfterValue": "2000006",
45*18054d02SAlexander Motin        "UMask": "0x15"
46959826caSMatt Macy    },
47959826caSMatt Macy    {
48*18054d02SAlexander Motin        "BriefDescription": "Number of SSE/AVX computational packed floating-point instructions retired; some instructions will count twice as noted below. Applies to SSE* and AVX* packed double and 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 multiple calculations per element.",
49959826caSMatt Macy        "Counter": "0,1,2,3",
50*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
51*18054d02SAlexander Motin        "EventCode": "0xc7",
52959826caSMatt Macy        "EventName": "FP_ARITH_INST_RETIRED.PACKED",
53959826caSMatt Macy        "SampleAfterValue": "2000004",
54*18054d02SAlexander Motin        "UMask": "0x3c"
55959826caSMatt Macy    },
56959826caSMatt Macy    {
57*18054d02SAlexander Motin        "BriefDescription": "Number of SSE/AVX computational scalar floating-point instructions retired; some instructions will count twice as noted below. Each count represents 1 computation operation.   Applies to SSE* and AVX* scalar double and 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 multiple calculations per element.",
58959826caSMatt Macy        "Counter": "0,1,2,3",
59*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
60*18054d02SAlexander Motin        "EventCode": "0xc7",
61*18054d02SAlexander Motin        "EventName": "FP_ARITH_INST_RETIRED.SCALAR",
62*18054d02SAlexander Motin        "SampleAfterValue": "2000003",
63*18054d02SAlexander Motin        "UMask": "0x3"
64959826caSMatt Macy    },
65959826caSMatt Macy    {
66*18054d02SAlexander Motin        "BriefDescription": "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 multiple calculations per element.",
67959826caSMatt Macy        "Counter": "0,1,2,3",
68*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
69*18054d02SAlexander Motin        "EventCode": "0xc7",
70*18054d02SAlexander Motin        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE",
71*18054d02SAlexander Motin        "SampleAfterValue": "2000003",
72*18054d02SAlexander Motin        "UMask": "0x1"
73959826caSMatt Macy    },
74959826caSMatt Macy    {
75*18054d02SAlexander Motin        "BriefDescription": "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 multiple calculations per element.",
76959826caSMatt Macy        "Counter": "0,1,2,3",
77*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
78*18054d02SAlexander Motin        "EventCode": "0xc7",
79*18054d02SAlexander Motin        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE",
80*18054d02SAlexander Motin        "SampleAfterValue": "2000003",
81*18054d02SAlexander Motin        "UMask": "0x2"
82959826caSMatt Macy    },
83959826caSMatt Macy    {
84*18054d02SAlexander Motin        "BriefDescription": "Number of SSE/AVX computational single precision floating-point instructions retired; some instructions will count twice as noted below. Applies to SSE* and AVX* scalar and packed single precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT RCP SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.",
85959826caSMatt Macy        "Counter": "0,1,2,3",
86*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
87*18054d02SAlexander Motin        "EventCode": "0xc7",
88*18054d02SAlexander Motin        "EventName": "FP_ARITH_INST_RETIRED.SINGLE",
89*18054d02SAlexander Motin        "SampleAfterValue": "2000005",
90*18054d02SAlexander Motin        "UMask": "0x2a"
91959826caSMatt Macy    },
92959826caSMatt Macy    {
93*18054d02SAlexander Motin        "BriefDescription": "Cycles with any input/output SSE or FP assist",
94959826caSMatt Macy        "Counter": "0,1,2,3",
95*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
96959826caSMatt Macy        "CounterMask": "1",
97*18054d02SAlexander Motin        "EventCode": "0xCA",
98*18054d02SAlexander Motin        "EventName": "FP_ASSIST.ANY",
99*18054d02SAlexander Motin        "PublicDescription": "This event counts cycles with any input and output SSE or x87 FP assist. If an input and output assist are detected on the same cycle the event increments by 1.",
100*18054d02SAlexander Motin        "SampleAfterValue": "100003",
101*18054d02SAlexander Motin        "UMask": "0x1e"
102*18054d02SAlexander Motin    },
103*18054d02SAlexander Motin    {
104*18054d02SAlexander Motin        "BriefDescription": "Number of SIMD FP assists due to input values",
105*18054d02SAlexander Motin        "Counter": "0,1,2,3",
106*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
107*18054d02SAlexander Motin        "EventCode": "0xCA",
108*18054d02SAlexander Motin        "EventName": "FP_ASSIST.SIMD_INPUT",
109*18054d02SAlexander Motin        "PublicDescription": "This event counts any input SSE* FP assist - invalid operation, denormal operand, dividing by zero, SNaN operand. Counting includes only cases involving penalties that required micro-code assist intervention.",
110*18054d02SAlexander Motin        "SampleAfterValue": "100003",
111*18054d02SAlexander Motin        "UMask": "0x10"
112*18054d02SAlexander Motin    },
113*18054d02SAlexander Motin    {
114*18054d02SAlexander Motin        "BriefDescription": "Number of SIMD FP assists due to Output values",
115*18054d02SAlexander Motin        "Counter": "0,1,2,3",
116*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
117*18054d02SAlexander Motin        "EventCode": "0xCA",
118*18054d02SAlexander Motin        "EventName": "FP_ASSIST.SIMD_OUTPUT",
119*18054d02SAlexander Motin        "PublicDescription": "This event counts the number of SSE* floating point (FP) micro-code assist (numeric overflow/underflow) when the output value (destination register) is invalid. Counting covers only cases involving penalties that require micro-code assist intervention.",
120*18054d02SAlexander Motin        "SampleAfterValue": "100003",
121*18054d02SAlexander Motin        "UMask": "0x8"
122*18054d02SAlexander Motin    },
123*18054d02SAlexander Motin    {
124*18054d02SAlexander Motin        "BriefDescription": "Number of X87 assists due to input value.",
125*18054d02SAlexander Motin        "Counter": "0,1,2,3",
126*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
127*18054d02SAlexander Motin        "EventCode": "0xCA",
128*18054d02SAlexander Motin        "EventName": "FP_ASSIST.X87_INPUT",
129*18054d02SAlexander Motin        "PublicDescription": "This event counts x87 floating point (FP) micro-code assist (invalid operation, denormal operand, SNaN operand) when the input value (one of the source operands to an FP instruction) is invalid.",
130*18054d02SAlexander Motin        "SampleAfterValue": "100003",
131*18054d02SAlexander Motin        "UMask": "0x4"
132*18054d02SAlexander Motin    },
133*18054d02SAlexander Motin    {
134*18054d02SAlexander Motin        "BriefDescription": "Number of X87 assists due to output value.",
135*18054d02SAlexander Motin        "Counter": "0,1,2,3",
136*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
137*18054d02SAlexander Motin        "EventCode": "0xCA",
138*18054d02SAlexander Motin        "EventName": "FP_ASSIST.X87_OUTPUT",
139*18054d02SAlexander Motin        "PublicDescription": "This event counts the number of x87 floating point (FP) micro-code assist (numeric overflow/underflow, inexact result) when the output value (destination register) is invalid.",
140*18054d02SAlexander Motin        "SampleAfterValue": "100003",
141*18054d02SAlexander Motin        "UMask": "0x2"
142*18054d02SAlexander Motin    },
143*18054d02SAlexander Motin    {
144*18054d02SAlexander Motin        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.",
145*18054d02SAlexander Motin        "Counter": "0,1,2,3",
146*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
147*18054d02SAlexander Motin        "EventCode": "0x58",
148*18054d02SAlexander Motin        "EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED",
149*18054d02SAlexander Motin        "SampleAfterValue": "1000003",
150*18054d02SAlexander Motin        "UMask": "0x2"
151*18054d02SAlexander Motin    },
152*18054d02SAlexander Motin    {
153*18054d02SAlexander Motin        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.",
154*18054d02SAlexander Motin        "Counter": "0,1,2,3",
155*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
156*18054d02SAlexander Motin        "EventCode": "0x58",
157*18054d02SAlexander Motin        "EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED",
158*18054d02SAlexander Motin        "SampleAfterValue": "1000003",
159*18054d02SAlexander Motin        "UMask": "0x8"
160*18054d02SAlexander Motin    },
161*18054d02SAlexander Motin    {
162*18054d02SAlexander Motin        "BriefDescription": "Number of transitions from AVX-256 to legacy SSE when penalty applicable.",
163*18054d02SAlexander Motin        "Counter": "0,1,2,3",
164*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
165*18054d02SAlexander Motin        "Errata": "BDM30",
166*18054d02SAlexander Motin        "EventCode": "0xC1",
167*18054d02SAlexander Motin        "EventName": "OTHER_ASSISTS.AVX_TO_SSE",
168*18054d02SAlexander Motin        "PublicDescription": "This event counts the number of transitions from AVX-256 to legacy SSE when penalty is applicable.",
169*18054d02SAlexander Motin        "SampleAfterValue": "100003",
170*18054d02SAlexander Motin        "UMask": "0x8"
171*18054d02SAlexander Motin    },
172*18054d02SAlexander Motin    {
173*18054d02SAlexander Motin        "BriefDescription": "Number of transitions from SSE to AVX-256 when penalty applicable.",
174*18054d02SAlexander Motin        "Counter": "0,1,2,3",
175*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3,4,5,6,7",
176*18054d02SAlexander Motin        "Errata": "BDM30",
177*18054d02SAlexander Motin        "EventCode": "0xC1",
178*18054d02SAlexander Motin        "EventName": "OTHER_ASSISTS.SSE_TO_AVX",
179*18054d02SAlexander Motin        "PublicDescription": "This event counts the number of transitions from legacy SSE to AVX-256 when penalty is applicable.",
180*18054d02SAlexander Motin        "SampleAfterValue": "100003",
181*18054d02SAlexander Motin        "UMask": "0x10"
182*18054d02SAlexander Motin    },
183*18054d02SAlexander Motin    {
184*18054d02SAlexander Motin        "BriefDescription": "Micro-op dispatches cancelled due to insufficient SIMD physical register file read ports",
185*18054d02SAlexander Motin        "Counter": "0,1,2,3",
186*18054d02SAlexander Motin        "CounterHTOff": "0,1,2,3",
187*18054d02SAlexander Motin        "EventCode": "0xA0",
188*18054d02SAlexander Motin        "EventName": "UOP_DISPATCHES_CANCELLED.SIMD_PRF",
189*18054d02SAlexander Motin        "PublicDescription": "This event counts the number of micro-operations cancelled after they were dispatched from the scheduler to the execution units when the total number of physical register read ports across all dispatch ports exceeds the read bandwidth of the physical register file.  The SIMD_PRF subevent applies to the following instructions: VDPPS, DPPS, VPCMPESTRI, PCMPESTRI, VPCMPESTRM, PCMPESTRM, VFMADD*, VFMADDSUB*, VFMSUB*, VMSUBADD*, VFNMADD*, VFNMSUB*.  See the Broadwell Optimization Guide for more information.",
190*18054d02SAlexander Motin        "SampleAfterValue": "2000003",
191*18054d02SAlexander Motin        "UMask": "0x3"
192959826caSMatt Macy    }
193959826caSMatt Macy]