Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(610)

Side by Side Diff: openssl/crypto/bn/asm/x86-mont.S

Issue 2072073002: Delete bundled copy of OpenSSL and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/openssl@master
Patch Set: Delete bundled copy of OpenSSL and replace with README. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « openssl/crypto/bn/asm/x86-gf2m-mac.S ('k') | openssl/crypto/bn/asm/x86-mont.pl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 .file "crypto/bn/asm/x86-mont.s"
2 .text
3 .globl bn_mul_mont
4 .type bn_mul_mont,@function
5 .align 16
6 bn_mul_mont:
7 .L_bn_mul_mont_begin:
8 pushl %ebp
9 pushl %ebx
10 pushl %esi
11 pushl %edi
12 xorl %eax,%eax
13 movl 40(%esp),%edi
14 cmpl $4,%edi
15 jl .L000just_leave
16 leal 20(%esp),%esi
17 leal 24(%esp),%edx
18 movl %esp,%ebp
19 addl $2,%edi
20 negl %edi
21 leal -32(%esp,%edi,4),%esp
22 negl %edi
23 movl %esp,%eax
24 subl %edx,%eax
25 andl $2047,%eax
26 subl %eax,%esp
27 xorl %esp,%edx
28 andl $2048,%edx
29 xorl $2048,%edx
30 subl %edx,%esp
31 andl $-64,%esp
32 movl (%esi),%eax
33 movl 4(%esi),%ebx
34 movl 8(%esi),%ecx
35 movl 12(%esi),%edx
36 movl 16(%esi),%esi
37 movl (%esi),%esi
38 movl %eax,4(%esp)
39 movl %ebx,8(%esp)
40 movl %ecx,12(%esp)
41 movl %edx,16(%esp)
42 movl %esi,20(%esp)
43 leal -3(%edi),%ebx
44 movl %ebp,24(%esp)
45 movl 8(%esp),%esi
46 leal 1(%ebx),%ebp
47 movl 12(%esp),%edi
48 xorl %ecx,%ecx
49 movl %esi,%edx
50 andl $1,%ebp
51 subl %edi,%edx
52 leal 4(%edi,%ebx,4),%eax
53 orl %edx,%ebp
54 movl (%edi),%edi
55 jz .L001bn_sqr_mont
56 movl %eax,28(%esp)
57 movl (%esi),%eax
58 xorl %edx,%edx
59 .align 16
60 .L002mull:
61 movl %edx,%ebp
62 mull %edi
63 addl %eax,%ebp
64 leal 1(%ecx),%ecx
65 adcl $0,%edx
66 movl (%esi,%ecx,4),%eax
67 cmpl %ebx,%ecx
68 movl %ebp,28(%esp,%ecx,4)
69 jl .L002mull
70 movl %edx,%ebp
71 mull %edi
72 movl 20(%esp),%edi
73 addl %ebp,%eax
74 movl 16(%esp),%esi
75 adcl $0,%edx
76 imull 32(%esp),%edi
77 movl %eax,32(%esp,%ebx,4)
78 xorl %ecx,%ecx
79 movl %edx,36(%esp,%ebx,4)
80 movl %ecx,40(%esp,%ebx,4)
81 movl (%esi),%eax
82 mull %edi
83 addl 32(%esp),%eax
84 movl 4(%esi),%eax
85 adcl $0,%edx
86 incl %ecx
87 jmp .L0032ndmadd
88 .align 16
89 .L0041stmadd:
90 movl %edx,%ebp
91 mull %edi
92 addl 32(%esp,%ecx,4),%ebp
93 leal 1(%ecx),%ecx
94 adcl $0,%edx
95 addl %eax,%ebp
96 movl (%esi,%ecx,4),%eax
97 adcl $0,%edx
98 cmpl %ebx,%ecx
99 movl %ebp,28(%esp,%ecx,4)
100 jl .L0041stmadd
101 movl %edx,%ebp
102 mull %edi
103 addl 32(%esp,%ebx,4),%eax
104 movl 20(%esp),%edi
105 adcl $0,%edx
106 movl 16(%esp),%esi
107 addl %eax,%ebp
108 adcl $0,%edx
109 imull 32(%esp),%edi
110 xorl %ecx,%ecx
111 addl 36(%esp,%ebx,4),%edx
112 movl %ebp,32(%esp,%ebx,4)
113 adcl $0,%ecx
114 movl (%esi),%eax
115 movl %edx,36(%esp,%ebx,4)
116 movl %ecx,40(%esp,%ebx,4)
117 mull %edi
118 addl 32(%esp),%eax
119 movl 4(%esi),%eax
120 adcl $0,%edx
121 movl $1,%ecx
122 .align 16
123 .L0032ndmadd:
124 movl %edx,%ebp
125 mull %edi
126 addl 32(%esp,%ecx,4),%ebp
127 leal 1(%ecx),%ecx
128 adcl $0,%edx
129 addl %eax,%ebp
130 movl (%esi,%ecx,4),%eax
131 adcl $0,%edx
132 cmpl %ebx,%ecx
133 movl %ebp,24(%esp,%ecx,4)
134 jl .L0032ndmadd
135 movl %edx,%ebp
136 mull %edi
137 addl 32(%esp,%ebx,4),%ebp
138 adcl $0,%edx
139 addl %eax,%ebp
140 adcl $0,%edx
141 movl %ebp,28(%esp,%ebx,4)
142 xorl %eax,%eax
143 movl 12(%esp),%ecx
144 addl 36(%esp,%ebx,4),%edx
145 adcl 40(%esp,%ebx,4),%eax
146 leal 4(%ecx),%ecx
147 movl %edx,32(%esp,%ebx,4)
148 cmpl 28(%esp),%ecx
149 movl %eax,36(%esp,%ebx,4)
150 je .L005common_tail
151 movl (%ecx),%edi
152 movl 8(%esp),%esi
153 movl %ecx,12(%esp)
154 xorl %ecx,%ecx
155 xorl %edx,%edx
156 movl (%esi),%eax
157 jmp .L0041stmadd
158 .align 16
159 .L001bn_sqr_mont:
160 movl %ebx,(%esp)
161 movl %ecx,12(%esp)
162 movl %edi,%eax
163 mull %edi
164 movl %eax,32(%esp)
165 movl %edx,%ebx
166 shrl $1,%edx
167 andl $1,%ebx
168 incl %ecx
169 .align 16
170 .L006sqr:
171 movl (%esi,%ecx,4),%eax
172 movl %edx,%ebp
173 mull %edi
174 addl %ebp,%eax
175 leal 1(%ecx),%ecx
176 adcl $0,%edx
177 leal (%ebx,%eax,2),%ebp
178 shrl $31,%eax
179 cmpl (%esp),%ecx
180 movl %eax,%ebx
181 movl %ebp,28(%esp,%ecx,4)
182 jl .L006sqr
183 movl (%esi,%ecx,4),%eax
184 movl %edx,%ebp
185 mull %edi
186 addl %ebp,%eax
187 movl 20(%esp),%edi
188 adcl $0,%edx
189 movl 16(%esp),%esi
190 leal (%ebx,%eax,2),%ebp
191 imull 32(%esp),%edi
192 shrl $31,%eax
193 movl %ebp,32(%esp,%ecx,4)
194 leal (%eax,%edx,2),%ebp
195 movl (%esi),%eax
196 shrl $31,%edx
197 movl %ebp,36(%esp,%ecx,4)
198 movl %edx,40(%esp,%ecx,4)
199 mull %edi
200 addl 32(%esp),%eax
201 movl %ecx,%ebx
202 adcl $0,%edx
203 movl 4(%esi),%eax
204 movl $1,%ecx
205 .align 16
206 .L0073rdmadd:
207 movl %edx,%ebp
208 mull %edi
209 addl 32(%esp,%ecx,4),%ebp
210 adcl $0,%edx
211 addl %eax,%ebp
212 movl 4(%esi,%ecx,4),%eax
213 adcl $0,%edx
214 movl %ebp,28(%esp,%ecx,4)
215 movl %edx,%ebp
216 mull %edi
217 addl 36(%esp,%ecx,4),%ebp
218 leal 2(%ecx),%ecx
219 adcl $0,%edx
220 addl %eax,%ebp
221 movl (%esi,%ecx,4),%eax
222 adcl $0,%edx
223 cmpl %ebx,%ecx
224 movl %ebp,24(%esp,%ecx,4)
225 jl .L0073rdmadd
226 movl %edx,%ebp
227 mull %edi
228 addl 32(%esp,%ebx,4),%ebp
229 adcl $0,%edx
230 addl %eax,%ebp
231 adcl $0,%edx
232 movl %ebp,28(%esp,%ebx,4)
233 movl 12(%esp),%ecx
234 xorl %eax,%eax
235 movl 8(%esp),%esi
236 addl 36(%esp,%ebx,4),%edx
237 adcl 40(%esp,%ebx,4),%eax
238 movl %edx,32(%esp,%ebx,4)
239 cmpl %ebx,%ecx
240 movl %eax,36(%esp,%ebx,4)
241 je .L005common_tail
242 movl 4(%esi,%ecx,4),%edi
243 leal 1(%ecx),%ecx
244 movl %edi,%eax
245 movl %ecx,12(%esp)
246 mull %edi
247 addl 32(%esp,%ecx,4),%eax
248 adcl $0,%edx
249 movl %eax,32(%esp,%ecx,4)
250 xorl %ebp,%ebp
251 cmpl %ebx,%ecx
252 leal 1(%ecx),%ecx
253 je .L008sqrlast
254 movl %edx,%ebx
255 shrl $1,%edx
256 andl $1,%ebx
257 .align 16
258 .L009sqradd:
259 movl (%esi,%ecx,4),%eax
260 movl %edx,%ebp
261 mull %edi
262 addl %ebp,%eax
263 leal (%eax,%eax,1),%ebp
264 adcl $0,%edx
265 shrl $31,%eax
266 addl 32(%esp,%ecx,4),%ebp
267 leal 1(%ecx),%ecx
268 adcl $0,%eax
269 addl %ebx,%ebp
270 adcl $0,%eax
271 cmpl (%esp),%ecx
272 movl %ebp,28(%esp,%ecx,4)
273 movl %eax,%ebx
274 jle .L009sqradd
275 movl %edx,%ebp
276 addl %edx,%edx
277 shrl $31,%ebp
278 addl %ebx,%edx
279 adcl $0,%ebp
280 .L008sqrlast:
281 movl 20(%esp),%edi
282 movl 16(%esp),%esi
283 imull 32(%esp),%edi
284 addl 32(%esp,%ecx,4),%edx
285 movl (%esi),%eax
286 adcl $0,%ebp
287 movl %edx,32(%esp,%ecx,4)
288 movl %ebp,36(%esp,%ecx,4)
289 mull %edi
290 addl 32(%esp),%eax
291 leal -1(%ecx),%ebx
292 adcl $0,%edx
293 movl $1,%ecx
294 movl 4(%esi),%eax
295 jmp .L0073rdmadd
296 .align 16
297 .L005common_tail:
298 movl 16(%esp),%ebp
299 movl 4(%esp),%edi
300 leal 32(%esp),%esi
301 movl (%esi),%eax
302 movl %ebx,%ecx
303 xorl %edx,%edx
304 .align 16
305 .L010sub:
306 sbbl (%ebp,%edx,4),%eax
307 movl %eax,(%edi,%edx,4)
308 decl %ecx
309 movl 4(%esi,%edx,4),%eax
310 leal 1(%edx),%edx
311 jge .L010sub
312 sbbl $0,%eax
313 andl %eax,%esi
314 notl %eax
315 movl %edi,%ebp
316 andl %eax,%ebp
317 orl %ebp,%esi
318 .align 16
319 .L011copy:
320 movl (%esi,%ebx,4),%eax
321 movl %eax,(%edi,%ebx,4)
322 movl %ecx,32(%esp,%ebx,4)
323 decl %ebx
324 jge .L011copy
325 movl 24(%esp),%esp
326 movl $1,%eax
327 .L000just_leave:
328 popl %edi
329 popl %esi
330 popl %ebx
331 popl %ebp
332 ret
333 .size bn_mul_mont,.-.L_bn_mul_mont_begin
334 .byte 77,111,110,116,103,111,109,101,114,121,32,77,117,108,116,105
335 .byte 112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56
336 .byte 54,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121
337 .byte 32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46
338 .byte 111,114,103,62,0
OLDNEW
« no previous file with comments | « openssl/crypto/bn/asm/x86-gf2m-mac.S ('k') | openssl/crypto/bn/asm/x86-mont.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698