17e74ece3SIan Rogers[ 27e74ece3SIan Rogers { 37e74ece3SIan Rogers "BriefDescription": "Counts all microcode FP assists.", 4bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 57e74ece3SIan Rogers "EventCode": "0xc1", 67e74ece3SIan Rogers "EventName": "ASSISTS.FP", 77e74ece3SIan Rogers "PublicDescription": "Counts all microcode Floating Point assists.", 87e74ece3SIan Rogers "SampleAfterValue": "100003", 97e74ece3SIan Rogers "UMask": "0x2" 107e74ece3SIan Rogers }, 117e74ece3SIan Rogers { 127e74ece3SIan 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.", 13bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 147e74ece3SIan Rogers "EventCode": "0xc7", 157e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE", 167e74ece3SIan 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.", 177e74ece3SIan Rogers "SampleAfterValue": "100003", 187e74ece3SIan Rogers "UMask": "0x4" 197e74ece3SIan Rogers }, 207e74ece3SIan Rogers { 217e74ece3SIan 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.", 22bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 237e74ece3SIan Rogers "EventCode": "0xc7", 247e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE", 257e74ece3SIan 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.", 267e74ece3SIan Rogers "SampleAfterValue": "100003", 277e74ece3SIan Rogers "UMask": "0x8" 287e74ece3SIan Rogers }, 297e74ece3SIan Rogers { 307e74ece3SIan 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.", 31bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 327e74ece3SIan Rogers "EventCode": "0xc7", 337e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE", 347e74ece3SIan 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.", 357e74ece3SIan Rogers "SampleAfterValue": "100003", 367e74ece3SIan Rogers "UMask": "0x10" 377e74ece3SIan Rogers }, 387e74ece3SIan Rogers { 397e74ece3SIan 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.", 40bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 417e74ece3SIan Rogers "EventCode": "0xc7", 427e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE", 437e74ece3SIan 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.", 447e74ece3SIan Rogers "SampleAfterValue": "100003", 457e74ece3SIan Rogers "UMask": "0x20" 467e74ece3SIan Rogers }, 477e74ece3SIan Rogers { 487e74ece3SIan 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.", 49bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 507e74ece3SIan Rogers "EventCode": "0xc7", 517e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS", 527e74ece3SIan 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.", 537e74ece3SIan Rogers "SampleAfterValue": "100003", 547e74ece3SIan Rogers "UMask": "0x18" 557e74ece3SIan Rogers }, 567e74ece3SIan Rogers { 577e74ece3SIan 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.", 58bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 597e74ece3SIan Rogers "EventCode": "0xc7", 607e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE", 617e74ece3SIan 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.", 627e74ece3SIan Rogers "SampleAfterValue": "100003", 637e74ece3SIan Rogers "UMask": "0x40" 647e74ece3SIan Rogers }, 657e74ece3SIan Rogers { 667e74ece3SIan 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.", 67bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 687e74ece3SIan Rogers "EventCode": "0xc7", 697e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE", 707e74ece3SIan 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.", 717e74ece3SIan Rogers "SampleAfterValue": "100003", 727e74ece3SIan Rogers "UMask": "0x80" 737e74ece3SIan Rogers }, 747e74ece3SIan Rogers { 757e74ece3SIan 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.", 76bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 777e74ece3SIan Rogers "EventCode": "0xc7", 787e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.8_FLOPS", 797e74ece3SIan 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.", 807e74ece3SIan Rogers "SampleAfterValue": "100003", 817e74ece3SIan Rogers "UMask": "0x60" 827e74ece3SIan Rogers }, 837e74ece3SIan Rogers { 847e74ece3SIan 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.", 85bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 867e74ece3SIan Rogers "EventCode": "0xc7", 877e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR", 887e74ece3SIan 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.", 897e74ece3SIan Rogers "SampleAfterValue": "1000003", 907e74ece3SIan Rogers "UMask": "0x3" 917e74ece3SIan Rogers }, 927e74ece3SIan Rogers { 937e74ece3SIan 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.", 94bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 957e74ece3SIan Rogers "EventCode": "0xc7", 967e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE", 977e74ece3SIan 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.", 987e74ece3SIan Rogers "SampleAfterValue": "100003", 997e74ece3SIan Rogers "UMask": "0x1" 1007e74ece3SIan Rogers }, 1017e74ece3SIan Rogers { 1027e74ece3SIan 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.", 103bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 1047e74ece3SIan Rogers "EventCode": "0xc7", 1057e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE", 1067e74ece3SIan 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.", 1077e74ece3SIan Rogers "SampleAfterValue": "100003", 1087e74ece3SIan Rogers "UMask": "0x2" 1097e74ece3SIan Rogers }, 1107e74ece3SIan Rogers { 1117e74ece3SIan Rogers "BriefDescription": "Number of any Vector retired FP arithmetic instructions", 112bf0dd1f4SIan Rogers "Counter": "0,1,2,3,4,5,6,7", 1137e74ece3SIan Rogers "EventCode": "0xc7", 1147e74ece3SIan Rogers "EventName": "FP_ARITH_INST_RETIRED.VECTOR", 1157e74ece3SIan Rogers "SampleAfterValue": "1000003", 1167e74ece3SIan Rogers "UMask": "0xfc" 1177e74ece3SIan Rogers } 1187e74ece3SIan Rogers] 119