VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.1/crypto/genasm-elf/x86-gf2m.S@ 94083

Last change on this file since 94083 was 94083, checked in by vboxsync, 3 years ago

libs/openssl-3.0.1: Recreate asm files, bugref:10128

File size: 6.0 KB
Line 
1.text
2.type _mul_1x1_mmx,@function
3.align 16
4_mul_1x1_mmx:
5.byte 243,15,30,251
6 subl $36,%esp
7 movl %eax,%ecx
8 leal (%eax,%eax,1),%edx
9 andl $1073741823,%ecx
10 leal (%edx,%edx,1),%ebp
11 movl $0,(%esp)
12 andl $2147483647,%edx
13 movd %eax,%mm2
14 movd %ebx,%mm3
15 movl %ecx,4(%esp)
16 xorl %edx,%ecx
17 pxor %mm5,%mm5
18 pxor %mm4,%mm4
19 movl %edx,8(%esp)
20 xorl %ebp,%edx
21 movl %ecx,12(%esp)
22 pcmpgtd %mm2,%mm5
23 paddd %mm2,%mm2
24 xorl %edx,%ecx
25 movl %ebp,16(%esp)
26 xorl %edx,%ebp
27 pand %mm3,%mm5
28 pcmpgtd %mm2,%mm4
29 movl %ecx,20(%esp)
30 xorl %ecx,%ebp
31 psllq $31,%mm5
32 pand %mm3,%mm4
33 movl %edx,24(%esp)
34 movl $7,%esi
35 movl %ebp,28(%esp)
36 movl %esi,%ebp
37 andl %ebx,%esi
38 shrl $3,%ebx
39 movl %ebp,%edi
40 psllq $30,%mm4
41 andl %ebx,%edi
42 shrl $3,%ebx
43 movd (%esp,%esi,4),%mm0
44 movl %ebp,%esi
45 andl %ebx,%esi
46 shrl $3,%ebx
47 movd (%esp,%edi,4),%mm2
48 movl %ebp,%edi
49 psllq $3,%mm2
50 andl %ebx,%edi
51 shrl $3,%ebx
52 pxor %mm2,%mm0
53 movd (%esp,%esi,4),%mm1
54 movl %ebp,%esi
55 psllq $6,%mm1
56 andl %ebx,%esi
57 shrl $3,%ebx
58 pxor %mm1,%mm0
59 movd (%esp,%edi,4),%mm2
60 movl %ebp,%edi
61 psllq $9,%mm2
62 andl %ebx,%edi
63 shrl $3,%ebx
64 pxor %mm2,%mm0
65 movd (%esp,%esi,4),%mm1
66 movl %ebp,%esi
67 psllq $12,%mm1
68 andl %ebx,%esi
69 shrl $3,%ebx
70 pxor %mm1,%mm0
71 movd (%esp,%edi,4),%mm2
72 movl %ebp,%edi
73 psllq $15,%mm2
74 andl %ebx,%edi
75 shrl $3,%ebx
76 pxor %mm2,%mm0
77 movd (%esp,%esi,4),%mm1
78 movl %ebp,%esi
79 psllq $18,%mm1
80 andl %ebx,%esi
81 shrl $3,%ebx
82 pxor %mm1,%mm0
83 movd (%esp,%edi,4),%mm2
84 movl %ebp,%edi
85 psllq $21,%mm2
86 andl %ebx,%edi
87 shrl $3,%ebx
88 pxor %mm2,%mm0
89 movd (%esp,%esi,4),%mm1
90 movl %ebp,%esi
91 psllq $24,%mm1
92 andl %ebx,%esi
93 shrl $3,%ebx
94 pxor %mm1,%mm0
95 movd (%esp,%edi,4),%mm2
96 pxor %mm4,%mm0
97 psllq $27,%mm2
98 pxor %mm2,%mm0
99 movd (%esp,%esi,4),%mm1
100 pxor %mm5,%mm0
101 psllq $30,%mm1
102 addl $36,%esp
103 pxor %mm1,%mm0
104 ret
105.size _mul_1x1_mmx,.-_mul_1x1_mmx
106.type _mul_1x1_ialu,@function
107.align 16
108_mul_1x1_ialu:
109.byte 243,15,30,251
110 subl $36,%esp
111 movl %eax,%ecx
112 leal (%eax,%eax,1),%edx
113 leal (,%eax,4),%ebp
114 andl $1073741823,%ecx
115 leal (%eax,%eax,1),%edi
116 sarl $31,%eax
117 movl $0,(%esp)
118 andl $2147483647,%edx
119 movl %ecx,4(%esp)
120 xorl %edx,%ecx
121 movl %edx,8(%esp)
122 xorl %ebp,%edx
123 movl %ecx,12(%esp)
124 xorl %edx,%ecx
125 movl %ebp,16(%esp)
126 xorl %edx,%ebp
127 movl %ecx,20(%esp)
128 xorl %ecx,%ebp
129 sarl $31,%edi
130 andl %ebx,%eax
131 movl %edx,24(%esp)
132 andl %ebx,%edi
133 movl %ebp,28(%esp)
134 movl %eax,%edx
135 shll $31,%eax
136 movl %edi,%ecx
137 shrl $1,%edx
138 movl $7,%esi
139 shll $30,%edi
140 andl %ebx,%esi
141 shrl $2,%ecx
142 xorl %edi,%eax
143 shrl $3,%ebx
144 movl $7,%edi
145 andl %ebx,%edi
146 shrl $3,%ebx
147 xorl %ecx,%edx
148 xorl (%esp,%esi,4),%eax
149 movl $7,%esi
150 andl %ebx,%esi
151 shrl $3,%ebx
152 movl (%esp,%edi,4),%ebp
153 movl $7,%edi
154 movl %ebp,%ecx
155 shll $3,%ebp
156 andl %ebx,%edi
157 shrl $29,%ecx
158 xorl %ebp,%eax
159 shrl $3,%ebx
160 xorl %ecx,%edx
161 movl (%esp,%esi,4),%ecx
162 movl $7,%esi
163 movl %ecx,%ebp
164 shll $6,%ecx
165 andl %ebx,%esi
166 shrl $26,%ebp
167 xorl %ecx,%eax
168 shrl $3,%ebx
169 xorl %ebp,%edx
170 movl (%esp,%edi,4),%ebp
171 movl $7,%edi
172 movl %ebp,%ecx
173 shll $9,%ebp
174 andl %ebx,%edi
175 shrl $23,%ecx
176 xorl %ebp,%eax
177 shrl $3,%ebx
178 xorl %ecx,%edx
179 movl (%esp,%esi,4),%ecx
180 movl $7,%esi
181 movl %ecx,%ebp
182 shll $12,%ecx
183 andl %ebx,%esi
184 shrl $20,%ebp
185 xorl %ecx,%eax
186 shrl $3,%ebx
187 xorl %ebp,%edx
188 movl (%esp,%edi,4),%ebp
189 movl $7,%edi
190 movl %ebp,%ecx
191 shll $15,%ebp
192 andl %ebx,%edi
193 shrl $17,%ecx
194 xorl %ebp,%eax
195 shrl $3,%ebx
196 xorl %ecx,%edx
197 movl (%esp,%esi,4),%ecx
198 movl $7,%esi
199 movl %ecx,%ebp
200 shll $18,%ecx
201 andl %ebx,%esi
202 shrl $14,%ebp
203 xorl %ecx,%eax
204 shrl $3,%ebx
205 xorl %ebp,%edx
206 movl (%esp,%edi,4),%ebp
207 movl $7,%edi
208 movl %ebp,%ecx
209 shll $21,%ebp
210 andl %ebx,%edi
211 shrl $11,%ecx
212 xorl %ebp,%eax
213 shrl $3,%ebx
214 xorl %ecx,%edx
215 movl (%esp,%esi,4),%ecx
216 movl $7,%esi
217 movl %ecx,%ebp
218 shll $24,%ecx
219 andl %ebx,%esi
220 shrl $8,%ebp
221 xorl %ecx,%eax
222 shrl $3,%ebx
223 xorl %ebp,%edx
224 movl (%esp,%edi,4),%ebp
225 movl %ebp,%ecx
226 shll $27,%ebp
227 movl (%esp,%esi,4),%edi
228 shrl $5,%ecx
229 movl %edi,%esi
230 xorl %ebp,%eax
231 shll $30,%edi
232 xorl %ecx,%edx
233 shrl $2,%esi
234 xorl %edi,%eax
235 xorl %esi,%edx
236 addl $36,%esp
237 ret
238.size _mul_1x1_ialu,.-_mul_1x1_ialu
239.globl bn_GF2m_mul_2x2
240.type bn_GF2m_mul_2x2,@function
241.align 16
242bn_GF2m_mul_2x2:
243.L_bn_GF2m_mul_2x2_begin:
244.byte 243,15,30,251
245 call .L000PIC_me_up
246.L000PIC_me_up:
247 popl %edx
248 leal OPENSSL_ia32cap_P-.L000PIC_me_up(%edx),%edx
249 movl (%edx),%eax
250 movl 4(%edx),%edx
251 testl $8388608,%eax
252 jz .L001ialu
253 pushl %ebp
254 pushl %ebx
255 pushl %esi
256 pushl %edi
257 movl 24(%esp),%eax
258 movl 32(%esp),%ebx
259 call _mul_1x1_mmx
260 movq %mm0,%mm7
261 movl 28(%esp),%eax
262 movl 36(%esp),%ebx
263 call _mul_1x1_mmx
264 movq %mm0,%mm6
265 movl 24(%esp),%eax
266 movl 32(%esp),%ebx
267 xorl 28(%esp),%eax
268 xorl 36(%esp),%ebx
269 call _mul_1x1_mmx
270 pxor %mm7,%mm0
271 movl 20(%esp),%eax
272 pxor %mm6,%mm0
273 movq %mm0,%mm2
274 psllq $32,%mm0
275 popl %edi
276 psrlq $32,%mm2
277 popl %esi
278 pxor %mm6,%mm0
279 popl %ebx
280 pxor %mm7,%mm2
281 movq %mm0,(%eax)
282 popl %ebp
283 movq %mm2,8(%eax)
284 emms
285 ret
286.align 16
287.L001ialu:
288 pushl %ebp
289 pushl %ebx
290 pushl %esi
291 pushl %edi
292 subl $20,%esp
293 movl 44(%esp),%eax
294 movl 52(%esp),%ebx
295 call _mul_1x1_ialu
296 movl %eax,8(%esp)
297 movl %edx,12(%esp)
298 movl 48(%esp),%eax
299 movl 56(%esp),%ebx
300 call _mul_1x1_ialu
301 movl %eax,(%esp)
302 movl %edx,4(%esp)
303 movl 44(%esp),%eax
304 movl 52(%esp),%ebx
305 xorl 48(%esp),%eax
306 xorl 56(%esp),%ebx
307 call _mul_1x1_ialu
308 movl 40(%esp),%ebp
309 movl (%esp),%ebx
310 movl 4(%esp),%ecx
311 movl 8(%esp),%edi
312 movl 12(%esp),%esi
313 xorl %edx,%eax
314 xorl %ecx,%edx
315 xorl %ebx,%eax
316 movl %ebx,(%ebp)
317 xorl %edi,%edx
318 movl %esi,12(%ebp)
319 xorl %esi,%eax
320 addl $20,%esp
321 xorl %esi,%edx
322 popl %edi
323 xorl %edx,%eax
324 popl %esi
325 movl %edx,8(%ebp)
326 popl %ebx
327 movl %eax,4(%ebp)
328 popl %ebp
329 ret
330.size bn_GF2m_mul_2x2,.-.L_bn_GF2m_mul_2x2_begin
331.byte 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105
332.byte 99,97,116,105,111,110,32,102,111,114,32,120,56,54,44,32
333.byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
334.byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
335.byte 62,0
336.comm OPENSSL_ia32cap_P,16,4
337
338 .section ".note.gnu.property", "a"
339 .p2align 2
340 .long 1f - 0f
341 .long 4f - 1f
342 .long 5
3430:
344 .asciz "GNU"
3451:
346 .p2align 2
347 .long 0xc0000002
348 .long 3f - 2f
3492:
350 .long 3
3513:
352 .p2align 2
3534:
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette