xref: /freebsd/lib/libpmc/pmu-events/arch/x86/broadwell/floating-point.json (revision 8881d206f4e68b564c2c5f50fc717086fc3e827a)
1[
2    {
3        "PEBS": "1",
4        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts the number of transitions from AVX-256 to legacy SSE when penalty is applicable.",
5        "EventCode": "0xC1",
6        "Counter": "0,1,2,3",
7        "UMask": "0x8",
8        "Errata": "BDM30",
9        "EventName": "OTHER_ASSISTS.AVX_TO_SSE",
10        "SampleAfterValue": "100003",
11        "BriefDescription": "Number of transitions from AVX-256 to legacy SSE when penalty applicable (Precise Event)",
12        "CounterHTOff": "0,1,2,3,4,5,6,7"
13    },
14    {
15        "PEBS": "1",
16        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts the number of transitions from legacy SSE to AVX-256 when penalty is applicable.",
17        "EventCode": "0xC1",
18        "Counter": "0,1,2,3",
19        "UMask": "0x10",
20        "Errata": "BDM30",
21        "EventName": "OTHER_ASSISTS.SSE_TO_AVX",
22        "SampleAfterValue": "100003",
23        "BriefDescription": "Number of transitions from legacy SSE to AVX-256 when penalty applicable (Precise Event)",
24        "CounterHTOff": "0,1,2,3,4,5,6,7"
25    },
26    {
27        "EventCode": "0xC7",
28        "Counter": "0,1,2,3",
29        "UMask": "0x1",
30        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE",
31        "SampleAfterValue": "2000003",
32        "BriefDescription": "Number of SSE/AVX computational scalar double precision floating-point instructions retired.  Each count represents 1 computation. 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.",
33        "CounterHTOff": "0,1,2,3"
34    },
35    {
36        "EventCode": "0xC7",
37        "Counter": "0,1,2,3",
38        "UMask": "0x2",
39        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE",
40        "SampleAfterValue": "2000003",
41        "BriefDescription": "Number of SSE/AVX computational scalar single precision floating-point instructions retired.  Each count represents 1 computation. Applies to SSE* and AVX* scalar single precision floating-point instructions: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT FM(N)ADD/SUB.  FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.",
42        "CounterHTOff": "0,1,2,3"
43    },
44    {
45        "EventCode": "0xC7",
46        "Counter": "0,1,2,3",
47        "UMask": "0x3",
48        "EventName": "FP_ARITH_INST_RETIRED.SCALAR",
49        "SampleAfterValue": "2000003",
50        "BriefDescription": "Number of SSE/AVX computational scalar floating-point instructions retired. Applies to SSE* and AVX* scalar, double and single precision floating-point: ADD SUB MUL DIV MIN MAX RSQRT RCP SQRT FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element. (RSQRT for single precision?)",
51        "CounterHTOff": "0,1,2,3"
52    },
53    {
54        "EventCode": "0xC7",
55        "Counter": "0,1,2,3",
56        "UMask": "0x4",
57        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE",
58        "SampleAfterValue": "2000003",
59        "BriefDescription": "Number of SSE/AVX computational 128-bit packed double precision floating-point instructions retired.  Each count represents 2 computations. 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 multiple calculations per element.",
60        "CounterHTOff": "0,1,2,3"
61    },
62    {
63        "EventCode": "0xC7",
64        "Counter": "0,1,2,3",
65        "UMask": "0x8",
66        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE",
67        "SampleAfterValue": "2000003",
68        "BriefDescription": "Number of SSE/AVX computational 128-bit packed single precision floating-point instructions retired.  Each count represents 4 computations. Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.",
69        "CounterHTOff": "0,1,2,3"
70    },
71    {
72        "EventCode": "0xC7",
73        "Counter": "0,1,2,3",
74        "UMask": "0x10",
75        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE",
76        "SampleAfterValue": "2000003",
77        "BriefDescription": "Number of SSE/AVX computational 256-bit packed double precision floating-point instructions retired.  Each count represents 4 computations. 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 multiple calculations per element.",
78        "CounterHTOff": "0,1,2,3"
79    },
80    {
81        "EventCode": "0xC7",
82        "Counter": "0,1,2,3",
83        "UMask": "0x15",
84        "EventName": "FP_ARITH_INST_RETIRED.DOUBLE",
85        "SampleAfterValue": "2000006",
86        "BriefDescription": "Number of SSE/AVX computational double precision floating-point instructions retired. Applies to SSE* and AVX*scalar, double and single precision floating-point: ADD SUB 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.",
87        "CounterHTOff": "0,1,2,3"
88    },
89    {
90        "EventCode": "0xc7",
91        "Counter": "0,1,2,3",
92        "UMask": "0x20",
93        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE",
94        "SampleAfterValue": "2000003",
95        "BriefDescription": "Number of SSE/AVX computational 256-bit packed single precision floating-point instructions retired.  Each count represents 8 computations. Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.",
96        "CounterHTOff": "0,1,2,3"
97    },
98    {
99        "EventCode": "0xC7",
100        "Counter": "0,1,2,3",
101        "UMask": "0x2a",
102        "EventName": "FP_ARITH_INST_RETIRED.SINGLE",
103        "SampleAfterValue": "2000005",
104        "BriefDescription": "Number of SSE/AVX computational single precision floating-point instructions retired. Applies to SSE* and AVX*scalar, double and single precision floating-point: ADD SUB MUL DIV MIN MAX RCP RSQRT SQRT DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.",
105        "CounterHTOff": "0,1,2,3"
106    },
107    {
108        "EventCode": "0xC7",
109        "Counter": "0,1,2,3",
110        "UMask": "0x3c",
111        "EventName": "FP_ARITH_INST_RETIRED.PACKED",
112        "SampleAfterValue": "2000004",
113        "BriefDescription": "Number of SSE/AVX computational packed floating-point instructions retired. Applies to SSE* and AVX*, packed, double and single precision floating-point: 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. (RSQRT for single-precision?)",
114        "CounterHTOff": "0,1,2,3"
115    },
116    {
117        "PEBS": "1",
118        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts the number of x87 floating point (FP) micro-code assist (numeric overflow/underflow, inexact result) when the output value (destination register) is invalid.",
119        "EventCode": "0xCA",
120        "Counter": "0,1,2,3",
121        "UMask": "0x2",
122        "EventName": "FP_ASSIST.X87_OUTPUT",
123        "SampleAfterValue": "100003",
124        "BriefDescription": "output - Numeric Overflow, Numeric Underflow, Inexact Result  (Precise Event)",
125        "CounterHTOff": "0,1,2,3,4,5,6,7"
126    },
127    {
128        "PEBS": "1",
129        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that 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        "EventCode": "0xCA",
131        "Counter": "0,1,2,3",
132        "UMask": "0x4",
133        "EventName": "FP_ASSIST.X87_INPUT",
134        "SampleAfterValue": "100003",
135        "BriefDescription": "input - Invalid Operation, Denormal Operand, SNaN Operand  (Precise Event)",
136        "CounterHTOff": "0,1,2,3,4,5,6,7"
137    },
138    {
139        "PEBS": "1",
140        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that 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.",
141        "EventCode": "0xCA",
142        "Counter": "0,1,2,3",
143        "UMask": "0x8",
144        "EventName": "FP_ASSIST.SIMD_OUTPUT",
145        "SampleAfterValue": "100003",
146        "BriefDescription": "SSE* FP micro-code assist when output value is invalid. (Precise Event)",
147        "CounterHTOff": "0,1,2,3,4,5,6,7"
148    },
149    {
150        "PEBS": "1",
151        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts any input SSE* floating-point (FP) assist - invalid operation, denormal operand, dividing by zero, SNaN operand. Counting includes only cases involving penalties that required micro-code assist intervention.",
152        "EventCode": "0xCA",
153        "Counter": "0,1,2,3",
154        "UMask": "0x10",
155        "EventName": "FP_ASSIST.SIMD_INPUT",
156        "SampleAfterValue": "100003",
157        "BriefDescription": "Any input SSE* FP Assist -   (Precise Event)",
158        "CounterHTOff": "0,1,2,3,4,5,6,7"
159    },
160    {
161        "PEBS": "1",
162        "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. Uses PEBS.",
163        "EventCode": "0xCA",
164        "Counter": "0,1,2,3",
165        "UMask": "0x1e",
166        "EventName": "FP_ASSIST.ANY",
167        "SampleAfterValue": "100003",
168        "BriefDescription": "Counts any FP_ASSIST umask was incrementing   (Precise Event)",
169        "CounterMask": "1",
170        "CounterHTOff": "0,1,2,3"
171    }
172]