1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/lib/freebl/mpi/mpcpucache_amd64.s Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,861 @@ 1.4 +/ This Source Code Form is subject to the terms of the Mozilla Public 1.5 +/ License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 +/ file, You can obtain one at http://mozilla.org/MPL/2.0/. 1.7 + 1.8 + .file "mpcpucache.c" 1.9 +/ .section .rodata.str1.1,"aMS",@progbits,1 1.10 + .section .rodata 1.11 +.LC0: 1.12 + .string "GenuineIntel" 1.13 +.LC1: 1.14 + .string "AuthenticAMD" 1.15 +.LC2: 1.16 + .string "CyrixInstead" 1.17 +.LC3: 1.18 + .string "CentaurHauls" 1.19 +.LC4: 1.20 + .string "NexGenDriven" 1.21 +.LC5: 1.22 + .string "GenuineTMx86" 1.23 +.LC6: 1.24 + .string "RiseRiseRise" 1.25 +.LC7: 1.26 + .string "UMC UMC UMC " 1.27 +.LC8: 1.28 + .string "Sis Sis Sis " 1.29 +.LC9: 1.30 + .string "Geode by NSC" 1.31 + .section .data.rel.ro.local,"aw",@progbits 1.32 + .align 32 1.33 + .type manMap, @object 1.34 + .size manMap, 80 1.35 +manMap: 1.36 + .quad .LC0 1.37 + .quad .LC1 1.38 + .quad .LC2 1.39 + .quad .LC3 1.40 + .quad .LC4 1.41 + .quad .LC5 1.42 + .quad .LC6 1.43 + .quad .LC7 1.44 + .quad .LC8 1.45 + .quad .LC9 1.46 + .section .rodata 1.47 + .align 32 1.48 + .type CacheMap, @object 1.49 + .size CacheMap, 512 1.50 +CacheMap: 1.51 + .byte 0 1.52 + .byte 0 1.53 + .byte 3 1.54 + .byte 0 1.55 + .byte 3 1.56 + .byte 0 1.57 + .byte 4 1.58 + .byte 0 1.59 + .byte 4 1.60 + .zero 1 1.61 + .byte 1 1.62 + .byte 0 1.63 + .byte 7 1.64 + .byte 32 1.65 + .byte 1 1.66 + .byte 0 1.67 + .byte 7 1.68 + .byte 32 1.69 + .byte 1 1.70 + .byte 0 1.71 + .byte 8 1.72 + .byte 32 1.73 + .byte 1 1.74 + .byte 0 1.75 + .byte 8 1.76 + .byte 32 1.77 + .byte 1 1.78 + .byte 0 1.79 + .byte 1 1.80 + .byte 0 1.81 + .byte 1 1.82 + .byte 0 1.83 + .byte 1 1.84 + .byte 0 1.85 + .byte 1 1.86 + .byte 0 1.87 + .byte 1 1.88 + .byte 0 1.89 + .byte 1 1.90 + .byte 0 1.91 + .byte 1 1.92 + .byte 0 1.93 + .byte 1 1.94 + .byte 0 1.95 + .byte 1 1.96 + .byte 0 1.97 + .byte 1 1.98 + .byte 0 1.99 + .byte 1 1.100 + .byte 0 1.101 + .byte 1 1.102 + .byte 0 1.103 + .byte 1 1.104 + .byte 0 1.105 + .byte 1 1.106 + .byte 0 1.107 + .byte 1 1.108 + .byte 0 1.109 + .byte 1 1.110 + .byte 0 1.111 + .byte 1 1.112 + .byte 0 1.113 + .byte 1 1.114 + .byte 0 1.115 + .byte 1 1.116 + .byte 0 1.117 + .byte 1 1.118 + .byte 0 1.119 + .byte 12 1.120 + .byte 64 1.121 + .byte 12 1.122 + .byte 64 1.123 + .byte 1 1.124 + .byte 0 1.125 + .byte 12 1.126 + .byte 64 1.127 + .byte 1 1.128 + .byte 0 1.129 + .byte 1 1.130 + .byte 0 1.131 + .byte 1 1.132 + .byte 0 1.133 + .byte 12 1.134 + .byte 64 1.135 + .byte 1 1.136 + .byte 0 1.137 + .byte 1 1.138 + .byte 0 1.139 + .byte 8 1.140 + .byte 64 1.141 + .byte 1 1.142 + .byte 0 1.143 + .byte 1 1.144 + .byte 0 1.145 + .byte 1 1.146 + .byte 0 1.147 + .byte 7 1.148 + .byte 64 1.149 + .byte 1 1.150 + .byte 0 1.151 + .byte 1 1.152 + .byte 0 1.153 + .byte 1 1.154 + .byte 0 1.155 + .byte 1 1.156 + .byte 0 1.157 + .byte 1 1.158 + .byte 0 1.159 + .byte 1 1.160 + .byte 0 1.161 + .byte 1 1.162 + .byte 0 1.163 + .byte 1 1.164 + .byte 0 1.165 + .byte 9 1.166 + .byte 64 1.167 + .byte 1 1.168 + .byte 0 1.169 + .byte 9 1.170 + .byte 64 1.171 + .byte 9 1.172 + .byte 64 1.173 + .byte 1 1.174 + .byte 0 1.175 + .byte 1 1.176 + .byte 0 1.177 + .byte 1 1.178 + .byte 0 1.179 + .byte 9 1.180 + .byte 0 1.181 + .byte 9 1.182 + .byte 32 1.183 + .byte 9 1.184 + .byte 32 1.185 + .byte 9 1.186 + .byte 32 1.187 + .byte 9 1.188 + .byte 32 1.189 + .byte 9 1.190 + .byte 32 1.191 + .byte 1 1.192 + .byte 0 1.193 + .byte 1 1.194 + .byte 0 1.195 + .byte 1 1.196 + .byte 0 1.197 + .byte 1 1.198 + .byte 0 1.199 + .byte 1 1.200 + .byte 0 1.201 + .byte 1 1.202 + .byte 0 1.203 + .byte 1 1.204 + .byte 0 1.205 + .byte 1 1.206 + .byte 0 1.207 + .byte 1 1.208 + .byte 0 1.209 + .byte 1 1.210 + .byte 0 1.211 + .byte 3 1.212 + .byte 0 1.213 + .byte 3 1.214 + .byte 0 1.215 + .byte 3 1.216 + .byte 0 1.217 + .byte 1 1.218 + .byte 0 1.219 + .byte 1 1.220 + .byte 0 1.221 + .byte 1 1.222 + .byte 0 1.223 + .byte 1 1.224 + .byte 0 1.225 + .byte 1 1.226 + .byte 0 1.227 + .byte 1 1.228 + .byte 0 1.229 + .byte 1 1.230 + .byte 0 1.231 + .byte 1 1.232 + .byte 0 1.233 + .byte 4 1.234 + .byte 0 1.235 + .byte 4 1.236 + .byte 0 1.237 + .byte 4 1.238 + .byte 0 1.239 + .byte 1 1.240 + .byte 0 1.241 + .byte 1 1.242 + .byte 0 1.243 + .byte 1 1.244 + .byte 0 1.245 + .byte 1 1.246 + .byte 0 1.247 + .byte 1 1.248 + .byte 0 1.249 + .byte 1 1.250 + .byte 0 1.251 + .byte 1 1.252 + .byte 0 1.253 + .byte 1 1.254 + .byte 0 1.255 + .byte 8 1.256 + .byte 64 1.257 + .byte 8 1.258 + .byte 64 1.259 + .byte 8 1.260 + .byte 64 1.261 + .byte 1 1.262 + .byte 0 1.263 + .byte 1 1.264 + .byte 0 1.265 + .byte 1 1.266 + .byte 0 1.267 + .byte 1 1.268 + .byte 0 1.269 + .byte 1 1.270 + .byte 0 1.271 + .byte 1 1.272 + .byte 0 1.273 + .byte 1 1.274 + .byte 0 1.275 + .byte 5 1.276 + .byte 1 1.277 + .byte 5 1.278 + .byte 1 1.279 + .byte 5 1.280 + .byte 1 1.281 + .byte 1 1.282 + .byte 0 1.283 + .byte 1 1.284 + .byte 0 1.285 + .byte 1 1.286 + .byte 0 1.287 + .byte 1 1.288 + .byte 0 1.289 + .byte 1 1.290 + .byte 0 1.291 + .byte 1 1.292 + .byte 0 1.293 + .byte 9 1.294 + .byte 64 1.295 + .byte 9 1.296 + .byte 64 1.297 + .byte 9 1.298 + .byte 64 1.299 + .byte 9 1.300 + .byte 64 1.301 + .byte 1 1.302 + .byte 0 1.303 + .byte 1 1.304 + .byte 0 1.305 + .byte 1 1.306 + .byte 0 1.307 + .byte 1 1.308 + .byte 0 1.309 + .byte 1 1.310 + .byte 0 1.311 + .byte 9 1.312 + .byte 32 1.313 + .byte 9 1.314 + .byte 32 1.315 + .byte 9 1.316 + .byte 32 1.317 + .byte 9 1.318 + .byte 32 1.319 + .byte 9 1.320 + .byte 64 1.321 + .byte 9 1.322 + .byte 64 1.323 + .byte 1 1.324 + .byte 0 1.325 + .byte 1 1.326 + .byte 0 1.327 + .byte 1 1.328 + .byte 0 1.329 + .byte 1 1.330 + .byte 0 1.331 + .byte 1 1.332 + .byte 0 1.333 + .byte 1 1.334 + .byte 0 1.335 + .byte 1 1.336 + .byte 0 1.337 + .byte 1 1.338 + .byte 0 1.339 + .byte 1 1.340 + .byte 0 1.341 + .byte 1 1.342 + .byte 0 1.343 + .byte 1 1.344 + .byte 0 1.345 + .byte 1 1.346 + .byte 0 1.347 + .byte 1 1.348 + .byte 0 1.349 + .byte 1 1.350 + .byte 0 1.351 + .byte 1 1.352 + .byte 0 1.353 + .byte 1 1.354 + .byte 0 1.355 + .byte 1 1.356 + .byte 0 1.357 + .byte 1 1.358 + .byte 0 1.359 + .byte 1 1.360 + .byte 0 1.361 + .byte 1 1.362 + .byte 0 1.363 + .byte 1 1.364 + .byte 0 1.365 + .byte 1 1.366 + .byte 0 1.367 + .byte 1 1.368 + .byte 0 1.369 + .byte 1 1.370 + .byte 0 1.371 + .byte 1 1.372 + .byte 0 1.373 + .byte 1 1.374 + .byte 0 1.375 + .byte 1 1.376 + .byte 0 1.377 + .byte 1 1.378 + .byte 0 1.379 + .byte 1 1.380 + .byte 0 1.381 + .byte 1 1.382 + .byte 0 1.383 + .byte 1 1.384 + .byte 0 1.385 + .byte 1 1.386 + .byte 0 1.387 + .byte 1 1.388 + .byte 0 1.389 + .byte 1 1.390 + .byte 0 1.391 + .byte 1 1.392 + .byte 0 1.393 + .byte 1 1.394 + .byte 0 1.395 + .byte 1 1.396 + .byte 0 1.397 + .byte 1 1.398 + .byte 0 1.399 + .byte 1 1.400 + .byte 0 1.401 + .byte 1 1.402 + .byte 0 1.403 + .byte 3 1.404 + .byte 0 1.405 + .byte 1 1.406 + .byte 0 1.407 + .byte 1 1.408 + .byte 0 1.409 + .byte 4 1.410 + .byte 0 1.411 + .byte 1 1.412 + .byte 0 1.413 + .byte 1 1.414 + .byte 0 1.415 + .byte 1 1.416 + .byte 0 1.417 + .byte 1 1.418 + .byte 0 1.419 + .byte 1 1.420 + .byte 0 1.421 + .byte 1 1.422 + .byte 0 1.423 + .byte 1 1.424 + .byte 0 1.425 + .byte 1 1.426 + .byte 0 1.427 + .byte 1 1.428 + .byte 0 1.429 + .byte 1 1.430 + .byte 0 1.431 + .byte 1 1.432 + .byte 0 1.433 + .byte 1 1.434 + .byte 0 1.435 + .byte 1 1.436 + .byte 0 1.437 + .byte 1 1.438 + .byte 0 1.439 + .byte 1 1.440 + .byte 0 1.441 + .byte 1 1.442 + .byte 0 1.443 + .byte 1 1.444 + .byte 0 1.445 + .byte 1 1.446 + .byte 0 1.447 + .byte 1 1.448 + .byte 0 1.449 + .byte 1 1.450 + .byte 0 1.451 + .byte 1 1.452 + .byte 0 1.453 + .byte 1 1.454 + .byte 0 1.455 + .byte 1 1.456 + .byte 0 1.457 + .byte 1 1.458 + .byte 0 1.459 + .byte 1 1.460 + .byte 0 1.461 + .byte 1 1.462 + .byte 0 1.463 + .byte 1 1.464 + .byte 0 1.465 + .byte 1 1.466 + .byte 0 1.467 + .byte 1 1.468 + .byte 0 1.469 + .byte 1 1.470 + .byte 0 1.471 + .byte 1 1.472 + .byte 0 1.473 + .byte 1 1.474 + .byte 0 1.475 + .byte 1 1.476 + .byte 0 1.477 + .byte 1 1.478 + .byte 0 1.479 + .byte 1 1.480 + .byte 0 1.481 + .byte 1 1.482 + .byte 0 1.483 + .byte 1 1.484 + .byte 0 1.485 + .byte 1 1.486 + .byte 0 1.487 + .byte 1 1.488 + .byte 0 1.489 + .byte 1 1.490 + .byte 0 1.491 + .byte 1 1.492 + .byte 0 1.493 + .byte 1 1.494 + .byte 0 1.495 + .byte 1 1.496 + .byte 0 1.497 + .byte 1 1.498 + .byte 0 1.499 + .byte 1 1.500 + .byte 0 1.501 + .byte 1 1.502 + .byte 0 1.503 + .byte 1 1.504 + .byte 0 1.505 + .byte 1 1.506 + .byte 0 1.507 + .byte 1 1.508 + .byte 0 1.509 + .byte 1 1.510 + .byte 0 1.511 + .byte 1 1.512 + .byte 0 1.513 + .byte 1 1.514 + .byte 0 1.515 + .byte 1 1.516 + .byte 0 1.517 + .byte 1 1.518 + .byte 0 1.519 + .byte 1 1.520 + .byte 0 1.521 + .byte 1 1.522 + .byte 0 1.523 + .byte 1 1.524 + .byte 0 1.525 + .byte 1 1.526 + .byte 0 1.527 + .byte 1 1.528 + .byte 0 1.529 + .byte 1 1.530 + .byte 0 1.531 + .byte 1 1.532 + .byte 0 1.533 + .byte 1 1.534 + .byte 0 1.535 + .byte 1 1.536 + .byte 0 1.537 + .byte 1 1.538 + .byte 0 1.539 + .byte 1 1.540 + .byte 0 1.541 + .byte 1 1.542 + .byte 0 1.543 + .byte 1 1.544 + .byte 0 1.545 + .byte 1 1.546 + .byte 0 1.547 + .byte 1 1.548 + .byte 0 1.549 + .byte 1 1.550 + .byte 0 1.551 + .byte 1 1.552 + .byte 0 1.553 + .byte 1 1.554 + .byte 0 1.555 + .byte 1 1.556 + .byte 0 1.557 + .byte 1 1.558 + .byte 0 1.559 + .byte 1 1.560 + .byte 0 1.561 + .byte 1 1.562 + .byte 0 1.563 + .text 1.564 + .align 16 1.565 +.globl freebl_cpuid 1.566 + .type freebl_cpuid, @function 1.567 +freebl_cpuid: 1.568 +.LFB2: 1.569 + movq %rdx, %r10 1.570 + pushq %rbx 1.571 +.LCFI0: 1.572 + movq %rcx, %r11 1.573 + movq %rdi, %rax 1.574 +/APP 1.575 + cpuid 1.576 + 1.577 +/NO_APP 1.578 + movq %rax, (%rsi) 1.579 + movq %rbx, (%r10) 1.580 + popq %rbx 1.581 + movq %rcx, (%r11) 1.582 + movq %rdx, (%r8) 1.583 + ret 1.584 +.LFE2: 1.585 + .size freebl_cpuid, .-freebl_cpuid 1.586 + .align 16 1.587 + .type getIntelCacheEntryLineSize, @function 1.588 +getIntelCacheEntryLineSize: 1.589 +.LFB3: 1.590 + leaq CacheMap(%rip), %r9 1.591 + movq %rdx, %r10 1.592 + movzbl 1(%r9,%rdi,2), %ecx 1.593 + movzbl (%r9,%rdi,2), %r8d 1.594 + testb %cl, %cl 1.595 + je .L2 1.596 + cmpl $6, %r8d 1.597 + sete %dl 1.598 + cmpl $8, %r8d 1.599 + sete %al 1.600 + orl %edx, %eax 1.601 + testb $1, %al 1.602 + je .L4 1.603 + movl $1, (%rsi) 1.604 +.L9: 1.605 + movzbl %cl, %eax 1.606 + movq %rax, (%r10) 1.607 + ret 1.608 + .align 16 1.609 +.L4: 1.610 + movl (%rsi), %r11d 1.611 + cmpl $1, %r11d 1.612 + jg .L11 1.613 +.L6: 1.614 + cmpl $2, %r11d 1.615 + jle .L2 1.616 + cmpl $12, %r8d 1.617 + sete %dl 1.618 + cmpl $14, %r8d 1.619 + sete %al 1.620 + orl %edx, %eax 1.621 + testb $1, %al 1.622 + je .L2 1.623 + movzbq 1(%r9,%rdi,2), %rax 1.624 + movl $3, (%rsi) 1.625 + movq %rax, (%r10) 1.626 + .align 16 1.627 +.L2: 1.628 + rep ; ret 1.629 + .align 16 1.630 +.L11: 1.631 + cmpl $9, %r8d 1.632 + sete %dl 1.633 + cmpl $11, %r8d 1.634 + sete %al 1.635 + orl %edx, %eax 1.636 + testb $1, %al 1.637 + je .L6 1.638 + movl $2, (%rsi) 1.639 + jmp .L9 1.640 +.LFE3: 1.641 + .size getIntelCacheEntryLineSize, .-getIntelCacheEntryLineSize 1.642 + .align 16 1.643 + .type getIntelRegisterCacheLineSize, @function 1.644 +getIntelRegisterCacheLineSize: 1.645 +.LFB4: 1.646 + pushq %rbp 1.647 +.LCFI1: 1.648 + movq %rsp, %rbp 1.649 +.LCFI2: 1.650 + movq %rbx, -24(%rbp) 1.651 +.LCFI3: 1.652 + movq %rdi, %rbx 1.653 + shrq $24, %rdi 1.654 + movq %r12, -16(%rbp) 1.655 +.LCFI4: 1.656 + movq %r13, -8(%rbp) 1.657 +.LCFI5: 1.658 + andl $255, %edi 1.659 + subq $24, %rsp 1.660 +.LCFI6: 1.661 + movq %rsi, %r13 1.662 + movq %rdx, %r12 1.663 + call getIntelCacheEntryLineSize 1.664 + movq %rbx, %rdi 1.665 + movq %r12, %rdx 1.666 + movq %r13, %rsi 1.667 + shrq $16, %rdi 1.668 + andl $255, %edi 1.669 + call getIntelCacheEntryLineSize 1.670 + movq %rbx, %rdi 1.671 + movq %r12, %rdx 1.672 + movq %r13, %rsi 1.673 + shrq $8, %rdi 1.674 + andl $255, %ebx 1.675 + andl $255, %edi 1.676 + call getIntelCacheEntryLineSize 1.677 + movq %r12, %rdx 1.678 + movq %r13, %rsi 1.679 + movq %rbx, %rdi 1.680 + movq 8(%rsp), %r12 1.681 + movq (%rsp), %rbx 1.682 + movq 16(%rsp), %r13 1.683 + leave 1.684 + jmp getIntelCacheEntryLineSize 1.685 +.LFE4: 1.686 + .size getIntelRegisterCacheLineSize, .-getIntelRegisterCacheLineSize 1.687 + .align 16 1.688 +.globl s_mpi_getProcessorLineSize 1.689 + .type s_mpi_getProcessorLineSize, @function 1.690 +s_mpi_getProcessorLineSize: 1.691 +.LFB7: 1.692 + pushq %rbp 1.693 +.LCFI7: 1.694 + xorl %edi, %edi 1.695 + movq %rsp, %rbp 1.696 +.LCFI8: 1.697 + pushq %r15 1.698 +.LCFI9: 1.699 + leaq -136(%rbp), %r8 1.700 + leaq -144(%rbp), %rcx 1.701 + leaq -152(%rbp), %rdx 1.702 + pushq %r14 1.703 +.LCFI10: 1.704 + leaq -160(%rbp), %rsi 1.705 + leaq -128(%rbp), %r14 1.706 + pushq %r13 1.707 +.LCFI11: 1.708 + leaq manMap(%rip), %r13 1.709 + pushq %r12 1.710 +.LCFI12: 1.711 + movl $9, %r12d 1.712 + pushq %rbx 1.713 +.LCFI13: 1.714 + xorl %ebx, %ebx 1.715 + subq $200, %rsp 1.716 +.LCFI14: 1.717 + call freebl_cpuid 1.718 + movq -152(%rbp), %rax 1.719 + movq -160(%rbp), %r15 1.720 + movb $0, -116(%rbp) 1.721 + movl %eax, -128(%rbp) 1.722 + movq -136(%rbp), %rax 1.723 + movl %eax, -124(%rbp) 1.724 + movq -144(%rbp), %rax 1.725 + movl %eax, -120(%rbp) 1.726 + .align 16 1.727 +.L18: 1.728 + movslq %ebx,%rax 1.729 + movq %r14, %rsi 1.730 + movq (%r13,%rax,8), %rdi 1.731 + call strcmp@PLT 1.732 + testl %eax, %eax 1.733 + cmove %ebx, %r12d 1.734 + incl %ebx 1.735 + cmpl $9, %ebx 1.736 + jle .L18 1.737 + testl %r12d, %r12d 1.738 + jne .L19 1.739 + xorl %eax, %eax 1.740 + decl %r15d 1.741 + movl $4, -204(%rbp) 1.742 + movq $0, -200(%rbp) 1.743 + jle .L21 1.744 + leaq -168(%rbp), %r8 1.745 + leaq -176(%rbp), %rcx 1.746 + leaq -184(%rbp), %rdx 1.747 + leaq -192(%rbp), %rsi 1.748 + movl $2, %edi 1.749 + xorl %ebx, %ebx 1.750 + call freebl_cpuid 1.751 + movq -192(%rbp), %rdi 1.752 + movl %edi, %r12d 1.753 + andl $15, %r12d 1.754 + cmpl %r12d, %ebx 1.755 + jl .L30 1.756 + jmp .L38 1.757 + .align 16 1.758 +.L25: 1.759 + movq -184(%rbp), %rdi 1.760 + testl $2147483648, %edi 1.761 + je .L40 1.762 +.L26: 1.763 + movq -176(%rbp), %rdi 1.764 + testl $2147483648, %edi 1.765 + je .L41 1.766 +.L27: 1.767 + movq -168(%rbp), %rdi 1.768 + testl $2147483648, %edi 1.769 + je .L42 1.770 +.L28: 1.771 + incl %ebx 1.772 + cmpl %r12d, %ebx 1.773 + je .L24 1.774 + leaq -168(%rbp), %r8 1.775 + leaq -176(%rbp), %rcx 1.776 + leaq -184(%rbp), %rdx 1.777 + leaq -192(%rbp), %rsi 1.778 + movl $2, %edi 1.779 + call freebl_cpuid 1.780 +.L24: 1.781 + cmpl %r12d, %ebx 1.782 + jge .L38 1.783 + movq -192(%rbp), %rdi 1.784 +.L30: 1.785 + testl $2147483648, %edi 1.786 + jne .L25 1.787 + leaq -200(%rbp), %rdx 1.788 + leaq -204(%rbp), %rsi 1.789 + andl $4294967040, %edi 1.790 + call getIntelRegisterCacheLineSize 1.791 + movq -184(%rbp), %rdi 1.792 + testl $2147483648, %edi 1.793 + jne .L26 1.794 +.L40: 1.795 + leaq -200(%rbp), %rdx 1.796 + leaq -204(%rbp), %rsi 1.797 + call getIntelRegisterCacheLineSize 1.798 + movq -176(%rbp), %rdi 1.799 + testl $2147483648, %edi 1.800 + jne .L27 1.801 +.L41: 1.802 + leaq -200(%rbp), %rdx 1.803 + leaq -204(%rbp), %rsi 1.804 + call getIntelRegisterCacheLineSize 1.805 + movq -168(%rbp), %rdi 1.806 + testl $2147483648, %edi 1.807 + jne .L28 1.808 +.L42: 1.809 + leaq -200(%rbp), %rdx 1.810 + leaq -204(%rbp), %rsi 1.811 + call getIntelRegisterCacheLineSize 1.812 + jmp .L28 1.813 +.L38: 1.814 + movq -200(%rbp), %rax 1.815 +.L21: 1.816 + movq %rax, %rdx 1.817 + movl $32, %eax 1.818 + testq %rdx, %rdx 1.819 + cmoveq %rax, %rdx 1.820 + addq $200, %rsp 1.821 + popq %rbx 1.822 + popq %r12 1.823 + popq %r13 1.824 + popq %r14 1.825 + popq %r15 1.826 + leave 1.827 + movq %rdx, %rax 1.828 + ret 1.829 +.L19: 1.830 + leaq -216(%rbp), %r8 1.831 + leaq -224(%rbp), %rcx 1.832 + leaq -232(%rbp), %rdx 1.833 + leaq -240(%rbp), %rsi 1.834 + movl $2147483648, %edi 1.835 + xorl %ebx, %ebx 1.836 + call freebl_cpuid 1.837 + movl $2147483652, %eax 1.838 + cmpq %rax, -240(%rbp) 1.839 + ja .L43 1.840 +.L32: 1.841 + movq %rbx, %rdx 1.842 + movl $32, %eax 1.843 + testq %rdx, %rdx 1.844 + cmoveq %rax, %rdx 1.845 + addq $200, %rsp 1.846 + popq %rbx 1.847 + popq %r12 1.848 + popq %r13 1.849 + popq %r14 1.850 + popq %r15 1.851 + leave 1.852 + movq %rdx, %rax 1.853 + ret 1.854 +.L43: 1.855 + leaq -216(%rbp), %r8 1.856 + leaq -224(%rbp), %rcx 1.857 + leaq -232(%rbp), %rdx 1.858 + leaq -240(%rbp), %rsi 1.859 + movl $2147483653, %edi 1.860 + call freebl_cpuid 1.861 + movzbq -224(%rbp), %rbx 1.862 + jmp .L32 1.863 +.LFE7: 1.864 + .size s_mpi_getProcessorLineSize, .-s_mpi_getProcessorLineSize