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

Side by Side Diff: third_party/boringssl/linux-x86/crypto/rc4/rc4-586.S

Issue 385983006: net: pickup "586" asm files for x86. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: .. Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 #if defined(__i386__)
2 .file "rc4-586.S"
3 .text
4 .globl RC4
5 .type RC4,@function
6 .align 16
7 RC4:
8 .L_RC4_begin:
9 pushl %ebp
10 pushl %ebx
11 pushl %esi
12 pushl %edi
13 movl 20(%esp),%edi
14 movl 24(%esp),%edx
15 movl 28(%esp),%esi
16 movl 32(%esp),%ebp
17 xorl %eax,%eax
18 xorl %ebx,%ebx
19 cmpl $0,%edx
20 je .L000abort
21 movb (%edi),%al
22 movb 4(%edi),%bl
23 addl $8,%edi
24 leal (%esi,%edx,1),%ecx
25 subl %esi,%ebp
26 movl %ecx,24(%esp)
27 incb %al
28 cmpl $-1,256(%edi)
29 je .L001RC4_CHAR
30 movl (%edi,%eax,4),%ecx
31 andl $-4,%edx
32 jz .L002loop1
33 movl %ebp,32(%esp)
34 testl $-8,%edx
35 jz .L003go4loop4
36 leal OPENSSL_ia32cap_P,%ebp
37 btl $26,(%ebp)
38 jnc .L003go4loop4
39 movl 32(%esp),%ebp
40 andl $-8,%edx
41 leal -8(%esi,%edx,1),%edx
42 movl %edx,-4(%edi)
43 addb %cl,%bl
44 movl (%edi,%ebx,4),%edx
45 movl %ecx,(%edi,%ebx,4)
46 movl %edx,(%edi,%eax,4)
47 incl %eax
48 addl %ecx,%edx
49 movzbl %al,%eax
50 movzbl %dl,%edx
51 movq (%esi),%mm0
52 movl (%edi,%eax,4),%ecx
53 movd (%edi,%edx,4),%mm2
54 jmp .L004loop_mmx_enter
55 .align 16
56 .L005loop_mmx:
57 addb %cl,%bl
58 psllq $56,%mm1
59 movl (%edi,%ebx,4),%edx
60 movl %ecx,(%edi,%ebx,4)
61 movl %edx,(%edi,%eax,4)
62 incl %eax
63 addl %ecx,%edx
64 movzbl %al,%eax
65 movzbl %dl,%edx
66 pxor %mm1,%mm2
67 movq (%esi),%mm0
68 movq %mm2,-8(%ebp,%esi,1)
69 movl (%edi,%eax,4),%ecx
70 movd (%edi,%edx,4),%mm2
71 .L004loop_mmx_enter:
72 addb %cl,%bl
73 movl (%edi,%ebx,4),%edx
74 movl %ecx,(%edi,%ebx,4)
75 movl %edx,(%edi,%eax,4)
76 incl %eax
77 addl %ecx,%edx
78 movzbl %al,%eax
79 movzbl %dl,%edx
80 pxor %mm0,%mm2
81 movl (%edi,%eax,4),%ecx
82 movd (%edi,%edx,4),%mm1
83 addb %cl,%bl
84 psllq $8,%mm1
85 movl (%edi,%ebx,4),%edx
86 movl %ecx,(%edi,%ebx,4)
87 movl %edx,(%edi,%eax,4)
88 incl %eax
89 addl %ecx,%edx
90 movzbl %al,%eax
91 movzbl %dl,%edx
92 pxor %mm1,%mm2
93 movl (%edi,%eax,4),%ecx
94 movd (%edi,%edx,4),%mm1
95 addb %cl,%bl
96 psllq $16,%mm1
97 movl (%edi,%ebx,4),%edx
98 movl %ecx,(%edi,%ebx,4)
99 movl %edx,(%edi,%eax,4)
100 incl %eax
101 addl %ecx,%edx
102 movzbl %al,%eax
103 movzbl %dl,%edx
104 pxor %mm1,%mm2
105 movl (%edi,%eax,4),%ecx
106 movd (%edi,%edx,4),%mm1
107 addb %cl,%bl
108 psllq $24,%mm1
109 movl (%edi,%ebx,4),%edx
110 movl %ecx,(%edi,%ebx,4)
111 movl %edx,(%edi,%eax,4)
112 incl %eax
113 addl %ecx,%edx
114 movzbl %al,%eax
115 movzbl %dl,%edx
116 pxor %mm1,%mm2
117 movl (%edi,%eax,4),%ecx
118 movd (%edi,%edx,4),%mm1
119 addb %cl,%bl
120 psllq $32,%mm1
121 movl (%edi,%ebx,4),%edx
122 movl %ecx,(%edi,%ebx,4)
123 movl %edx,(%edi,%eax,4)
124 incl %eax
125 addl %ecx,%edx
126 movzbl %al,%eax
127 movzbl %dl,%edx
128 pxor %mm1,%mm2
129 movl (%edi,%eax,4),%ecx
130 movd (%edi,%edx,4),%mm1
131 addb %cl,%bl
132 psllq $40,%mm1
133 movl (%edi,%ebx,4),%edx
134 movl %ecx,(%edi,%ebx,4)
135 movl %edx,(%edi,%eax,4)
136 incl %eax
137 addl %ecx,%edx
138 movzbl %al,%eax
139 movzbl %dl,%edx
140 pxor %mm1,%mm2
141 movl (%edi,%eax,4),%ecx
142 movd (%edi,%edx,4),%mm1
143 addb %cl,%bl
144 psllq $48,%mm1
145 movl (%edi,%ebx,4),%edx
146 movl %ecx,(%edi,%ebx,4)
147 movl %edx,(%edi,%eax,4)
148 incl %eax
149 addl %ecx,%edx
150 movzbl %al,%eax
151 movzbl %dl,%edx
152 pxor %mm1,%mm2
153 movl (%edi,%eax,4),%ecx
154 movd (%edi,%edx,4),%mm1
155 movl %ebx,%edx
156 xorl %ebx,%ebx
157 movb %dl,%bl
158 cmpl -4(%edi),%esi
159 leal 8(%esi),%esi
160 jb .L005loop_mmx
161 psllq $56,%mm1
162 pxor %mm1,%mm2
163 movq %mm2,-8(%ebp,%esi,1)
164 emms
165 cmpl 24(%esp),%esi
166 je .L006done
167 jmp .L002loop1
168 .align 16
169 .L003go4loop4:
170 leal -4(%esi,%edx,1),%edx
171 movl %edx,28(%esp)
172 .L007loop4:
173 addb %cl,%bl
174 movl (%edi,%ebx,4),%edx
175 movl %ecx,(%edi,%ebx,4)
176 movl %edx,(%edi,%eax,4)
177 addl %ecx,%edx
178 incb %al
179 andl $255,%edx
180 movl (%edi,%eax,4),%ecx
181 movl (%edi,%edx,4),%ebp
182 addb %cl,%bl
183 movl (%edi,%ebx,4),%edx
184 movl %ecx,(%edi,%ebx,4)
185 movl %edx,(%edi,%eax,4)
186 addl %ecx,%edx
187 incb %al
188 andl $255,%edx
189 rorl $8,%ebp
190 movl (%edi,%eax,4),%ecx
191 orl (%edi,%edx,4),%ebp
192 addb %cl,%bl
193 movl (%edi,%ebx,4),%edx
194 movl %ecx,(%edi,%ebx,4)
195 movl %edx,(%edi,%eax,4)
196 addl %ecx,%edx
197 incb %al
198 andl $255,%edx
199 rorl $8,%ebp
200 movl (%edi,%eax,4),%ecx
201 orl (%edi,%edx,4),%ebp
202 addb %cl,%bl
203 movl (%edi,%ebx,4),%edx
204 movl %ecx,(%edi,%ebx,4)
205 movl %edx,(%edi,%eax,4)
206 addl %ecx,%edx
207 incb %al
208 andl $255,%edx
209 rorl $8,%ebp
210 movl 32(%esp),%ecx
211 orl (%edi,%edx,4),%ebp
212 rorl $8,%ebp
213 xorl (%esi),%ebp
214 cmpl 28(%esp),%esi
215 movl %ebp,(%ecx,%esi,1)
216 leal 4(%esi),%esi
217 movl (%edi,%eax,4),%ecx
218 jb .L007loop4
219 cmpl 24(%esp),%esi
220 je .L006done
221 movl 32(%esp),%ebp
222 .align 16
223 .L002loop1:
224 addb %cl,%bl
225 movl (%edi,%ebx,4),%edx
226 movl %ecx,(%edi,%ebx,4)
227 movl %edx,(%edi,%eax,4)
228 addl %ecx,%edx
229 incb %al
230 andl $255,%edx
231 movl (%edi,%edx,4),%edx
232 xorb (%esi),%dl
233 leal 1(%esi),%esi
234 movl (%edi,%eax,4),%ecx
235 cmpl 24(%esp),%esi
236 movb %dl,-1(%ebp,%esi,1)
237 jb .L002loop1
238 jmp .L006done
239 .align 16
240 .L001RC4_CHAR:
241 movzbl (%edi,%eax,1),%ecx
242 .L008cloop1:
243 addb %cl,%bl
244 movzbl (%edi,%ebx,1),%edx
245 movb %cl,(%edi,%ebx,1)
246 movb %dl,(%edi,%eax,1)
247 addb %cl,%dl
248 movzbl (%edi,%edx,1),%edx
249 addb $1,%al
250 xorb (%esi),%dl
251 leal 1(%esi),%esi
252 movzbl (%edi,%eax,1),%ecx
253 cmpl 24(%esp),%esi
254 movb %dl,-1(%ebp,%esi,1)
255 jb .L008cloop1
256 .L006done:
257 decb %al
258 movl %ebx,-4(%edi)
259 movb %al,-8(%edi)
260 .L000abort:
261 popl %edi
262 popl %esi
263 popl %ebx
264 popl %ebp
265 ret
266 .size RC4,.-.L_RC4_begin
267 .globl RC4_set_key
268 .type RC4_set_key,@function
269 .align 16
270 RC4_set_key:
271 .L_RC4_set_key_begin:
272 pushl %ebp
273 pushl %ebx
274 pushl %esi
275 pushl %edi
276 movl 20(%esp),%edi
277 movl 24(%esp),%ebp
278 movl 28(%esp),%esi
279 leal OPENSSL_ia32cap_P,%edx
280 leal 8(%edi),%edi
281 leal (%esi,%ebp,1),%esi
282 negl %ebp
283 xorl %eax,%eax
284 movl %ebp,-4(%edi)
285 btl $20,(%edx)
286 jc .L009c1stloop
287 .align 16
288 .L010w1stloop:
289 movl %eax,(%edi,%eax,4)
290 addb $1,%al
291 jnc .L010w1stloop
292 xorl %ecx,%ecx
293 xorl %edx,%edx
294 .align 16
295 .L011w2ndloop:
296 movl (%edi,%ecx,4),%eax
297 addb (%esi,%ebp,1),%dl
298 addb %al,%dl
299 addl $1,%ebp
300 movl (%edi,%edx,4),%ebx
301 jnz .L012wnowrap
302 movl -4(%edi),%ebp
303 .L012wnowrap:
304 movl %eax,(%edi,%edx,4)
305 movl %ebx,(%edi,%ecx,4)
306 addb $1,%cl
307 jnc .L011w2ndloop
308 jmp .L013exit
309 .align 16
310 .L009c1stloop:
311 movb %al,(%edi,%eax,1)
312 addb $1,%al
313 jnc .L009c1stloop
314 xorl %ecx,%ecx
315 xorl %edx,%edx
316 xorl %ebx,%ebx
317 .align 16
318 .L014c2ndloop:
319 movb (%edi,%ecx,1),%al
320 addb (%esi,%ebp,1),%dl
321 addb %al,%dl
322 addl $1,%ebp
323 movb (%edi,%edx,1),%bl
324 jnz .L015cnowrap
325 movl -4(%edi),%ebp
326 .L015cnowrap:
327 movb %al,(%edi,%edx,1)
328 movb %bl,(%edi,%ecx,1)
329 addb $1,%cl
330 jnc .L014c2ndloop
331 movl $-1,256(%edi)
332 .L013exit:
333 xorl %eax,%eax
334 movl %eax,-8(%edi)
335 movl %eax,-4(%edi)
336 popl %edi
337 popl %esi
338 popl %ebx
339 popl %ebp
340 ret
341 .size RC4_set_key,.-.L_RC4_set_key_begin
342 .globl RC4_options
343 .type RC4_options,@function
344 .align 16
345 RC4_options:
346 .L_RC4_options_begin:
347 call .L016pic_point
348 .L016pic_point:
349 popl %eax
350 leal .L017opts-.L016pic_point(%eax),%eax
351 leal OPENSSL_ia32cap_P,%edx
352 movl (%edx),%edx
353 btl $20,%edx
354 jc .L0181xchar
355 btl $26,%edx
356 jnc .L019ret
357 addl $25,%eax
358 ret
359 .L0181xchar:
360 addl $12,%eax
361 .L019ret:
362 ret
363 .align 64
364 .L017opts:
365 .byte 114,99,52,40,52,120,44,105,110,116,41,0
366 .byte 114,99,52,40,49,120,44,99,104,97,114,41,0
367 .byte 114,99,52,40,56,120,44,109,109,120,41,0
368 .byte 82,67,52,32,102,111,114,32,120,56,54,44,32,67,82,89
369 .byte 80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114
370 .byte 111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
371 .align 64
372 .size RC4_options,.-.L_RC4_options_begin
373 #endif
OLDNEW
« no previous file with comments | « third_party/boringssl/linux-x86/crypto/md5/md5-586.S ('k') | third_party/boringssl/linux-x86/crypto/sha/sha1-586.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698