162306a36Sopenharmony_ci[
262306a36Sopenharmony_ci    {
362306a36Sopenharmony_ci        "BriefDescription": "ARITH.FPDIV_ACTIVE",
462306a36Sopenharmony_ci        "CounterMask": "1",
562306a36Sopenharmony_ci        "EventCode": "0xb0",
662306a36Sopenharmony_ci        "EventName": "ARITH.FPDIV_ACTIVE",
762306a36Sopenharmony_ci        "SampleAfterValue": "1000003",
862306a36Sopenharmony_ci        "UMask": "0x1"
962306a36Sopenharmony_ci    },
1062306a36Sopenharmony_ci    {
1162306a36Sopenharmony_ci        "BriefDescription": "Counts all microcode FP assists.",
1262306a36Sopenharmony_ci        "EventCode": "0xc1",
1362306a36Sopenharmony_ci        "EventName": "ASSISTS.FP",
1462306a36Sopenharmony_ci        "PublicDescription": "Counts all microcode Floating Point assists.",
1562306a36Sopenharmony_ci        "SampleAfterValue": "100003",
1662306a36Sopenharmony_ci        "UMask": "0x2"
1762306a36Sopenharmony_ci    },
1862306a36Sopenharmony_ci    {
1962306a36Sopenharmony_ci        "BriefDescription": "ASSISTS.SSE_AVX_MIX",
2062306a36Sopenharmony_ci        "EventCode": "0xc1",
2162306a36Sopenharmony_ci        "EventName": "ASSISTS.SSE_AVX_MIX",
2262306a36Sopenharmony_ci        "SampleAfterValue": "1000003",
2362306a36Sopenharmony_ci        "UMask": "0x10"
2462306a36Sopenharmony_ci    },
2562306a36Sopenharmony_ci    {
2662306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_DISPATCHED.PORT_0",
2762306a36Sopenharmony_ci        "EventCode": "0xb3",
2862306a36Sopenharmony_ci        "EventName": "FP_ARITH_DISPATCHED.PORT_0",
2962306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
3062306a36Sopenharmony_ci        "UMask": "0x1"
3162306a36Sopenharmony_ci    },
3262306a36Sopenharmony_ci    {
3362306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_DISPATCHED.PORT_1",
3462306a36Sopenharmony_ci        "EventCode": "0xb3",
3562306a36Sopenharmony_ci        "EventName": "FP_ARITH_DISPATCHED.PORT_1",
3662306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
3762306a36Sopenharmony_ci        "UMask": "0x2"
3862306a36Sopenharmony_ci    },
3962306a36Sopenharmony_ci    {
4062306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_DISPATCHED.PORT_5",
4162306a36Sopenharmony_ci        "EventCode": "0xb3",
4262306a36Sopenharmony_ci        "EventName": "FP_ARITH_DISPATCHED.PORT_5",
4362306a36Sopenharmony_ci        "SampleAfterValue": "2000003",
4462306a36Sopenharmony_ci        "UMask": "0x4"
4562306a36Sopenharmony_ci    },
4662306a36Sopenharmony_ci    {
4762306a36Sopenharmony_ci        "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.",
4862306a36Sopenharmony_ci        "EventCode": "0xc7",
4962306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE",
5062306a36Sopenharmony_ci        "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.",
5162306a36Sopenharmony_ci        "SampleAfterValue": "100003",
5262306a36Sopenharmony_ci        "UMask": "0x4"
5362306a36Sopenharmony_ci    },
5462306a36Sopenharmony_ci    {
5562306a36Sopenharmony_ci        "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.",
5662306a36Sopenharmony_ci        "EventCode": "0xc7",
5762306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE",
5862306a36Sopenharmony_ci        "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.",
5962306a36Sopenharmony_ci        "SampleAfterValue": "100003",
6062306a36Sopenharmony_ci        "UMask": "0x8"
6162306a36Sopenharmony_ci    },
6262306a36Sopenharmony_ci    {
6362306a36Sopenharmony_ci        "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.",
6462306a36Sopenharmony_ci        "EventCode": "0xc7",
6562306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE",
6662306a36Sopenharmony_ci        "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.",
6762306a36Sopenharmony_ci        "SampleAfterValue": "100003",
6862306a36Sopenharmony_ci        "UMask": "0x10"
6962306a36Sopenharmony_ci    },
7062306a36Sopenharmony_ci    {
7162306a36Sopenharmony_ci        "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.",
7262306a36Sopenharmony_ci        "EventCode": "0xc7",
7362306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE",
7462306a36Sopenharmony_ci        "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.",
7562306a36Sopenharmony_ci        "SampleAfterValue": "100003",
7662306a36Sopenharmony_ci        "UMask": "0x20"
7762306a36Sopenharmony_ci    },
7862306a36Sopenharmony_ci    {
7962306a36Sopenharmony_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.",
8062306a36Sopenharmony_ci        "EventCode": "0xc7",
8162306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.4_FLOPS",
8262306a36Sopenharmony_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.",
8362306a36Sopenharmony_ci        "SampleAfterValue": "100003",
8462306a36Sopenharmony_ci        "UMask": "0x18"
8562306a36Sopenharmony_ci    },
8662306a36Sopenharmony_ci    {
8762306a36Sopenharmony_ci        "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.",
8862306a36Sopenharmony_ci        "EventCode": "0xc7",
8962306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE",
9062306a36Sopenharmony_ci        "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.",
9162306a36Sopenharmony_ci        "SampleAfterValue": "100003",
9262306a36Sopenharmony_ci        "UMask": "0x40"
9362306a36Sopenharmony_ci    },
9462306a36Sopenharmony_ci    {
9562306a36Sopenharmony_ci        "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.",
9662306a36Sopenharmony_ci        "EventCode": "0xc7",
9762306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE",
9862306a36Sopenharmony_ci        "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.",
9962306a36Sopenharmony_ci        "SampleAfterValue": "100003",
10062306a36Sopenharmony_ci        "UMask": "0x80"
10162306a36Sopenharmony_ci    },
10262306a36Sopenharmony_ci    {
10362306a36Sopenharmony_ci        "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.",
10462306a36Sopenharmony_ci        "EventCode": "0xc7",
10562306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.8_FLOPS",
10662306a36Sopenharmony_ci        "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.",
10762306a36Sopenharmony_ci        "SampleAfterValue": "100003",
10862306a36Sopenharmony_ci        "UMask": "0x60"
10962306a36Sopenharmony_ci    },
11062306a36Sopenharmony_ci    {
11162306a36Sopenharmony_ci        "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.",
11262306a36Sopenharmony_ci        "EventCode": "0xc7",
11362306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.SCALAR",
11462306a36Sopenharmony_ci        "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.",
11562306a36Sopenharmony_ci        "SampleAfterValue": "1000003",
11662306a36Sopenharmony_ci        "UMask": "0x3"
11762306a36Sopenharmony_ci    },
11862306a36Sopenharmony_ci    {
11962306a36Sopenharmony_ci        "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.",
12062306a36Sopenharmony_ci        "EventCode": "0xc7",
12162306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_DOUBLE",
12262306a36Sopenharmony_ci        "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.",
12362306a36Sopenharmony_ci        "SampleAfterValue": "100003",
12462306a36Sopenharmony_ci        "UMask": "0x1"
12562306a36Sopenharmony_ci    },
12662306a36Sopenharmony_ci    {
12762306a36Sopenharmony_ci        "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.",
12862306a36Sopenharmony_ci        "EventCode": "0xc7",
12962306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.SCALAR_SINGLE",
13062306a36Sopenharmony_ci        "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.",
13162306a36Sopenharmony_ci        "SampleAfterValue": "100003",
13262306a36Sopenharmony_ci        "UMask": "0x2"
13362306a36Sopenharmony_ci    },
13462306a36Sopenharmony_ci    {
13562306a36Sopenharmony_ci        "BriefDescription": "Number of any Vector retired FP arithmetic instructions",
13662306a36Sopenharmony_ci        "EventCode": "0xc7",
13762306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED.VECTOR",
13862306a36Sopenharmony_ci        "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.",
13962306a36Sopenharmony_ci        "SampleAfterValue": "1000003",
14062306a36Sopenharmony_ci        "UMask": "0xfc"
14162306a36Sopenharmony_ci    },
14262306a36Sopenharmony_ci    {
14362306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_INST_RETIRED2.128B_PACKED_HALF",
14462306a36Sopenharmony_ci        "EventCode": "0xcf",
14562306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.128B_PACKED_HALF",
14662306a36Sopenharmony_ci        "SampleAfterValue": "100003",
14762306a36Sopenharmony_ci        "UMask": "0x4"
14862306a36Sopenharmony_ci    },
14962306a36Sopenharmony_ci    {
15062306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_INST_RETIRED2.256B_PACKED_HALF",
15162306a36Sopenharmony_ci        "EventCode": "0xcf",
15262306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.256B_PACKED_HALF",
15362306a36Sopenharmony_ci        "SampleAfterValue": "100003",
15462306a36Sopenharmony_ci        "UMask": "0x8"
15562306a36Sopenharmony_ci    },
15662306a36Sopenharmony_ci    {
15762306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_INST_RETIRED2.512B_PACKED_HALF",
15862306a36Sopenharmony_ci        "EventCode": "0xcf",
15962306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.512B_PACKED_HALF",
16062306a36Sopenharmony_ci        "SampleAfterValue": "100003",
16162306a36Sopenharmony_ci        "UMask": "0x10"
16262306a36Sopenharmony_ci    },
16362306a36Sopenharmony_ci    {
16462306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_INST_RETIRED2.COMPLEX_SCALAR_HALF",
16562306a36Sopenharmony_ci        "EventCode": "0xcf",
16662306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.COMPLEX_SCALAR_HALF",
16762306a36Sopenharmony_ci        "SampleAfterValue": "100003",
16862306a36Sopenharmony_ci        "UMask": "0x2"
16962306a36Sopenharmony_ci    },
17062306a36Sopenharmony_ci    {
17162306a36Sopenharmony_ci        "BriefDescription": "Number of all Scalar Half-Precision FP arithmetic instructions(1) retired - regular and complex.",
17262306a36Sopenharmony_ci        "EventCode": "0xcf",
17362306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.SCALAR",
17462306a36Sopenharmony_ci        "PublicDescription": "FP_ARITH_INST_RETIRED2.SCALAR",
17562306a36Sopenharmony_ci        "SampleAfterValue": "100003",
17662306a36Sopenharmony_ci        "UMask": "0x3"
17762306a36Sopenharmony_ci    },
17862306a36Sopenharmony_ci    {
17962306a36Sopenharmony_ci        "BriefDescription": "FP_ARITH_INST_RETIRED2.SCALAR_HALF",
18062306a36Sopenharmony_ci        "EventCode": "0xcf",
18162306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.SCALAR_HALF",
18262306a36Sopenharmony_ci        "SampleAfterValue": "100003",
18362306a36Sopenharmony_ci        "UMask": "0x1"
18462306a36Sopenharmony_ci    },
18562306a36Sopenharmony_ci    {
18662306a36Sopenharmony_ci        "BriefDescription": "Number of all Vector (also called packed) Half-Precision FP arithmetic instructions(1) retired.",
18762306a36Sopenharmony_ci        "EventCode": "0xcf",
18862306a36Sopenharmony_ci        "EventName": "FP_ARITH_INST_RETIRED2.VECTOR",
18962306a36Sopenharmony_ci        "PublicDescription": "FP_ARITH_INST_RETIRED2.VECTOR",
19062306a36Sopenharmony_ci        "SampleAfterValue": "100003",
19162306a36Sopenharmony_ci        "UMask": "0x1c"
19262306a36Sopenharmony_ci    }
19362306a36Sopenharmony_ci]
194