xref: /linux/rust/zerocopy/benches/insert_vec_zeroed.x86-64.mca (revision b079329b8691768962aa514b8f8c9077ca352459)
1*c3739801SMiguel OjedaIterations:        100
2*c3739801SMiguel OjedaInstructions:      7200
3*c3739801SMiguel OjedaTotal Cycles:      7648
4*c3739801SMiguel OjedaTotal uOps:        9300
5*c3739801SMiguel Ojeda
6*c3739801SMiguel OjedaDispatch Width:    4
7*c3739801SMiguel OjedauOps Per Cycle:    1.22
8*c3739801SMiguel OjedaIPC:               0.94
9*c3739801SMiguel OjedaBlock RThroughput: 23.3
10*c3739801SMiguel Ojeda
11*c3739801SMiguel Ojeda
12*c3739801SMiguel OjedaInstruction Info:
13*c3739801SMiguel Ojeda[1]: #uOps
14*c3739801SMiguel Ojeda[2]: Latency
15*c3739801SMiguel Ojeda[3]: RThroughput
16*c3739801SMiguel Ojeda[4]: MayLoad
17*c3739801SMiguel Ojeda[5]: MayStore
18*c3739801SMiguel Ojeda[6]: HasSideEffects (U)
19*c3739801SMiguel Ojeda
20*c3739801SMiguel Ojeda[1]    [2]    [3]    [4]    [5]    [6]    Instructions:
21*c3739801SMiguel Ojeda 2      5     1.00           *            push	rbp
22*c3739801SMiguel Ojeda 2      5     1.00           *            push	r15
23*c3739801SMiguel Ojeda 2      5     1.00           *            push	r14
24*c3739801SMiguel Ojeda 2      5     1.00           *            push	r13
25*c3739801SMiguel Ojeda 2      5     1.00           *            push	r12
26*c3739801SMiguel Ojeda 2      5     1.00           *            push	rbx
27*c3739801SMiguel Ojeda 1      1     0.33                        sub	rsp, 24
28*c3739801SMiguel Ojeda 1      5     0.50    *                   mov	r12, qword ptr [rdi + 16]
29*c3739801SMiguel Ojeda 1      1     0.33                        mov	r13, r12
30*c3739801SMiguel Ojeda 1      1     0.33                        sub	r13, rsi
31*c3739801SMiguel Ojeda 1      1     1.00                        jb	.LBB6_10
32*c3739801SMiguel Ojeda 1      1     0.33                        mov	rbx, rdi
33*c3739801SMiguel Ojeda 1      5     0.50    *                   mov	rax, qword ptr [rdi]
34*c3739801SMiguel Ojeda 1      1     0.33                        mov	rcx, rax
35*c3739801SMiguel Ojeda 1      1     0.33                        sub	rcx, r12
36*c3739801SMiguel Ojeda 1      1     0.33                        cmp	rdx, rcx
37*c3739801SMiguel Ojeda 1      1     1.00                        jbe	.LBB6_4
38*c3739801SMiguel Ojeda 1      1     0.33                        add	r12, rdx
39*c3739801SMiguel Ojeda 1      1     1.00                        jae	.LBB6_7
40*c3739801SMiguel Ojeda 1      0     0.25                        xor	eax, eax
41*c3739801SMiguel Ojeda 1      1     1.00                        jmp	.LBB6_6
42*c3739801SMiguel Ojeda 1      5     0.50    *                   mov	rax, qword ptr [rbx + 8]
43*c3739801SMiguel Ojeda 1      1     0.33                        add	r12, rdx
44*c3739801SMiguel Ojeda 1      1     0.50                        lea	rcx, [rsi + 2*rsi]
45*c3739801SMiguel Ojeda 1      1     0.50                        lea	r14, [rax + 2*rcx]
46*c3739801SMiguel Ojeda 1      1     0.33                        add	rdx, rdx
47*c3739801SMiguel Ojeda 1      1     0.50                        lea	r15, [rdx + 2*rdx]
48*c3739801SMiguel Ojeda 1      1     0.50                        lea	rdi, [r14 + r15]
49*c3739801SMiguel Ojeda 1      1     0.33                        add	r13, r13
50*c3739801SMiguel Ojeda 1      1     0.50                        lea	rdx, [2*r13]
51*c3739801SMiguel Ojeda 1      1     0.33                        add	rdx, r13
52*c3739801SMiguel Ojeda 1      1     0.33                        mov	rsi, r14
53*c3739801SMiguel Ojeda 4      7     1.00    *                   call	qword ptr [rip + memmove@GOTPCREL]
54*c3739801SMiguel Ojeda 1      1     0.33                        mov	rdi, r14
55*c3739801SMiguel Ojeda 1      0     0.25                        xor	esi, esi
56*c3739801SMiguel Ojeda 1      1     0.33                        mov	rdx, r15
57*c3739801SMiguel Ojeda 4      7     1.00    *                   call	qword ptr [rip + memset@GOTPCREL]
58*c3739801SMiguel Ojeda 1      1     1.00           *            mov	qword ptr [rbx + 16], r12
59*c3739801SMiguel Ojeda 1      1     0.33                        mov	al, 1
60*c3739801SMiguel Ojeda 1      1     0.33                        add	rsp, 24
61*c3739801SMiguel Ojeda 1      6     0.50    *                   pop	rbx
62*c3739801SMiguel Ojeda 1      6     0.50    *                   pop	r12
63*c3739801SMiguel Ojeda 1      6     0.50    *                   pop	r13
64*c3739801SMiguel Ojeda 1      6     0.50    *                   pop	r14
65*c3739801SMiguel Ojeda 1      6     0.50    *                   pop	r15
66*c3739801SMiguel Ojeda 1      6     0.50    *                   pop	rbp
67*c3739801SMiguel Ojeda 1      1     1.00                  U     ret
68*c3739801SMiguel Ojeda 1      1     0.33                        mov	r15, rsi
69*c3739801SMiguel Ojeda 1      1     0.33                        mov	rbp, rdx
70*c3739801SMiguel Ojeda 1      1     0.50                        lea	rcx, [rax + rax]
71*c3739801SMiguel Ojeda 1      1     0.33                        cmp	r12, rcx
72*c3739801SMiguel Ojeda 3      3     1.00                        cmova	rcx, r12
73*c3739801SMiguel Ojeda 1      1     0.33                        cmp	rcx, 5
74*c3739801SMiguel Ojeda 1      1     0.33                        mov	r14d, 4
75*c3739801SMiguel Ojeda 2      2     0.67                        cmovae	r14, rcx
76*c3739801SMiguel Ojeda 1      5     0.50    *                   mov	rdx, qword ptr [rbx + 8]
77*c3739801SMiguel Ojeda 1      1     0.33                        mov	rdi, rsp
78*c3739801SMiguel Ojeda 1      1     0.33                        mov	rsi, rax
79*c3739801SMiguel Ojeda 1      1     0.33                        mov	rcx, r14
80*c3739801SMiguel Ojeda 3      5     1.00                        call	<alloc::raw_vec::RawVecInner>::finish_grow
81*c3739801SMiguel Ojeda 2      6     0.50    *                   cmp	dword ptr [rsp], 1
82*c3739801SMiguel Ojeda 1      1     1.00                        je	.LBB6_3
83*c3739801SMiguel Ojeda 1      5     0.50    *                   mov	rax, qword ptr [rsp + 8]
84*c3739801SMiguel Ojeda 1      1     1.00           *            mov	qword ptr [rbx + 8], rax
85*c3739801SMiguel Ojeda 1      1     1.00           *            mov	qword ptr [rbx], r14
86*c3739801SMiguel Ojeda 1      1     0.33                        mov	rdx, rbp
87*c3739801SMiguel Ojeda 1      1     0.33                        mov	rsi, r15
88*c3739801SMiguel Ojeda 1      1     1.00                        jmp	.LBB6_5
89*c3739801SMiguel Ojeda 1      1     0.50                        lea	rdi, [rip + .Lanon.HASH.1]
90*c3739801SMiguel Ojeda 1      1     0.50                        lea	rdx, [rip + .Lanon.HASH.3]
91*c3739801SMiguel Ojeda 1      1     0.33                        mov	esi, 37
92*c3739801SMiguel Ojeda 4      7     1.00    *                   call	qword ptr [rip + core::panicking::panic@GOTPCREL]
93*c3739801SMiguel Ojeda
94*c3739801SMiguel Ojeda
95*c3739801SMiguel OjedaResources:
96*c3739801SMiguel Ojeda[0]   - SBDivider
97*c3739801SMiguel Ojeda[1]   - SBFPDivider
98*c3739801SMiguel Ojeda[2]   - SBPort0
99*c3739801SMiguel Ojeda[3]   - SBPort1
100*c3739801SMiguel Ojeda[4]   - SBPort4
101*c3739801SMiguel Ojeda[5]   - SBPort5
102*c3739801SMiguel Ojeda[6.0] - SBPort23
103*c3739801SMiguel Ojeda[6.1] - SBPort23
104*c3739801SMiguel Ojeda
105*c3739801SMiguel Ojeda
106*c3739801SMiguel OjedaResource pressure per iteration:
107*c3739801SMiguel Ojeda[0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
108*c3739801SMiguel Ojeda -      -     17.02  16.50  13.00  19.48  14.00  14.00
109*c3739801SMiguel Ojeda
110*c3739801SMiguel OjedaResource pressure by instruction:
111*c3739801SMiguel Ojeda[0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
112*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.98   0.02   push	rbp
113*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.02   0.98   push	r15
114*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.99   0.01   push	r14
115*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.01   0.99   push	r13
116*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.99   0.01   push	r12
117*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.01   0.99   push	rbx
118*c3739801SMiguel Ojeda -      -     0.49   0.51    -      -      -      -     sub	rsp, 24
119*c3739801SMiguel Ojeda -      -      -      -      -      -     0.04   0.96   mov	r12, qword ptr [rdi + 16]
120*c3739801SMiguel Ojeda -      -     0.49   0.50    -     0.01    -      -     mov	r13, r12
121*c3739801SMiguel Ojeda -      -     0.48   0.51    -     0.01    -      -     sub	r13, rsi
122*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     jb	.LBB6_10
123*c3739801SMiguel Ojeda -      -     0.49   0.49    -     0.02    -      -     mov	rbx, rdi
124*c3739801SMiguel Ojeda -      -      -      -      -      -     0.97   0.03   mov	rax, qword ptr [rdi]
125*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -      -      -     mov	rcx, rax
126*c3739801SMiguel Ojeda -      -     0.49   0.02    -     0.49    -      -     sub	rcx, r12
127*c3739801SMiguel Ojeda -      -     0.49   0.50    -     0.01    -      -     cmp	rdx, rcx
128*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     jbe	.LBB6_4
129*c3739801SMiguel Ojeda -      -     0.02   0.49    -     0.49    -      -     add	r12, rdx
130*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     jae	.LBB6_7
131*c3739801SMiguel Ojeda -      -      -      -      -      -      -      -     xor	eax, eax
132*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     jmp	.LBB6_6
133*c3739801SMiguel Ojeda -      -      -      -      -      -     0.97   0.03   mov	rax, qword ptr [rbx + 8]
134*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -      -      -     add	r12, rdx
135*c3739801SMiguel Ojeda -      -     0.49   0.51    -      -      -      -     lea	rcx, [rsi + 2*rsi]
136*c3739801SMiguel Ojeda -      -     0.50   0.50    -      -      -      -     lea	r14, [rax + 2*rcx]
137*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -      -      -     add	rdx, rdx
138*c3739801SMiguel Ojeda -      -     0.50   0.50    -      -      -      -     lea	r15, [rdx + 2*rdx]
139*c3739801SMiguel Ojeda -      -     0.49   0.51    -      -      -      -     lea	rdi, [r14 + r15]
140*c3739801SMiguel Ojeda -      -     0.50   0.49    -     0.01    -      -     add	r13, r13
141*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -      -      -     lea	rdx, [2*r13]
142*c3739801SMiguel Ojeda -      -     0.01   0.01    -     0.98    -      -     add	rdx, r13
143*c3739801SMiguel Ojeda -      -     0.01    -      -     0.99    -      -     mov	rsi, r14
144*c3739801SMiguel Ojeda -      -      -      -     1.00   1.00   1.98   0.02   call	qword ptr [rip + memmove@GOTPCREL]
145*c3739801SMiguel Ojeda -      -     0.49   0.50    -     0.01    -      -     mov	rdi, r14
146*c3739801SMiguel Ojeda -      -      -      -      -      -      -      -     xor	esi, esi
147*c3739801SMiguel Ojeda -      -     0.50   0.50    -      -      -      -     mov	rdx, r15
148*c3739801SMiguel Ojeda -      -      -      -     1.00   1.00   1.96   0.04   call	qword ptr [rip + memset@GOTPCREL]
149*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.01   0.99   mov	qword ptr [rbx + 16], r12
150*c3739801SMiguel Ojeda -      -     0.50    -      -     0.50    -      -     mov	al, 1
151*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -      -      -     add	rsp, 24
152*c3739801SMiguel Ojeda -      -      -      -      -      -     0.02   0.98   pop	rbx
153*c3739801SMiguel Ojeda -      -      -      -      -      -     0.03   0.97   pop	r12
154*c3739801SMiguel Ojeda -      -      -      -      -      -     0.03   0.97   pop	r13
155*c3739801SMiguel Ojeda -      -      -      -      -      -     0.97   0.03   pop	r14
156*c3739801SMiguel Ojeda -      -      -      -      -      -     0.03   0.97   pop	r15
157*c3739801SMiguel Ojeda -      -      -      -      -      -     0.01   0.99   pop	rbp
158*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     ret
159*c3739801SMiguel Ojeda -      -     0.49   0.51    -      -      -      -     mov	r15, rsi
160*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -      -      -     mov	rbp, rdx
161*c3739801SMiguel Ojeda -      -     0.49   0.51    -      -      -      -     lea	rcx, [rax + rax]
162*c3739801SMiguel Ojeda -      -     0.49   0.50    -     0.01    -      -     cmp	r12, rcx
163*c3739801SMiguel Ojeda -      -     1.04   0.50    -     1.46    -      -     cmova	rcx, r12
164*c3739801SMiguel Ojeda -      -     0.49   0.49    -     0.02    -      -     cmp	rcx, 5
165*c3739801SMiguel Ojeda -      -     0.50    -      -     0.50    -      -     mov	r14d, 4
166*c3739801SMiguel Ojeda -      -     0.50   0.51    -     0.99    -      -     cmovae	r14, rcx
167*c3739801SMiguel Ojeda -      -      -      -      -      -     0.97   0.03   mov	rdx, qword ptr [rbx + 8]
168*c3739801SMiguel Ojeda -      -      -     0.51    -     0.49    -      -     mov	rdi, rsp
169*c3739801SMiguel Ojeda -      -     0.01   0.50    -     0.49    -      -     mov	rsi, rax
170*c3739801SMiguel Ojeda -      -     0.49   0.50    -     0.01    -      -     mov	rcx, r14
171*c3739801SMiguel Ojeda -      -      -      -     1.00   1.00   0.99   0.01   call	<alloc::raw_vec::RawVecInner>::finish_grow
172*c3739801SMiguel Ojeda -      -     0.51   0.49    -      -     0.50   0.50   cmp	dword ptr [rsp], 1
173*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     je	.LBB6_3
174*c3739801SMiguel Ojeda -      -      -      -      -      -     0.50   0.50   mov	rax, qword ptr [rsp + 8]
175*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.99   0.01   mov	qword ptr [rbx + 8], rax
176*c3739801SMiguel Ojeda -      -      -      -     1.00    -     0.01   0.99   mov	qword ptr [rbx], r14
177*c3739801SMiguel Ojeda -      -     0.49   0.50    -     0.01    -      -     mov	rdx, rbp
178*c3739801SMiguel Ojeda -      -     0.50   0.01    -     0.49    -      -     mov	rsi, r15
179*c3739801SMiguel Ojeda -      -      -      -      -     1.00    -      -     jmp	.LBB6_5
180*c3739801SMiguel Ojeda -      -     0.01   0.99    -      -      -      -     lea	rdi, [rip + .Lanon.HASH.1]
181*c3739801SMiguel Ojeda -      -     0.99   0.01    -      -      -      -     lea	rdx, [rip + .Lanon.HASH.3]
182*c3739801SMiguel Ojeda -      -     0.02   0.49    -     0.49    -      -     mov	esi, 37
183*c3739801SMiguel Ojeda -      -      -      -     1.00   1.00   0.02   1.98   call	qword ptr [rip + core::panicking::panic@GOTPCREL]
184