1b115df07SHaiyan Song[ 2b115df07SHaiyan Song { 3dd7415ceSIan Rogers "BriefDescription": "Counts all microcode FP assists.", 4dd7415ceSIan Rogers "EventCode": "0xc1", 5dd7415ceSIan Rogers "EventName": "ASSISTS.FP", 6dd7415ceSIan Rogers "PublicDescription": "Counts all microcode Floating Point assists.", 7dd7415ceSIan Rogers "SampleAfterValue": "100003", 8dd7415ceSIan Rogers "UMask": "0x2" 9dd7415ceSIan Rogers }, 10dd7415ceSIan Rogers { 11dd7415ceSIan 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.", 12b115df07SHaiyan Song "EventCode": "0xc7", 13dd7415ceSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE", 14dd7415ceSIan 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.", 1571fbc431SJin Yao "SampleAfterValue": "100003", 16dd7415ceSIan Rogers "UMask": "0x4" 17b115df07SHaiyan Song }, 18b115df07SHaiyan Song { 1971fbc431SJin 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.", 2071fbc431SJin Yao "EventCode": "0xc7", 2171fbc431SJin Yao "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE", 22dd7415ceSIan 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.", 2371fbc431SJin Yao "SampleAfterValue": "100003", 2471fbc431SJin Yao "UMask": "0x8" 2571fbc431SJin Yao }, 2671fbc431SJin Yao { 27dd7415ceSIan 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.", 28dd7415ceSIan Rogers "EventCode": "0xc7", 29dd7415ceSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE", 30dd7415ceSIan 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.", 31dd7415ceSIan Rogers "SampleAfterValue": "100003", 32dd7415ceSIan Rogers "UMask": "0x10" 33dd7415ceSIan Rogers }, 34dd7415ceSIan Rogers { 35dd7415ceSIan 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.", 36dd7415ceSIan Rogers "EventCode": "0xc7", 37dd7415ceSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE", 38dd7415ceSIan 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.", 39dd7415ceSIan Rogers "SampleAfterValue": "100003", 40dd7415ceSIan Rogers "UMask": "0x20" 41dd7415ceSIan Rogers }, 42dd7415ceSIan Rogers { 43*5d486947SIan 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*5d486947SIan Rogers "EventCode": "0xc7", 45*5d486947SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS", 46*5d486947SIan 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*5d486947SIan Rogers "SampleAfterValue": "100003", 48*5d486947SIan Rogers "UMask": "0x18" 49*5d486947SIan Rogers }, 50*5d486947SIan Rogers { 51dd7415ceSIan Rogers "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.", 52dd7415ceSIan Rogers "EventCode": "0xc7", 53dd7415ceSIan Rogers "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE", 54dd7415ceSIan 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.", 55dd7415ceSIan Rogers "SampleAfterValue": "100003", 56dd7415ceSIan Rogers "UMask": "0x40" 57dd7415ceSIan Rogers }, 58dd7415ceSIan Rogers { 59dd7415ceSIan 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.", 6071fbc431SJin Yao "EventCode": "0xc7", 61b115df07SHaiyan Song "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE", 62dd7415ceSIan 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.", 6371fbc431SJin Yao "SampleAfterValue": "100003", 6471fbc431SJin Yao "UMask": "0x80" 6571fbc431SJin Yao }, 6671fbc431SJin Yao { 67*5d486947SIan 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*5d486947SIan Rogers "EventCode": "0xc7", 69*5d486947SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.8_FLOPS", 70*5d486947SIan 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*5d486947SIan Rogers "SampleAfterValue": "100003", 72*5d486947SIan Rogers "UMask": "0x60" 73*5d486947SIan Rogers }, 74*5d486947SIan Rogers { 75*5d486947SIan 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 SQRT DPP FM(N)ADD/SUB. DPP and FM(N)ADD/SUB instructions count twice as they perform multiple calculations per element.", 76*5d486947SIan Rogers "EventCode": "0xc7", 77*5d486947SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR", 78*5d486947SIan 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*5d486947SIan Rogers "SampleAfterValue": "1000003", 80*5d486947SIan Rogers "UMask": "0x3" 81*5d486947SIan Rogers }, 82*5d486947SIan Rogers { 8371fbc431SJin 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.", 8471fbc431SJin Yao "EventCode": "0xc7", 8571fbc431SJin Yao "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE", 86dd7415ceSIan 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.", 8771fbc431SJin Yao "SampleAfterValue": "100003", 8871fbc431SJin Yao "UMask": "0x1" 8971fbc431SJin Yao }, 9071fbc431SJin Yao { 9171fbc431SJin 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.", 9271fbc431SJin Yao "EventCode": "0xc7", 9371fbc431SJin Yao "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE", 94dd7415ceSIan 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.", 9571fbc431SJin Yao "SampleAfterValue": "100003", 9671fbc431SJin Yao "UMask": "0x2" 97*5d486947SIan Rogers }, 98*5d486947SIan Rogers { 99*5d486947SIan Rogers "BriefDescription": "Number of any Vector retired FP arithmetic instructions", 100*5d486947SIan Rogers "EventCode": "0xc7", 101*5d486947SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.VECTOR", 102*5d486947SIan Rogers "SampleAfterValue": "1000003", 103*5d486947SIan Rogers "UMask": "0xfc" 104b115df07SHaiyan Song } 105b115df07SHaiyan Song] 106