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

Side by Side Diff: openssl/crypto/modes/asm/ghash-x86.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/modes/asm/ghash-sparcv9.pl ('k') | openssl/crypto/modes/asm/ghash-x86.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 "ghash-x86.s"
2 .text
3 .globl gcm_gmult_4bit_x86
4 .type gcm_gmult_4bit_x86,@function
5 .align 16
6 gcm_gmult_4bit_x86:
7 .L_gcm_gmult_4bit_x86_begin:
8 pushl %ebp
9 pushl %ebx
10 pushl %esi
11 pushl %edi
12 subl $84,%esp
13 movl 104(%esp),%edi
14 movl 108(%esp),%esi
15 movl (%edi),%ebp
16 movl 4(%edi),%edx
17 movl 8(%edi),%ecx
18 movl 12(%edi),%ebx
19 movl $0,16(%esp)
20 movl $471859200,20(%esp)
21 movl $943718400,24(%esp)
22 movl $610271232,28(%esp)
23 movl $1887436800,32(%esp)
24 movl $1822425088,36(%esp)
25 movl $1220542464,40(%esp)
26 movl $1423966208,44(%esp)
27 movl $3774873600,48(%esp)
28 movl $4246732800,52(%esp)
29 movl $3644850176,56(%esp)
30 movl $3311403008,60(%esp)
31 movl $2441084928,64(%esp)
32 movl $2376073216,68(%esp)
33 movl $2847932416,72(%esp)
34 movl $3051356160,76(%esp)
35 movl %ebp,(%esp)
36 movl %edx,4(%esp)
37 movl %ecx,8(%esp)
38 movl %ebx,12(%esp)
39 shrl $20,%ebx
40 andl $240,%ebx
41 movl 4(%esi,%ebx,1),%ebp
42 movl (%esi,%ebx,1),%edx
43 movl 12(%esi,%ebx,1),%ecx
44 movl 8(%esi,%ebx,1),%ebx
45 xorl %eax,%eax
46 movl $15,%edi
47 jmp .L000x86_loop
48 .align 16
49 .L000x86_loop:
50 movb %bl,%al
51 shrdl $4,%ecx,%ebx
52 andb $15,%al
53 shrdl $4,%edx,%ecx
54 shrdl $4,%ebp,%edx
55 shrl $4,%ebp
56 xorl 16(%esp,%eax,4),%ebp
57 movb (%esp,%edi,1),%al
58 andb $240,%al
59 xorl 8(%esi,%eax,1),%ebx
60 xorl 12(%esi,%eax,1),%ecx
61 xorl (%esi,%eax,1),%edx
62 xorl 4(%esi,%eax,1),%ebp
63 decl %edi
64 js .L001x86_break
65 movb %bl,%al
66 shrdl $4,%ecx,%ebx
67 andb $15,%al
68 shrdl $4,%edx,%ecx
69 shrdl $4,%ebp,%edx
70 shrl $4,%ebp
71 xorl 16(%esp,%eax,4),%ebp
72 movb (%esp,%edi,1),%al
73 shlb $4,%al
74 xorl 8(%esi,%eax,1),%ebx
75 xorl 12(%esi,%eax,1),%ecx
76 xorl (%esi,%eax,1),%edx
77 xorl 4(%esi,%eax,1),%ebp
78 jmp .L000x86_loop
79 .align 16
80 .L001x86_break:
81 bswap %ebx
82 bswap %ecx
83 bswap %edx
84 bswap %ebp
85 movl 104(%esp),%edi
86 movl %ebx,12(%edi)
87 movl %ecx,8(%edi)
88 movl %edx,4(%edi)
89 movl %ebp,(%edi)
90 addl $84,%esp
91 popl %edi
92 popl %esi
93 popl %ebx
94 popl %ebp
95 ret
96 .size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin
97 .globl gcm_ghash_4bit_x86
98 .type gcm_ghash_4bit_x86,@function
99 .align 16
100 gcm_ghash_4bit_x86:
101 .L_gcm_ghash_4bit_x86_begin:
102 pushl %ebp
103 pushl %ebx
104 pushl %esi
105 pushl %edi
106 subl $84,%esp
107 movl 104(%esp),%ebx
108 movl 108(%esp),%esi
109 movl 112(%esp),%edi
110 movl 116(%esp),%ecx
111 addl %edi,%ecx
112 movl %ecx,116(%esp)
113 movl (%ebx),%ebp
114 movl 4(%ebx),%edx
115 movl 8(%ebx),%ecx
116 movl 12(%ebx),%ebx
117 movl $0,16(%esp)
118 movl $471859200,20(%esp)
119 movl $943718400,24(%esp)
120 movl $610271232,28(%esp)
121 movl $1887436800,32(%esp)
122 movl $1822425088,36(%esp)
123 movl $1220542464,40(%esp)
124 movl $1423966208,44(%esp)
125 movl $3774873600,48(%esp)
126 movl $4246732800,52(%esp)
127 movl $3644850176,56(%esp)
128 movl $3311403008,60(%esp)
129 movl $2441084928,64(%esp)
130 movl $2376073216,68(%esp)
131 movl $2847932416,72(%esp)
132 movl $3051356160,76(%esp)
133 .align 16
134 .L002x86_outer_loop:
135 xorl 12(%edi),%ebx
136 xorl 8(%edi),%ecx
137 xorl 4(%edi),%edx
138 xorl (%edi),%ebp
139 movl %ebx,12(%esp)
140 movl %ecx,8(%esp)
141 movl %edx,4(%esp)
142 movl %ebp,(%esp)
143 shrl $20,%ebx
144 andl $240,%ebx
145 movl 4(%esi,%ebx,1),%ebp
146 movl (%esi,%ebx,1),%edx
147 movl 12(%esi,%ebx,1),%ecx
148 movl 8(%esi,%ebx,1),%ebx
149 xorl %eax,%eax
150 movl $15,%edi
151 jmp .L003x86_loop
152 .align 16
153 .L003x86_loop:
154 movb %bl,%al
155 shrdl $4,%ecx,%ebx
156 andb $15,%al
157 shrdl $4,%edx,%ecx
158 shrdl $4,%ebp,%edx
159 shrl $4,%ebp
160 xorl 16(%esp,%eax,4),%ebp
161 movb (%esp,%edi,1),%al
162 andb $240,%al
163 xorl 8(%esi,%eax,1),%ebx
164 xorl 12(%esi,%eax,1),%ecx
165 xorl (%esi,%eax,1),%edx
166 xorl 4(%esi,%eax,1),%ebp
167 decl %edi
168 js .L004x86_break
169 movb %bl,%al
170 shrdl $4,%ecx,%ebx
171 andb $15,%al
172 shrdl $4,%edx,%ecx
173 shrdl $4,%ebp,%edx
174 shrl $4,%ebp
175 xorl 16(%esp,%eax,4),%ebp
176 movb (%esp,%edi,1),%al
177 shlb $4,%al
178 xorl 8(%esi,%eax,1),%ebx
179 xorl 12(%esi,%eax,1),%ecx
180 xorl (%esi,%eax,1),%edx
181 xorl 4(%esi,%eax,1),%ebp
182 jmp .L003x86_loop
183 .align 16
184 .L004x86_break:
185 bswap %ebx
186 bswap %ecx
187 bswap %edx
188 bswap %ebp
189 movl 112(%esp),%edi
190 leal 16(%edi),%edi
191 cmpl 116(%esp),%edi
192 movl %edi,112(%esp)
193 jb .L002x86_outer_loop
194 movl 104(%esp),%edi
195 movl %ebx,12(%edi)
196 movl %ecx,8(%edi)
197 movl %edx,4(%edi)
198 movl %ebp,(%edi)
199 addl $84,%esp
200 popl %edi
201 popl %esi
202 popl %ebx
203 popl %ebp
204 ret
205 .size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin
206 .type _mmx_gmult_4bit_inner,@function
207 .align 16
208 _mmx_gmult_4bit_inner:
209 xorl %ecx,%ecx
210 movl %ebx,%edx
211 movb %dl,%cl
212 shlb $4,%cl
213 andl $240,%edx
214 movq 8(%esi,%ecx,1),%mm0
215 movq (%esi,%ecx,1),%mm1
216 movd %mm0,%ebp
217 psrlq $4,%mm0
218 movq %mm1,%mm2
219 psrlq $4,%mm1
220 pxor 8(%esi,%edx,1),%mm0
221 movb 14(%edi),%cl
222 psllq $60,%mm2
223 andl $15,%ebp
224 pxor (%esi,%edx,1),%mm1
225 movl %ecx,%edx
226 movd %mm0,%ebx
227 pxor %mm2,%mm0
228 shlb $4,%cl
229 psrlq $4,%mm0
230 movq %mm1,%mm2
231 psrlq $4,%mm1
232 pxor 8(%esi,%ecx,1),%mm0
233 psllq $60,%mm2
234 andl $240,%edx
235 pxor (%eax,%ebp,8),%mm1
236 andl $15,%ebx
237 pxor (%esi,%ecx,1),%mm1
238 movd %mm0,%ebp
239 pxor %mm2,%mm0
240 psrlq $4,%mm0
241 movq %mm1,%mm2
242 psrlq $4,%mm1
243 pxor 8(%esi,%edx,1),%mm0
244 movb 13(%edi),%cl
245 psllq $60,%mm2
246 pxor (%eax,%ebx,8),%mm1
247 andl $15,%ebp
248 pxor (%esi,%edx,1),%mm1
249 movl %ecx,%edx
250 movd %mm0,%ebx
251 pxor %mm2,%mm0
252 shlb $4,%cl
253 psrlq $4,%mm0
254 movq %mm1,%mm2
255 psrlq $4,%mm1
256 pxor 8(%esi,%ecx,1),%mm0
257 psllq $60,%mm2
258 andl $240,%edx
259 pxor (%eax,%ebp,8),%mm1
260 andl $15,%ebx
261 pxor (%esi,%ecx,1),%mm1
262 movd %mm0,%ebp
263 pxor %mm2,%mm0
264 psrlq $4,%mm0
265 movq %mm1,%mm2
266 psrlq $4,%mm1
267 pxor 8(%esi,%edx,1),%mm0
268 movb 12(%edi),%cl
269 psllq $60,%mm2
270 pxor (%eax,%ebx,8),%mm1
271 andl $15,%ebp
272 pxor (%esi,%edx,1),%mm1
273 movl %ecx,%edx
274 movd %mm0,%ebx
275 pxor %mm2,%mm0
276 shlb $4,%cl
277 psrlq $4,%mm0
278 movq %mm1,%mm2
279 psrlq $4,%mm1
280 pxor 8(%esi,%ecx,1),%mm0
281 psllq $60,%mm2
282 andl $240,%edx
283 pxor (%eax,%ebp,8),%mm1
284 andl $15,%ebx
285 pxor (%esi,%ecx,1),%mm1
286 movd %mm0,%ebp
287 pxor %mm2,%mm0
288 psrlq $4,%mm0
289 movq %mm1,%mm2
290 psrlq $4,%mm1
291 pxor 8(%esi,%edx,1),%mm0
292 movb 11(%edi),%cl
293 psllq $60,%mm2
294 pxor (%eax,%ebx,8),%mm1
295 andl $15,%ebp
296 pxor (%esi,%edx,1),%mm1
297 movl %ecx,%edx
298 movd %mm0,%ebx
299 pxor %mm2,%mm0
300 shlb $4,%cl
301 psrlq $4,%mm0
302 movq %mm1,%mm2
303 psrlq $4,%mm1
304 pxor 8(%esi,%ecx,1),%mm0
305 psllq $60,%mm2
306 andl $240,%edx
307 pxor (%eax,%ebp,8),%mm1
308 andl $15,%ebx
309 pxor (%esi,%ecx,1),%mm1
310 movd %mm0,%ebp
311 pxor %mm2,%mm0
312 psrlq $4,%mm0
313 movq %mm1,%mm2
314 psrlq $4,%mm1
315 pxor 8(%esi,%edx,1),%mm0
316 movb 10(%edi),%cl
317 psllq $60,%mm2
318 pxor (%eax,%ebx,8),%mm1
319 andl $15,%ebp
320 pxor (%esi,%edx,1),%mm1
321 movl %ecx,%edx
322 movd %mm0,%ebx
323 pxor %mm2,%mm0
324 shlb $4,%cl
325 psrlq $4,%mm0
326 movq %mm1,%mm2
327 psrlq $4,%mm1
328 pxor 8(%esi,%ecx,1),%mm0
329 psllq $60,%mm2
330 andl $240,%edx
331 pxor (%eax,%ebp,8),%mm1
332 andl $15,%ebx
333 pxor (%esi,%ecx,1),%mm1
334 movd %mm0,%ebp
335 pxor %mm2,%mm0
336 psrlq $4,%mm0
337 movq %mm1,%mm2
338 psrlq $4,%mm1
339 pxor 8(%esi,%edx,1),%mm0
340 movb 9(%edi),%cl
341 psllq $60,%mm2
342 pxor (%eax,%ebx,8),%mm1
343 andl $15,%ebp
344 pxor (%esi,%edx,1),%mm1
345 movl %ecx,%edx
346 movd %mm0,%ebx
347 pxor %mm2,%mm0
348 shlb $4,%cl
349 psrlq $4,%mm0
350 movq %mm1,%mm2
351 psrlq $4,%mm1
352 pxor 8(%esi,%ecx,1),%mm0
353 psllq $60,%mm2
354 andl $240,%edx
355 pxor (%eax,%ebp,8),%mm1
356 andl $15,%ebx
357 pxor (%esi,%ecx,1),%mm1
358 movd %mm0,%ebp
359 pxor %mm2,%mm0
360 psrlq $4,%mm0
361 movq %mm1,%mm2
362 psrlq $4,%mm1
363 pxor 8(%esi,%edx,1),%mm0
364 movb 8(%edi),%cl
365 psllq $60,%mm2
366 pxor (%eax,%ebx,8),%mm1
367 andl $15,%ebp
368 pxor (%esi,%edx,1),%mm1
369 movl %ecx,%edx
370 movd %mm0,%ebx
371 pxor %mm2,%mm0
372 shlb $4,%cl
373 psrlq $4,%mm0
374 movq %mm1,%mm2
375 psrlq $4,%mm1
376 pxor 8(%esi,%ecx,1),%mm0
377 psllq $60,%mm2
378 andl $240,%edx
379 pxor (%eax,%ebp,8),%mm1
380 andl $15,%ebx
381 pxor (%esi,%ecx,1),%mm1
382 movd %mm0,%ebp
383 pxor %mm2,%mm0
384 psrlq $4,%mm0
385 movq %mm1,%mm2
386 psrlq $4,%mm1
387 pxor 8(%esi,%edx,1),%mm0
388 movb 7(%edi),%cl
389 psllq $60,%mm2
390 pxor (%eax,%ebx,8),%mm1
391 andl $15,%ebp
392 pxor (%esi,%edx,1),%mm1
393 movl %ecx,%edx
394 movd %mm0,%ebx
395 pxor %mm2,%mm0
396 shlb $4,%cl
397 psrlq $4,%mm0
398 movq %mm1,%mm2
399 psrlq $4,%mm1
400 pxor 8(%esi,%ecx,1),%mm0
401 psllq $60,%mm2
402 andl $240,%edx
403 pxor (%eax,%ebp,8),%mm1
404 andl $15,%ebx
405 pxor (%esi,%ecx,1),%mm1
406 movd %mm0,%ebp
407 pxor %mm2,%mm0
408 psrlq $4,%mm0
409 movq %mm1,%mm2
410 psrlq $4,%mm1
411 pxor 8(%esi,%edx,1),%mm0
412 movb 6(%edi),%cl
413 psllq $60,%mm2
414 pxor (%eax,%ebx,8),%mm1
415 andl $15,%ebp
416 pxor (%esi,%edx,1),%mm1
417 movl %ecx,%edx
418 movd %mm0,%ebx
419 pxor %mm2,%mm0
420 shlb $4,%cl
421 psrlq $4,%mm0
422 movq %mm1,%mm2
423 psrlq $4,%mm1
424 pxor 8(%esi,%ecx,1),%mm0
425 psllq $60,%mm2
426 andl $240,%edx
427 pxor (%eax,%ebp,8),%mm1
428 andl $15,%ebx
429 pxor (%esi,%ecx,1),%mm1
430 movd %mm0,%ebp
431 pxor %mm2,%mm0
432 psrlq $4,%mm0
433 movq %mm1,%mm2
434 psrlq $4,%mm1
435 pxor 8(%esi,%edx,1),%mm0
436 movb 5(%edi),%cl
437 psllq $60,%mm2
438 pxor (%eax,%ebx,8),%mm1
439 andl $15,%ebp
440 pxor (%esi,%edx,1),%mm1
441 movl %ecx,%edx
442 movd %mm0,%ebx
443 pxor %mm2,%mm0
444 shlb $4,%cl
445 psrlq $4,%mm0
446 movq %mm1,%mm2
447 psrlq $4,%mm1
448 pxor 8(%esi,%ecx,1),%mm0
449 psllq $60,%mm2
450 andl $240,%edx
451 pxor (%eax,%ebp,8),%mm1
452 andl $15,%ebx
453 pxor (%esi,%ecx,1),%mm1
454 movd %mm0,%ebp
455 pxor %mm2,%mm0
456 psrlq $4,%mm0
457 movq %mm1,%mm2
458 psrlq $4,%mm1
459 pxor 8(%esi,%edx,1),%mm0
460 movb 4(%edi),%cl
461 psllq $60,%mm2
462 pxor (%eax,%ebx,8),%mm1
463 andl $15,%ebp
464 pxor (%esi,%edx,1),%mm1
465 movl %ecx,%edx
466 movd %mm0,%ebx
467 pxor %mm2,%mm0
468 shlb $4,%cl
469 psrlq $4,%mm0
470 movq %mm1,%mm2
471 psrlq $4,%mm1
472 pxor 8(%esi,%ecx,1),%mm0
473 psllq $60,%mm2
474 andl $240,%edx
475 pxor (%eax,%ebp,8),%mm1
476 andl $15,%ebx
477 pxor (%esi,%ecx,1),%mm1
478 movd %mm0,%ebp
479 pxor %mm2,%mm0
480 psrlq $4,%mm0
481 movq %mm1,%mm2
482 psrlq $4,%mm1
483 pxor 8(%esi,%edx,1),%mm0
484 movb 3(%edi),%cl
485 psllq $60,%mm2
486 pxor (%eax,%ebx,8),%mm1
487 andl $15,%ebp
488 pxor (%esi,%edx,1),%mm1
489 movl %ecx,%edx
490 movd %mm0,%ebx
491 pxor %mm2,%mm0
492 shlb $4,%cl
493 psrlq $4,%mm0
494 movq %mm1,%mm2
495 psrlq $4,%mm1
496 pxor 8(%esi,%ecx,1),%mm0
497 psllq $60,%mm2
498 andl $240,%edx
499 pxor (%eax,%ebp,8),%mm1
500 andl $15,%ebx
501 pxor (%esi,%ecx,1),%mm1
502 movd %mm0,%ebp
503 pxor %mm2,%mm0
504 psrlq $4,%mm0
505 movq %mm1,%mm2
506 psrlq $4,%mm1
507 pxor 8(%esi,%edx,1),%mm0
508 movb 2(%edi),%cl
509 psllq $60,%mm2
510 pxor (%eax,%ebx,8),%mm1
511 andl $15,%ebp
512 pxor (%esi,%edx,1),%mm1
513 movl %ecx,%edx
514 movd %mm0,%ebx
515 pxor %mm2,%mm0
516 shlb $4,%cl
517 psrlq $4,%mm0
518 movq %mm1,%mm2
519 psrlq $4,%mm1
520 pxor 8(%esi,%ecx,1),%mm0
521 psllq $60,%mm2
522 andl $240,%edx
523 pxor (%eax,%ebp,8),%mm1
524 andl $15,%ebx
525 pxor (%esi,%ecx,1),%mm1
526 movd %mm0,%ebp
527 pxor %mm2,%mm0
528 psrlq $4,%mm0
529 movq %mm1,%mm2
530 psrlq $4,%mm1
531 pxor 8(%esi,%edx,1),%mm0
532 movb 1(%edi),%cl
533 psllq $60,%mm2
534 pxor (%eax,%ebx,8),%mm1
535 andl $15,%ebp
536 pxor (%esi,%edx,1),%mm1
537 movl %ecx,%edx
538 movd %mm0,%ebx
539 pxor %mm2,%mm0
540 shlb $4,%cl
541 psrlq $4,%mm0
542 movq %mm1,%mm2
543 psrlq $4,%mm1
544 pxor 8(%esi,%ecx,1),%mm0
545 psllq $60,%mm2
546 andl $240,%edx
547 pxor (%eax,%ebp,8),%mm1
548 andl $15,%ebx
549 pxor (%esi,%ecx,1),%mm1
550 movd %mm0,%ebp
551 pxor %mm2,%mm0
552 psrlq $4,%mm0
553 movq %mm1,%mm2
554 psrlq $4,%mm1
555 pxor 8(%esi,%edx,1),%mm0
556 movb (%edi),%cl
557 psllq $60,%mm2
558 pxor (%eax,%ebx,8),%mm1
559 andl $15,%ebp
560 pxor (%esi,%edx,1),%mm1
561 movl %ecx,%edx
562 movd %mm0,%ebx
563 pxor %mm2,%mm0
564 shlb $4,%cl
565 psrlq $4,%mm0
566 movq %mm1,%mm2
567 psrlq $4,%mm1
568 pxor 8(%esi,%ecx,1),%mm0
569 psllq $60,%mm2
570 andl $240,%edx
571 pxor (%eax,%ebp,8),%mm1
572 andl $15,%ebx
573 pxor (%esi,%ecx,1),%mm1
574 movd %mm0,%ebp
575 pxor %mm2,%mm0
576 psrlq $4,%mm0
577 movq %mm1,%mm2
578 psrlq $4,%mm1
579 pxor 8(%esi,%edx,1),%mm0
580 psllq $60,%mm2
581 pxor (%eax,%ebx,8),%mm1
582 andl $15,%ebp
583 pxor (%esi,%edx,1),%mm1
584 movd %mm0,%ebx
585 pxor %mm2,%mm0
586 movl 4(%eax,%ebp,8),%edi
587 psrlq $32,%mm0
588 movd %mm1,%edx
589 psrlq $32,%mm1
590 movd %mm0,%ecx
591 movd %mm1,%ebp
592 shll $4,%edi
593 bswap %ebx
594 bswap %edx
595 bswap %ecx
596 xorl %edi,%ebp
597 bswap %ebp
598 ret
599 .size _mmx_gmult_4bit_inner,.-_mmx_gmult_4bit_inner
600 .globl gcm_gmult_4bit_mmx
601 .type gcm_gmult_4bit_mmx,@function
602 .align 16
603 gcm_gmult_4bit_mmx:
604 .L_gcm_gmult_4bit_mmx_begin:
605 pushl %ebp
606 pushl %ebx
607 pushl %esi
608 pushl %edi
609 movl 20(%esp),%edi
610 movl 24(%esp),%esi
611 call .L005pic_point
612 .L005pic_point:
613 popl %eax
614 leal .Lrem_4bit-.L005pic_point(%eax),%eax
615 movzbl 15(%edi),%ebx
616 call _mmx_gmult_4bit_inner
617 movl 20(%esp),%edi
618 emms
619 movl %ebx,12(%edi)
620 movl %edx,4(%edi)
621 movl %ecx,8(%edi)
622 movl %ebp,(%edi)
623 popl %edi
624 popl %esi
625 popl %ebx
626 popl %ebp
627 ret
628 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
629 .globl gcm_ghash_4bit_mmx
630 .type gcm_ghash_4bit_mmx,@function
631 .align 16
632 gcm_ghash_4bit_mmx:
633 .L_gcm_ghash_4bit_mmx_begin:
634 pushl %ebp
635 pushl %ebx
636 pushl %esi
637 pushl %edi
638 movl 20(%esp),%ebp
639 movl 24(%esp),%esi
640 movl 28(%esp),%edi
641 movl 32(%esp),%ecx
642 call .L006pic_point
643 .L006pic_point:
644 popl %eax
645 leal .Lrem_4bit-.L006pic_point(%eax),%eax
646 addl %edi,%ecx
647 movl %ecx,32(%esp)
648 subl $20,%esp
649 movl 12(%ebp),%ebx
650 movl 4(%ebp),%edx
651 movl 8(%ebp),%ecx
652 movl (%ebp),%ebp
653 jmp .L007mmx_outer_loop
654 .align 16
655 .L007mmx_outer_loop:
656 xorl 12(%edi),%ebx
657 xorl 4(%edi),%edx
658 xorl 8(%edi),%ecx
659 xorl (%edi),%ebp
660 movl %edi,48(%esp)
661 movl %ebx,12(%esp)
662 movl %edx,4(%esp)
663 movl %ecx,8(%esp)
664 movl %ebp,(%esp)
665 movl %esp,%edi
666 shrl $24,%ebx
667 call _mmx_gmult_4bit_inner
668 movl 48(%esp),%edi
669 leal 16(%edi),%edi
670 cmpl 52(%esp),%edi
671 jb .L007mmx_outer_loop
672 movl 40(%esp),%edi
673 emms
674 movl %ebx,12(%edi)
675 movl %edx,4(%edi)
676 movl %ecx,8(%edi)
677 movl %ebp,(%edi)
678 addl $20,%esp
679 popl %edi
680 popl %esi
681 popl %ebx
682 popl %ebp
683 ret
684 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
685 .align 64
686 .Lrem_4bit:
687 .long 0,0,0,29491200,0,58982400,0,38141952
688 .long 0,117964800,0,113901568,0,76283904,0,88997888
689 .long 0,235929600,0,265420800,0,227803136,0,206962688
690 .long 0,152567808,0,148504576,0,177995776,0,190709760
691 .align 64
692 .L008rem_8bit:
693 .value 0,450,900,582,1800,1738,1164,1358
694 .value 3600,4050,3476,3158,2328,2266,2716,2910
695 .value 7200,7650,8100,7782,6952,6890,6316,6510
696 .value 4656,5106,4532,4214,5432,5370,5820,6014
697 .value 14400,14722,15300,14854,16200,16010,15564,15630
698 .value 13904,14226,13780,13334,12632,12442,13020,13086
699 .value 9312,9634,10212,9766,9064,8874,8428,8494
700 .value 10864,11186,10740,10294,11640,11450,12028,12094
701 .value 28800,28994,29444,29382,30600,30282,29708,30158
702 .value 32400,32594,32020,31958,31128,30810,31260,31710
703 .value 27808,28002,28452,28390,27560,27242,26668,27118
704 .value 25264,25458,24884,24822,26040,25722,26172,26622
705 .value 18624,18690,19268,19078,20424,19978,19532,19854
706 .value 18128,18194,17748,17558,16856,16410,16988,17310
707 .value 21728,21794,22372,22182,21480,21034,20588,20910
708 .value 23280,23346,22900,22710,24056,23610,24188,24510
709 .value 57600,57538,57988,58182,58888,59338,58764,58446
710 .value 61200,61138,60564,60758,59416,59866,60316,59998
711 .value 64800,64738,65188,65382,64040,64490,63916,63598
712 .value 62256,62194,61620,61814,62520,62970,63420,63102
713 .value 55616,55426,56004,56070,56904,57226,56780,56334
714 .value 55120,54930,54484,54550,53336,53658,54236,53790
715 .value 50528,50338,50916,50982,49768,50090,49644,49198
716 .value 52080,51890,51444,51510,52344,52666,53244,52798
717 .value 37248,36930,37380,37830,38536,38730,38156,38094
718 .value 40848,40530,39956,40406,39064,39258,39708,39646
719 .value 36256,35938,36388,36838,35496,35690,35116,35054
720 .value 33712,33394,32820,33270,33976,34170,34620,34558
721 .value 43456,43010,43588,43910,44744,44810,44364,44174
722 .value 42960,42514,42068,42390,41176,41242,41820,41630
723 .value 46560,46114,46692,47014,45800,45866,45420,45230
724 .value 48112,47666,47220,47542,48376,48442,49020,48830
725 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
726 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
727 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62
728 .byte 0
OLDNEW
« no previous file with comments | « openssl/crypto/modes/asm/ghash-sparcv9.pl ('k') | openssl/crypto/modes/asm/ghash-x86.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698