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