| OLD | NEW |
| 1 #if defined(__i386__) | 1 #if defined(__i386__) |
| 2 .file "crypto/cpu-x86-asm.S" | 2 .file "crypto/cpu-x86-asm.S" |
| 3 .text | 3 .text |
| 4 .globl OPENSSL_ia32_cpuid | 4 .globl OPENSSL_ia32_cpuid |
| 5 .hidden OPENSSL_ia32_cpuid |
| 5 .type OPENSSL_ia32_cpuid,@function | 6 .type OPENSSL_ia32_cpuid,@function |
| 6 .align 16 | 7 .align 16 |
| 7 OPENSSL_ia32_cpuid: | 8 OPENSSL_ia32_cpuid: |
| 8 .L_OPENSSL_ia32_cpuid_begin: | 9 .L_OPENSSL_ia32_cpuid_begin: |
| 9 pushl %ebp | 10 pushl %ebp |
| 10 pushl %ebx | 11 pushl %ebx |
| 11 pushl %esi | 12 pushl %esi |
| 12 pushl %edi | 13 pushl %edi |
| 13 xorl %edx,%edx | 14 xorl %edx,%edx |
| 14 pushfl | 15 pushfl |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 movl %esi,%eax | 141 movl %esi,%eax |
| 141 movl %ebp,%edx | 142 movl %ebp,%edx |
| 142 .L000nocpuid: | 143 .L000nocpuid: |
| 143 popl %edi | 144 popl %edi |
| 144 popl %esi | 145 popl %esi |
| 145 popl %ebx | 146 popl %ebx |
| 146 popl %ebp | 147 popl %ebp |
| 147 ret | 148 ret |
| 148 .size OPENSSL_ia32_cpuid,.-.L_OPENSSL_ia32_cpuid_begin | 149 .size OPENSSL_ia32_cpuid,.-.L_OPENSSL_ia32_cpuid_begin |
| 149 .globl OPENSSL_rdtsc | 150 .globl OPENSSL_rdtsc |
| 151 .hidden OPENSSL_rdtsc |
| 150 .type OPENSSL_rdtsc,@function | 152 .type OPENSSL_rdtsc,@function |
| 151 .align 16 | 153 .align 16 |
| 152 OPENSSL_rdtsc: | 154 OPENSSL_rdtsc: |
| 153 .L_OPENSSL_rdtsc_begin: | 155 .L_OPENSSL_rdtsc_begin: |
| 154 xorl %eax,%eax | 156 xorl %eax,%eax |
| 155 xorl %edx,%edx | 157 xorl %edx,%edx |
| 156 call .L009PIC_me_up | 158 call .L009PIC_me_up |
| 157 .L009PIC_me_up: | 159 .L009PIC_me_up: |
| 158 popl %ecx | 160 popl %ecx |
| 159 leal OPENSSL_ia32cap_P-.L009PIC_me_up(%ecx),%ecx | 161 leal OPENSSL_ia32cap_P-.L009PIC_me_up(%ecx),%ecx |
| 160 btl $4,(%ecx) | 162 btl $4,(%ecx) |
| 161 jnc .L010notsc | 163 jnc .L010notsc |
| 162 .byte 0x0f,0x31 | 164 .byte 0x0f,0x31 |
| 163 .L010notsc: | 165 .L010notsc: |
| 164 ret | 166 ret |
| 165 .size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin | 167 .size OPENSSL_rdtsc,.-.L_OPENSSL_rdtsc_begin |
| 166 .globl OPENSSL_instrument_halt | 168 .globl OPENSSL_instrument_halt |
| 169 .hidden OPENSSL_instrument_halt |
| 167 .type OPENSSL_instrument_halt,@function | 170 .type OPENSSL_instrument_halt,@function |
| 168 .align 16 | 171 .align 16 |
| 169 OPENSSL_instrument_halt: | 172 OPENSSL_instrument_halt: |
| 170 .L_OPENSSL_instrument_halt_begin: | 173 .L_OPENSSL_instrument_halt_begin: |
| 171 call .L011PIC_me_up | 174 call .L011PIC_me_up |
| 172 .L011PIC_me_up: | 175 .L011PIC_me_up: |
| 173 popl %ecx | 176 popl %ecx |
| 174 leal OPENSSL_ia32cap_P-.L011PIC_me_up(%ecx),%ecx | 177 leal OPENSSL_ia32cap_P-.L011PIC_me_up(%ecx),%ecx |
| 175 btl $4,(%ecx) | 178 btl $4,(%ecx) |
| 176 jnc .L012nohalt | 179 jnc .L012nohalt |
| (...skipping 12 matching lines...) Expand all Loading... |
| 189 subl (%esp),%eax | 192 subl (%esp),%eax |
| 190 sbbl 4(%esp),%edx | 193 sbbl 4(%esp),%edx |
| 191 addl $8,%esp | 194 addl $8,%esp |
| 192 ret | 195 ret |
| 193 .L012nohalt: | 196 .L012nohalt: |
| 194 xorl %eax,%eax | 197 xorl %eax,%eax |
| 195 xorl %edx,%edx | 198 xorl %edx,%edx |
| 196 ret | 199 ret |
| 197 .size OPENSSL_instrument_halt,.-.L_OPENSSL_instrument_halt_begin | 200 .size OPENSSL_instrument_halt,.-.L_OPENSSL_instrument_halt_begin |
| 198 .globl OPENSSL_far_spin | 201 .globl OPENSSL_far_spin |
| 202 .hidden OPENSSL_far_spin |
| 199 .type OPENSSL_far_spin,@function | 203 .type OPENSSL_far_spin,@function |
| 200 .align 16 | 204 .align 16 |
| 201 OPENSSL_far_spin: | 205 OPENSSL_far_spin: |
| 202 .L_OPENSSL_far_spin_begin: | 206 .L_OPENSSL_far_spin_begin: |
| 203 pushfl | 207 pushfl |
| 204 popl %eax | 208 popl %eax |
| 205 btl $9,%eax | 209 btl $9,%eax |
| 206 jnc .L013nospin | 210 jnc .L013nospin |
| 207 movl 4(%esp),%eax | 211 movl 4(%esp),%eax |
| 208 movl 8(%esp),%ecx | 212 movl 8(%esp),%ecx |
| 209 .long 2430111262 | 213 .long 2430111262 |
| 210 xorl %eax,%eax | 214 xorl %eax,%eax |
| 211 movl (%ecx),%edx | 215 movl (%ecx),%edx |
| 212 jmp .L014spin | 216 jmp .L014spin |
| 213 .align 16 | 217 .align 16 |
| 214 .L014spin: | 218 .L014spin: |
| 215 incl %eax | 219 incl %eax |
| 216 cmpl (%ecx),%edx | 220 cmpl (%ecx),%edx |
| 217 je .L014spin | 221 je .L014spin |
| 218 .long 529567888 | 222 .long 529567888 |
| 219 ret | 223 ret |
| 220 .L013nospin: | 224 .L013nospin: |
| 221 xorl %eax,%eax | 225 xorl %eax,%eax |
| 222 xorl %edx,%edx | 226 xorl %edx,%edx |
| 223 ret | 227 ret |
| 224 .size OPENSSL_far_spin,.-.L_OPENSSL_far_spin_begin | 228 .size OPENSSL_far_spin,.-.L_OPENSSL_far_spin_begin |
| 225 .globl OPENSSL_wipe_cpu | 229 .globl OPENSSL_wipe_cpu |
| 230 .hidden OPENSSL_wipe_cpu |
| 226 .type OPENSSL_wipe_cpu,@function | 231 .type OPENSSL_wipe_cpu,@function |
| 227 .align 16 | 232 .align 16 |
| 228 OPENSSL_wipe_cpu: | 233 OPENSSL_wipe_cpu: |
| 229 .L_OPENSSL_wipe_cpu_begin: | 234 .L_OPENSSL_wipe_cpu_begin: |
| 230 xorl %eax,%eax | 235 xorl %eax,%eax |
| 231 xorl %edx,%edx | 236 xorl %edx,%edx |
| 232 call .L015PIC_me_up | 237 call .L015PIC_me_up |
| 233 .L015PIC_me_up: | 238 .L015PIC_me_up: |
| 234 popl %ecx | 239 popl %ecx |
| 235 leal OPENSSL_ia32cap_P-.L015PIC_me_up(%ecx),%ecx | 240 leal OPENSSL_ia32cap_P-.L015PIC_me_up(%ecx),%ecx |
| 236 movl (%ecx),%ecx | 241 movl (%ecx),%ecx |
| 237 btl $1,(%ecx) | 242 btl $1,(%ecx) |
| 238 jnc .L016no_x87 | 243 jnc .L016no_x87 |
| 239 .long 4007259865,4007259865,4007259865,4007259865,2430851995 | 244 .long 4007259865,4007259865,4007259865,4007259865,2430851995 |
| 240 .L016no_x87: | 245 .L016no_x87: |
| 241 leal 4(%esp),%eax | 246 leal 4(%esp),%eax |
| 242 ret | 247 ret |
| 243 .size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin | 248 .size OPENSSL_wipe_cpu,.-.L_OPENSSL_wipe_cpu_begin |
| 244 .globl OPENSSL_atomic_add | 249 .globl OPENSSL_atomic_add |
| 250 .hidden OPENSSL_atomic_add |
| 245 .type OPENSSL_atomic_add,@function | 251 .type OPENSSL_atomic_add,@function |
| 246 .align 16 | 252 .align 16 |
| 247 OPENSSL_atomic_add: | 253 OPENSSL_atomic_add: |
| 248 .L_OPENSSL_atomic_add_begin: | 254 .L_OPENSSL_atomic_add_begin: |
| 249 movl 4(%esp),%edx | 255 movl 4(%esp),%edx |
| 250 movl 8(%esp),%ecx | 256 movl 8(%esp),%ecx |
| 251 pushl %ebx | 257 pushl %ebx |
| 252 nop | 258 nop |
| 253 movl (%edx),%eax | 259 movl (%edx),%eax |
| 254 .L017spin: | 260 .L017spin: |
| 255 leal (%eax,%ecx,1),%ebx | 261 leal (%eax,%ecx,1),%ebx |
| 256 nop | 262 nop |
| 257 .long 447811568 | 263 .long 447811568 |
| 258 jne .L017spin | 264 jne .L017spin |
| 259 movl %ebx,%eax | 265 movl %ebx,%eax |
| 260 popl %ebx | 266 popl %ebx |
| 261 ret | 267 ret |
| 262 .size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin | 268 .size OPENSSL_atomic_add,.-.L_OPENSSL_atomic_add_begin |
| 263 .globl OPENSSL_indirect_call | 269 .globl OPENSSL_indirect_call |
| 270 .hidden OPENSSL_indirect_call |
| 264 .type OPENSSL_indirect_call,@function | 271 .type OPENSSL_indirect_call,@function |
| 265 .align 16 | 272 .align 16 |
| 266 OPENSSL_indirect_call: | 273 OPENSSL_indirect_call: |
| 267 .L_OPENSSL_indirect_call_begin: | 274 .L_OPENSSL_indirect_call_begin: |
| 268 pushl %ebp | 275 pushl %ebp |
| 269 movl %esp,%ebp | 276 movl %esp,%ebp |
| 270 subl $28,%esp | 277 subl $28,%esp |
| 271 movl 12(%ebp),%ecx | 278 movl 12(%ebp),%ecx |
| 272 movl %ecx,(%esp) | 279 movl %ecx,(%esp) |
| 273 movl 16(%ebp),%edx | 280 movl 16(%ebp),%edx |
| 274 movl %edx,4(%esp) | 281 movl %edx,4(%esp) |
| 275 movl 20(%ebp),%eax | 282 movl 20(%ebp),%eax |
| 276 movl %eax,8(%esp) | 283 movl %eax,8(%esp) |
| 277 movl 24(%ebp),%eax | 284 movl 24(%ebp),%eax |
| 278 movl %eax,12(%esp) | 285 movl %eax,12(%esp) |
| 279 movl 28(%ebp),%eax | 286 movl 28(%ebp),%eax |
| 280 movl %eax,16(%esp) | 287 movl %eax,16(%esp) |
| 281 movl 32(%ebp),%eax | 288 movl 32(%ebp),%eax |
| 282 movl %eax,20(%esp) | 289 movl %eax,20(%esp) |
| 283 movl 36(%ebp),%eax | 290 movl 36(%ebp),%eax |
| 284 movl %eax,24(%esp) | 291 movl %eax,24(%esp) |
| 285 call *8(%ebp) | 292 call *8(%ebp) |
| 286 movl %ebp,%esp | 293 movl %ebp,%esp |
| 287 popl %ebp | 294 popl %ebp |
| 288 ret | 295 ret |
| 289 .size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin | 296 .size OPENSSL_indirect_call,.-.L_OPENSSL_indirect_call_begin |
| 290 .globl OPENSSL_cleanse | |
| 291 .type OPENSSL_cleanse,@function | |
| 292 .align 16 | |
| 293 OPENSSL_cleanse: | |
| 294 .L_OPENSSL_cleanse_begin: | |
| 295 movl 4(%esp),%edx | |
| 296 movl 8(%esp),%ecx | |
| 297 xorl %eax,%eax | |
| 298 cmpl $7,%ecx | |
| 299 jae .L018lot | |
| 300 cmpl $0,%ecx | |
| 301 je .L019ret | |
| 302 .L020little: | |
| 303 movb %al,(%edx) | |
| 304 subl $1,%ecx | |
| 305 leal 1(%edx),%edx | |
| 306 jnz .L020little | |
| 307 .L019ret: | |
| 308 ret | |
| 309 .align 16 | |
| 310 .L018lot: | |
| 311 testl $3,%edx | |
| 312 jz .L021aligned | |
| 313 movb %al,(%edx) | |
| 314 leal -1(%ecx),%ecx | |
| 315 leal 1(%edx),%edx | |
| 316 jmp .L018lot | |
| 317 .L021aligned: | |
| 318 movl %eax,(%edx) | |
| 319 leal -4(%ecx),%ecx | |
| 320 testl $-4,%ecx | |
| 321 leal 4(%edx),%edx | |
| 322 jnz .L021aligned | |
| 323 cmpl $0,%ecx | |
| 324 jne .L020little | |
| 325 ret | |
| 326 .size OPENSSL_cleanse,.-.L_OPENSSL_cleanse_begin | |
| 327 .globl OPENSSL_ia32_rdrand | 297 .globl OPENSSL_ia32_rdrand |
| 298 .hidden OPENSSL_ia32_rdrand |
| 328 .type OPENSSL_ia32_rdrand,@function | 299 .type OPENSSL_ia32_rdrand,@function |
| 329 .align 16 | 300 .align 16 |
| 330 OPENSSL_ia32_rdrand: | 301 OPENSSL_ia32_rdrand: |
| 331 .L_OPENSSL_ia32_rdrand_begin: | 302 .L_OPENSSL_ia32_rdrand_begin: |
| 332 movl $8,%ecx | 303 movl $8,%ecx |
| 333 .L022loop: | 304 .L018loop: |
| 334 .byte 15,199,240 | 305 .byte 15,199,240 |
| 335 » jc» .L023break | 306 » jc» .L019break |
| 336 » loop» .L022loop | 307 » loop» .L018loop |
| 337 .L023break: | 308 .L019break: |
| 338 cmpl $0,%eax | 309 cmpl $0,%eax |
| 339 cmovel %ecx,%eax | 310 cmovel %ecx,%eax |
| 340 ret | 311 ret |
| 341 .size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin | 312 .size OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin |
| 342 .hidden OPENSSL_ia32cap_P | 313 .hidden OPENSSL_ia32cap_P |
| 343 #endif | 314 #endif |
| OLD | NEW |