clarify the purpose of this project
[nyanglibc.git] / csu / libc-start.s
blob706bede4623aeea36575b9cdf134257894f68f0e
1 .text
2 .p2align 4,,15
3 .type get_common_cache_info, @function
4 get_common_cache_info:
5 pushq %r15
6 pushq %r14
7 xorl %r14d, %r14d
8 pushq %r13
9 pushq %r12
10 pushq %rbp
11 pushq %rbx
12 movq %rdx, %rbp
13 movq (%rdi), %r9
14 movl (%rsi), %r11d
15 movl $3, -20(%rsp)
16 testq %r9, %r9
17 jg .L2
18 movq %rdx, %r9
19 movl $2, -20(%rsp)
20 orl $-1, %r14d
21 .L2:
22 testb $16, 35+_dl_x86_cpu_features(%rip)
23 je .L3
24 movl 8+_dl_x86_cpu_features(%rip), %ebx
25 movl 4+_dl_x86_cpu_features(%rip), %eax
26 movl _dl_x86_cpu_features(%rip), %r13d
27 movl %ebx, -12(%rsp)
28 movl 12+_dl_x86_cpu_features(%rip), %ebx
29 cmpl $3, %eax
30 movl %eax, -8(%rsp)
31 movl %ebx, -4(%rsp)
32 jg .L94
33 movb $1, -13(%rsp)
34 xorl %r15d, %r15d
35 .L4:
36 movzbl 26+_dl_x86_cpu_features(%rip), %r11d
37 .L25:
38 testq %r9, %r9
39 jle .L26
40 testl %r11d, %r11d
41 je .L26
42 movq %r9, %rax
43 movl %r11d, %ecx
44 cqto
45 idivq %rcx
46 movq %rax, %r9
47 .L26:
48 cmpb $0, -13(%rsp)
49 jne .L3
50 testl %r15d, %r15d
51 je .L27
52 movq %rbp, %rax
53 movslq %r15d, %r15
54 cqto
55 idivq %r15
56 movq %rax, %rbp
57 .L27:
58 addq %rbp, %r9
59 .L3:
60 movq %r9, (%rdi)
61 movl %r11d, (%rsi)
62 popq %rbx
63 popq %rbp
64 popq %r12
65 popq %r13
66 popq %r14
67 popq %r15
68 ret
69 .L94:
70 testl %r14d, %r14d
71 movl $3, %r8d
72 jne .L95
73 .L5:
74 movq %r9, %r10
75 xorl %ecx, %ecx
76 movb $1, -13(%rsp)
77 xorl %r15d, %r15d
78 movl $4, %r12d
79 movq %rdi, %r9
80 .p2align 4,,10
81 .p2align 3
82 .L6:
83 leal 1(%rcx), %edi
84 movl %r12d, %eax
85 #APP
86 # 538 "../sysdeps/x86/dl-cacheinfo.h" 1
87 cpuid
89 # 0 "" 2
90 #NO_APP
91 cmpl $1, %r13d
92 je .L96
93 .L8:
94 movl %eax, %ecx
95 shrl $5, %ecx
96 andl $7, %ecx
97 cmpl $2, %ecx
98 je .L9
99 cmpl $3, %ecx
100 jne .L7
101 testb $2, %r8b
102 je .L7
103 shrl $14, %eax
104 shrl %edx
105 andl $-3, %r8d
106 andl $1023, %eax
107 movl %eax, %r14d
108 movl %edx, %eax
109 andl $1, %eax
110 movb %al, -13(%rsp)
111 .L10:
112 testl %r8d, %r8d
113 je .L97
114 .L7:
115 movl %edi, %ecx
116 jmp .L6
117 .p2align 4,,10
118 .p2align 3
119 .L96:
120 testb $31, %al
121 jne .L8
122 movq %r9, %rdi
123 movq %r10, %r9
124 jmp .L4
125 .p2align 4,,10
126 .p2align 3
127 .L9:
128 testb $1, %r8b
129 je .L7
130 shrl $14, %eax
131 andl $-2, %r8d
132 andl $1023, %eax
133 movl %eax, %r15d
134 jmp .L10
135 .L97:
136 cmpl $6, -12(%rsp)
137 movq %r9, %rdi
138 movq %r10, %r9
139 sete -12(%rsp)
140 movzbl -12(%rsp), %edx
141 cmpl $3, %r13d
142 sete %al
143 testb %al, %dl
144 jne .L12
145 cmpl $10, -8(%rsp)
146 jle .L12
147 testl %r15d, %r15d
148 movl $1, %eax
149 setg %cl
150 xorl %r12d, %r12d
151 cmpl $3, -20(%rsp)
152 sete %r12b
153 movl %r12d, %edx
154 andl %ecx, %edx
155 testl %r14d, %r14d
156 jg .L13
157 xorl %eax, %eax
158 cmpl $2, -20(%rsp)
159 sete %al
160 andl %ecx, %eax
161 .L13:
162 leal (%rax,%rax), %r12d
163 movq %r9, %r10
164 movl %r8d, %ecx
165 orl %edx, %r12d
166 jmp .L14
167 .L15:
168 cmpl $512, %ecx
169 je .L98
170 .L16:
171 movl %r9d, %ecx
172 .L14:
173 testl %r12d, %r12d
174 je .L90
175 leal 1(%rcx), %r9d
176 movl $11, %eax
177 #APP
178 # 595 "../sysdeps/x86/dl-cacheinfo.h" 1
179 cpuid
181 # 0 "" 2
182 #NO_APP
183 andl $65280, %ecx
184 andl $255, %ebx
185 je .L90
186 testl %ecx, %ecx
187 je .L90
188 cmpl $256, %ecx
189 jne .L15
190 testb $1, %r12b
191 je .L16
192 #APP
193 # 609 "../sysdeps/x86/dl-cacheinfo.h" 1
194 bsr %r15d, %ecx
195 # 0 "" 2
196 #NO_APP
197 orl $-1, %r15d
198 addl $1, %ecx
199 subl $1, %ebx
200 sall %cl, %r15d
201 andl $-2, %r12d
202 notl %r15d
203 andl %ebx, %r15d
204 jmp .L16
205 .L95:
206 movl $1, %r8d
207 orl $-1, %r14d
208 jmp .L5
209 .L90:
210 movq %r10, %r9
211 .L12:
212 testl %r15d, %r15d
213 je .L20
214 addl $1, %r15d
215 .L20:
216 testl %r14d, %r14d
217 jle .L21
218 cmpl $2, -20(%rsp)
219 je .L22
220 leal 1(%r14), %r11d
221 jmp .L25
222 .L98:
223 testb $2, %r12b
224 je .L16
225 subl $1, %ebx
226 cmpl $2, -20(%rsp)
227 je .L99
228 #APP
229 # 626 "../sysdeps/x86/dl-cacheinfo.h" 1
230 bsr %r14d, %ecx
231 # 0 "" 2
232 #NO_APP
233 orl $-1, %r14d
234 addl $1, %ecx
235 sall %cl, %r14d
236 notl %r14d
237 andl %ebx, %r14d
238 .L28:
239 andl $-3, %r12d
240 jmp .L16
241 .L21:
242 cmpl $2, -20(%rsp)
243 je .L22
244 testl %r14d, %r14d
245 je .L25
246 orl $-1, %r11d
247 jmp .L25
248 .L22:
249 testl %r15d, %r15d
250 je .L25
251 subl $1, %r13d
252 movl %r15d, %r11d
253 jne .L25
254 cmpl $2, %r15d
255 jbe .L25
256 cmpb $0, -12(%rsp)
257 je .L25
258 movl -4(%rsp), %ecx
259 subl $55, %ecx
260 cmpl $38, %ecx
261 ja .L25
262 movl $1, %eax
263 movabsq $309242363905, %rdx
264 movl $2, %r11d
265 salq %cl, %rax
266 testq %rdx, %rax
267 cmove %r15d, %r11d
268 jmp .L25
269 .L99:
270 #APP
271 # 626 "../sysdeps/x86/dl-cacheinfo.h" 1
272 bsr %r15d, %ecx
273 # 0 "" 2
274 #NO_APP
275 orl $-1, %r15d
276 addl $1, %ecx
277 sall %cl, %r15d
278 notl %r15d
279 andl %ebx, %r15d
280 jmp .L28
281 .size get_common_cache_info, .-get_common_cache_info
282 .p2align 4,,15
283 .type handle_zhaoxin, @function
284 handle_zhaoxin:
285 subl $185, %edi
286 movl $-1431655765, %edx
287 xorl %ecx, %ecx
288 movl %edi, %eax
289 pushq %rbx
290 mull %edx
291 movl $4, %eax
292 shrl %edx
293 leal (%rdx,%rdx,2), %r8d
294 #APP
295 # 443 "../sysdeps/x86/dl-cacheinfo.h" 1
296 cpuid
298 # 0 "" 2
299 #NO_APP
300 movl %eax, %edx
301 andl $31, %edx
302 je .L111
303 xorl %esi, %esi
304 movl $4, %r9d
305 jmp .L110
306 .p2align 4,,10
307 .p2align 3
308 .L141:
309 testb %r10b, %r10b
310 je .L102
311 cmpl $3, %r8d
312 je .L103
313 .L104:
314 cmpl $3, %eax
315 jne .L106
316 cmpl $9, %r8d
317 je .L103
318 .L106:
319 addl $1, %esi
320 movl %r9d, %eax
321 movl %esi, %ecx
322 #APP
323 # 443 "../sysdeps/x86/dl-cacheinfo.h" 1
324 cpuid
326 # 0 "" 2
327 #NO_APP
328 movl %eax, %edx
329 andl $31, %edx
330 je .L111
331 .L110:
332 shrl $5, %eax
333 andl $7, %eax
334 cmpl $1, %eax
335 sete %r10b
336 cmpl $1, %edx
337 je .L141
338 .L102:
339 cmpl $2, %edx
340 jne .L105
341 testb %r10b, %r10b
342 je .L105
343 testl %r8d, %r8d
344 jne .L106
345 .L103:
346 movl %edi, %eax
347 movl $-1431655765, %edx
348 mull %edx
349 shrl %edx
350 leal (%rdx,%rdx,2), %eax
351 subl %eax, %edi
352 movl %edi, %edx
353 je .L142
354 subl $1, %edx
355 je .L143
356 andl $4095, %ebx
357 leaq 1(%rbx), %rax
358 popq %rbx
360 .L142:
361 movl %ebx, %eax
362 movl %ebx, %edx
363 addl $1, %ecx
364 shrl $22, %eax
365 andl $4095, %edx
366 shrl $12, %ebx
367 addl $1, %eax
368 addl $1, %edx
369 andl $1023, %ebx
370 imull %edx, %eax
371 imull %eax, %ecx
372 leal 1(%rbx), %eax
373 popq %rbx
374 imull %ecx, %eax
376 .L111:
377 xorl %eax, %eax
378 popq %rbx
380 .L143:
381 shrl $22, %ebx
382 leal 1(%rbx), %eax
383 popq %rbx
385 .L105:
386 cmpl $2, %eax
387 jne .L104
388 cmpl $6, %r8d
389 je .L103
390 jmp .L104
391 .size handle_zhaoxin, .-handle_zhaoxin
392 .p2align 4,,15
393 .type handle_amd, @function
394 handle_amd:
395 movl $-2147483648, %esi
396 pushq %rbx
397 movl %esi, %eax
398 #APP
399 # 320 "../sysdeps/x86/dl-cacheinfo.h" 1
400 cpuid
402 # 0 "" 2
403 #NO_APP
404 xorl %edx, %edx
405 cmpl $190, %edi
406 movl %eax, %esi
407 setg %dl
408 xorl %eax, %eax
409 subl $2147483643, %edx
410 cmpl %esi, %edx
411 ja .L144
412 movl %edx, %eax
413 #APP
414 # 330 "../sysdeps/x86/dl-cacheinfo.h" 1
415 cpuid
417 # 0 "" 2
418 #NO_APP
419 cmpl $187, %edi
420 jle .L193
421 .L147:
422 subl $189, %edi
423 cmpl $7, %edi
424 ja .L148
425 leaq .L150(%rip), %rsi
426 movslq (%rsi,%rdi,4), %rax
427 addq %rsi, %rax
428 jmp *%rax
429 .section .rodata
430 .align 4
431 .align 4
432 .L150:
433 .long .L149-.L150
434 .long .L192-.L150
435 .long .L152-.L150
436 .long .L153-.L150
437 .long .L154-.L150
438 .long .L155-.L150
439 .long .L156-.L150
440 .long .L157-.L150
441 .text
442 .L149:
443 shrl $16, %ecx
444 movzbl %cl, %eax
445 cmpl $255, %eax
446 jne .L144
447 leal 0(,%rcx,4), %eax
448 andl $261120, %eax
449 .L144:
450 popq %rbx
452 .L193:
453 addl $3, %edi
454 movl %edx, %ecx
455 jmp .L147
456 .L154:
457 xorl %eax, %eax
458 testb $-16, %ch
459 je .L144
460 .L192:
461 movzbl %cl, %eax
462 popq %rbx
464 .L156:
465 movl %edx, %eax
466 leaq .L171(%rip), %rsi
467 shrl $12, %eax
468 andl $15, %eax
469 movslq (%rsi,%rax,4), %rcx
470 addq %rsi, %rcx
471 jmp *%rcx
472 .section .rodata
473 .align 4
474 .align 4
475 .L171:
476 .long .L144-.L171
477 .long .L144-.L171
478 .long .L144-.L171
479 .long .L169-.L171
480 .long .L144-.L171
481 .long .L169-.L171
482 .long .L182-.L171
483 .long .L169-.L171
484 .long .L173-.L171
485 .long .L169-.L171
486 .long .L174-.L171
487 .long .L175-.L171
488 .long .L176-.L171
489 .long .L177-.L171
490 .long .L185-.L171
491 .long .L178-.L171
492 .text
493 .L153:
494 movl %ecx, %eax
495 leaq .L161(%rip), %rsi
496 shrl $12, %eax
497 movl %eax, %edx
498 andl $15, %edx
499 movslq (%rsi,%rdx,4), %rax
500 addq %rsi, %rax
501 jmp *%rax
502 .section .rodata
503 .align 4
504 .align 4
505 .L161:
506 .long .L160-.L161
507 .long .L160-.L161
508 .long .L160-.L161
509 .long .L169-.L161
510 .long .L160-.L161
511 .long .L169-.L161
512 .long .L182-.L161
513 .long .L169-.L161
514 .long .L173-.L161
515 .long .L169-.L161
516 .long .L174-.L161
517 .long .L175-.L161
518 .long .L176-.L161
519 .long .L177-.L161
520 .long .L185-.L161
521 .long .L168-.L161
522 .text
523 .L152:
524 xorl %eax, %eax
525 testb $-16, %ch
526 je .L144
527 movl %ecx, %eax
528 shrl $6, %eax
529 andl $67107840, %eax
530 popq %rbx
532 .L155:
533 xorl %eax, %eax
534 testb $-16, %dh
535 je .L144
536 leal (%rdx,%rdx), %eax
537 popq %rbx
538 andl $2146959360, %eax
540 .L185:
541 movl $128, %eax
542 popq %rbx
544 .L182:
545 movl $8, %eax
546 popq %rbx
548 .L176:
549 movl $64, %eax
550 popq %rbx
552 .L175:
553 movl $48, %eax
554 popq %rbx
556 .L174:
557 movl $32, %eax
558 popq %rbx
560 .L173:
561 movl $16, %eax
562 popq %rbx
564 .L177:
565 movl $96, %eax
566 popq %rbx
568 .L178:
569 leal (%rdx,%rdx), %eax
570 movzbl %dl, %ecx
571 xorl %edx, %edx
572 popq %rbx
573 andl $2146959360, %eax
574 divl %ecx
575 movl %eax, %eax
577 .L168:
578 movl %ecx, %edx
579 movzbl %cl, %ecx
580 shrl $6, %edx
581 movl %edx, %eax
582 xorl %edx, %edx
583 andl $67107840, %eax
584 divl %ecx
585 popq %rbx
586 movl %eax, %eax
588 .L160:
589 movq %rdx, %rax
590 popq %rbx
592 .L169:
593 xorl %eax, %eax
594 popq %rbx
596 .L148:
597 movl %ecx, %eax
598 shrl $14, %eax
599 andl $261120, %eax
600 popq %rbx
602 .L157:
603 xorl %eax, %eax
604 testb $-16, %dh
605 je .L144
606 movzbl %dl, %eax
607 popq %rbx
609 .size handle_amd, .-handle_amd
610 .section .rodata.str1.1,"aMS",@progbits,1
611 .LC0:
612 .string "../sysdeps/x86/dl-cacheinfo.h"
613 .LC1:
614 .string "offset == 2"
615 .text
616 .p2align 4,,15
617 .type intel_check_word.isra.0, @function
618 intel_check_word.isra.0:
619 testl %esi, %esi
620 js .L279
621 pushq %r13
622 pushq %r12
623 movq %rdx, %r12
624 leal -185(%rdi), %edx
625 movl $-1431655765, %r10d
626 pushq %rbp
627 pushq %rbx
628 movl %edx, %eax
629 mull %r10d
630 subq $8, %rsp
631 shrl %edx
632 testl %esi, %esi
633 leal (%rdx,%rdx,2), %ebp
634 je .L195
635 leaq intel_02_known(%rip), %r13
636 jmp .L223
637 .p2align 4,,10
638 .p2align 3
639 .L283:
640 cmpl $9, %ebp
641 movb $1, (%rcx)
642 je .L195
643 .L197:
644 shrl $8, %esi
645 testl %esi, %esi
646 je .L195
647 .L223:
648 movzbl %sil, %eax
649 cmpl $64, %eax
650 je .L283
651 cmpl $255, %eax
652 je .L284
653 cmpl $73, %eax
654 jne .L214
655 cmpl $9, %ebp
656 jne .L214
657 cmpl $15, (%r8)
658 jne .L224
659 cmpl $6, (%r9)
660 jne .L224
661 subl $3, %edi
662 movl $6, %ebp
663 .L214:
664 movl %esi, %ebx
665 movl $68, %r10d
666 xorl %edx, %edx
667 jmp .L219
668 .p2align 4,,10
669 .p2align 3
670 .L225:
671 movq %rax, %r10
672 .L218:
673 cmpq %rdx, %r10
674 jbe .L197
675 .L219:
676 leaq (%rdx,%r10), %rax
677 shrq %rax
678 leaq 0(%r13,%rax,8), %r11
679 cmpb (%r11), %bl
680 je .L285
681 jb .L225
682 leaq 1(%rax), %rdx
683 jmp .L218
684 .p2align 4,,10
685 .p2align 3
686 .L285:
687 movzbl 3(%r11), %edx
688 cmpl %ebp, %edx
689 je .L286
690 cmpb $6, %dl
691 jne .L197
692 shrl $8, %esi
693 movb $1, (%r12)
694 testl %esi, %esi
695 jne .L223
696 .p2align 4,,10
697 .p2align 3
698 .L195:
699 xorl %eax, %eax
700 .L194:
701 addq $8, %rsp
702 popq %rbx
703 popq %rbp
704 popq %r12
705 popq %r13
707 .p2align 4,,10
708 .p2align 3
709 .L224:
710 movl $9, %ebp
711 jmp .L214
712 .p2align 4,,10
713 .p2align 3
714 .L279:
715 xorl %eax, %eax
717 .L284:
718 xorl %ecx, %ecx
719 movl $4, %eax
720 #APP
721 # 155 "../sysdeps/x86/dl-cacheinfo.h" 1
722 cpuid
724 # 0 "" 2
725 #NO_APP
726 movl %eax, %edx
727 andl $31, %edx
728 je .L195
729 xorl %esi, %esi
730 movl $4, %r8d
731 jmp .L213
732 .p2align 4,,10
733 .p2align 3
734 .L287:
735 testb %r9b, %r9b
736 je .L199
737 cmpl $3, %ebp
738 je .L204
739 .L200:
740 cmpl $3, %eax
741 jne .L205
742 cmpl $9, %ebp
743 je .L204
744 .L205:
745 cmpl $4, %eax
746 jne .L209
747 cmpl $12, %ebp
748 je .L204
749 .L209:
750 addl $1, %esi
751 movl %r8d, %eax
752 movl %esi, %ecx
753 #APP
754 # 155 "../sysdeps/x86/dl-cacheinfo.h" 1
755 cpuid
757 # 0 "" 2
758 #NO_APP
759 movl %eax, %edx
760 andl $31, %edx
761 je .L195
762 .L213:
763 shrl $5, %eax
764 andl $7, %eax
765 cmpl $1, %eax
766 sete %r9b
767 cmpl $1, %edx
768 je .L287
769 .L199:
770 cmpl $2, %edx
771 jne .L203
772 testb %r9b, %r9b
773 je .L203
774 testl %ebp, %ebp
775 jne .L205
776 .L204:
777 subl $185, %edi
778 subl %ebp, %edi
779 je .L288
780 cmpl $1, %edi
781 je .L289
782 cmpl $2, %edi
783 jne .L290
784 andl $4095, %ebx
785 leaq 1(%rbx), %rax
786 jmp .L194
787 .L286:
788 subl $185, %edi
789 subl %ebp, %edi
790 jne .L220
791 movl 4(%r11), %eax
792 jmp .L194
793 .L288:
794 movl %ebx, %eax
795 movl %ebx, %edx
796 addl $1, %ecx
797 shrl $22, %eax
798 andl $4095, %edx
799 shrl $12, %ebx
800 addl $1, %edx
801 addl $1, %eax
802 imull %edx, %eax
803 movl %ebx, %edx
804 andl $1023, %edx
805 addl $1, %edx
806 imull %ecx, %eax
807 imull %edx, %eax
808 jmp .L194
809 .L220:
810 cmpl $1, %edi
811 je .L291
812 cmpl $2, %edi
813 jne .L292
814 movzbl 2(%r11), %eax
815 jmp .L194
816 .L289:
817 movl %ebx, %eax
818 shrl $22, %eax
819 addl $1, %eax
820 jmp .L194
821 .L291:
822 movzbl 1(%r11), %eax
823 jmp .L194
824 .L203:
825 cmpl $2, %eax
826 jne .L200
827 cmpl $6, %ebp
828 je .L204
829 jmp .L200
830 .L290:
831 leaq __PRETTY_FUNCTION__.10214(%rip), %rcx
832 leaq .LC0(%rip), %rsi
833 leaq .LC1(%rip), %rdi
834 movl $183, %edx
835 call __assert_fail
836 .L292:
837 leaq __PRETTY_FUNCTION__.10214(%rip), %rcx
838 leaq .LC0(%rip), %rsi
839 leaq .LC1(%rip), %rdi
840 movl $231, %edx
841 call __assert_fail
842 .size intel_check_word.isra.0, .-intel_check_word.isra.0
843 .p2align 4,,15
844 .type get_common_indices.constprop.2, @function
845 get_common_indices.constprop.2:
846 pushq %rbx
847 movq %rdx, %r8
848 movq %rcx, %r9
849 movl $1, %eax
850 #APP
851 # 324 "../sysdeps/x86/cpu-features.c" 1
852 cpuid
854 # 0 "" 2
855 #NO_APP
856 movl %edx, 32+_dl_x86_cpu_features(%rip)
857 movl %eax, %edx
858 movl %ebx, 24+_dl_x86_cpu_features(%rip)
859 shrl $8, %edx
860 movl %ecx, 28+_dl_x86_cpu_features(%rip)
861 movl %eax, 20+_dl_x86_cpu_features(%rip)
862 andl $15, %edx
863 movl %edx, (%rdi)
864 movl %eax, %edx
865 shrl $4, %edx
866 andl $15, %edx
867 movl %edx, (%rsi)
868 movl %eax, %edx
869 shrl $12, %edx
870 andl $240, %edx
871 movl %edx, (%r8)
872 movl %eax, %edx
873 andl $15, %edx
874 movl %edx, (%r9)
875 cmpl $15, (%rdi)
876 je .L299
877 .L294:
878 cmpl $6, 4+_dl_x86_cpu_features(%rip)
879 jle .L295
880 movl $7, %esi
881 xorl %ecx, %ecx
882 movl %esi, %eax
883 #APP
884 # 342 "../sysdeps/x86/cpu-features.c" 1
885 cpuid
887 # 0 "" 2
888 #NO_APP
889 movl %eax, 52+_dl_x86_cpu_features(%rip)
890 movl %ebx, 56+_dl_x86_cpu_features(%rip)
891 movl %esi, %eax
892 movl %ecx, 60+_dl_x86_cpu_features(%rip)
893 movl %edx, 64+_dl_x86_cpu_features(%rip)
894 movl $1, %ecx
895 #APP
896 # 347 "../sysdeps/x86/cpu-features.c" 1
897 cpuid
899 # 0 "" 2
900 #NO_APP
901 movl %eax, 212+_dl_x86_cpu_features(%rip)
902 movl %ebx, 216+_dl_x86_cpu_features(%rip)
903 movl %ecx, 220+_dl_x86_cpu_features(%rip)
904 movl %edx, 224+_dl_x86_cpu_features(%rip)
905 .L295:
906 cmpl $12, 4+_dl_x86_cpu_features(%rip)
907 jle .L296
908 movl $13, %eax
909 movl $1, %ecx
910 #APP
911 # 355 "../sysdeps/x86/cpu-features.c" 1
912 cpuid
914 # 0 "" 2
915 #NO_APP
916 movl %eax, 116+_dl_x86_cpu_features(%rip)
917 movl %ebx, 120+_dl_x86_cpu_features(%rip)
918 movl %ecx, 124+_dl_x86_cpu_features(%rip)
919 movl %edx, 128+_dl_x86_cpu_features(%rip)
920 .L296:
921 cmpl $24, 4+_dl_x86_cpu_features(%rip)
922 jle .L293
923 movl $25, %eax
924 xorl %ecx, %ecx
925 #APP
926 # 362 "../sysdeps/x86/cpu-features.c" 1
927 cpuid
929 # 0 "" 2
930 #NO_APP
931 movl %eax, 244+_dl_x86_cpu_features(%rip)
932 movl %ebx, 248+_dl_x86_cpu_features(%rip)
933 movl %ecx, 252+_dl_x86_cpu_features(%rip)
934 movl %edx, 256+_dl_x86_cpu_features(%rip)
935 .L293:
936 popq %rbx
938 .L299:
939 shrl $20, %eax
940 movzbl %al, %eax
941 addl $15, %eax
942 movl %eax, (%rdi)
943 movl (%r8), %eax
944 addl %eax, (%rsi)
945 jmp .L294
946 .size get_common_indices.constprop.2, .-get_common_indices.constprop.2
947 .p2align 4,,15
948 .type handle_intel.constprop.5, @function
949 handle_intel.constprop.5:
950 cmpl $1, 4+_dl_x86_cpu_features(%rip)
951 jbe .L310
952 pushq %r15
953 pushq %r14
954 movl $1, %r14d
955 pushq %r13
956 pushq %r12
957 pushq %rbp
958 pushq %rbx
959 movl %edi, %ebp
960 subq $40, %rsp
961 movb $0, 30(%rsp)
962 movb $0, 31(%rsp)
963 leaq 30(%rsp), %r13
964 movl $1, 12(%rsp)
965 leaq 31(%rsp), %r12
966 jmp .L304
967 .p2align 4,,10
968 .p2align 3
969 .L306:
970 movl %edx, %r14d
971 .L304:
972 movl $2, %eax
973 #APP
974 # 272 "../sysdeps/x86/dl-cacheinfo.h" 1
975 cpuid
977 # 0 "" 2
978 #NO_APP
979 cmpl $1, %r14d
980 movl %edx, 8(%rsp)
981 movl %ecx, %r15d
982 movl %eax, %esi
983 jne .L303
984 movzbl %al, %eax
985 xorb %sil, %sil
986 movl %eax, 12(%rsp)
987 .L303:
988 leaq 12+_dl_x86_cpu_features(%rip), %r9
989 movq %r13, %rcx
990 movq %r12, %rdx
991 movl %ebp, %edi
992 leaq -4(%r9), %r8
993 call intel_check_word.isra.0
994 testq %rax, %rax
995 jne .L300
996 leaq 12+_dl_x86_cpu_features(%rip), %r9
997 movq %r13, %rcx
998 movq %r12, %rdx
999 movl %ebx, %esi
1000 movl %ebp, %edi
1001 leaq -4(%r9), %r8
1002 call intel_check_word.isra.0
1003 testq %rax, %rax
1004 jne .L300
1005 leaq 12+_dl_x86_cpu_features(%rip), %r9
1006 movq %r13, %rcx
1007 movq %r12, %rdx
1008 movl %r15d, %esi
1009 movl %ebp, %edi
1010 leaq -4(%r9), %r8
1011 call intel_check_word.isra.0
1012 testq %rax, %rax
1013 jne .L300
1014 leaq 12+_dl_x86_cpu_features(%rip), %r9
1015 movl 8(%rsp), %esi
1016 movq %r13, %rcx
1017 movq %r12, %rdx
1018 movl %ebp, %edi
1019 leaq -4(%r9), %r8
1020 call intel_check_word.isra.0
1021 testq %rax, %rax
1022 jne .L300
1023 cmpl %r14d, 12(%rsp)
1024 leal 1(%r14), %edx
1025 ja .L306
1026 subl $191, %ebp
1027 cmpl $5, %ebp
1028 ja .L300
1029 cmpb $0, 30(%rsp)
1030 jne .L305
1031 .L300:
1032 addq $40, %rsp
1033 popq %rbx
1034 popq %rbp
1035 popq %r12
1036 popq %r13
1037 popq %r14
1038 popq %r15
1040 .L305:
1041 orq $-1, %rax
1042 jmp .L300
1043 .L310:
1044 orq $-1, %rax
1046 .size handle_intel.constprop.5, .-handle_intel.constprop.5
1047 .p2align 4,,15
1048 .type update_usable.constprop.3, @function
1049 update_usable.constprop.3:
1050 pushq %r15
1051 pushq %r14
1052 pushq %r13
1053 pushq %r12
1054 pushq %rbp
1055 pushq %rbx
1056 subq $160, %rsp
1057 movl 28+_dl_x86_cpu_features(%rip), %r8d
1058 movl 60+_dl_x86_cpu_features(%rip), %esi
1059 movl 32+_dl_x86_cpu_features(%rip), %r12d
1060 movl 56+_dl_x86_cpu_features(%rip), %r14d
1061 movl 64+_dl_x86_cpu_features(%rip), %r13d
1062 movl %r8d, %r9d
1063 movl %r8d, %eax
1064 movl %esi, %edx
1065 andl $47718915, %r9d
1066 orl 44+_dl_x86_cpu_features(%rip), %r9d
1067 andl $134217728, %eax
1068 andl $4194737, %edx
1069 movl %esi, %ebx
1070 orl 76+_dl_x86_cpu_features(%rip), %edx
1071 movl %r8d, %ecx
1072 andl $16, %ebx
1073 movl %r12d, %edi
1074 andl $1073741824, %ecx
1075 movl %ebx, -116(%rsp)
1076 movl 92+_dl_x86_cpu_features(%rip), %ebx
1077 orl %eax, %r9d
1078 movl %r14d, %r10d
1079 movl %r13d, %ebp
1080 orl %ecx, %r9d
1081 movl %esi, %ecx
1082 andl $394821904, %edi
1083 andl $436207616, %ecx
1084 movl %ebx, %r11d
1085 orl 48+_dl_x86_cpu_features(%rip), %edi
1086 orl %edx, %ecx
1087 movl 96+_dl_x86_cpu_features(%rip), %edx
1088 andl $562826008, %r10d
1089 andl $1130512, %ebp
1090 orl 72+_dl_x86_cpu_features(%rip), %r10d
1091 orl 80+_dl_x86_cpu_features(%rip), %ebp
1092 andl $2097505, %r11d
1093 orl 108+_dl_x86_cpu_features(%rip), %r11d
1094 movl %ebx, -108(%rsp)
1095 andl $134217728, %edx
1096 orl %edx, 112+_dl_x86_cpu_features(%rip)
1097 movl 184+_dl_x86_cpu_features(%rip), %edx
1098 movl %edi, 48+_dl_x86_cpu_features(%rip)
1099 movl %r9d, 44+_dl_x86_cpu_features(%rip)
1100 movl %r10d, 72+_dl_x86_cpu_features(%rip)
1101 movl %ecx, -112(%rsp)
1102 andl $512, %edx
1103 movl %ecx, 76+_dl_x86_cpu_features(%rip)
1104 movl %ebp, 80+_dl_x86_cpu_features(%rip)
1105 movl %r11d, 108+_dl_x86_cpu_features(%rip)
1106 orl %edx, 200+_dl_x86_cpu_features(%rip)
1107 movl 212+_dl_x86_cpu_features(%rip), %r15d
1108 movl %r15d, %ebx
1109 andl $7168, %ebx
1110 orl 228+_dl_x86_cpu_features(%rip), %ebx
1111 testl %eax, %eax
1112 movl %ebx, 228+_dl_x86_cpu_features(%rip)
1113 je .L313
1114 xorl %ecx, %ecx
1115 #APP
1116 # 105 "../sysdeps/x86/cpu-features.c" 1
1117 xgetbv
1118 # 0 "" 2
1119 #NO_APP
1120 movl %eax, %edx
1121 andl $6, %edx
1122 cmpl $6, %edx
1123 je .L379
1124 .L315:
1125 andl $393216, %eax
1126 cmpl $393216, %eax
1127 je .L380
1128 .L319:
1129 movl 116+_dl_x86_cpu_features(%rip), %r8d
1130 orl $67108864, 44+_dl_x86_cpu_features(%rip)
1131 movl %r8d, %ebp
1132 andl $23, %ebp
1133 orl 132+_dl_x86_cpu_features(%rip), %ebp
1134 cmpl $12, 4+_dl_x86_cpu_features(%rip)
1135 movl %ebp, 132+_dl_x86_cpu_features(%rip)
1136 jg .L381
1137 .L313:
1138 movl -116(%rsp), %eax
1139 testl %eax, %eax
1140 je .L330
1141 orl $8, 76+_dl_x86_cpu_features(%rip)
1142 .L330:
1143 movl 248+_dl_x86_cpu_features(%rip), %eax
1144 testb $1, %al
1145 je .L331
1146 movl 264+_dl_x86_cpu_features(%rip), %edx
1147 andl $8388608, %esi
1148 orl %esi, 76+_dl_x86_cpu_features(%rip)
1149 andl $4, %eax
1150 orl $1, %edx
1151 orl %edx, %eax
1152 movl %eax, 264+_dl_x86_cpu_features(%rip)
1153 .L331:
1154 movl %edi, %edx
1155 xorl %eax, %eax
1156 andl $33024, %edx
1157 cmpl $33024, %edx
1158 je .L382
1159 .L332:
1160 movl %eax, 280+_dl_x86_cpu_features(%rip)
1161 addq $160, %rsp
1162 popq %rbx
1163 popq %rbp
1164 popq %r12
1165 popq %r13
1166 popq %r14
1167 popq %r15
1169 .L381:
1170 xorl %ecx, %ecx
1171 movl $13, %eax
1172 #APP
1173 # 214 "../sysdeps/x86/cpu-features.c" 1
1174 cpuid
1176 # 0 "" 2
1177 #NO_APP
1178 testl %ebx, %ebx
1179 je .L313
1180 addl $127, %ebx
1181 andl $-64, %ebx
1182 andb $2, %r8b
1183 movl %ebx, %eax
1184 movl %ebx, 296+_dl_x86_cpu_features(%rip)
1185 movq %rax, 288+_dl_x86_cpu_features(%rip)
1186 je .L313
1187 movabsq $687194767360, %rax
1188 movl $576, -96(%rsp)
1189 leaq -96(%rsp), %r10
1190 movq %rax, -104(%rsp)
1191 movabsq $1099511627936, %rax
1192 leaq 32(%rsp), %r9
1193 movq %rax, 24(%rsp)
1194 movl $3, %r11d
1195 movl $2, %r8d
1196 movl $238, %r13d
1197 movl $13, %r14d
1198 jmp .L321
1199 .p2align 4,,10
1200 .p2align 3
1201 .L384:
1202 movl %r14d, %eax
1203 movl %r8d, %ecx
1204 #APP
1205 # 242 "../sysdeps/x86/cpu-features.c" 1
1206 cpuid
1208 # 0 "" 2
1209 #NO_APP
1210 cmpl $2, %r8d
1211 movl %eax, (%r9)
1212 je .L328
1213 movl -4(%r9), %eax
1214 addl -4(%r10), %eax
1215 andl $2, %ecx
1216 je .L378
1217 addl $63, %eax
1218 andl $-64, %eax
1219 .L378:
1220 movl %eax, (%r10)
1221 .L327:
1222 cmpl $32, %r11d
1223 je .L383
1224 .L328:
1225 addl $1, %r8d
1226 addl $1, %r11d
1227 addq $4, %r10
1228 addq $4, %r9
1229 .L321:
1230 btl %r8d, %r13d
1231 jc .L384
1232 cmpl $2, %r8d
1233 movl $0, (%r9)
1234 je .L328
1235 movl -4(%r9), %eax
1236 addl -4(%r10), %eax
1237 movl %eax, (%r10)
1238 jmp .L327
1239 .L382:
1240 movl %r12d, %eax
1241 andl $1, %eax
1242 je .L332
1243 andl $125829120, %edi
1244 cmpl $125829120, %edi
1245 je .L385
1246 xorl %eax, %eax
1247 jmp .L332
1248 .L380:
1249 andl $54525952, %r13d
1250 orl %r13d, 80+_dl_x86_cpu_features(%rip)
1251 jmp .L319
1252 .L379:
1253 testl $268435456, %r8d
1254 je .L316
1255 orl $268435456, %r9d
1256 testb $32, %r14b
1257 jne .L386
1258 .L317:
1259 movl %r15d, %edx
1260 andl $536875008, %r8d
1261 andl $16, %edx
1262 orl %r9d, %r8d
1263 orl %edx, %ebx
1264 movl %esi, %edx
1265 movl %r8d, 44+_dl_x86_cpu_features(%rip)
1266 andl $1536, %edx
1267 orl -112(%rsp), %edx
1268 movl %ebx, 228+_dl_x86_cpu_features(%rip)
1269 movl %edx, 76+_dl_x86_cpu_features(%rip)
1270 movl -108(%rsp), %edx
1271 andl $2048, %edx
1272 orl %edx, %r11d
1273 movl %r11d, 108+_dl_x86_cpu_features(%rip)
1274 .L316:
1275 movl %eax, %edx
1276 andl $224, %edx
1277 cmpl $224, %edx
1278 jne .L315
1279 testl $65536, %r14d
1280 je .L315
1281 movl 72+_dl_x86_cpu_features(%rip), %edx
1282 movl %r14d, %ecx
1283 andl $32, %r15d
1284 andl $268435456, %ecx
1285 orl %r15d, 228+_dl_x86_cpu_features(%rip)
1286 orl $65536, %edx
1287 orl %ecx, %edx
1288 movl %r14d, %ecx
1289 andl $134217728, %ecx
1290 orl %ecx, %edx
1291 movl %r14d, %ecx
1292 andl $67108864, %ecx
1293 orl %ecx, %edx
1294 movl %r14d, %ecx
1295 andl $-2147483648, %ecx
1296 orl %ecx, %edx
1297 movl %r14d, %ecx
1298 andl $131072, %ecx
1299 orl %ecx, %edx
1300 movl %r14d, %ecx
1301 andl $2097152, %r14d
1302 andl $1073741824, %ecx
1303 orl %ecx, %edx
1304 orl %edx, %r14d
1305 movl %esi, %edx
1306 andl $22594, %edx
1307 orl 76+_dl_x86_cpu_features(%rip), %edx
1308 movl %r14d, 72+_dl_x86_cpu_features(%rip)
1309 movl %edx, 76+_dl_x86_cpu_features(%rip)
1310 movl %r13d, %edx
1311 andl $8388876, %edx
1312 orl %edx, %ebp
1313 movl %ebp, 80+_dl_x86_cpu_features(%rip)
1314 jmp .L315
1315 .L385:
1316 movl 44+_dl_x86_cpu_features(%rip), %edx
1317 testb $32, %dh
1318 je .L332
1319 movl 108+_dl_x86_cpu_features(%rip), %ecx
1320 movl %ecx, %esi
1321 andl $1, %esi
1322 je .L332
1323 movl %edx, %edi
1324 movl %esi, %eax
1325 andl $9961985, %edi
1326 cmpl $9961985, %edi
1327 jne .L332
1328 testl $268435456, %edx
1329 je .L340
1330 movl 72+_dl_x86_cpu_features(%rip), %esi
1331 testb $32, %sil
1332 je .L340
1333 movl %edx, %edi
1334 movl $3, %eax
1335 andl $536875008, %edi
1336 cmpl $536875008, %edi
1337 jne .L332
1338 andb $32, %cl
1339 je .L340
1340 andl $4194304, %edx
1341 je .L340
1342 movl %esi, %edx
1343 movl $7, %eax
1344 andl $1342373888, %edx
1345 cmpl $1342373888, %edx
1346 jne .L332
1347 movl %esi, %eax
1348 sarl $31, %eax
1349 andl $8, %eax
1350 addl $7, %eax
1351 jmp .L332
1352 .L383:
1353 movl 148(%rsp), %eax
1354 addl 20(%rsp), %eax
1355 je .L313
1356 addl $127, %eax
1357 orl $2, %ebp
1358 andl $-64, %eax
1359 movl %ebp, 132+_dl_x86_cpu_features(%rip)
1360 movq %rax, 288+_dl_x86_cpu_features(%rip)
1361 jmp .L313
1362 .L386:
1363 orl $32, %r10d
1364 orl $256, 276+_dl_x86_cpu_features(%rip)
1365 movl %r10d, 72+_dl_x86_cpu_features(%rip)
1366 jmp .L317
1367 .L340:
1368 movl $3, %eax
1369 jmp .L332
1370 .size update_usable.constprop.3, .-update_usable.constprop.3
1371 .section .rodata.str1.1
1372 .LC2:
1373 .string "haswell"
1374 .LC3:
1375 .string "xeon_phi"
1376 .LC4:
1377 .string "../csu/libc-start.c"
1378 .section .rodata.str1.8,"aMS",@progbits,1
1379 .align 8
1380 .LC5:
1381 .string "__ehdr_start.e_phentsize == sizeof *GL(dl_phdr)"
1382 .align 8
1383 .LC6:
1384 .string "Unexpected reloc type in static binary.\n"
1385 .section .rodata.str1.1
1386 .LC7:
1387 .string "FATAL: kernel too old\n"
1388 .section .rodata.str1.8
1389 .align 8
1390 .LC8:
1391 .string "FATAL: cannot determine kernel version\n"
1392 .text
1393 .p2align 4,,15
1394 .globl __libc_start_main
1395 .hidden __libc_start_main
1396 .type __libc_start_main, @function
1397 __libc_start_main:
1398 pushq %r15
1399 pushq %r14
1400 movslq %esi, %rax
1401 pushq %r13
1402 pushq %r12
1403 movq %r9, %r12
1404 pushq %rbp
1405 pushq %rbx
1406 movq %rcx, %rbp
1407 subq $472, %rsp
1408 movq %rdi, 24(%rsp)
1409 movl %eax, 12(%rsp)
1410 leaq 8(%rdx,%rax,8), %rdi
1411 movq 528(%rsp), %rax
1412 movq %rdx, 16(%rsp)
1413 movq %r8, 32(%rsp)
1414 movq %rdi, __environ(%rip)
1415 movq %rax, __libc_stack_end(%rip)
1416 .p2align 4,,10
1417 .p2align 3
1418 .L388:
1419 addq $8, %rdi
1420 cmpq $0, -8(%rdi)
1421 jne .L388
1422 call _dl_aux_init
1423 cmpq $0, _dl_phdr(%rip)
1424 je .L497
1425 .L389:
1426 call __libc_init_secure
1427 movq __environ(%rip), %rdi
1428 call __tunables_init
1429 xorl %eax, %eax
1430 movl $0, 144(%rsp)
1431 movl $0, 148(%rsp)
1432 #APP
1433 # 398 "../sysdeps/x86/cpu-features.c" 1
1434 cpuid
1436 # 0 "" 2
1437 #NO_APP
1438 cmpl $1970169159, %ebx
1439 movl $0, 152(%rsp)
1440 movl %eax, 4+_dl_x86_cpu_features(%rip)
1441 jne .L391
1442 cmpl $1818588270, %ecx
1443 jne .L391
1444 cmpl $1231384169, %edx
1445 je .L498
1446 .L392:
1447 cmpl $1953391939, %ebx
1448 jne .L420
1449 cmpl $1936487777, %ecx
1450 jne .L420
1451 cmpl $1215460705, %edx
1452 je .L427
1453 .L421:
1454 cmpl $6, 4+_dl_x86_cpu_features(%rip)
1455 jle .L435
1456 movl $7, %esi
1457 xorl %ecx, %ecx
1458 movl %esi, %eax
1459 #APP
1460 # 342 "../sysdeps/x86/cpu-features.c" 1
1461 cpuid
1463 # 0 "" 2
1464 #NO_APP
1465 movl %eax, 52+_dl_x86_cpu_features(%rip)
1466 movl %ebx, 56+_dl_x86_cpu_features(%rip)
1467 movl %esi, %eax
1468 movl %ecx, 60+_dl_x86_cpu_features(%rip)
1469 movl %edx, 64+_dl_x86_cpu_features(%rip)
1470 movl $1, %ecx
1471 #APP
1472 # 347 "../sysdeps/x86/cpu-features.c" 1
1473 cpuid
1475 # 0 "" 2
1476 #NO_APP
1477 movl %eax, 212+_dl_x86_cpu_features(%rip)
1478 movl %ebx, 216+_dl_x86_cpu_features(%rip)
1479 movl %ecx, 220+_dl_x86_cpu_features(%rip)
1480 movl %edx, 224+_dl_x86_cpu_features(%rip)
1481 .L435:
1482 cmpl $12, 4+_dl_x86_cpu_features(%rip)
1483 jle .L436
1484 movl $13, %eax
1485 movl $1, %ecx
1486 #APP
1487 # 355 "../sysdeps/x86/cpu-features.c" 1
1488 cpuid
1490 # 0 "" 2
1491 #NO_APP
1492 movl %eax, 116+_dl_x86_cpu_features(%rip)
1493 movl %ebx, 120+_dl_x86_cpu_features(%rip)
1494 movl %ecx, 124+_dl_x86_cpu_features(%rip)
1495 movl %edx, 128+_dl_x86_cpu_features(%rip)
1496 .L436:
1497 cmpl $24, 4+_dl_x86_cpu_features(%rip)
1498 jle .L437
1499 movl $25, %eax
1500 xorl %ecx, %ecx
1501 #APP
1502 # 362 "../sysdeps/x86/cpu-features.c" 1
1503 cpuid
1505 # 0 "" 2
1506 #NO_APP
1507 movl %eax, 244+_dl_x86_cpu_features(%rip)
1508 movl %ebx, 248+_dl_x86_cpu_features(%rip)
1509 movl %ecx, 252+_dl_x86_cpu_features(%rip)
1510 movl %edx, 256+_dl_x86_cpu_features(%rip)
1511 .L437:
1512 call update_usable.constprop.3
1513 movl $4, %eax
1514 .L417:
1515 movl 32+_dl_x86_cpu_features(%rip), %edx
1516 testb $1, %dh
1517 je .L438
1518 orl $1, 276+_dl_x86_cpu_features(%rip)
1519 .L438:
1520 andb $-128, %dh
1521 je .L439
1522 orl $2, 276+_dl_x86_cpu_features(%rip)
1523 .L439:
1524 movl 148(%rsp), %edx
1525 cmpl $1, %eax
1526 movl 144(%rsp), %r11d
1527 movl %eax, _dl_x86_cpu_features(%rip)
1528 movq $-1, 184(%rsp)
1529 movl %edx, 12+_dl_x86_cpu_features(%rip)
1530 movl 152(%rsp), %edx
1531 movl %r11d, 8+_dl_x86_cpu_features(%rip)
1532 movl $0, 172(%rsp)
1533 movl %edx, 16+_dl_x86_cpu_features(%rip)
1534 je .L499
1535 cmpl $3, %eax
1536 je .L500
1537 cmpl $2, %eax
1538 je .L501
1539 orq $-1, %rbx
1540 movq %rbx, %r10
1541 movq %rbx, 88(%rsp)
1542 movq %rbx, %r14
1543 movq %rbx, 80(%rsp)
1544 movq %rbx, 72(%rsp)
1545 movq %rbx, %r13
1546 movq %rbx, 64(%rsp)
1547 movq %rbx, 56(%rsp)
1548 movq %rbx, %r15
1549 movq %rbx, 48(%rsp)
1550 movq %rbx, 40(%rsp)
1551 .L441:
1552 movq 40(%rsp), %rax
1553 testb $1, 74+_dl_x86_cpu_features(%rip)
1554 movq %r13, 376+_dl_x86_cpu_features(%rip)
1555 movq %r14, 400+_dl_x86_cpu_features(%rip)
1556 movq %r10, 416+_dl_x86_cpu_features(%rip)
1557 movq %rbx, 424+_dl_x86_cpu_features(%rip)
1558 movq %rax, 344+_dl_x86_cpu_features(%rip)
1559 movq 48(%rsp), %rax
1560 movq %rax, 352+_dl_x86_cpu_features(%rip)
1561 movq 56(%rsp), %rax
1562 movq %rax, 360+_dl_x86_cpu_features(%rip)
1563 movq 64(%rsp), %rax
1564 movq %rax, 368+_dl_x86_cpu_features(%rip)
1565 movq 72(%rsp), %rax
1566 movq %rax, 384+_dl_x86_cpu_features(%rip)
1567 movq 80(%rsp), %rax
1568 movq %rax, 392+_dl_x86_cpu_features(%rip)
1569 movq 88(%rsp), %rax
1570 movq %rax, 408+_dl_x86_cpu_features(%rip)
1571 movq 184(%rsp), %rax
1572 movq %rax, 96(%rsp)
1573 movl 276+_dl_x86_cpu_features(%rip), %eax
1574 je .L449
1575 testb $64, %ah
1576 jne .L449
1577 movl $8192, %ebx
1578 movl $512, %r13d
1579 .L450:
1580 leaq 192(%rsp), %rsi
1581 xorl %edx, %edx
1582 movl $24, %edi
1583 call __tunable_get_val
1584 movq 192(%rsp), %r14
1585 leaq 200(%rsp), %rsi
1586 movl $4, %edi
1587 testq %r14, %r14
1588 cmove %r15, %r14
1589 xorl %edx, %edx
1590 call __tunable_get_val
1591 movq 200(%rsp), %rax
1592 testq %rax, %rax
1593 je .L452
1594 movq %rax, 184(%rsp)
1595 .L452:
1596 leaq 208(%rsp), %rsi
1597 xorl %edx, %edx
1598 movl $13, %edi
1599 call __tunable_get_val
1600 movq 208(%rsp), %rax
1601 testq %rax, %rax
1602 jne .L453
1603 imulq $3, 96(%rsp), %rax
1604 movl $4, %ecx
1605 cqto
1606 idivq %rcx
1607 .L453:
1608 leaq 216(%rsp), %rsi
1609 xorl %edx, %edx
1610 movl $8, %edi
1611 movq %rax, 136(%rsp)
1612 call __tunable_get_val
1613 movq 216(%rsp), %rdx
1614 movl %r13d, %r8d
1615 leaq 224(%rsp), %rsi
1616 movl $12, %edi
1617 movq %r8, 128(%rsp)
1618 cmpq %r8, %rdx
1619 cmovg %edx, %ebx
1620 xorl %edx, %edx
1621 orq $-1, %r13
1622 call __tunable_get_val
1623 leaq 232(%rsp), %rcx
1624 leaq 240(%rsp), %rdx
1625 leaq 248(%rsp), %rsi
1626 movl $24, %edi
1627 movq 224(%rsp), %r15
1628 movq %r13, 232(%rsp)
1629 movq $0, 240(%rsp)
1630 movq %r14, 248(%rsp)
1631 call __tunable_set_val
1632 movq 184(%rsp), %rdx
1633 leaq 256(%rsp), %rcx
1634 leaq 272(%rsp), %rsi
1635 movl $4, %edi
1636 movq %r13, 256(%rsp)
1637 movq $0, 264(%rsp)
1638 movq %rdx, 272(%rsp)
1639 leaq 264(%rsp), %rdx
1640 call __tunable_set_val
1641 movq 136(%rsp), %rax
1642 leaq 280(%rsp), %rcx
1643 leaq 288(%rsp), %rdx
1644 leaq 296(%rsp), %rsi
1645 movl $13, %edi
1646 movq %r13, 280(%rsp)
1647 movq $0, 288(%rsp)
1648 movq %rax, 296(%rsp)
1649 movq %rax, 120(%rsp)
1650 call __tunable_set_val
1651 movq 128(%rsp), %r8
1652 leaq 304(%rsp), %rcx
1653 leaq 312(%rsp), %rdx
1654 leaq 320(%rsp), %rsi
1655 movl %ebx, %eax
1656 movl $8, %edi
1657 movq %rax, 320(%rsp)
1658 movq %r13, 304(%rsp)
1659 movq %r8, 312(%rsp)
1660 call __tunable_set_val
1661 leaq 328(%rsp), %rcx
1662 leaq 336(%rsp), %rdx
1663 leaq 344(%rsp), %rsi
1664 movl $12, %edi
1665 movq %r13, 328(%rsp)
1666 movq $1, 336(%rsp)
1667 movq %r15, 344(%rsp)
1668 call __tunable_set_val
1669 movq 184(%rsp), %rdx
1670 movq 120(%rsp), %rax
1671 leaq 176(%rsp), %rsi
1672 movl $20, %edi
1673 movq %r14, 304+_dl_x86_cpu_features(%rip)
1674 movq %r15, 336+_dl_x86_cpu_features(%rip)
1675 movq %rdx, 312+_dl_x86_cpu_features(%rip)
1676 leaq _dl_tunable_set_hwcaps(%rip), %rdx
1677 movq %rax, 320+_dl_x86_cpu_features(%rip)
1678 movl %ebx, %eax
1679 movq %rax, 328+_dl_x86_cpu_features(%rip)
1680 call __tunable_get_val
1681 cmpl $1, _dl_x86_cpu_features(%rip)
1682 movq $2, _dl_hwcap(%rip)
1683 je .L502
1684 .L456:
1685 movq 304+_dl_x86_cpu_features(%rip), %rcx
1686 movl $2, %esi
1687 movq %rcx, %rax
1688 movq %rcx, __x86_raw_data_cache_size(%rip)
1689 xorb %cl, %cl
1690 cqto
1691 movq %rcx, __x86_data_cache_size(%rip)
1692 idivq %rsi
1693 movq %rax, __x86_raw_data_cache_size_half(%rip)
1694 movq %rcx, %rax
1695 movq 312+_dl_x86_cpu_features(%rip), %rcx
1696 cqto
1697 idivq %rsi
1698 movq %rcx, __x86_raw_shared_cache_size(%rip)
1699 movq %rax, __x86_data_cache_size_half(%rip)
1700 movq %rcx, %rax
1701 xorb %cl, %cl
1702 cqto
1703 movq %rcx, __x86_shared_cache_size(%rip)
1704 idivq %rsi
1705 movq %rax, __x86_raw_shared_cache_size_half(%rip)
1706 movq %rcx, %rax
1707 cqto
1708 idivq %rsi
1709 movq %rax, __x86_shared_cache_size_half(%rip)
1710 movq 320+_dl_x86_cpu_features(%rip), %rax
1711 movq %rax, __x86_shared_non_temporal_threshold(%rip)
1712 movq 328+_dl_x86_cpu_features(%rip), %rax
1713 movq %rax, __x86_rep_movsb_threshold(%rip)
1714 movq 336+_dl_x86_cpu_features(%rip), %rax
1715 movq %rax, __x86_rep_stosb_threshold(%rip)
1716 call _dl_relocate_static_pie
1717 movq __rela_iplt_start@GOTPCREL(%rip), %rbx
1718 jmp .L461
1719 .L463:
1720 cmpl $37, 8(%rbx)
1721 movq (%rbx), %r13
1722 jne .L462
1723 call *16(%rbx)
1724 addq $24, %rbx
1725 movq %rax, 0(%r13)
1726 .L461:
1727 cmpq __rela_iplt_end@GOTPCREL(%rip), %rbx
1728 jb .L463
1729 call __libc_setup_tls
1730 movq _dl_random(%rip), %rax
1731 movq (%rax), %rax
1732 xorb %al, %al
1733 #APP
1734 # 219 "../csu/libc-start.c" 1
1735 movq %rax,%fs:40
1736 # 0 "" 2
1737 #NO_APP
1738 call _dl_discover_osversion
1739 testl %eax, %eax
1740 js .L464
1741 movl _dl_osversion(%rip), %edx
1742 testl %edx, %edx
1743 jne .L503
1744 .L465:
1745 movl %eax, _dl_osversion(%rip)
1746 .L466:
1747 cmpl $197119, %eax
1748 jle .L504
1749 cmpq $0, __pthread_initialize_minimal@GOTPCREL(%rip)
1750 je .L471
1751 call __pthread_initialize_minimal@PLT
1752 .L471:
1753 movq _dl_random(%rip), %rax
1754 movq 8(%rax), %rax
1755 #APP
1756 # 240 "../csu/libc-start.c" 1
1757 movq %rax,%fs:48
1758 # 0 "" 2
1759 #NO_APP
1760 testq %r12, %r12
1761 je .L470
1762 xorl %edx, %edx
1763 xorl %esi, %esi
1764 movq %r12, %rdi
1765 call __cxa_atexit
1766 .L470:
1767 movl $1, %edi
1768 call __libc_early_init
1769 movq __environ(%rip), %rdx
1770 movq 16(%rsp), %rsi
1771 movl 12(%rsp), %edi
1772 call __libc_init_first
1773 cmpq $0, 32(%rsp)
1774 je .L476
1775 movq 32(%rsp), %rdi
1776 xorl %edx, %edx
1777 xorl %esi, %esi
1778 call __cxa_atexit
1779 .L476:
1780 cmpl $0, __libc_enable_secure(%rip)
1781 je .L475
1782 call __libc_check_standard_fds
1783 .L475:
1784 testq %rbp, %rbp
1785 je .L478
1786 movq __environ(%rip), %rdx
1787 movq 16(%rsp), %rsi
1788 movl 12(%rsp), %edi
1789 call *%rbp
1790 .L478:
1791 xorl %edi, %edi
1792 xorl %esi, %esi
1793 call _dl_debug_initialize
1794 leaq 352(%rsp), %rdi
1795 call _setjmp
1796 testl %eax, %eax
1797 jne .L505
1798 #APP
1799 # 325 "../csu/libc-start.c" 1
1800 movq %fs:768,%rax
1801 # 0 "" 2
1802 #NO_APP
1803 movq %rax, 424(%rsp)
1804 #APP
1805 # 326 "../csu/libc-start.c" 1
1806 movq %fs:760,%rax
1807 # 0 "" 2
1808 #NO_APP
1809 movq %rax, 432(%rsp)
1810 leaq 352(%rsp), %rax
1811 #APP
1812 # 329 "../csu/libc-start.c" 1
1813 movq %rax,%fs:768
1814 # 0 "" 2
1815 #NO_APP
1816 movq __environ(%rip), %rdx
1817 movq 16(%rsp), %rsi
1818 movl 12(%rsp), %edi
1819 movq 24(%rsp), %rax
1820 call *%rax
1821 .L482:
1822 movl %eax, %edi
1823 call exit
1824 .L497:
1825 cmpw $56, 54+__ehdr_start(%rip)
1826 jne .L506
1827 leaq __ehdr_start(%rip), %rax
1828 addq 32+__ehdr_start(%rip), %rax
1829 movq %rax, _dl_phdr(%rip)
1830 movzwl 56+__ehdr_start(%rip), %eax
1831 movq %rax, _dl_phnum(%rip)
1832 jmp .L389
1833 .L506:
1834 leaq __PRETTY_FUNCTION__.11789(%rip), %rcx
1835 leaq .LC4(%rip), %rsi
1836 leaq .LC5(%rip), %rdi
1837 movl $187, %edx
1838 call __assert_fail
1839 .L391:
1840 cmpl $1752462657, %ebx
1841 jne .L418
1842 cmpl $1145913699, %ecx
1843 jne .L418
1844 cmpl $1769238117, %edx
1845 je .L419
1846 .L420:
1847 cmpl $1750278176, %ebx
1848 sete %sil
1849 cmpl $538995041, %ecx
1850 sete %al
1851 testb %al, %sil
1852 je .L421
1853 cmpl $1751608929, %edx
1854 jne .L421
1855 .L427:
1856 leaq 168(%rsp), %rcx
1857 leaq 164(%rsp), %rdx
1858 leaq 148(%rsp), %rsi
1859 leaq 144(%rsp), %rdi
1860 call get_common_indices.constprop.2
1861 movl $-2147483648, %esi
1862 movl %esi, %eax
1863 #APP
1864 # 295 "../sysdeps/x86/cpu-features.c" 1
1865 cpuid
1867 # 0 "" 2
1868 #NO_APP
1869 cmpl $-2147483648, %eax
1870 movl %eax, %esi
1871 jbe .L429
1872 movl $-2147483647, %eax
1873 #APP
1874 # 297 "../sysdeps/x86/cpu-features.c" 1
1875 cpuid
1877 # 0 "" 2
1878 #NO_APP
1879 cmpl $-2147483642, %esi
1880 movl %eax, 84+_dl_x86_cpu_features(%rip)
1881 movl %ebx, 88+_dl_x86_cpu_features(%rip)
1882 movl %ecx, 92+_dl_x86_cpu_features(%rip)
1883 movl %edx, 96+_dl_x86_cpu_features(%rip)
1884 jbe .L429
1885 movl $-2147483641, %eax
1886 #APP
1887 # 303 "../sysdeps/x86/cpu-features.c" 1
1888 cpuid
1890 # 0 "" 2
1891 #NO_APP
1892 cmpl $-2147483641, %esi
1893 movl %eax, 148+_dl_x86_cpu_features(%rip)
1894 movl %ebx, 152+_dl_x86_cpu_features(%rip)
1895 movl %ecx, 156+_dl_x86_cpu_features(%rip)
1896 movl %edx, 160+_dl_x86_cpu_features(%rip)
1897 je .L429
1898 movl $-2147483640, %eax
1899 #APP
1900 # 309 "../sysdeps/x86/cpu-features.c" 1
1901 cpuid
1903 # 0 "" 2
1904 #NO_APP
1905 movl %eax, 180+_dl_x86_cpu_features(%rip)
1906 movl %ebx, 184+_dl_x86_cpu_features(%rip)
1907 movl %ecx, 188+_dl_x86_cpu_features(%rip)
1908 movl %edx, 192+_dl_x86_cpu_features(%rip)
1909 .L429:
1910 call update_usable.constprop.3
1911 movl 164(%rsp), %eax
1912 movl 144(%rsp), %edx
1913 addl 148(%rsp), %eax
1914 cmpl $6, %edx
1915 movl %eax, 148(%rsp)
1916 je .L507
1917 cmpl $7, %edx
1918 je .L508
1919 .L432:
1920 movl $3, %eax
1921 jmp .L417
1922 .L505:
1923 call __nptl_deallocate_tsd@PLT
1924 movq __nptl_nthreads@GOTPCREL(%rip), %rax
1925 #APP
1926 # 357 "../csu/libc-start.c" 1
1927 lock;decl (%rax); sete %dl
1928 # 0 "" 2
1929 #NO_APP
1930 testb %dl, %dl
1931 je .L509
1932 xorl %eax, %eax
1933 jmp .L482
1934 .L449:
1935 andl $256, %eax
1936 cmpl $1, %eax
1937 sbbl %ebx, %ebx
1938 andl $-2048, %ebx
1939 addl $4096, %ebx
1940 cmpl $1, %eax
1941 sbbl %r13d, %r13d
1942 andl $-128, %r13d
1943 addl $256, %r13d
1944 jmp .L450
1945 .L509:
1946 movl $60, %edx
1947 .p2align 4,,10
1948 .p2align 3
1949 .L483:
1950 xorl %edi, %edi
1951 movl %edx, %eax
1952 #APP
1953 # 35 "../sysdeps/unix/sysv/linux/exit-thread.h" 1
1954 syscall
1956 # 0 "" 2
1957 #NO_APP
1958 jmp .L483
1959 .L502:
1960 movl 72+_dl_x86_cpu_features(%rip), %eax
1961 testl $268435456, %eax
1962 je .L457
1963 testl $134217728, %eax
1964 je .L458
1965 testl $67108864, %eax
1966 je .L457
1967 leaq .LC3(%rip), %rax
1968 .L459:
1969 movq %rax, _dl_platform(%rip)
1970 jmp .L456
1971 .L418:
1972 cmpl $1869052232, %ebx
1973 jne .L392
1974 cmpl $1701734773, %ecx
1975 jne .L392
1976 cmpl $1852131182, %edx
1977 jne .L421
1978 .L419:
1979 leaq 152(%rsp), %rcx
1980 leaq 160(%rsp), %rdx
1981 leaq 148(%rsp), %rsi
1982 leaq 144(%rsp), %rdi
1983 call get_common_indices.constprop.2
1984 movl $-2147483648, %esi
1985 movl %esi, %eax
1986 #APP
1987 # 295 "../sysdeps/x86/cpu-features.c" 1
1988 cpuid
1990 # 0 "" 2
1991 #NO_APP
1992 cmpl $-2147483648, %eax
1993 movl %eax, %esi
1994 jbe .L423
1995 movl $-2147483647, %eax
1996 #APP
1997 # 297 "../sysdeps/x86/cpu-features.c" 1
1998 cpuid
2000 # 0 "" 2
2001 #NO_APP
2002 cmpl $-2147483642, %esi
2003 movl %eax, 84+_dl_x86_cpu_features(%rip)
2004 movl %ebx, 88+_dl_x86_cpu_features(%rip)
2005 movl %ecx, 92+_dl_x86_cpu_features(%rip)
2006 movl %edx, 96+_dl_x86_cpu_features(%rip)
2007 jbe .L423
2008 movl $-2147483641, %eax
2009 #APP
2010 # 303 "../sysdeps/x86/cpu-features.c" 1
2011 cpuid
2013 # 0 "" 2
2014 #NO_APP
2015 cmpl $-2147483641, %esi
2016 movl %eax, 148+_dl_x86_cpu_features(%rip)
2017 movl %ebx, 152+_dl_x86_cpu_features(%rip)
2018 movl %ecx, 156+_dl_x86_cpu_features(%rip)
2019 movl %edx, 160+_dl_x86_cpu_features(%rip)
2020 je .L423
2021 movl $-2147483640, %eax
2022 #APP
2023 # 309 "../sysdeps/x86/cpu-features.c" 1
2024 cpuid
2026 # 0 "" 2
2027 #NO_APP
2028 movl %eax, 180+_dl_x86_cpu_features(%rip)
2029 movl %ebx, 184+_dl_x86_cpu_features(%rip)
2030 movl %ecx, 188+_dl_x86_cpu_features(%rip)
2031 movl %edx, 192+_dl_x86_cpu_features(%rip)
2032 .L423:
2033 call update_usable.constprop.3
2034 testb $16, 47+_dl_x86_cpu_features(%rip)
2035 je .L425
2036 movl 92+_dl_x86_cpu_features(%rip), %eax
2037 andl $65536, %eax
2038 orl %eax, 108+_dl_x86_cpu_features(%rip)
2039 .L425:
2040 cmpl $21, 144(%rsp)
2041 je .L510
2042 .L426:
2043 movl $2, %eax
2044 jmp .L417
2045 .L458:
2046 movl %eax, %edx
2047 andl $1073872896, %edx
2048 cmpl $1073872896, %edx
2049 jne .L457
2050 testl %eax, %eax
2051 jns .L457
2052 movq $6, _dl_hwcap(%rip)
2053 .L457:
2054 testb $32, %al
2055 je .L456
2056 movl 44+_dl_x86_cpu_features(%rip), %edx
2057 testb $16, %dh
2058 je .L456
2059 andl $264, %eax
2060 cmpl $264, %eax
2061 jne .L456
2062 testb $32, 108+_dl_x86_cpu_features(%rip)
2063 je .L456
2064 andl $12582912, %edx
2065 cmpl $12582912, %edx
2066 jne .L456
2067 leaq .LC2(%rip), %rax
2068 jmp .L459
2069 .L500:
2070 movl $188, %edi
2071 orq $-1, %rbx
2072 call handle_zhaoxin
2073 movl $191, %edi
2074 movq %rax, %r15
2075 call handle_zhaoxin
2076 movl $194, %edi
2077 movq %rax, %r13
2078 call handle_zhaoxin
2079 movl $185, %edi
2080 movq %rax, %r14
2081 movq %rax, 184(%rsp)
2082 call handle_zhaoxin
2083 movl $189, %edi
2084 movq %rax, 40(%rsp)
2085 movq %r15, 48(%rsp)
2086 call handle_zhaoxin
2087 movl $190, %edi
2088 movq %rax, 56(%rsp)
2089 call handle_zhaoxin
2090 movl $192, %edi
2091 movq %rax, 64(%rsp)
2092 call handle_zhaoxin
2093 movl $193, %edi
2094 movq %rax, 72(%rsp)
2095 call handle_zhaoxin
2096 movl $195, %edi
2097 movq %rax, 80(%rsp)
2098 call handle_zhaoxin
2099 movl $196, %edi
2100 movq %rax, 88(%rsp)
2101 call handle_zhaoxin
2102 leaq 172(%rsp), %rsi
2103 leaq 184(%rsp), %rdi
2104 movq %r13, %rdx
2105 movq %rax, 112(%rsp)
2106 call get_common_cache_info
2107 movq 112(%rsp), %r10
2108 jmp .L441
2109 .L499:
2110 movl $188, %edi
2111 call handle_intel.constprop.5
2112 movl $191, %edi
2113 movq %rax, %r15
2114 call handle_intel.constprop.5
2115 movl $194, %edi
2116 movq %rax, %r13
2117 call handle_intel.constprop.5
2118 movl $185, %edi
2119 movq %rax, 184(%rsp)
2120 call handle_intel.constprop.5
2121 movl $189, %edi
2122 movq %rax, 40(%rsp)
2123 movq %r15, 48(%rsp)
2124 call handle_intel.constprop.5
2125 movl $190, %edi
2126 movq %rax, 56(%rsp)
2127 call handle_intel.constprop.5
2128 movl $192, %edi
2129 movq %rax, 64(%rsp)
2130 call handle_intel.constprop.5
2131 movl $193, %edi
2132 movq %rax, 72(%rsp)
2133 call handle_intel.constprop.5
2134 movl $195, %edi
2135 movq %rax, 80(%rsp)
2136 movq 184(%rsp), %r14
2137 call handle_intel.constprop.5
2138 movl $196, %edi
2139 movq %rax, 88(%rsp)
2140 call handle_intel.constprop.5
2141 movl $197, %edi
2142 movq %rax, 104(%rsp)
2143 call handle_intel.constprop.5
2144 leaq 172(%rsp), %rsi
2145 leaq 184(%rsp), %rdi
2146 movq %r13, %rdx
2147 movq %rax, %rbx
2148 call get_common_cache_info
2149 movq 104(%rsp), %r10
2150 jmp .L441
2151 .L462:
2152 leaq .LC6(%rip), %rdi
2153 call __libc_fatal
2154 .L504:
2155 leaq .LC7(%rip), %rdi
2156 call __libc_fatal
2157 .L503:
2158 cmpl %eax, %edx
2159 jbe .L466
2160 jmp .L465
2161 .L498:
2162 leaq 152(%rsp), %rcx
2163 leaq 156(%rsp), %rdx
2164 leaq 148(%rsp), %rsi
2165 leaq 144(%rsp), %rdi
2166 call get_common_indices.constprop.2
2167 movl $-2147483648, %esi
2168 movl %esi, %eax
2169 #APP
2170 # 295 "../sysdeps/x86/cpu-features.c" 1
2171 cpuid
2173 # 0 "" 2
2174 #NO_APP
2175 cmpl $-2147483648, %eax
2176 movl %eax, %esi
2177 jbe .L394
2178 movl $-2147483647, %eax
2179 #APP
2180 # 297 "../sysdeps/x86/cpu-features.c" 1
2181 cpuid
2183 # 0 "" 2
2184 #NO_APP
2185 cmpl $-2147483642, %esi
2186 movl %eax, 84+_dl_x86_cpu_features(%rip)
2187 movl %ebx, 88+_dl_x86_cpu_features(%rip)
2188 movl %ecx, 92+_dl_x86_cpu_features(%rip)
2189 movl %edx, 96+_dl_x86_cpu_features(%rip)
2190 jbe .L394
2191 movl $-2147483641, %eax
2192 #APP
2193 # 303 "../sysdeps/x86/cpu-features.c" 1
2194 cpuid
2196 # 0 "" 2
2197 #NO_APP
2198 cmpl $-2147483641, %esi
2199 movl %eax, 148+_dl_x86_cpu_features(%rip)
2200 movl %ebx, 152+_dl_x86_cpu_features(%rip)
2201 movl %ecx, 156+_dl_x86_cpu_features(%rip)
2202 movl %edx, 160+_dl_x86_cpu_features(%rip)
2203 je .L394
2204 movl $-2147483640, %eax
2205 #APP
2206 # 309 "../sysdeps/x86/cpu-features.c" 1
2207 cpuid
2209 # 0 "" 2
2210 #NO_APP
2211 movl %eax, 180+_dl_x86_cpu_features(%rip)
2212 movl %ebx, 184+_dl_x86_cpu_features(%rip)
2213 movl %ecx, 188+_dl_x86_cpu_features(%rip)
2214 movl %edx, 192+_dl_x86_cpu_features(%rip)
2215 .L394:
2216 call update_usable.constprop.3
2217 cmpl $6, 144(%rsp)
2218 je .L511
2219 .L397:
2220 movl 276+_dl_x86_cpu_features(%rip), %eax
2221 movl %eax, %edx
2222 orb $8, %ah
2223 orb $64, %dh
2224 testb $8, 59+_dl_x86_cpu_features(%rip)
2225 cmove %edx, %eax
2226 movl %eax, 276+_dl_x86_cpu_features(%rip)
2227 movl $1, %eax
2228 jmp .L417
2229 .L508:
2230 cmpl $27, %eax
2231 je .L434
2232 cmpl $59, %eax
2233 jne .L432
2234 andl $-268435457, 44+_dl_x86_cpu_features(%rip)
2235 andl $-33, 72+_dl_x86_cpu_features(%rip)
2236 andl $-257, 276+_dl_x86_cpu_features(%rip)
2237 jmp .L432
2238 .L507:
2239 cmpl $15, %eax
2240 je .L434
2241 cmpl $25, %eax
2242 jne .L432
2243 .L434:
2244 movl 276+_dl_x86_cpu_features(%rip), %eax
2245 andl $-268435457, 44+_dl_x86_cpu_features(%rip)
2246 andl $-33, 72+_dl_x86_cpu_features(%rip)
2247 andb $-2, %ah
2248 orb $-128, %al
2249 movl %eax, 276+_dl_x86_cpu_features(%rip)
2250 jmp .L432
2251 .L511:
2252 movl 156(%rsp), %eax
2253 addl 148(%rsp), %eax
2254 cmpl $77, %eax
2255 movl %eax, 148(%rsp)
2256 ja .L399
2257 cmpl $76, %eax
2258 jnb .L400
2259 cmpl $38, %eax
2260 je .L401
2261 ja .L402
2262 cmpl $31, %eax
2263 ja .L403
2264 cmpl $30, %eax
2265 jnb .L404
2266 cmpl $26, %eax
2267 je .L404
2268 cmpl $28, %eax
2269 jne .L398
2270 .L401:
2271 orl $64, 276+_dl_x86_cpu_features(%rip)
2272 jmp .L397
2273 .L405:
2274 cmpl $55, %eax
2275 je .L400
2276 cmpl $74, %eax
2277 jne .L398
2278 .L400:
2279 orl $1200, 276+_dl_x86_cpu_features(%rip)
2280 .L410:
2281 cmpl $63, %eax
2282 movl 152(%rsp), %edx
2283 je .L411
2284 ja .L412
2285 cmpl $60, %eax
2286 jne .L397
2287 .L413:
2288 andl $-2049, 72+_dl_x86_cpu_features(%rip)
2289 jmp .L397
2290 .L399:
2291 cmpl $95, %eax
2292 je .L400
2293 jbe .L512
2294 cmpl $134, %eax
2295 je .L408
2296 jbe .L513
2297 cmpl $150, %eax
2298 je .L408
2299 cmpl $156, %eax
2300 jne .L398
2301 .L408:
2302 orl $1204, 276+_dl_x86_cpu_features(%rip)
2303 jmp .L410
2304 .L512:
2305 cmpl $90, %eax
2306 je .L400
2307 ja .L407
2308 cmpl $87, %eax
2309 je .L400
2310 .L398:
2311 testb $16, 31+_dl_x86_cpu_features(%rip)
2312 je .L410
2313 .L404:
2314 orl $1076, 276+_dl_x86_cpu_features(%rip)
2315 jmp .L410
2316 .L407:
2317 leal -92(%rax), %edx
2318 cmpl $1, %edx
2319 ja .L398
2320 jmp .L400
2321 .L412:
2322 subl $69, %eax
2323 cmpl $1, %eax
2324 ja .L397
2325 jmp .L413
2326 .L411:
2327 cmpl $3, %edx
2328 ja .L397
2329 jmp .L413
2330 .L501:
2331 movl $188, %edi
2332 call handle_amd
2333 movl $191, %edi
2334 movq %rax, %r15
2335 call handle_amd
2336 movl $194, %edi
2337 movq %rax, %r9
2338 call handle_amd
2339 movl $185, %edi
2340 movq %rax, %r8
2341 movq %rax, 184(%rsp)
2342 call handle_amd
2343 movl $189, %edi
2344 movq %rax, 40(%rsp)
2345 movq %r15, 48(%rsp)
2346 call handle_amd
2347 movl $190, %edi
2348 movq %rax, 56(%rsp)
2349 call handle_amd
2350 movl $192, %edi
2351 movq %r9, %r13
2352 movq %rax, 64(%rsp)
2353 call handle_amd
2354 movl $193, %edi
2355 movq %rax, 72(%rsp)
2356 call handle_amd
2357 movl $195, %edi
2358 movq %r8, %r14
2359 movq %rax, 80(%rsp)
2360 call handle_amd
2361 movl $196, %edi
2362 movq %rax, 88(%rsp)
2363 call handle_amd
2364 movq %rax, %r10
2365 movl $-2147483648, %eax
2366 #APP
2367 # 786 "../sysdeps/x86/dl-cacheinfo.h" 1
2368 cpuid
2370 # 0 "" 2
2371 #NO_APP
2372 testq %r8, %r8
2373 jle .L514
2374 cmpl $-2147483641, %eax
2375 jbe .L444
2376 movl $-2147483640, %eax
2377 #APP
2378 # 797 "../sysdeps/x86/dl-cacheinfo.h" 1
2379 cpuid
2381 # 0 "" 2
2382 #NO_APP
2383 movl $1, %eax
2384 shrl $12, %ecx
2385 andl $15, %ecx
2386 movl %eax, %edx
2387 sall %cl, %edx
2388 cmpl $22, %r11d
2389 movl %edx, 172(%rsp)
2390 jbe .L446
2391 #APP
2392 # 805 "../sysdeps/x86/dl-cacheinfo.h" 1
2393 cpuid
2395 # 0 "" 2
2396 #NO_APP
2397 andl $268435456, %edx
2398 je .L485
2399 .L484:
2400 shrl $16, %ebx
2401 movzbl %bl, %eax
2402 movl %eax, 172(%rsp)
2403 .L485:
2404 movl 172(%rsp), %edx
2405 testl %edx, %edx
2406 je .L447
2407 .L446:
2408 movq %r8, %rax
2409 movl %edx, %ecx
2410 cqto
2411 idivq %rcx
2412 movq %rax, 184(%rsp)
2413 .L447:
2414 cmpl $22, %r11d
2415 movq 184(%rsp), %rsi
2416 jbe .L448
2417 movl $-2147483619, %eax
2418 movl $3, %ecx
2419 #APP
2420 # 822 "../sysdeps/x86/dl-cacheinfo.h" 1
2421 cpuid
2423 # 0 "" 2
2424 #NO_APP
2425 shrl $14, %eax
2426 orq $-1, %rbx
2427 andl $4095, %eax
2428 addq $1, %rax
2429 imulq %rax, %rsi
2430 movq %rsi, 184(%rsp)
2431 jmp .L441
2432 .L513:
2433 cmpl $117, %eax
2434 je .L400
2435 cmpl $122, %eax
2436 jne .L398
2437 jmp .L400
2438 .L448:
2439 addq %r9, 184(%rsp)
2440 orq $-1, %rbx
2441 jmp .L441
2442 .L514:
2443 movq %r9, 184(%rsp)
2444 orq $-1, %rbx
2445 jmp .L441
2446 .L444:
2447 movl $1, %eax
2448 #APP
2449 # 805 "../sysdeps/x86/dl-cacheinfo.h" 1
2450 cpuid
2452 # 0 "" 2
2453 #NO_APP
2454 andl $268435456, %edx
2455 jne .L484
2456 jmp .L447
2457 .L464:
2458 leaq .LC8(%rip), %rdi
2459 call __libc_fatal
2460 .L510:
2461 movl 148(%rsp), %eax
2462 subl $96, %eax
2463 cmpl $31, %eax
2464 ja .L426
2465 movl 276+_dl_x86_cpu_features(%rip), %eax
2466 andb $-2, %ah
2467 orl $24, %eax
2468 movl %eax, 276+_dl_x86_cpu_features(%rip)
2469 jmp .L426
2470 .L403:
2471 cmpl $37, %eax
2472 je .L404
2473 jmp .L398
2474 .L402:
2475 cmpl $47, %eax
2476 ja .L405
2477 cmpl $46, %eax
2478 jnb .L404
2479 cmpl $44, %eax
2480 je .L404
2481 jmp .L398
2482 .size __libc_start_main, .-__libc_start_main
2483 .section .rodata.str1.16,"aMS",@progbits,1
2484 .align 16
2485 .type __PRETTY_FUNCTION__.10214, @object
2486 .size __PRETTY_FUNCTION__.10214, 17
2487 __PRETTY_FUNCTION__.10214:
2488 .string "intel_check_word"
2489 .align 16
2490 .type __PRETTY_FUNCTION__.11789, @object
2491 .size __PRETTY_FUNCTION__.11789, 18
2492 __PRETTY_FUNCTION__.11789:
2493 .string "__libc_start_main"
2494 .section .rodata
2495 .align 32
2496 .type intel_02_known, @object
2497 .size intel_02_known, 544
2498 intel_02_known:
2499 .byte 6
2500 .byte 4
2501 .byte 32
2502 .byte 0
2503 .long 8192
2504 .byte 8
2505 .byte 4
2506 .byte 32
2507 .byte 0
2508 .long 16384
2509 .byte 9
2510 .byte 4
2511 .byte 32
2512 .byte 0
2513 .long 32768
2514 .byte 10
2515 .byte 2
2516 .byte 32
2517 .byte 3
2518 .long 8192
2519 .byte 12
2520 .byte 4
2521 .byte 32
2522 .byte 3
2523 .long 16384
2524 .byte 13
2525 .byte 4
2526 .byte 64
2527 .byte 3
2528 .long 16384
2529 .byte 14
2530 .byte 6
2531 .byte 64
2532 .byte 3
2533 .long 24576
2534 .byte 33
2535 .byte 8
2536 .byte 64
2537 .byte 6
2538 .long 262144
2539 .byte 34
2540 .byte 4
2541 .byte 64
2542 .byte 9
2543 .long 524288
2544 .byte 35
2545 .byte 8
2546 .byte 64
2547 .byte 9
2548 .long 1048576
2549 .byte 37
2550 .byte 8
2551 .byte 64
2552 .byte 9
2553 .long 2097152
2554 .byte 41
2555 .byte 8
2556 .byte 64
2557 .byte 9
2558 .long 4194304
2559 .byte 44
2560 .byte 8
2561 .byte 64
2562 .byte 3
2563 .long 32768
2564 .byte 48
2565 .byte 8
2566 .byte 64
2567 .byte 0
2568 .long 32768
2569 .byte 57
2570 .byte 4
2571 .byte 64
2572 .byte 6
2573 .long 131072
2574 .byte 58
2575 .byte 6
2576 .byte 64
2577 .byte 6
2578 .long 196608
2579 .byte 59
2580 .byte 2
2581 .byte 64
2582 .byte 6
2583 .long 131072
2584 .byte 60
2585 .byte 4
2586 .byte 64
2587 .byte 6
2588 .long 262144
2589 .byte 61
2590 .byte 6
2591 .byte 64
2592 .byte 6
2593 .long 393216
2594 .byte 62
2595 .byte 4
2596 .byte 64
2597 .byte 6
2598 .long 524288
2599 .byte 63
2600 .byte 2
2601 .byte 64
2602 .byte 6
2603 .long 262144
2604 .byte 65
2605 .byte 4
2606 .byte 32
2607 .byte 6
2608 .long 131072
2609 .byte 66
2610 .byte 4
2611 .byte 32
2612 .byte 6
2613 .long 262144
2614 .byte 67
2615 .byte 4
2616 .byte 32
2617 .byte 6
2618 .long 524288
2619 .byte 68
2620 .byte 4
2621 .byte 32
2622 .byte 6
2623 .long 1048576
2624 .byte 69
2625 .byte 4
2626 .byte 32
2627 .byte 6
2628 .long 2097152
2629 .byte 70
2630 .byte 4
2631 .byte 64
2632 .byte 9
2633 .long 4194304
2634 .byte 71
2635 .byte 8
2636 .byte 64
2637 .byte 9
2638 .long 8388608
2639 .byte 72
2640 .byte 12
2641 .byte 64
2642 .byte 6
2643 .long 3145728
2644 .byte 73
2645 .byte 16
2646 .byte 64
2647 .byte 6
2648 .long 4194304
2649 .byte 74
2650 .byte 12
2651 .byte 64
2652 .byte 9
2653 .long 6291456
2654 .byte 75
2655 .byte 16
2656 .byte 64
2657 .byte 9
2658 .long 8388608
2659 .byte 76
2660 .byte 12
2661 .byte 64
2662 .byte 9
2663 .long 12582912
2664 .byte 77
2665 .byte 16
2666 .byte 64
2667 .byte 9
2668 .long 16777216
2669 .byte 78
2670 .byte 24
2671 .byte 64
2672 .byte 6
2673 .long 6291456
2674 .byte 96
2675 .byte 8
2676 .byte 64
2677 .byte 3
2678 .long 16384
2679 .byte 102
2680 .byte 4
2681 .byte 64
2682 .byte 3
2683 .long 8192
2684 .byte 103
2685 .byte 4
2686 .byte 64
2687 .byte 3
2688 .long 16384
2689 .byte 104
2690 .byte 4
2691 .byte 64
2692 .byte 3
2693 .long 32768
2694 .byte 120
2695 .byte 8
2696 .byte 64
2697 .byte 6
2698 .long 1048576
2699 .byte 121
2700 .byte 8
2701 .byte 64
2702 .byte 6
2703 .long 131072
2704 .byte 122
2705 .byte 8
2706 .byte 64
2707 .byte 6
2708 .long 262144
2709 .byte 123
2710 .byte 8
2711 .byte 64
2712 .byte 6
2713 .long 524288
2714 .byte 124
2715 .byte 8
2716 .byte 64
2717 .byte 6
2718 .long 1048576
2719 .byte 125
2720 .byte 8
2721 .byte 64
2722 .byte 6
2723 .long 2097152
2724 .byte 127
2725 .byte 2
2726 .byte 64
2727 .byte 6
2728 .long 524288
2729 .byte -128
2730 .byte 8
2731 .byte 64
2732 .byte 6
2733 .long 524288
2734 .byte -126
2735 .byte 8
2736 .byte 32
2737 .byte 6
2738 .long 262144
2739 .byte -125
2740 .byte 8
2741 .byte 32
2742 .byte 6
2743 .long 524288
2744 .byte -124
2745 .byte 8
2746 .byte 32
2747 .byte 6
2748 .long 1048576
2749 .byte -123
2750 .byte 8
2751 .byte 32
2752 .byte 6
2753 .long 2097152
2754 .byte -122
2755 .byte 4
2756 .byte 64
2757 .byte 6
2758 .long 524288
2759 .byte -121
2760 .byte 8
2761 .byte 64
2762 .byte 6
2763 .long 1048576
2764 .byte -48
2765 .byte 4
2766 .byte 64
2767 .byte 9
2768 .long 524288
2769 .byte -47
2770 .byte 4
2771 .byte 64
2772 .byte 9
2773 .long 1048576
2774 .byte -46
2775 .byte 4
2776 .byte 64
2777 .byte 9
2778 .long 2097152
2779 .byte -42
2780 .byte 8
2781 .byte 64
2782 .byte 9
2783 .long 1048576
2784 .byte -41
2785 .byte 8
2786 .byte 64
2787 .byte 9
2788 .long 2097152
2789 .byte -40
2790 .byte 8
2791 .byte 64
2792 .byte 9
2793 .long 4194304
2794 .byte -36
2795 .byte 12
2796 .byte 64
2797 .byte 9
2798 .long 2097152
2799 .byte -35
2800 .byte 12
2801 .byte 64
2802 .byte 9
2803 .long 4194304
2804 .byte -34
2805 .byte 12
2806 .byte 64
2807 .byte 9
2808 .long 8388608
2809 .byte -30
2810 .byte 16
2811 .byte 64
2812 .byte 9
2813 .long 2097152
2814 .byte -29
2815 .byte 16
2816 .byte 64
2817 .byte 9
2818 .long 4194304
2819 .byte -28
2820 .byte 16
2821 .byte 64
2822 .byte 9
2823 .long 8388608
2824 .byte -22
2825 .byte 24
2826 .byte 64
2827 .byte 9
2828 .long 12582912
2829 .byte -21
2830 .byte 24
2831 .byte 64
2832 .byte 9
2833 .long 18874368
2834 .byte -20
2835 .byte 24
2836 .byte 64
2837 .byte 9
2838 .long 25165824
2839 .hidden __x86_rep_stosb_threshold
2840 .globl __x86_rep_stosb_threshold
2841 .data
2842 .align 8
2843 .type __x86_rep_stosb_threshold, @object
2844 .size __x86_rep_stosb_threshold, 8
2845 __x86_rep_stosb_threshold:
2846 .quad 2048
2847 .hidden __x86_rep_movsb_threshold
2848 .globl __x86_rep_movsb_threshold
2849 .align 8
2850 .type __x86_rep_movsb_threshold, @object
2851 .size __x86_rep_movsb_threshold, 8
2852 __x86_rep_movsb_threshold:
2853 .quad 2048
2854 .hidden __x86_shared_non_temporal_threshold
2855 .comm __x86_shared_non_temporal_threshold,8,8
2856 .hidden __x86_raw_shared_cache_size
2857 .globl __x86_raw_shared_cache_size
2858 .align 8
2859 .type __x86_raw_shared_cache_size, @object
2860 .size __x86_raw_shared_cache_size, 8
2861 __x86_raw_shared_cache_size:
2862 .quad 1048576
2863 .hidden __x86_raw_shared_cache_size_half
2864 .globl __x86_raw_shared_cache_size_half
2865 .align 8
2866 .type __x86_raw_shared_cache_size_half, @object
2867 .size __x86_raw_shared_cache_size_half, 8
2868 __x86_raw_shared_cache_size_half:
2869 .quad 524288
2870 .hidden __x86_shared_cache_size
2871 .globl __x86_shared_cache_size
2872 .align 8
2873 .type __x86_shared_cache_size, @object
2874 .size __x86_shared_cache_size, 8
2875 __x86_shared_cache_size:
2876 .quad 1048576
2877 .hidden __x86_shared_cache_size_half
2878 .globl __x86_shared_cache_size_half
2879 .align 8
2880 .type __x86_shared_cache_size_half, @object
2881 .size __x86_shared_cache_size_half, 8
2882 __x86_shared_cache_size_half:
2883 .quad 524288
2884 .hidden __x86_raw_data_cache_size
2885 .globl __x86_raw_data_cache_size
2886 .align 8
2887 .type __x86_raw_data_cache_size, @object
2888 .size __x86_raw_data_cache_size, 8
2889 __x86_raw_data_cache_size:
2890 .quad 32768
2891 .hidden __x86_raw_data_cache_size_half
2892 .globl __x86_raw_data_cache_size_half
2893 .align 8
2894 .type __x86_raw_data_cache_size_half, @object
2895 .size __x86_raw_data_cache_size_half, 8
2896 __x86_raw_data_cache_size_half:
2897 .quad 16384
2898 .hidden __x86_data_cache_size
2899 .globl __x86_data_cache_size
2900 .align 8
2901 .type __x86_data_cache_size, @object
2902 .size __x86_data_cache_size, 8
2903 __x86_data_cache_size:
2904 .quad 32768
2905 .hidden __x86_data_cache_size_half
2906 .globl __x86_data_cache_size_half
2907 .align 8
2908 .type __x86_data_cache_size_half, @object
2909 .size __x86_data_cache_size_half, 8
2910 __x86_data_cache_size_half:
2911 .quad 16384
2912 .weak __nptl_nthreads
2913 .weak __nptl_deallocate_tsd
2914 .weak __pthread_initialize_minimal
2915 .weak __rela_iplt_end
2916 .weak __rela_iplt_start
2917 .hidden __libc_fatal
2918 .hidden _dl_platform
2919 .hidden __nptl_nthreads
2920 .hidden __nptl_deallocate_tsd
2921 .hidden _dl_phnum
2922 .hidden __ehdr_start
2923 .hidden exit
2924 .hidden _setjmp
2925 .hidden _dl_debug_initialize
2926 .hidden __libc_check_standard_fds
2927 .hidden __libc_enable_secure
2928 .hidden __libc_init_first
2929 .hidden __libc_early_init
2930 .hidden __cxa_atexit
2931 .hidden __pthread_initialize_minimal
2932 .hidden _dl_osversion
2933 .hidden _dl_discover_osversion
2934 .hidden _dl_random
2935 .hidden __libc_setup_tls
2936 .hidden __rela_iplt_end
2937 .hidden __rela_iplt_start
2938 .hidden _dl_relocate_static_pie
2939 .hidden _dl_hwcap
2940 .hidden _dl_tunable_set_hwcaps
2941 .hidden __tunable_set_val
2942 .hidden __tunable_get_val
2943 .hidden __tunables_init
2944 .hidden __libc_init_secure
2945 .hidden _dl_phdr
2946 .hidden _dl_aux_init
2947 .hidden __libc_stack_end
2948 .hidden __environ
2949 .hidden __assert_fail
2950 .hidden _dl_x86_cpu_features