162306a36Sopenharmony_ci[
262306a36Sopenharmony_ci    {
362306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD 128-bit packed computational double precision floating-point instructions retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
462306a36Sopenharmony_ci        "EventCode": "0xC7",
562306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE",
662306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD 128-bit packed computational 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 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.",
762306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
862306a36Sopenharmony_ci        "UMask": "0x4"
962306a36Sopenharmony_ci    },
1062306a36Sopenharmony_ci    {
1162306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD 128-bit packed computational single precision floating-point instruction retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
1262306a36Sopenharmony_ci        "EventCode": "0xC7",
1362306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE",
1462306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD 128-bit packed computational 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 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.",
1562306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
1662306a36Sopenharmony_ci        "UMask": "0x8"
1762306a36Sopenharmony_ci    },
1862306a36Sopenharmony_ci    {
1962306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD 256-bit packed double computational precision floating-point instructions retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
2062306a36Sopenharmony_ci        "EventCode": "0xC7",
2162306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE",
2262306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD 256-bit packed double computational 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 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.",
2362306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
2462306a36Sopenharmony_ci        "UMask": "0x10"
2562306a36Sopenharmony_ci    },
2662306a36Sopenharmony_ci    {
2762306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD 256-bit packed single computational precision floating-point instructions retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
2862306a36Sopenharmony_ci        "EventCode": "0xC7",
2962306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE",
3062306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD 256-bit packed single computational 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 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.",
3162306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
3262306a36Sopenharmony_ci        "UMask": "0x20"
3362306a36Sopenharmony_ci    },
3462306a36Sopenharmony_ci    {
3562306a36Sopenharmony_ci        "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.",
3662306a36Sopenharmony_ci        "EventCode": "0xC7",
3762306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS",
3862306a36Sopenharmony_ci        "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.",
3962306a36Sopenharmony_ci        "SampleAfterValue": "1000003",
4062306a36Sopenharmony_ci        "UMask": "0x18"
4162306a36Sopenharmony_ci    },
4262306a36Sopenharmony_ci    {
4362306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD scalar computational floating-point instructions retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
4462306a36Sopenharmony_ci        "EventCode": "0xC7",
4562306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.SCALAR",
4662306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD scalar computational 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 SIMD 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.",
4762306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
4862306a36Sopenharmony_ci        "UMask": "0x3"
4962306a36Sopenharmony_ci    },
5062306a36Sopenharmony_ci    {
5162306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD scalar computational double precision floating-point instructions retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
5262306a36Sopenharmony_ci        "EventCode": "0xC7",
5362306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE",
5462306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD scalar computational double precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SIMD 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.",
5562306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
5662306a36Sopenharmony_ci        "UMask": "0x1"
5762306a36Sopenharmony_ci    },
5862306a36Sopenharmony_ci    {
5962306a36Sopenharmony_ci        "BriefDescription": "Counts once for most SIMD scalar computational single precision floating-point instructions retired. Counts twice for DPP and FM(N)ADD/SUB instructions retired.",
6062306a36Sopenharmony_ci        "EventCode": "0xC7",
6162306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE",
6262306a36Sopenharmony_ci        "PublicDescription": "Counts once for most SIMD scalar computational single precision floating-point instructions retired; some instructions will count twice as noted below.  Each count represents 1 computational operation. Applies to SIMD 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.",
6362306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
6462306a36Sopenharmony_ci        "UMask": "0x2"
6562306a36Sopenharmony_ci    },
6662306a36Sopenharmony_ci    {
6762306a36Sopenharmony_ci        "BriefDescription": "Number of any Vector retired FP arithmetic instructions",
6862306a36Sopenharmony_ci        "EventCode": "0xC7",
6962306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.VECTOR",
7062306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
7162306a36Sopenharmony_ci        "UMask": "0xfc"
7262306a36Sopenharmony_ci    },
7362306a36Sopenharmony_ci    {
7462306a36Sopenharmony_ci        "BriefDescription": "Cycles with any input/output SSE or FP assist",
7562306a36Sopenharmony_ci        "CounterMask": "1",
7662306a36Sopenharmony_ci        "EventCode": "0xCA",
7762306a36Sopenharmony_ci        "EventName": "FP_ASSIST.ANY",
7862306a36Sopenharmony_ci        "PublicDescription": "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.",
7962306a36Sopenharmony_ci        "SampleAfterValue": "100003",
8062306a36Sopenharmony_ci        "UMask": "0x1e"
8162306a36Sopenharmony_ci    }
8262306a36Sopenharmony_ci]
83