1*ba56a910SIan Rogers[ 2*ba56a910SIan Rogers { 3*ba56a910SIan Rogers "BriefDescription": "Cycles when floating-point divide unit is busy executing divide or square root operations.", 4*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 5*ba56a910SIan Rogers "CounterMask": "1", 6*ba56a910SIan Rogers "EventCode": "0xb0", 7*ba56a910SIan Rogers "EventName": "ARITH.FPDIV_ACTIVE", 8*ba56a910SIan Rogers "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for floating-point operations only.", 9*ba56a910SIan Rogers "SampleAfterValue": "1000003", 10*ba56a910SIan Rogers "UMask": "0x1", 11*ba56a910SIan Rogers "Unit": "cpu_core" 12*ba56a910SIan Rogers }, 13*ba56a910SIan Rogers { 14*ba56a910SIan Rogers "BriefDescription": "Counts the number of cycles when any of the floating point dividers are active.", 15*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 16*ba56a910SIan Rogers "CounterMask": "1", 17*ba56a910SIan Rogers "EventCode": "0xcd", 18*ba56a910SIan Rogers "EventName": "ARITH.FPDIV_ACTIVE", 19*ba56a910SIan Rogers "SampleAfterValue": "1000003", 20*ba56a910SIan Rogers "UMask": "0x2", 21*ba56a910SIan Rogers "Unit": "cpu_lowpower" 22*ba56a910SIan Rogers }, 23*ba56a910SIan Rogers { 24*ba56a910SIan Rogers "BriefDescription": "Counts all microcode FP assists.", 25*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 26*ba56a910SIan Rogers "EventCode": "0xc1", 27*ba56a910SIan Rogers "EventName": "ASSISTS.FP", 28*ba56a910SIan Rogers "PublicDescription": "Counts all microcode Floating Point assists.", 29*ba56a910SIan Rogers "SampleAfterValue": "100003", 30*ba56a910SIan Rogers "UMask": "0x2", 31*ba56a910SIan Rogers "Unit": "cpu_core" 32*ba56a910SIan Rogers }, 33*ba56a910SIan Rogers { 34*ba56a910SIan Rogers "BriefDescription": "ASSISTS.SSE_AVX_MIX", 35*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 36*ba56a910SIan Rogers "EventCode": "0xc1", 37*ba56a910SIan Rogers "EventName": "ASSISTS.SSE_AVX_MIX", 38*ba56a910SIan Rogers "SampleAfterValue": "1000003", 39*ba56a910SIan Rogers "UMask": "0x10", 40*ba56a910SIan Rogers "Unit": "cpu_core" 41*ba56a910SIan Rogers }, 42*ba56a910SIan Rogers { 43*ba56a910SIan Rogers "BriefDescription": "Number of FP-arith-uops dispatched on 1st VEC port (port 0). FP-arith-uops are of type ADD* / SUB* / MUL / FMA* / DPP.", 44*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 45*ba56a910SIan Rogers "EventCode": "0xb3", 46*ba56a910SIan Rogers "EventName": "FP_ARITH_DISPATCHED.V0", 47*ba56a910SIan Rogers "SampleAfterValue": "2000003", 48*ba56a910SIan Rogers "UMask": "0x1", 49*ba56a910SIan Rogers "Unit": "cpu_core" 50*ba56a910SIan Rogers }, 51*ba56a910SIan Rogers { 52*ba56a910SIan Rogers "BriefDescription": "Number of FP-arith-uops dispatched on 2nd VEC port (port 1)", 53*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 54*ba56a910SIan Rogers "EventCode": "0xb3", 55*ba56a910SIan Rogers "EventName": "FP_ARITH_DISPATCHED.V1", 56*ba56a910SIan Rogers "SampleAfterValue": "2000003", 57*ba56a910SIan Rogers "UMask": "0x2", 58*ba56a910SIan Rogers "Unit": "cpu_core" 59*ba56a910SIan Rogers }, 60*ba56a910SIan Rogers { 61*ba56a910SIan Rogers "BriefDescription": "Number of FP-arith-uops dispatched on 3rd VEC port (port 5)", 62*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 63*ba56a910SIan Rogers "EventCode": "0xb3", 64*ba56a910SIan Rogers "EventName": "FP_ARITH_DISPATCHED.V2", 65*ba56a910SIan Rogers "SampleAfterValue": "2000003", 66*ba56a910SIan Rogers "UMask": "0x4", 67*ba56a910SIan Rogers "Unit": "cpu_core" 68*ba56a910SIan Rogers }, 69*ba56a910SIan Rogers { 70*ba56a910SIan Rogers "BriefDescription": "Number of FP-arith-uops dispatched on 4th VEC port", 71*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 72*ba56a910SIan Rogers "EventCode": "0xb3", 73*ba56a910SIan Rogers "EventName": "FP_ARITH_DISPATCHED.V3", 74*ba56a910SIan Rogers "SampleAfterValue": "2000003", 75*ba56a910SIan Rogers "UMask": "0x8", 76*ba56a910SIan Rogers "Unit": "cpu_core" 77*ba56a910SIan Rogers }, 78*ba56a910SIan Rogers { 79*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.128B_PACKED_DOUBLE", 80*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 81*ba56a910SIan Rogers "Deprecated": "1", 82*ba56a910SIan Rogers "EventCode": "0xc7", 83*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE", 84*ba56a910SIan Rogers "SampleAfterValue": "100003", 85*ba56a910SIan Rogers "UMask": "0x4", 86*ba56a910SIan Rogers "Unit": "cpu_core" 87*ba56a910SIan Rogers }, 88*ba56a910SIan Rogers { 89*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.128B_PACKED_SINGLE", 90*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 91*ba56a910SIan Rogers "Deprecated": "1", 92*ba56a910SIan Rogers "EventCode": "0xc7", 93*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE", 94*ba56a910SIan Rogers "SampleAfterValue": "100003", 95*ba56a910SIan Rogers "UMask": "0x8", 96*ba56a910SIan Rogers "Unit": "cpu_core" 97*ba56a910SIan Rogers }, 98*ba56a910SIan Rogers { 99*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.256B_PACKED_DOUBLE", 100*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 101*ba56a910SIan Rogers "Deprecated": "1", 102*ba56a910SIan Rogers "EventCode": "0xc7", 103*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE", 104*ba56a910SIan Rogers "SampleAfterValue": "100003", 105*ba56a910SIan Rogers "UMask": "0x10", 106*ba56a910SIan Rogers "Unit": "cpu_core" 107*ba56a910SIan Rogers }, 108*ba56a910SIan Rogers { 109*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.256B_PACKED_SINGLE", 110*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 111*ba56a910SIan Rogers "Deprecated": "1", 112*ba56a910SIan Rogers "EventCode": "0xc7", 113*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE", 114*ba56a910SIan Rogers "SampleAfterValue": "100003", 115*ba56a910SIan Rogers "UMask": "0x20", 116*ba56a910SIan Rogers "Unit": "cpu_core" 117*ba56a910SIan Rogers }, 118*ba56a910SIan Rogers { 119*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.4_FLOPS", 120*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 121*ba56a910SIan Rogers "Deprecated": "1", 122*ba56a910SIan Rogers "EventCode": "0xc7", 123*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS", 124*ba56a910SIan Rogers "SampleAfterValue": "100003", 125*ba56a910SIan Rogers "UMask": "0x18", 126*ba56a910SIan Rogers "Unit": "cpu_core" 127*ba56a910SIan Rogers }, 128*ba56a910SIan Rogers { 129*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.SCALAR", 130*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 131*ba56a910SIan Rogers "Deprecated": "1", 132*ba56a910SIan Rogers "EventCode": "0xc7", 133*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR", 134*ba56a910SIan Rogers "SampleAfterValue": "1000003", 135*ba56a910SIan Rogers "UMask": "0x3", 136*ba56a910SIan Rogers "Unit": "cpu_core" 137*ba56a910SIan Rogers }, 138*ba56a910SIan Rogers { 139*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.SCALAR_DOUBLE", 140*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 141*ba56a910SIan Rogers "Deprecated": "1", 142*ba56a910SIan Rogers "EventCode": "0xc7", 143*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE", 144*ba56a910SIan Rogers "SampleAfterValue": "100003", 145*ba56a910SIan Rogers "UMask": "0x1", 146*ba56a910SIan Rogers "Unit": "cpu_core" 147*ba56a910SIan Rogers }, 148*ba56a910SIan Rogers { 149*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.SCALAR_SINGLE", 150*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 151*ba56a910SIan Rogers "Deprecated": "1", 152*ba56a910SIan Rogers "EventCode": "0xc7", 153*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE", 154*ba56a910SIan Rogers "SampleAfterValue": "100003", 155*ba56a910SIan Rogers "UMask": "0x2", 156*ba56a910SIan Rogers "Unit": "cpu_core" 157*ba56a910SIan Rogers }, 158*ba56a910SIan Rogers { 159*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. Refer to new event FP_ARITH_OPS_RETIRED.VECTOR", 160*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 161*ba56a910SIan Rogers "Deprecated": "1", 162*ba56a910SIan Rogers "EventCode": "0xc7", 163*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.VECTOR", 164*ba56a910SIan Rogers "SampleAfterValue": "1000003", 165*ba56a910SIan Rogers "UMask": "0x3c", 166*ba56a910SIan Rogers "Unit": "cpu_core" 167*ba56a910SIan Rogers }, 168*ba56a910SIan Rogers { 169*ba56a910SIan Rogers "BriefDescription": "FP_ARITH_INST_RETIRED.VECTOR_128B [This event is alias to FP_ARITH_OPS_RETIRED.VECTOR_128B]", 170*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 171*ba56a910SIan Rogers "EventCode": "0xc7", 172*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.VECTOR_128B", 173*ba56a910SIan Rogers "SampleAfterValue": "100003", 174*ba56a910SIan Rogers "UMask": "0xc", 175*ba56a910SIan Rogers "Unit": "cpu_core" 176*ba56a910SIan Rogers }, 177*ba56a910SIan Rogers { 178*ba56a910SIan Rogers "BriefDescription": "FP_ARITH_INST_RETIRED.VECTOR_256B [This event is alias to FP_ARITH_OPS_RETIRED.VECTOR_256B]", 179*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 180*ba56a910SIan Rogers "EventCode": "0xc7", 181*ba56a910SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.VECTOR_256B", 182*ba56a910SIan Rogers "SampleAfterValue": "100003", 183*ba56a910SIan Rogers "UMask": "0x30", 184*ba56a910SIan Rogers "Unit": "cpu_core" 185*ba56a910SIan Rogers }, 186*ba56a910SIan Rogers { 187*ba56a910SIan 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.", 188*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 189*ba56a910SIan Rogers "EventCode": "0xc7", 190*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.128B_PACKED_DOUBLE", 191*ba56a910SIan 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.", 192*ba56a910SIan Rogers "SampleAfterValue": "100003", 193*ba56a910SIan Rogers "UMask": "0x4", 194*ba56a910SIan Rogers "Unit": "cpu_core" 195*ba56a910SIan Rogers }, 196*ba56a910SIan Rogers { 197*ba56a910SIan 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 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.", 198*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 199*ba56a910SIan Rogers "EventCode": "0xc7", 200*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.128B_PACKED_SINGLE", 201*ba56a910SIan 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.", 202*ba56a910SIan Rogers "SampleAfterValue": "100003", 203*ba56a910SIan Rogers "UMask": "0x8", 204*ba56a910SIan Rogers "Unit": "cpu_core" 205*ba56a910SIan Rogers }, 206*ba56a910SIan Rogers { 207*ba56a910SIan 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.", 208*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 209*ba56a910SIan Rogers "EventCode": "0xc7", 210*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.256B_PACKED_DOUBLE", 211*ba56a910SIan 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.", 212*ba56a910SIan Rogers "SampleAfterValue": "100003", 213*ba56a910SIan Rogers "UMask": "0x10", 214*ba56a910SIan Rogers "Unit": "cpu_core" 215*ba56a910SIan Rogers }, 216*ba56a910SIan Rogers { 217*ba56a910SIan 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.", 218*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 219*ba56a910SIan Rogers "EventCode": "0xc7", 220*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.256B_PACKED_SINGLE", 221*ba56a910SIan 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.", 222*ba56a910SIan Rogers "SampleAfterValue": "100003", 223*ba56a910SIan Rogers "UMask": "0x20", 224*ba56a910SIan Rogers "Unit": "cpu_core" 225*ba56a910SIan Rogers }, 226*ba56a910SIan Rogers { 227*ba56a910SIan 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.", 228*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 229*ba56a910SIan Rogers "EventCode": "0xc7", 230*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.4_FLOPS", 231*ba56a910SIan 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.", 232*ba56a910SIan Rogers "SampleAfterValue": "100003", 233*ba56a910SIan Rogers "UMask": "0x18", 234*ba56a910SIan Rogers "Unit": "cpu_core" 235*ba56a910SIan Rogers }, 236*ba56a910SIan Rogers { 237*ba56a910SIan 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.", 238*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 239*ba56a910SIan Rogers "EventCode": "0xc7", 240*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.SCALAR", 241*ba56a910SIan 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.", 242*ba56a910SIan Rogers "SampleAfterValue": "1000003", 243*ba56a910SIan Rogers "UMask": "0x3", 244*ba56a910SIan Rogers "Unit": "cpu_core" 245*ba56a910SIan Rogers }, 246*ba56a910SIan Rogers { 247*ba56a910SIan Rogers "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.", 248*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 249*ba56a910SIan Rogers "EventCode": "0xc7", 250*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.SCALAR_DOUBLE", 251*ba56a910SIan 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.", 252*ba56a910SIan Rogers "SampleAfterValue": "100003", 253*ba56a910SIan Rogers "UMask": "0x1", 254*ba56a910SIan Rogers "Unit": "cpu_core" 255*ba56a910SIan Rogers }, 256*ba56a910SIan Rogers { 257*ba56a910SIan Rogers "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.", 258*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 259*ba56a910SIan Rogers "EventCode": "0xc7", 260*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.SCALAR_SINGLE", 261*ba56a910SIan 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.", 262*ba56a910SIan Rogers "SampleAfterValue": "100003", 263*ba56a910SIan Rogers "UMask": "0x2", 264*ba56a910SIan Rogers "Unit": "cpu_core" 265*ba56a910SIan Rogers }, 266*ba56a910SIan Rogers { 267*ba56a910SIan Rogers "BriefDescription": "Number of any Vector retired FP arithmetic instructions", 268*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 269*ba56a910SIan Rogers "EventCode": "0xc7", 270*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.VECTOR", 271*ba56a910SIan Rogers "PublicDescription": "Number of any Vector retired FP arithmetic instructions. The DAZ and FTZ flags in the MXCSR register need to be set when using these events.", 272*ba56a910SIan Rogers "SampleAfterValue": "1000003", 273*ba56a910SIan Rogers "UMask": "0x3c", 274*ba56a910SIan Rogers "Unit": "cpu_core" 275*ba56a910SIan Rogers }, 276*ba56a910SIan Rogers { 277*ba56a910SIan Rogers "BriefDescription": "FP_ARITH_OPS_RETIRED.VECTOR_128B [This event is alias to FP_ARITH_INST_RETIRED.VECTOR_128B]", 278*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 279*ba56a910SIan Rogers "EventCode": "0xc7", 280*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.VECTOR_128B", 281*ba56a910SIan Rogers "SampleAfterValue": "100003", 282*ba56a910SIan Rogers "UMask": "0xc", 283*ba56a910SIan Rogers "Unit": "cpu_core" 284*ba56a910SIan Rogers }, 285*ba56a910SIan Rogers { 286*ba56a910SIan Rogers "BriefDescription": "FP_ARITH_OPS_RETIRED.VECTOR_256B [This event is alias to FP_ARITH_INST_RETIRED.VECTOR_256B]", 287*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7,8,9", 288*ba56a910SIan Rogers "EventCode": "0xc7", 289*ba56a910SIan Rogers "EventName": "FP_ARITH_OPS_RETIRED.VECTOR_256B", 290*ba56a910SIan Rogers "SampleAfterValue": "100003", 291*ba56a910SIan Rogers "UMask": "0x30", 292*ba56a910SIan Rogers "Unit": "cpu_core" 293*ba56a910SIan Rogers }, 294*ba56a910SIan Rogers { 295*ba56a910SIan Rogers "BriefDescription": "Counts the number of all types of floating point operations per uop with all default weighting", 296*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 297*ba56a910SIan Rogers "EventCode": "0xc8", 298*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.ALL", 299*ba56a910SIan Rogers "SampleAfterValue": "1000003", 300*ba56a910SIan Rogers "UMask": "0x3", 301*ba56a910SIan Rogers "Unit": "cpu_atom" 302*ba56a910SIan Rogers }, 303*ba56a910SIan Rogers { 304*ba56a910SIan Rogers "BriefDescription": "Counts the number of all types of floating point operations per uop with all default weighting", 305*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 306*ba56a910SIan Rogers "EventCode": "0xc8", 307*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.ALL", 308*ba56a910SIan Rogers "SampleAfterValue": "1000003", 309*ba56a910SIan Rogers "UMask": "0x3", 310*ba56a910SIan Rogers "Unit": "cpu_lowpower" 311*ba56a910SIan Rogers }, 312*ba56a910SIan Rogers { 313*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. [This event is alias to FP_FLOPS_RETIRED.FP64]", 314*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 315*ba56a910SIan Rogers "Deprecated": "1", 316*ba56a910SIan Rogers "EventCode": "0xc8", 317*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.DP", 318*ba56a910SIan Rogers "SampleAfterValue": "1000003", 319*ba56a910SIan Rogers "UMask": "0x1", 320*ba56a910SIan Rogers "Unit": "cpu_lowpower" 321*ba56a910SIan Rogers }, 322*ba56a910SIan Rogers { 323*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point operations that produce 32 bit single precision results", 324*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 325*ba56a910SIan Rogers "EventCode": "0xc8", 326*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.FP32", 327*ba56a910SIan Rogers "SampleAfterValue": "1000003", 328*ba56a910SIan Rogers "UMask": "0x2", 329*ba56a910SIan Rogers "Unit": "cpu_atom" 330*ba56a910SIan Rogers }, 331*ba56a910SIan Rogers { 332*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point operations that produce 32 bit single precision results [This event is alias to FP_FLOPS_RETIRED.SP]", 333*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 334*ba56a910SIan Rogers "EventCode": "0xc8", 335*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.FP32", 336*ba56a910SIan Rogers "SampleAfterValue": "1000003", 337*ba56a910SIan Rogers "UMask": "0x2", 338*ba56a910SIan Rogers "Unit": "cpu_lowpower" 339*ba56a910SIan Rogers }, 340*ba56a910SIan Rogers { 341*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point operations that produce 64 bit double precision results", 342*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 343*ba56a910SIan Rogers "EventCode": "0xc8", 344*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.FP64", 345*ba56a910SIan Rogers "SampleAfterValue": "1000003", 346*ba56a910SIan Rogers "UMask": "0x1", 347*ba56a910SIan Rogers "Unit": "cpu_atom" 348*ba56a910SIan Rogers }, 349*ba56a910SIan Rogers { 350*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point operations that produce 64 bit double precision results [This event is alias to FP_FLOPS_RETIRED.DP]", 351*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 352*ba56a910SIan Rogers "EventCode": "0xc8", 353*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.FP64", 354*ba56a910SIan Rogers "SampleAfterValue": "1000003", 355*ba56a910SIan Rogers "UMask": "0x1", 356*ba56a910SIan Rogers "Unit": "cpu_lowpower" 357*ba56a910SIan Rogers }, 358*ba56a910SIan Rogers { 359*ba56a910SIan Rogers "BriefDescription": "This event is deprecated. [This event is alias to FP_FLOPS_RETIRED.FP32]", 360*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 361*ba56a910SIan Rogers "Deprecated": "1", 362*ba56a910SIan Rogers "EventCode": "0xc8", 363*ba56a910SIan Rogers "EventName": "FP_FLOPS_RETIRED.SP", 364*ba56a910SIan Rogers "SampleAfterValue": "1000003", 365*ba56a910SIan Rogers "UMask": "0x2", 366*ba56a910SIan Rogers "Unit": "cpu_lowpower" 367*ba56a910SIan Rogers }, 368*ba56a910SIan Rogers { 369*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a packed 128 bit double precision floating point. This may be SSE or AVX.128 operations.", 370*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 371*ba56a910SIan Rogers "EventCode": "0xc7", 372*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.128B_DP", 373*ba56a910SIan Rogers "SampleAfterValue": "1000003", 374*ba56a910SIan Rogers "UMask": "0x8", 375*ba56a910SIan Rogers "Unit": "cpu_atom" 376*ba56a910SIan Rogers }, 377*ba56a910SIan Rogers { 378*ba56a910SIan Rogers "BriefDescription": "Counts the total number of floating point retired instructions.", 379*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 380*ba56a910SIan Rogers "EventCode": "0xc7", 381*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.128B_DP", 382*ba56a910SIan Rogers "SampleAfterValue": "1000003", 383*ba56a910SIan Rogers "UMask": "0x8", 384*ba56a910SIan Rogers "Unit": "cpu_lowpower" 385*ba56a910SIan Rogers }, 386*ba56a910SIan Rogers { 387*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a packed 128 bit single precision floating point. This may be SSE or AVX.128 operations.", 388*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 389*ba56a910SIan Rogers "EventCode": "0xc7", 390*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.128B_SP", 391*ba56a910SIan Rogers "SampleAfterValue": "1000003", 392*ba56a910SIan Rogers "UMask": "0x4", 393*ba56a910SIan Rogers "Unit": "cpu_atom" 394*ba56a910SIan Rogers }, 395*ba56a910SIan Rogers { 396*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a packed 128 bit single precision floating point. This may be SSE or AVX.128 operations.", 397*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 398*ba56a910SIan Rogers "EventCode": "0xc7", 399*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.128B_SP", 400*ba56a910SIan Rogers "SampleAfterValue": "1000003", 401*ba56a910SIan Rogers "UMask": "0x4", 402*ba56a910SIan Rogers "Unit": "cpu_lowpower" 403*ba56a910SIan Rogers }, 404*ba56a910SIan Rogers { 405*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a packed 256 bit double precision floating point.", 406*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 407*ba56a910SIan Rogers "EventCode": "0xc7", 408*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.256B_DP", 409*ba56a910SIan Rogers "SampleAfterValue": "1000003", 410*ba56a910SIan Rogers "UMask": "0x20", 411*ba56a910SIan Rogers "Unit": "cpu_atom" 412*ba56a910SIan Rogers }, 413*ba56a910SIan Rogers { 414*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a packed 256 bit double precision floating point.", 415*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 416*ba56a910SIan Rogers "EventCode": "0xc7", 417*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.256B_DP", 418*ba56a910SIan Rogers "SampleAfterValue": "1000003", 419*ba56a910SIan Rogers "UMask": "0x20", 420*ba56a910SIan Rogers "Unit": "cpu_lowpower" 421*ba56a910SIan Rogers }, 422*ba56a910SIan Rogers { 423*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a packed 256 bit single precision floating point.", 424*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 425*ba56a910SIan Rogers "EventCode": "0xc7", 426*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.256B_SP", 427*ba56a910SIan Rogers "SampleAfterValue": "1000003", 428*ba56a910SIan Rogers "UMask": "0x10", 429*ba56a910SIan Rogers "Unit": "cpu_atom" 430*ba56a910SIan Rogers }, 431*ba56a910SIan Rogers { 432*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 32bit single precision floating point", 433*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 434*ba56a910SIan Rogers "EventCode": "0xc7", 435*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.32B_SP", 436*ba56a910SIan Rogers "SampleAfterValue": "1000003", 437*ba56a910SIan Rogers "UMask": "0x1", 438*ba56a910SIan Rogers "Unit": "cpu_atom" 439*ba56a910SIan Rogers }, 440*ba56a910SIan Rogers { 441*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 32bit single precision floating point.", 442*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 443*ba56a910SIan Rogers "EventCode": "0xc7", 444*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.32B_SP", 445*ba56a910SIan Rogers "SampleAfterValue": "1000003", 446*ba56a910SIan Rogers "UMask": "0x1", 447*ba56a910SIan Rogers "Unit": "cpu_lowpower" 448*ba56a910SIan Rogers }, 449*ba56a910SIan Rogers { 450*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 64 bit double precision floating point", 451*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 452*ba56a910SIan Rogers "EventCode": "0xc7", 453*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.64B_DP", 454*ba56a910SIan Rogers "SampleAfterValue": "1000003", 455*ba56a910SIan Rogers "UMask": "0x2", 456*ba56a910SIan Rogers "Unit": "cpu_atom" 457*ba56a910SIan Rogers }, 458*ba56a910SIan Rogers { 459*ba56a910SIan Rogers "BriefDescription": "Counts the number of retired instructions whose sources are a scalar 64 bit double precision floating point.", 460*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 461*ba56a910SIan Rogers "EventCode": "0xc7", 462*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.64B_DP", 463*ba56a910SIan Rogers "SampleAfterValue": "1000003", 464*ba56a910SIan Rogers "UMask": "0x2", 465*ba56a910SIan Rogers "Unit": "cpu_lowpower" 466*ba56a910SIan Rogers }, 467*ba56a910SIan Rogers { 468*ba56a910SIan Rogers "BriefDescription": "Counts the total number of floating point retired instructions.", 469*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 470*ba56a910SIan Rogers "EventCode": "0xc7", 471*ba56a910SIan Rogers "EventName": "FP_INST_RETIRED.ALL", 472*ba56a910SIan Rogers "SampleAfterValue": "1000003", 473*ba56a910SIan Rogers "UMask": "0x3f", 474*ba56a910SIan Rogers "Unit": "cpu_atom" 475*ba56a910SIan Rogers }, 476*ba56a910SIan Rogers { 477*ba56a910SIan Rogers "BriefDescription": "Counts the number of uops executed on floating point and vector integer port 0, 1, 2, 3.", 478*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 479*ba56a910SIan Rogers "EventCode": "0xb2", 480*ba56a910SIan Rogers "EventName": "FP_VINT_UOPS_EXECUTED.PRIMARY", 481*ba56a910SIan Rogers "SampleAfterValue": "1000003", 482*ba56a910SIan Rogers "UMask": "0x1e", 483*ba56a910SIan Rogers "Unit": "cpu_atom" 484*ba56a910SIan Rogers }, 485*ba56a910SIan Rogers { 486*ba56a910SIan Rogers "BriefDescription": "Counts the number of uops executed on floating point and vector integer store data port.", 487*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 488*ba56a910SIan Rogers "EventCode": "0xb2", 489*ba56a910SIan Rogers "EventName": "FP_VINT_UOPS_EXECUTED.STD", 490*ba56a910SIan Rogers "SampleAfterValue": "1000003", 491*ba56a910SIan Rogers "UMask": "0x1", 492*ba56a910SIan Rogers "Unit": "cpu_atom" 493*ba56a910SIan Rogers }, 494*ba56a910SIan Rogers { 495*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point operations retired that required microcode assist.", 496*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 497*ba56a910SIan Rogers "EventCode": "0xc3", 498*ba56a910SIan Rogers "EventName": "MACHINE_CLEARS.FP_ASSIST", 499*ba56a910SIan Rogers "PublicDescription": "Counts the number of floating point operations retired that required microcode assist, which is not a reflection of the number of FP operations, instructions or uops.", 500*ba56a910SIan Rogers "SampleAfterValue": "20003", 501*ba56a910SIan Rogers "UMask": "0x4", 502*ba56a910SIan Rogers "Unit": "cpu_atom" 503*ba56a910SIan Rogers }, 504*ba56a910SIan Rogers { 505*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point operations retired that required microcode assist.", 506*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 507*ba56a910SIan Rogers "EventCode": "0xc3", 508*ba56a910SIan Rogers "EventName": "MACHINE_CLEARS.FP_ASSIST", 509*ba56a910SIan Rogers "PublicDescription": "Counts the number of floating point operations retired that required microcode assist, which is not a reflection of the number of FP operations, instructions or uops.", 510*ba56a910SIan Rogers "SampleAfterValue": "20003", 511*ba56a910SIan Rogers "UMask": "0x4", 512*ba56a910SIan Rogers "Unit": "cpu_lowpower" 513*ba56a910SIan Rogers }, 514*ba56a910SIan Rogers { 515*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point divide uops retired (x87 and sse, including x87 sqrt)", 516*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 517*ba56a910SIan Rogers "EventCode": "0xc2", 518*ba56a910SIan Rogers "EventName": "UOPS_RETIRED.FPDIV", 519*ba56a910SIan Rogers "SampleAfterValue": "2000003", 520*ba56a910SIan Rogers "UMask": "0x8", 521*ba56a910SIan Rogers "Unit": "cpu_atom" 522*ba56a910SIan Rogers }, 523*ba56a910SIan Rogers { 524*ba56a910SIan Rogers "BriefDescription": "Counts the number of floating point divide uops retired (x87 and sse, including x87 sqrt).", 525*ba56a910SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 526*ba56a910SIan Rogers "EventCode": "0xc2", 527*ba56a910SIan Rogers "EventName": "UOPS_RETIRED.FPDIV", 528*ba56a910SIan Rogers "SampleAfterValue": "2000003", 529*ba56a910SIan Rogers "UMask": "0x8", 530*ba56a910SIan Rogers "Unit": "cpu_lowpower" 531*ba56a910SIan Rogers } 532*ba56a910SIan Rogers] 533