1b74d1315SAndi Kleen[ 2b74d1315SAndi Kleen { 310e8d85fSIan Rogers "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.", 410e8d85fSIan Rogers "EventCode": "0xc7", 5b74d1315SAndi Kleen "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE", 6*78036545SIan 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.", 7b74d1315SAndi Kleen "SampleAfterValue": "2000003", 810e8d85fSIan Rogers "UMask": "0x4" 9b74d1315SAndi Kleen }, 10b74d1315SAndi Kleen { 1110e8d85fSIan 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 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.", 1210e8d85fSIan Rogers "EventCode": "0xc7", 13b74d1315SAndi Kleen "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE", 14*78036545SIan 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.", 15b74d1315SAndi Kleen "SampleAfterValue": "2000003", 1610e8d85fSIan Rogers "UMask": "0x8" 17b74d1315SAndi Kleen }, 18b74d1315SAndi Kleen { 1910e8d85fSIan Rogers "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.", 2010e8d85fSIan Rogers "EventCode": "0xc7", 21b74d1315SAndi Kleen "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE", 22*78036545SIan 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.", 23b74d1315SAndi Kleen "SampleAfterValue": "2000003", 2410e8d85fSIan Rogers "UMask": "0x10" 25b74d1315SAndi Kleen }, 26b74d1315SAndi Kleen { 2710e8d85fSIan Rogers "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.", 28b3ab8adcSAndi Kleen "EventCode": "0xc7", 29b3ab8adcSAndi Kleen "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE", 30*78036545SIan 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.", 31b3ab8adcSAndi Kleen "SampleAfterValue": "2000003", 3210e8d85fSIan Rogers "UMask": "0x20" 33b3ab8adcSAndi Kleen }, 34b3ab8adcSAndi Kleen { 3510e8d85fSIan 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.", 3610e8d85fSIan Rogers "EventCode": "0xc7", 3710e8d85fSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS", 3810e8d85fSIan 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.", 3910e8d85fSIan Rogers "SampleAfterValue": "2000003", 40b3ab8adcSAndi Kleen "UMask": "0x18" 41b3ab8adcSAndi Kleen }, 4210e8d85fSIan Rogers { 4310e8d85fSIan Rogers "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.", 44b3ab8adcSAndi Kleen "EventCode": "0xc7", 45b3ab8adcSAndi Kleen "EventName": "FP_ARITH_INST_RETIRED.DOUBLE", 4610e8d85fSIan Rogers "SampleAfterValue": "2000006", 47b3ab8adcSAndi Kleen "UMask": "0x15" 48b3ab8adcSAndi Kleen }, 4910e8d85fSIan Rogers { 5010e8d85fSIan Rogers "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.", 5110e8d85fSIan Rogers "EventCode": "0xc7", 52*78036545SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.PACKED", 5310e8d85fSIan Rogers "SampleAfterValue": "2000004", 5410e8d85fSIan Rogers "UMask": "0x3c" 55b74d1315SAndi Kleen }, 56b74d1315SAndi Kleen { 5710e8d85fSIan Rogers "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.", 5810e8d85fSIan Rogers "EventCode": "0xc7", 5910e8d85fSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR", 60*78036545SIan 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.", 6110e8d85fSIan Rogers "SampleAfterValue": "2000003", 6210e8d85fSIan Rogers "UMask": "0x3" 63b74d1315SAndi Kleen }, 64b74d1315SAndi Kleen { 6510e8d85fSIan Rogers "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.", 6610e8d85fSIan Rogers "EventCode": "0xc7", 6710e8d85fSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE", 68*78036545SIan 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.", 6910e8d85fSIan Rogers "SampleAfterValue": "2000003", 7010e8d85fSIan Rogers "UMask": "0x1" 71b74d1315SAndi Kleen }, 72b74d1315SAndi Kleen { 7310e8d85fSIan Rogers "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.", 7410e8d85fSIan Rogers "EventCode": "0xc7", 7510e8d85fSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE", 7610e8d85fSIan 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.", 7710e8d85fSIan Rogers "SampleAfterValue": "2000003", 78b74d1315SAndi Kleen "UMask": "0x2" 79b74d1315SAndi Kleen }, 8010e8d85fSIan Rogers { 81b74d1315SAndi Kleen "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.", 8210e8d85fSIan Rogers "EventCode": "0xc7", 8310e8d85fSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SINGLE", 8410e8d85fSIan Rogers "SampleAfterValue": "2000005", 8510e8d85fSIan Rogers "UMask": "0x2a" 8610e8d85fSIan Rogers }, 8710e8d85fSIan Rogers { 8810e8d85fSIan Rogers "BriefDescription": "Number of any Vector retired FP arithmetic instructions", 8910e8d85fSIan Rogers "EventCode": "0xc7", 9010e8d85fSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.VECTOR", 9110e8d85fSIan Rogers "SampleAfterValue": "2000003", 9210e8d85fSIan Rogers "UMask": "0xfc" 9310e8d85fSIan Rogers }, 9410e8d85fSIan Rogers { 9510e8d85fSIan Rogers "BriefDescription": "Cycles with any input/output SSE or FP assist", 9610e8d85fSIan Rogers "CounterMask": "1", 9710e8d85fSIan Rogers "EventCode": "0xCA", 9810e8d85fSIan Rogers "EventName": "FP_ASSIST.ANY", 9910e8d85fSIan Rogers "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.", 10010e8d85fSIan Rogers "SampleAfterValue": "100003", 10110e8d85fSIan Rogers "UMask": "0x1e" 10210e8d85fSIan Rogers }, 10310e8d85fSIan Rogers { 10410e8d85fSIan Rogers "BriefDescription": "Number of SIMD FP assists due to input values", 10510e8d85fSIan Rogers "EventCode": "0xCA", 10610e8d85fSIan Rogers "EventName": "FP_ASSIST.SIMD_INPUT", 10710e8d85fSIan Rogers "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.", 10810e8d85fSIan Rogers "SampleAfterValue": "100003", 10910e8d85fSIan Rogers "UMask": "0x10" 11010e8d85fSIan Rogers }, 11110e8d85fSIan Rogers { 11210e8d85fSIan Rogers "BriefDescription": "Number of SIMD FP assists due to Output values", 11310e8d85fSIan Rogers "EventCode": "0xCA", 11410e8d85fSIan Rogers "EventName": "FP_ASSIST.SIMD_OUTPUT", 11510e8d85fSIan Rogers "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.", 11610e8d85fSIan Rogers "SampleAfterValue": "100003", 11710e8d85fSIan Rogers "UMask": "0x8" 11810e8d85fSIan Rogers }, 11910e8d85fSIan Rogers { 12010e8d85fSIan Rogers "BriefDescription": "Number of X87 assists due to input value.", 12110e8d85fSIan Rogers "EventCode": "0xCA", 12210e8d85fSIan Rogers "EventName": "FP_ASSIST.X87_INPUT", 12310e8d85fSIan Rogers "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.", 12410e8d85fSIan Rogers "SampleAfterValue": "100003", 12510e8d85fSIan Rogers "UMask": "0x4" 12610e8d85fSIan Rogers }, 12710e8d85fSIan Rogers { 12810e8d85fSIan Rogers "BriefDescription": "Number of X87 assists due to output value.", 12910e8d85fSIan Rogers "EventCode": "0xCA", 13010e8d85fSIan Rogers "EventName": "FP_ASSIST.X87_OUTPUT", 13110e8d85fSIan Rogers "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.", 13210e8d85fSIan Rogers "SampleAfterValue": "100003", 13310e8d85fSIan Rogers "UMask": "0x2" 13410e8d85fSIan Rogers }, 13510e8d85fSIan Rogers { 13610e8d85fSIan Rogers "BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.", 13710e8d85fSIan Rogers "EventCode": "0x58", 13810e8d85fSIan Rogers "EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED", 13910e8d85fSIan Rogers "SampleAfterValue": "1000003", 14010e8d85fSIan Rogers "UMask": "0x2" 14110e8d85fSIan Rogers }, 14210e8d85fSIan Rogers { 14310e8d85fSIan Rogers "BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.", 14410e8d85fSIan Rogers "EventCode": "0x58", 14510e8d85fSIan Rogers "EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED", 14610e8d85fSIan Rogers "SampleAfterValue": "1000003", 14710e8d85fSIan Rogers "UMask": "0x8" 14810e8d85fSIan Rogers }, 14910e8d85fSIan Rogers { 15010e8d85fSIan Rogers "BriefDescription": "Number of transitions from AVX-256 to legacy SSE when penalty applicable.", 15110e8d85fSIan Rogers "Errata": "BDM30", 15210e8d85fSIan Rogers "EventCode": "0xC1", 15310e8d85fSIan Rogers "EventName": "OTHER_ASSISTS.AVX_TO_SSE", 15410e8d85fSIan Rogers "PublicDescription": "This event counts the number of transitions from AVX-256 to legacy SSE when penalty is applicable.", 15510e8d85fSIan Rogers "SampleAfterValue": "100003", 15610e8d85fSIan Rogers "UMask": "0x8" 15710e8d85fSIan Rogers }, 15810e8d85fSIan Rogers { 159b74d1315SAndi Kleen "BriefDescription": "Number of transitions from SSE to AVX-256 when penalty applicable.", 160b74d1315SAndi Kleen "Errata": "BDM30", 161 "EventCode": "0xC1", 162 "EventName": "OTHER_ASSISTS.SSE_TO_AVX", 163 "PublicDescription": "This event counts the number of transitions from legacy SSE to AVX-256 when penalty is applicable.", 164 "SampleAfterValue": "100003", 165 "UMask": "0x10" 166 }, 167 { 168 "BriefDescription": "Micro-op dispatches cancelled due to insufficient SIMD physical register file read ports", 169 "EventCode": "0xA0", 170 "EventName": "UOP_DISPATCHES_CANCELLED.SIMD_PRF", 171 "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.", 172 "SampleAfterValue": "2000003", 173 "UMask": "0x3" 174 } 175] 176