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