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

Side by Side Diff: openssl/crypto/x86cpuid.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/x86_64cpuid.pl ('k') | openssl/crypto/x86cpuid.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 "x86cpuid.s"
2 .text
3 .globl OPENSSL_ia32_cpuid
4 .type OPENSSL_ia32_cpuid,@function
5 .align 16
6 OPENSSL_ia32_cpuid:
7 .L_OPENSSL_ia32_cpuid_begin:
8 pushl %ebp
9 pushl %ebx
10 pushl %esi
11 pushl %edi
12 xorl %edx,%edx
13 pushfl
14 popl %eax
15 movl %eax,%ecx
16 xorl $2097152,%eax
17 pushl %eax
18 popfl
19 pushfl
20 popl %eax
21 xorl %eax,%ecx
22 xorl %eax,%eax
23 btl $21,%ecx
24 jnc .L000nocpuid
25 .byte 0x0f,0xa2
26 movl %eax,%edi
27 xorl %eax,%eax
28 cmpl $1970169159,%ebx
29 setne %al
30 movl %eax,%ebp
31 cmpl $1231384169,%edx
32 setne %al
33 orl %eax,%ebp
34 cmpl $1818588270,%ecx
35 setne %al
36 orl %eax,%ebp
37 jz .L001intel
38 cmpl $1752462657,%ebx
39 setne %al
40 movl %eax,%esi
41 cmpl $1769238117,%edx
42 setne %al
43 orl %eax,%esi
44 cmpl $1145913699,%ecx
45 setne %al
46 orl %eax,%esi
47 jnz .L001intel
48 movl $2147483648,%eax
49 .byte 0x0f,0xa2
50 cmpl $2147483649,%eax
51 jb .L001intel
52 movl %eax,%esi
53 movl $2147483649,%eax
54 .byte 0x0f,0xa2
55 orl %ecx,%ebp
56 andl $2049,%ebp
57 cmpl $2147483656,%esi
58 jb .L001intel
59 movl $2147483656,%eax
60 .byte 0x0f,0xa2
61 movzbl %cl,%esi
62 incl %esi
63 movl $1,%eax
64 .byte 0x0f,0xa2
65 btl $28,%edx
66 jnc .L002generic
67 shrl $16,%ebx
68 andl $255,%ebx
69 cmpl %esi,%ebx
70 ja .L002generic
71 andl $4026531839,%edx
72 jmp .L002generic
73 .L001intel:
74 cmpl $4,%edi
75 movl $-1,%edi
76 jb .L003nocacheinfo
77 movl $4,%eax
78 movl $0,%ecx
79 .byte 0x0f,0xa2
80 movl %eax,%edi
81 shrl $14,%edi
82 andl $4095,%edi
83 .L003nocacheinfo:
84 movl $1,%eax
85 .byte 0x0f,0xa2
86 andl $3220176895,%edx
87 cmpl $0,%ebp
88 jne .L004notintel
89 orl $1073741824,%edx
90 andb $15,%ah
91 cmpb $15,%ah
92 jne .L004notintel
93 orl $1048576,%edx
94 .L004notintel:
95 btl $28,%edx
96 jnc .L002generic
97 andl $4026531839,%edx
98 cmpl $0,%edi
99 je .L002generic
100 orl $268435456,%edx
101 shrl $16,%ebx
102 cmpb $1,%bl
103 ja .L002generic
104 andl $4026531839,%edx
105 .L002generic:
106 andl $2048,%ebp
107 andl $4294965247,%ecx
108 movl %edx,%esi
109 orl %ecx,%ebp
110 btl $27,%ecx
111 jnc .L005clear_avx
112 xorl %ecx,%ecx
113 .byte 15,1,208
114 andl $6,%eax
115 cmpl $6,%eax
116 je .L006done
117 cmpl $2,%eax
118 je .L005clear_avx
119 .L007clear_xmm:
120 andl $4261412861,%ebp
121 andl $4278190079,%esi
122 .L005clear_avx:
123 andl $4026525695,%ebp
124 .L006done:
125 movl %esi,%eax
126 movl %ebp,%edx
127 .L000nocpuid:
128 popl %edi
129 popl %esi
130 popl %ebx
131 popl %ebp
132 ret
133 .size OPENSSL_ia32_cpuid,.-.L_OPENSSL_ia32_cpuid_begin
134 .globl OPENSSL_rdtsc
135 .type OPENSSL_rdtsc,@function
136 .align 16
137 OPENSSL_rdtsc:
138 .L_OPENSSL_rdtsc_begin:
139 xorl %eax,%eax
140 xorl %edx,%edx
141 call .L008PIC_me_up
142 .L008PIC_me_up:
143 popl %ecx
144 leal _GLOBAL_OFFSET_TABLE_+[.-.L008PIC_me_up](%ecx),%ecx
145 movl OPENSSL_ia32cap_P@GOT(%ecx),%ecx
146 btl $4,(%ecx)
147 jnc .L009notsc
148 .byte 0x0f,0x31
149 .L009notsc:
150 ret
151 .size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin
152 .globl OPENSSL_instrument_halt
153 .type OPENSSL_instrument_halt,@function
154 .align 16
155 OPENSSL_instrument_halt:
156 .L_OPENSSL_instrument_halt_begin:
157 call .L010PIC_me_up
158 .L010PIC_me_up:
159 popl %ecx
160 leal _GLOBAL_OFFSET_TABLE_+[.-.L010PIC_me_up](%ecx),%ecx
161 movl OPENSSL_ia32cap_P@GOT(%ecx),%ecx
162 btl $4,(%ecx)
163 jnc .L011nohalt
164 .long 2421723150
165 andl $3,%eax
166 jnz .L011nohalt
167 pushfl
168 popl %eax
169 btl $9,%eax
170 jnc .L011nohalt
171 .byte 0x0f,0x31
172 pushl %edx
173 pushl %eax
174 hlt
175 .byte 0x0f,0x31
176 subl (%esp),%eax
177 sbbl 4(%esp),%edx
178 addl $8,%esp
179 ret
180 .L011nohalt:
181 xorl %eax,%eax
182 xorl %edx,%edx
183 ret
184 .size OPENSSL_instrument_halt,.-.L_OPENSSL_instrument_halt_begin
185 .globl OPENSSL_far_spin
186 .type OPENSSL_far_spin,@function
187 .align 16
188 OPENSSL_far_spin:
189 .L_OPENSSL_far_spin_begin:
190 pushfl
191 popl %eax
192 btl $9,%eax
193 jnc .L012nospin
194 movl 4(%esp),%eax
195 movl 8(%esp),%ecx
196 .long 2430111262
197 xorl %eax,%eax
198 movl (%ecx),%edx
199 jmp .L013spin
200 .align 16
201 .L013spin:
202 incl %eax
203 cmpl (%ecx),%edx
204 je .L013spin
205 .long 529567888
206 ret
207 .L012nospin:
208 xorl %eax,%eax
209 xorl %edx,%edx
210 ret
211 .size OPENSSL_far_spin,.-.L_OPENSSL_far_spin_begin
212 .globl OPENSSL_wipe_cpu
213 .type OPENSSL_wipe_cpu,@function
214 .align 16
215 OPENSSL_wipe_cpu:
216 .L_OPENSSL_wipe_cpu_begin:
217 xorl %eax,%eax
218 xorl %edx,%edx
219 call .L014PIC_me_up
220 .L014PIC_me_up:
221 popl %ecx
222 leal _GLOBAL_OFFSET_TABLE_+[.-.L014PIC_me_up](%ecx),%ecx
223 movl OPENSSL_ia32cap_P@GOT(%ecx),%ecx
224 movl (%ecx),%ecx
225 btl $1,(%ecx)
226 jnc .L015no_x87
227 .long 4007259865,4007259865,4007259865,4007259865,2430851995
228 .L015no_x87:
229 leal 4(%esp),%eax
230 ret
231 .size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin
232 .globl OPENSSL_atomic_add
233 .type OPENSSL_atomic_add,@function
234 .align 16
235 OPENSSL_atomic_add:
236 .L_OPENSSL_atomic_add_begin:
237 movl 4(%esp),%edx
238 movl 8(%esp),%ecx
239 pushl %ebx
240 nop
241 movl (%edx),%eax
242 .L016spin:
243 leal (%eax,%ecx,1),%ebx
244 nop
245 .long 447811568
246 jne .L016spin
247 movl %ebx,%eax
248 popl %ebx
249 ret
250 .size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
251 .globl OPENSSL_indirect_call
252 .type OPENSSL_indirect_call,@function
253 .align 16
254 OPENSSL_indirect_call:
255 .L_OPENSSL_indirect_call_begin:
256 pushl %ebp
257 movl %esp,%ebp
258 subl $28,%esp
259 movl 12(%ebp),%ecx
260 movl %ecx,(%esp)
261 movl 16(%ebp),%edx
262 movl %edx,4(%esp)
263 movl 20(%ebp),%eax
264 movl %eax,8(%esp)
265 movl 24(%ebp),%eax
266 movl %eax,12(%esp)
267 movl 28(%ebp),%eax
268 movl %eax,16(%esp)
269 movl 32(%ebp),%eax
270 movl %eax,20(%esp)
271 movl 36(%ebp),%eax
272 movl %eax,24(%esp)
273 call *8(%ebp)
274 movl %ebp,%esp
275 popl %ebp
276 ret
277 .size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin
278 .globl OPENSSL_cleanse
279 .type OPENSSL_cleanse,@function
280 .align 16
281 OPENSSL_cleanse:
282 .L_OPENSSL_cleanse_begin:
283 movl 4(%esp),%edx
284 movl 8(%esp),%ecx
285 xorl %eax,%eax
286 cmpl $7,%ecx
287 jae .L017lot
288 cmpl $0,%ecx
289 je .L018ret
290 .L019little:
291 movb %al,(%edx)
292 subl $1,%ecx
293 leal 1(%edx),%edx
294 jnz .L019little
295 .L018ret:
296 ret
297 .align 16
298 .L017lot:
299 testl $3,%edx
300 jz .L020aligned
301 movb %al,(%edx)
302 leal -1(%ecx),%ecx
303 leal 1(%edx),%edx
304 jmp .L017lot
305 .L020aligned:
306 movl %eax,(%edx)
307 leal -4(%ecx),%ecx
308 testl $-4,%ecx
309 leal 4(%edx),%edx
310 jnz .L020aligned
311 cmpl $0,%ecx
312 jne .L019little
313 ret
314 .size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
315 .globl OPENSSL_ia32_rdrand
316 .type OPENSSL_ia32_rdrand,@function
317 .align 16
318 OPENSSL_ia32_rdrand:
319 .L_OPENSSL_ia32_rdrand_begin:
320 movl $8,%ecx
321 .L021loop:
322 .byte 15,199,240
323 jc .L022break
324 loop .L021loop
325 .L022break:
326 cmpl $0,%eax
327 cmovel %ecx,%eax
328 ret
329 .size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
330 .comm OPENSSL_ia32cap_P,8,4
331 .section .init
332 call OPENSSL_cpuid_setup
OLDNEW
« no previous file with comments | « openssl/crypto/x86_64cpuid.pl ('k') | openssl/crypto/x86cpuid.pl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698