1 / ***** BEGIN LICENSE BLOCK
*****
2 / Version
: MPL
1.1/GPL
2.0/LGPL
2.1
4 / The contents of this file are subject to the Mozilla Public License Version
5 / 1.1 (the
"License"); you may
not use this file except in compliance with
6 / the License. You may obtain
a copy of the License at
7 / http
://www.mozilla.org
/MPL
/
9 / Software distributed under the License is distributed on an
"AS IS" basis
,
10 / WITHOUT WARRANTY OF ANY KIND
, either express
or implied. See the License
11 / for the specific language governing rights
and limitations under the
14 / The Original Code is SHA
180-1 Reference Implementation
(Optimized
).
16 / The Initial Developer of the Original Code is
17 / Paul Kocher of Cryptography Research.
18 / Portions created by the Initial Developer are Copyright
(C
) 1995-9
19 / the Initial Developer. All Rights Reserved.
23 / Alternatively
, the contents of this file may
be used under the terms of
24 / either the GNU General Public License Version
2 or later
(the
"GPL"), or
25 / the GNU Lesser General Public License Version
2.1 or later
(the
"LGPL"),
26 / in which case the provisions of the GPL
or the LGPL are applicable instead
27 / of those above. If you wish to allow use of your version of this file only
28 / under the terms of either the GPL
or the LGPL
, and not to allow others to
29 / use your version of this file under the terms of the MPL
, indicate your
30 / decision by deleting the provisions above
and replace them with the notice
31 / and other provisions required by the GPL
or the LGPL. If you do
not delete
32 / the provisions above
, a recipient may use your version of this file under
33 / the terms of any one of the MPL
, the GPL
or the LGPL.
35 / ***** END LICENSE BLOCK
*****
41 .type SHA1_Begin, @function
44 movl $
4023233417, %ecx
45 movl $
2562383102, %edx
46 movl $
3285377520, %eax
48 movq $
1732584193, 72(%rdi
)
51 movq $
271733878, 96(%rdi
)
55 .size SHA1_Begin, .-SHA1_Begin
57 .type shaCompress, @function
96 leaq
1518500249(%rdx
,%r14), %rdx
114 leaq
1518500249(%rcx
,%r9), %rcx
132 leaq
1518500249(%r8,%rax
), %r8
148 leaq
1518500249(%rdx
,%r13), %rdx
169 leaq
1518500249(%rcx
,%r10), %rcx
185 leaq
1518500249(%r8,%r12), %r8
205 leaq
1518500249(%rdx
,%rax
), %rdx
220 leaq
1518500249(%rcx
,%r11), %rcx
241 leaq
1518500249(%r8,%r14), %r8
259 leaq
1518500249(%rdx
,%r10), %rdx
276 leaq
1518500249(%rcx
,%rax
), %rcx
293 leaq
1518500249(%r8,%r13), %r8
312 leaq
1518500249(%rdx
,%r11), %rdx
329 leaq
1518500249(%rcx
,%r10), %rcx
349 leaq
1518500249(%r8,%rax
), %r8
365 leaq
1518500249(%rsi
,%r9), %r14
387 leaq
1518500249(%rcx
,%r9), %rcx
410 leaq
1518500249(%r9,%rsi
), %r9
430 leaq
1518500249(%rsi
,%r8), %rsi
452 leaq
1518500249(%r8,%rax
), %r13
471 leaq
1859775393(%rcx
,%rsi
), %r9
489 leaq
1859775393(%rsi
,%r8), %r10
507 leaq
1859775393(%r8,%rcx
), %r11
527 leaq
1859775393(%rcx
,%rsi
), %r10
546 leaq
1859775393(%rsi
,%r8), %r11
564 leaq
1859775393(%r8,%rcx
), %r9
584 leaq
1859775393(%rcx
,%rsi
), %r10
603 leaq
1859775393(%rsi
,%r8), %r11
621 leaq
1859775393(%r8,%rcx
), %r10
640 leaq
1859775393(%rcx
,%rsi
), %r11
660 leaq
1859775393(%rsi
,%r8), %r9
678 leaq
1859775393(%r8,%rcx
), %r10
697 leaq
1859775393(%rcx
,%rsi
), %r11
718 leaq
1859775393(%rsi
,%r8), %r10
736 leaq
1859775393(%r8,%rcx
), %r11
754 leaq
1859775393(%rcx
,%rsi
), %r9
774 leaq
1859775393(%rsi
,%r8), %r13
794 leaq
1859775393(%r8,%rbx
), %r11
808 leaq
1859775393(%rbx
,%rsi
), %rcx
833 leaq
1859775393(%rsi
,%rdx
), %rsi
856 movl $
2400959708, %r15d
1012 movq
-32(%rdi
), %rbx
1013 movq
-48(%rdi
), %rsi
1029 movq
%r14, -48(%rdi
)
1030 movq
-48(%rdi
), %rax
1034 movq
-24(%rdi
), %rbx
1053 movq
%r10, -40(%rdi
)
1054 movq
-40(%rdi
), %rax
1058 movq
-16(%rdi
), %rbx
1059 movq
-32(%rdi
), %rcx
1076 movq
%r12, -32(%rdi
)
1077 movq
-32(%rdi
), %rax
1079 movq
-48(%rdi
), %r11
1082 movq
-24(%rdi
), %rsi
1097 movq
%r11, -24(%rdi
)
1099 movq
-24(%rdi
), %rax
1102 movq
-40(%rdi
), %r13
1121 movq
%r13, -16(%rdi
)
1123 movq
-16(%rdi
), %rax
1146 movq
-24(%rdi
), %r14
1170 movq
-16(%rdi
), %r12
1193 movq
-48(%rdi
), %rdx
1216 movq
-40(%rdi
), %rax
1240 movq
-32(%rdi
), %rax
1266 movq
-24(%rdi
), %rax
1286 movq
-16(%rdi
), %r12
1312 movl $
3395469782, %r10d
1350 movq
-40(%rdi
), %rax
1368 movq
-32(%rdi
), %rdx
1370 movq
-48(%rdi
), %r14
1385 movq
%r12, -48(%rdi
)
1386 movq
-48(%rdi
), %rax
1390 movq
-24(%rdi
), %rcx
1391 movq
-40(%rdi
), %r11
1405 movq
%r13, -40(%rdi
)
1406 movq
-40(%rdi
), %rdx
1410 movq
-16(%rdi
), %rsi
1423 movq
%rbx
, -32(%rdi
)
1425 movq
-32(%rdi
), %rcx
1426 movq
-48(%rdi
), %r14
1445 movq
%r14, -24(%rdi
)
1446 movq
-24(%rdi
), %rsi
1448 movq
-40(%rdi
), %r15
1451 movq
-16(%rdi
), %r11
1463 movq
%r15, -16(%rdi
)
1465 movq
-16(%rdi
), %rax
1467 movq
-32(%rdi
), %r12
1488 movq
-24(%rdi
), %r13
1508 movq
-16(%rdi
), %rbx
1549 movq
-40(%rdi
), %r11
1568 movq
-32(%rdi
), %rax
1587 movq
-24(%rdi
), %rdx
1650 movq
-48(%rdi
), %r15
1671 movq
-40(%rdi
), %rdx
1690 movq
-88(%rdi
), %r10
1693 movq
%r10, -88(%rdi
)
1697 movq
-72(%rdi
), %rcx
1699 movq
%rcx
, -72(%rdi
)
1700 movq
-64(%rdi
), %rdx
1702 movq
%rdx
, -64(%rdi
)
1703 movq
-56(%rdi
), %rax
1710 movq
%rax
, -56(%rdi
)
1713 .size shaCompress, .-shaCompress
1716 .type SHA1_Update, @function
1723 movq
%r13, -24(%rbp
)
1725 movq
%r14, -16(%rbp
)
1730 movq
%rbx
, -40(%rbp
)
1733 movq
%r12, -32(%rbp
)
1742 leaq
(%rdx
,%rcx
), %rax
1746 movl
%eax
, -44(%rbp
)
1751 leaq
160(%r15), %rbx
1767 movq
-40(%rbp
), %rbx
1768 movq
-32(%rbp
), %r12
1769 movq
-24(%rbp
), %r13
1770 movq
-16(%rbp
), %r14
1776 movq
-40(%rbp
), %rbx
1777 movq
-32(%rbp
), %r12
1778 movq
-24(%rbp
), %r13
1779 movq
-16(%rbp
), %r14
1795 addl
-44(%rbp
), %ebx
1798 leaq
160(%r15), %rdi
1803 .size SHA1_Update, .-SHA1_Update
1806 .type bulk_pad.0, @object
1807 .size bulk_pad.0, 64
1876 .type SHA1_End, @function
1883 movq
%r12, -24(%rbp
)
1885 movq
%r13, -16(%rbp
)
1890 movq
%rbx
, -32(%rbp
)
1897 leaq bulk_pad.0
(%rip
), %rsi
1905 call SHA1_Update@PLT
1913 leaq
160(%r12), %rdi
1923 movl
104(%r12), %eax
1948 .size SHA1_End, .-SHA1_End
1950 .globl SHA1_NewContext
1951 .type SHA1_NewContext, @function
1957 .size SHA1_NewContext, .-SHA1_NewContext
1959 .globl SHA1_DestroyContext
1960 .type SHA1_DestroyContext, @function
1961 SHA1_DestroyContext
:
1968 movq
%rbx
, -16(%rbp
)
1992 .size SHA1_DestroyContext, .-SHA1_DestroyContext
1995 .type SHA1_HashBuf, @function
2002 movq
%rbx
, -32(%rbp
)
2004 leaq
-288(%rbp
), %rbx
2005 movq
%r12, -24(%rbp
)
2007 movq
%r13, -16(%rbp
)
2021 call SHA1_Update@PLT
2022 leaq
-292(%rbp
), %rdx
2027 movq
-32(%rbp
), %rbx
2028 movq
-24(%rbp
), %r12
2030 movq
-16(%rbp
), %r13
2035 .size SHA1_HashBuf, .-SHA1_HashBuf
2038 .type SHA1_Hash, @function
2045 movq
%rbx
, -16(%rbp
)
2061 jmp SHA1_HashBuf@PLT
2063 .size SHA1_Hash, .-SHA1_Hash
2065 .globl SHA1_FlattenSize
2066 .type SHA1_FlattenSize, @function
2072 .size SHA1_FlattenSize, .-SHA1_FlattenSize
2075 .type SHA1_Flatten, @function
2091 .size SHA1_Flatten, .-SHA1_Flatten
2093 .globl SHA1_Resurrect
2094 .type SHA1_Resurrect, @function
2101 movq
%rbx
, -16(%rbp
)
2108 call SHA1_NewContext@PLT
2124 .size SHA1_Resurrect, .-SHA1_Resurrect
2127 .type SHA1_Clone, @function
2133 .size SHA1_Clone, .-SHA1_Clone
2135 .globl SHA1_TraceState
2136 .type SHA1_TraceState, @function
2140 jmp PORT_SetError@PLT
2142 .size SHA1_TraceState, .-SHA1_TraceState