VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.2/crypto/genasm-macosx/x86-gf2m.S@ 95087

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

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

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

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