xref: /openbmc/linux/tools/perf/pmu-events/arch/x86/amdzen3/floating-point.json (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
1*da666586SSmita Koralahalli[
2*da666586SSmita Koralahalli  {
3*da666586SSmita Koralahalli    "EventName": "fpu_pipe_assignment.total",
4*da666586SSmita Koralahalli    "EventCode": "0x00",
5*da666586SSmita Koralahalli    "BriefDescription": "Total number of fp uOps.",
6*da666586SSmita Koralahalli    "PublicDescription": "Total number of fp uOps. The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS.",
7*da666586SSmita Koralahalli    "UMask": "0x0f"
8*da666586SSmita Koralahalli  },
9*da666586SSmita Koralahalli  {
10*da666586SSmita Koralahalli    "EventName": "fpu_pipe_assignment.total3",
11*da666586SSmita Koralahalli    "EventCode": "0x00",
12*da666586SSmita Koralahalli    "BriefDescription": "Total number uOps assigned to pipe 3.",
13*da666586SSmita Koralahalli    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one-cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 3.",
14*da666586SSmita Koralahalli    "UMask": "0x08"
15*da666586SSmita Koralahalli  },
16*da666586SSmita Koralahalli  {
17*da666586SSmita Koralahalli    "EventName": "fpu_pipe_assignment.total2",
18*da666586SSmita Koralahalli    "EventCode": "0x00",
19*da666586SSmita Koralahalli    "BriefDescription": "Total number uOps assigned to pipe 2.",
20*da666586SSmita Koralahalli    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 2.",
21*da666586SSmita Koralahalli    "UMask": "0x04"
22*da666586SSmita Koralahalli  },
23*da666586SSmita Koralahalli  {
24*da666586SSmita Koralahalli    "EventName": "fpu_pipe_assignment.total1",
25*da666586SSmita Koralahalli    "EventCode": "0x00",
26*da666586SSmita Koralahalli    "BriefDescription": "Total number uOps assigned to pipe 1.",
27*da666586SSmita Koralahalli    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 1.",
28*da666586SSmita Koralahalli    "UMask": "0x02"
29*da666586SSmita Koralahalli  },
30*da666586SSmita Koralahalli  {
31*da666586SSmita Koralahalli    "EventName": "fpu_pipe_assignment.total0",
32*da666586SSmita Koralahalli    "EventCode": "0x00",
33*da666586SSmita Koralahalli    "BriefDescription": "Total number of fp uOps  on pipe 0.",
34*da666586SSmita Koralahalli    "PublicDescription": "The number of operations (uOps) dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one- cycle dispatch event. This event is a speculative event. Since this event includes non-numeric operations it is not suitable for measuring MFLOPS. Total number uOps assigned to pipe 0.",
35*da666586SSmita Koralahalli    "UMask": "0x01"
36*da666586SSmita Koralahalli  },
37*da666586SSmita Koralahalli  {
38*da666586SSmita Koralahalli    "EventName": "fp_ret_sse_avx_ops.all",
39*da666586SSmita Koralahalli    "EventCode": "0x03",
40*da666586SSmita Koralahalli    "BriefDescription": "All FLOPS. This is a retire-based event. The number of retired SSE/AVX FLOPS. The number of events logged per cycle can vary from 0 to 64. This event can count above 15.",
41*da666586SSmita Koralahalli    "UMask": "0xff"
42*da666586SSmita Koralahalli  },
43*da666586SSmita Koralahalli  {
44*da666586SSmita Koralahalli    "EventName": "fp_ret_sse_avx_ops.mac_flops",
45*da666586SSmita Koralahalli    "EventCode": "0x03",
46*da666586SSmita Koralahalli    "BriefDescription": "Multiply-Accumulate FLOPs. Each MAC operation is counted as 2 FLOPS. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
47*da666586SSmita Koralahalli    "UMask": "0x08"
48*da666586SSmita Koralahalli  },
49*da666586SSmita Koralahalli  {
50*da666586SSmita Koralahalli    "EventName": "fp_ret_sse_avx_ops.div_flops",
51*da666586SSmita Koralahalli    "EventCode": "0x03",
52*da666586SSmita Koralahalli    "BriefDescription": "Divide/square root FLOPs. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
53*da666586SSmita Koralahalli    "UMask": "0x04"
54*da666586SSmita Koralahalli  },
55*da666586SSmita Koralahalli  {
56*da666586SSmita Koralahalli    "EventName": "fp_ret_sse_avx_ops.mult_flops",
57*da666586SSmita Koralahalli    "EventCode": "0x03",
58*da666586SSmita Koralahalli    "BriefDescription": "Multiply FLOPs. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
59*da666586SSmita Koralahalli    "UMask": "0x02"
60*da666586SSmita Koralahalli  },
61*da666586SSmita Koralahalli  {
62*da666586SSmita Koralahalli    "EventName": "fp_ret_sse_avx_ops.add_sub_flops",
63*da666586SSmita Koralahalli    "EventCode": "0x03",
64*da666586SSmita Koralahalli    "BriefDescription": "Add/subtract FLOPs. This is a retire-based event. The number of retired SSE/AVX FLOPs. The number of events logged per cycle can vary from 0 to 64. This event requires the use of the MergeEvent since it can count above 15 events per cycle. See 2.1.17.3 [Large Increment per Cycle Events]. It does not provide a useful count without the use of the MergeEvent.",
65*da666586SSmita Koralahalli    "UMask": "0x01"
66*da666586SSmita Koralahalli  },
67*da666586SSmita Koralahalli  {
68*da666586SSmita Koralahalli    "EventName": "fp_num_mov_elim_scal_op.optimized",
69*da666586SSmita Koralahalli    "EventCode": "0x04",
70*da666586SSmita Koralahalli    "BriefDescription": "Number of Scalar Ops optimized. This is a dispatch based speculative event, and is useful for measuring the effectiveness of the Move elimination and Scalar code optimization schemes.",
71*da666586SSmita Koralahalli    "UMask": "0x08"
72*da666586SSmita Koralahalli  },
73*da666586SSmita Koralahalli  {
74*da666586SSmita Koralahalli    "EventName": "fp_num_mov_elim_scal_op.opt_potential",
75*da666586SSmita Koralahalli    "EventCode": "0x04",
76*da666586SSmita Koralahalli    "BriefDescription": "Number of Ops that are candidates for optimization (have Z-bit either set or pass). This is a dispatch based speculative event, and is useful for measuring the effectiveness of the Move elimination and Scalar code optimization schemes.",
77*da666586SSmita Koralahalli    "UMask": "0x04"
78*da666586SSmita Koralahalli  },
79*da666586SSmita Koralahalli  {
80*da666586SSmita Koralahalli    "EventName": "fp_num_mov_elim_scal_op.sse_mov_ops_elim",
81*da666586SSmita Koralahalli    "EventCode": "0x04",
82*da666586SSmita Koralahalli    "BriefDescription": "Number of SSE Move Ops eliminated. This is a dispatch based speculative event, and is useful for measuring the effectiveness of the Move elimination and Scalar code optimization schemes.",
83*da666586SSmita Koralahalli    "UMask": "0x02"
84*da666586SSmita Koralahalli  },
85*da666586SSmita Koralahalli  {
86*da666586SSmita Koralahalli    "EventName": "fp_num_mov_elim_scal_op.sse_mov_ops",
87*da666586SSmita Koralahalli    "EventCode": "0x04",
88*da666586SSmita Koralahalli    "BriefDescription": "Number of SSE Move Ops. This is a dispatch based speculative event, and is useful for measuring the effectiveness of the Move elimination and Scalar code optimization schemes.",
89*da666586SSmita Koralahalli    "UMask": "0x01"
90*da666586SSmita Koralahalli  },
91*da666586SSmita Koralahalli  {
92*da666586SSmita Koralahalli    "EventName": "fp_retired_ser_ops.sse_bot_ret",
93*da666586SSmita Koralahalli    "EventCode": "0x05",
94*da666586SSmita Koralahalli    "BriefDescription": "SSE/AVX bottom-executing ops retired. The number of serializing Ops retired.",
95*da666586SSmita Koralahalli    "UMask": "0x08"
96*da666586SSmita Koralahalli  },
97*da666586SSmita Koralahalli  {
98*da666586SSmita Koralahalli    "EventName": "fp_retired_ser_ops.sse_ctrl_ret",
99*da666586SSmita Koralahalli    "EventCode": "0x05",
100*da666586SSmita Koralahalli    "BriefDescription": "SSE/AVX control word mispredict traps. The number of serializing Ops retired.",
101*da666586SSmita Koralahalli    "UMask": "0x04"
102*da666586SSmita Koralahalli  },
103*da666586SSmita Koralahalli  {
104*da666586SSmita Koralahalli    "EventName": "fp_retired_ser_ops.x87_bot_ret",
105*da666586SSmita Koralahalli    "EventCode": "0x05",
106*da666586SSmita Koralahalli    "BriefDescription": "x87 bottom-executing ops retired. The number of serializing Ops retired.",
107*da666586SSmita Koralahalli    "UMask": "0x02"
108*da666586SSmita Koralahalli  },
109*da666586SSmita Koralahalli  {
110*da666586SSmita Koralahalli    "EventName": "fp_retired_ser_ops.x87_ctrl_ret",
111*da666586SSmita Koralahalli    "EventCode": "0x05",
112*da666586SSmita Koralahalli    "BriefDescription": "x87 control word mispredict traps due to mispredictions in RC or PC, or changes in mask bits. The number of serializing Ops retired.",
113*da666586SSmita Koralahalli    "UMask": "0x01"
114*da666586SSmita Koralahalli  },
115*da666586SSmita Koralahalli  {
116*da666586SSmita Koralahalli    "EventName": "fp_disp_faults.ymm_spill_fault",
117*da666586SSmita Koralahalli    "EventCode": "0x0e",
118*da666586SSmita Koralahalli    "BriefDescription": "Floating Point Dispatch Faults. YMM spill fault.",
119*da666586SSmita Koralahalli    "UMask": "0x08"
120*da666586SSmita Koralahalli  },
121*da666586SSmita Koralahalli  {
122*da666586SSmita Koralahalli    "EventName": "fp_disp_faults.ymm_fill_fault",
123*da666586SSmita Koralahalli    "EventCode": "0x0e",
124*da666586SSmita Koralahalli    "BriefDescription": "Floating Point Dispatch Faults. YMM fill fault.",
125*da666586SSmita Koralahalli    "UMask": "0x04"
126*da666586SSmita Koralahalli  },
127*da666586SSmita Koralahalli  {
128*da666586SSmita Koralahalli    "EventName": "fp_disp_faults.xmm_fill_fault",
129*da666586SSmita Koralahalli    "EventCode": "0x0e",
130*da666586SSmita Koralahalli    "BriefDescription": "Floating Point Dispatch Faults. XMM fill fault.",
131*da666586SSmita Koralahalli    "UMask": "0x02"
132*da666586SSmita Koralahalli  },
133*da666586SSmita Koralahalli  {
134*da666586SSmita Koralahalli    "EventName": "fp_disp_faults.x87_fill_fault",
135*da666586SSmita Koralahalli    "EventCode": "0x0e",
136*da666586SSmita Koralahalli    "BriefDescription": "Floating Point Dispatch Faults. x87 fill fault.",
137*da666586SSmita Koralahalli    "UMask": "0x01"
138*da666586SSmita Koralahalli  }
139*da666586SSmita Koralahalli]
140