xref: /openbmc/linux/tools/perf/pmu-events/arch/x86/tigerlake/floating-point.json (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
14babba55SJin Yao[
24babba55SJin Yao    {
34babba55SJin Yao        "BriefDescription": "Counts all microcode FP assists.",
44babba55SJin Yao        "EventCode": "0xc1",
54babba55SJin Yao        "EventName": "ASSISTS.FP",
64babba55SJin Yao        "PublicDescription": "Counts all microcode Floating Point assists.",
74babba55SJin Yao        "SampleAfterValue": "100003",
84babba55SJin Yao        "UMask": "0x2"
94babba55SJin Yao    },
104babba55SJin Yao    {
114babba55SJin Yao        "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.",
124babba55SJin Yao        "EventCode": "0xc7",
134babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE",
1443d54e94SIan 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.",
154babba55SJin Yao        "SampleAfterValue": "100003",
164babba55SJin Yao        "UMask": "0x4"
174babba55SJin Yao    },
184babba55SJin Yao    {
194babba55SJin Yao        "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.",
204babba55SJin Yao        "EventCode": "0xc7",
214babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE",
2243d54e94SIan 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.",
234babba55SJin Yao        "SampleAfterValue": "100003",
244babba55SJin Yao        "UMask": "0x8"
254babba55SJin Yao    },
264babba55SJin Yao    {
274babba55SJin Yao        "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.",
284babba55SJin Yao        "EventCode": "0xc7",
294babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE",
3043d54e94SIan 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.",
314babba55SJin Yao        "SampleAfterValue": "100003",
324babba55SJin Yao        "UMask": "0x10"
334babba55SJin Yao    },
344babba55SJin Yao    {
354babba55SJin Yao        "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.",
364babba55SJin Yao        "EventCode": "0xc7",
374babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE",
3843d54e94SIan 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.",
394babba55SJin Yao        "SampleAfterValue": "100003",
404babba55SJin Yao        "UMask": "0x20"
414babba55SJin Yao    },
424babba55SJin Yao    {
43*de44486fSIan 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.",
44*de44486fSIan Rogers        "EventCode": "0xc7",
45*de44486fSIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS",
46*de44486fSIan 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.",
47*de44486fSIan Rogers        "SampleAfterValue": "100003",
48*de44486fSIan Rogers        "UMask": "0x18"
49*de44486fSIan Rogers    },
50*de44486fSIan Rogers    {
514babba55SJin Yao        "BriefDescription": "Counts number of SSE/AVX computational 512-bit packed double 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 double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT14 RCP14 FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
524babba55SJin Yao        "EventCode": "0xc7",
534babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE",
5443d54e94SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 512-bit packed double 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 double precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT14 RCP14 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.",
554babba55SJin Yao        "SampleAfterValue": "100003",
564babba55SJin Yao        "UMask": "0x40"
574babba55SJin Yao    },
584babba55SJin Yao    {
5943d54e94SIan Rogers        "BriefDescription": "Counts number of SSE/AVX computational 512-bit packed single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 16 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT14 RCP14 FM(N)ADD/SUB. FM(N)ADD/SUB instructions count twice as they perform 2 calculations per element.",
604babba55SJin Yao        "EventCode": "0xc7",
614babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE",
6243d54e94SIan Rogers        "PublicDescription": "Number of SSE/AVX computational 512-bit packed single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 16 computation operations, one for each element.  Applies to SSE* and AVX* packed single precision floating-point instructions: ADD SUB MUL DIV MIN MAX SQRT RSQRT14 RCP14 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.",
634babba55SJin Yao        "SampleAfterValue": "100003",
644babba55SJin Yao        "UMask": "0x80"
654babba55SJin Yao    },
664babba55SJin Yao    {
67*de44486fSIan Rogers        "BriefDescription": "Number of SSE/AVX computational 256-bit packed single precision and 512-bit packed double precision  FP instructions retired; some instructions will count twice as noted below.  Each count represents 8 computation operations, 1 for each element.  Applies to SSE* and AVX* packed single precision and double precision FP instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT RSQRT14 RCP RCP14 DPP FM(N)ADD/SUB.  DPP and FM(N)ADD/SUB count twice as they perform 2 calculations per element.",
68*de44486fSIan Rogers        "EventCode": "0xc7",
69*de44486fSIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.8_FLOPS",
70*de44486fSIan Rogers        "PublicDescription": "Number of SSE/AVX computational 256-bit packed single precision and 512-bit packed double 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 and double precision floating-point instructions: ADD SUB HADD HSUB SUBADD MUL DIV MIN MAX SQRT RSQRT RSQRT14 RCP RCP14 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.",
71*de44486fSIan Rogers        "SampleAfterValue": "100003",
72*de44486fSIan Rogers        "UMask": "0x60"
73*de44486fSIan Rogers    },
74*de44486fSIan Rogers    {
75*de44486fSIan 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.",
76*de44486fSIan Rogers        "EventCode": "0xc7",
77*de44486fSIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.SCALAR",
78*de44486fSIan 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.",
79*de44486fSIan Rogers        "SampleAfterValue": "1000003",
80*de44486fSIan Rogers        "UMask": "0x3"
81*de44486fSIan Rogers    },
82*de44486fSIan Rogers    {
834babba55SJin Yao        "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.",
844babba55SJin Yao        "EventCode": "0xc7",
854babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE",
8643d54e94SIan 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.",
874babba55SJin Yao        "SampleAfterValue": "100003",
884babba55SJin Yao        "UMask": "0x1"
894babba55SJin Yao    },
904babba55SJin Yao    {
914babba55SJin Yao        "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.",
924babba55SJin Yao        "EventCode": "0xc7",
934babba55SJin Yao        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE",
9443d54e94SIan 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.",
954babba55SJin Yao        "SampleAfterValue": "100003",
964babba55SJin Yao        "UMask": "0x2"
97*de44486fSIan Rogers    },
98*de44486fSIan Rogers    {
99*de44486fSIan Rogers        "BriefDescription": "Number of any Vector retired FP arithmetic instructions",
100*de44486fSIan Rogers        "EventCode": "0xc7",
101*de44486fSIan Rogers        "EventName": "FP_ARITH_INST_RETIRED.VECTOR",
102*de44486fSIan Rogers        "SampleAfterValue": "1000003",
103*de44486fSIan Rogers        "UMask": "0xfc"
1044babba55SJin Yao    }
1054babba55SJin Yao]
106