2 /* Do not modify. This file is auto-generated from x86cpuid.pl. */
6 .globl OPENSSL_ia32_cpuid
7 .type OPENSSL_ia32_cpuid,@function
10 .L_OPENSSL_ia32_cpuid_begin:
104 andl $4026531839,%edx
111 andl $4026531839,%edx
114 andl $4294965247,%ecx
119 jb .L005no_extended_info
124 .L005no_extended_info:
135 andl $4261412861,%ebp
136 andl $4278190079,%esi
138 andl $4026525695,%ebp
139 andl $4294967263,8(%edi)
149 .size OPENSSL_ia32_cpuid,.-.L_OPENSSL_ia32_cpuid_begin
151 .type OPENSSL_rdtsc,@function
154 .L_OPENSSL_rdtsc_begin:
160 leal OPENSSL_ia32cap_P-.L009PIC_me_up(%ecx),%ecx
166 .size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin
167 .globl OPENSSL_instrument_halt
168 .type OPENSSL_instrument_halt,@function
170 OPENSSL_instrument_halt:
171 .L_OPENSSL_instrument_halt_begin:
175 leal OPENSSL_ia32cap_P-.L011PIC_me_up(%ecx),%ecx
198 .size OPENSSL_instrument_halt,.-.L_OPENSSL_instrument_halt_begin
199 .globl OPENSSL_far_spin
200 .type OPENSSL_far_spin,@function
203 .L_OPENSSL_far_spin_begin:
225 .size OPENSSL_far_spin,.-.L_OPENSSL_far_spin_begin
226 .globl OPENSSL_wipe_cpu
227 .type OPENSSL_wipe_cpu,@function
230 .L_OPENSSL_wipe_cpu_begin:
236 leal OPENSSL_ia32cap_P-.L015PIC_me_up(%ecx),%ecx
252 .long 4007259865,4007259865,4007259865,4007259865,2430851995
256 .size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin
257 .globl OPENSSL_atomic_add
258 .type OPENSSL_atomic_add,@function
261 .L_OPENSSL_atomic_add_begin:
268 leal (%eax,%ecx,1),%ebx
275 .size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
276 .globl OPENSSL_indirect_call
277 .type OPENSSL_indirect_call,@function
279 OPENSSL_indirect_call:
280 .L_OPENSSL_indirect_call_begin:
302 .size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin
303 .globl OPENSSL_cleanse
304 .type OPENSSL_cleanse,@function
307 .L_OPENSSL_cleanse_begin:
339 .size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
340 .globl OPENSSL_ia32_rdrand
341 .type OPENSSL_ia32_rdrand,@function
344 .L_OPENSSL_ia32_rdrand_begin:
354 .size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
355 .globl OPENSSL_ia32_rdseed
356 .type OPENSSL_ia32_rdseed,@function
359 .L_OPENSSL_ia32_rdseed_begin:
369 .size OPENSSL_ia32_rdseed,.-.L_OPENSSL_ia32_rdseed_begin
370 .hidden OPENSSL_cpuid_setup
371 .hidden OPENSSL_ia32cap_P
372 .comm OPENSSL_ia32cap_P,16,4
374 call OPENSSL_cpuid_setup
378 .globl OPENSSL_ia32_cpuid
379 .type OPENSSL_ia32_cpuid,@function
382 .L_OPENSSL_ia32_cpuid_begin:
405 cmpl $1970169159,%ebx
408 cmpl $1231384169,%edx
411 cmpl $1818588270,%ecx
415 cmpl $1752462657,%ebx
418 cmpl $1769238117,%edx
421 cmpl $1145913699,%ecx
425 movl $2147483648,%eax
427 cmpl $2147483649,%eax
430 movl $2147483649,%eax
434 cmpl $2147483656,%esi
436 movl $2147483656,%eax
449 andl $4026531839,%edx
465 andl $3220176895,%edx
476 andl $4026531839,%edx
483 andl $4026531839,%edx
486 andl $4294965247,%ecx
491 jb .L005no_extended_info
496 .L005no_extended_info:
507 andl $4261412861,%ebp
508 andl $4278190079,%esi
510 andl $4026525695,%ebp
511 andl $4294967263,8(%edi)
521 .size OPENSSL_ia32_cpuid,.-.L_OPENSSL_ia32_cpuid_begin
523 .type OPENSSL_rdtsc,@function
526 .L_OPENSSL_rdtsc_begin:
529 leal OPENSSL_ia32cap_P,%ecx
535 .size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin
536 .globl OPENSSL_instrument_halt
537 .type OPENSSL_instrument_halt,@function
539 OPENSSL_instrument_halt:
540 .L_OPENSSL_instrument_halt_begin:
541 leal OPENSSL_ia32cap_P,%ecx
564 .size OPENSSL_instrument_halt,.-.L_OPENSSL_instrument_halt_begin
565 .globl OPENSSL_far_spin
566 .type OPENSSL_far_spin,@function
569 .L_OPENSSL_far_spin_begin:
591 .size OPENSSL_far_spin,.-.L_OPENSSL_far_spin_begin
592 .globl OPENSSL_wipe_cpu
593 .type OPENSSL_wipe_cpu,@function
596 .L_OPENSSL_wipe_cpu_begin:
599 leal OPENSSL_ia32cap_P,%ecx
615 .long 4007259865,4007259865,4007259865,4007259865,2430851995
619 .size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin
620 .globl OPENSSL_atomic_add
621 .type OPENSSL_atomic_add,@function
624 .L_OPENSSL_atomic_add_begin:
631 leal (%eax,%ecx,1),%ebx
638 .size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin
639 .globl OPENSSL_indirect_call
640 .type OPENSSL_indirect_call,@function
642 OPENSSL_indirect_call:
643 .L_OPENSSL_indirect_call_begin:
665 .size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin
666 .globl OPENSSL_cleanse
667 .type OPENSSL_cleanse,@function
670 .L_OPENSSL_cleanse_begin:
702 .size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin
703 .globl OPENSSL_ia32_rdrand
704 .type OPENSSL_ia32_rdrand,@function
707 .L_OPENSSL_ia32_rdrand_begin:
717 .size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
718 .globl OPENSSL_ia32_rdseed
719 .type OPENSSL_ia32_rdseed,@function
722 .L_OPENSSL_ia32_rdseed_begin:
732 .size OPENSSL_ia32_rdseed,.-.L_OPENSSL_ia32_rdseed_begin
733 .hidden OPENSSL_cpuid_setup
734 .hidden OPENSSL_ia32cap_P
735 .comm OPENSSL_ia32cap_P,16,4
737 call OPENSSL_cpuid_setup