1 # Copyright (c) 2011-2012, Andy Polyakov <appro@openssl.org>
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
8 # * Redistributions of source code must retain copyright notices,
9 # this list of conditions and the following disclaimer.
11 # * Redistributions in binary form must reproduce the above
12 # copyright notice, this list of conditions and the following
13 # disclaimer in the documentation and/or other materials
14 # provided with the distribution.
16 # * Neither the name of the Andy Polyakov nor the names of its
17 # copyright holder and contributors may be used to endorse or
18 # promote products derived from this software without specific
19 # prior written permission.
21 # ALTERNATIVELY, provided that this notice is retained in full, this
22 # product may be distributed under the terms of the GNU General Public
23 # License (GPL), in which case the provisions of the GPL apply INSTEAD OF
26 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
27 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 # *** This file is auto-generated ***
40 .file "devel/perlasm/e_padlock-x86.s"
42 .globl _padlock_capability
45 L_padlock_capability_begin
:
91 .globl _padlock_key_bswap
94 L_padlock_key_bswap_begin
:
105 .globl _padlock_verify_context
107 _padlock_verify_context
:
108 L_padlock_verify_context_begin
:
110 leal Lpadlock_saved_context-L002verify_pic_point
,%eax
112 call __padlock_verify_ctx
113 L002verify_pic_point
:
117 __padlock_verify_ctx
:
128 .globl _padlock_reload_key
131 L_padlock_reload_key_begin
:
135 .globl _padlock_aes_block
138 L_padlock_aes_block_begin
:
153 .globl _padlock_ecb_encrypt
155 _padlock_ecb_encrypt
:
156 L_padlock_ecb_encrypt_begin
:
169 leal Lpadlock_saved_context-L005ecb_pic_point
,%eax
172 call __padlock_verify_ctx
197 leal
(%eax
,%ebp
,1),%esp
210 jz L009ecb_inp_aligned
224 jz L010ecb_out_aligned
255 leal
(%eax
,%ebp
,1),%esp
259 movups
(%esi
,%ebx
,1),%xmm0
262 movaps
%xmm0
,-16(%esp
,%ebx
,1)
263 ja L014ecb_short_copy
282 .globl _padlock_cbc_encrypt
284 _padlock_cbc_encrypt
:
285 L_padlock_cbc_encrypt_begin
:
298 leal Lpadlock_saved_context-L016cbc_pic_point
,%eax
301 call __padlock_verify_ctx
326 leal
(%eax
,%ebp
,1),%esp
339 jz L020cbc_inp_aligned
351 movaps
%xmm0
,-16(%edx
)
355 jz L021cbc_out_aligned
386 leal
(%eax
,%ebp
,1),%esp
390 movups
(%esi
,%ebx
,1),%xmm0
393 movaps
%xmm0
,-16(%esp
,%ebx
,1)
394 ja L025cbc_short_copy
405 movaps
%xmm0
,-16(%edx
)
415 .globl _padlock_xstore
418 L_padlock_xstore_begin
:
426 __win32_segv_handler
:
430 cmpl $
3221225477,(%edx
)
436 .globl _padlock_sha1_oneshot
438 _padlock_sha1_oneshot
:
439 L_padlock_sha1_oneshot_begin
:
465 .globl _padlock_sha1_blocks
467 _padlock_sha1_blocks
:
468 L_padlock_sha1_blocks_begin
:
493 .globl _padlock_sha256_oneshot
495 _padlock_sha256_oneshot
:
496 L_padlock_sha256_oneshot_begin
:
507 movups
16(%edi
),%xmm1
510 movaps
%xmm1
,16(%esp
)
514 movaps
16(%esp
),%xmm1
518 movups
%xmm1
,16(%edi
)
522 .globl _padlock_sha256_blocks
524 _padlock_sha256_blocks
:
525 L_padlock_sha256_blocks_begin
:
535 movups
16(%edi
),%xmm1
538 movaps
%xmm1
,16(%esp
)
542 movaps
16(%esp
),%xmm1
546 movups
%xmm1
,16(%edi
)
550 .globl _padlock_sha512_blocks
552 _padlock_sha512_blocks
:
553 L_padlock_sha512_blocks_begin
:
563 movups
16(%edi
),%xmm1
564 movups
32(%edi
),%xmm2
565 movups
48(%edi
),%xmm3
568 movaps
%xmm1
,16(%esp
)
569 movaps
%xmm2
,32(%esp
)
570 movaps
%xmm3
,48(%esp
)
573 movaps
16(%esp
),%xmm1
574 movaps
32(%esp
),%xmm2
575 movaps
48(%esp
),%xmm3
579 movups
%xmm1
,16(%edi
)
580 movups
%xmm2
,32(%edi
)
581 movups
%xmm3
,48(%edi
)
585 .byte 86,73,65,32,80,97,100,108,111,99,107,32,120,56,54,32
586 .byte 109,111,100,117,108,101,44,32,67,82,89,80,84,79,71,65
587 .byte 77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101
588 .byte 110,115,115,108,46,111,114,103,62,0
592 Lpadlock_saved_context
: