Lines Matching full:linux

4 …riple=x86_64-unknown-linux-gnu -relocation-model=static -code-model=small -pre-RA-sched=list-ilp |…
5 …mtriple=i686-unknown-linux-gnu -relocation-model=static -code-model=small -pre-RA-sched=list-ilp |…
6 … -mtriple=i686-unknown-linux-gnu -relocation-model=pic -code-model=small -pre-RA-sched=list-ilp | …
7 …mtriple=x86_64-unknown-linux-gnu -relocation-model=pic -code-model=small -pre-RA-sched=list-ilp | …
37 ; LINUX-64-STATIC-LABEL: foo00:
38 ; LINUX-64-STATIC: # %bb.0: # %entry
39 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
40 ; LINUX-64-STATIC-NEXT: movl (%rax), %eax
41 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
42 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx)
43 ; LINUX-64-STATIC-NEXT: retq
45 ; LINUX-32-STATIC-LABEL: foo00:
46 ; LINUX-32-STATIC: # %bb.0: # %entry
47 ; LINUX-32-STATIC-NEXT: movl src, %eax
48 ; LINUX-32-STATIC-NEXT: movl %eax, dst
49 ; LINUX-32-STATIC-NEXT: retl
51 ; LINUX-32-PIC-LABEL: foo00:
52 ; LINUX-32-PIC: # %bb.0: # %entry
53 ; LINUX-32-PIC-NEXT: calll .L0$pb
54 ; LINUX-32-PIC-NEXT: .L0$pb:
55 ; LINUX-32-PIC-NEXT: popl %eax
56 ; LINUX-32-PIC-NEXT: .Ltmp0:
57 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L0$pb), %eax
58 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %ecx
59 ; LINUX-32-PIC-NEXT: movl (%ecx), %ecx
60 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
61 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
62 ; LINUX-32-PIC-NEXT: retl
64 ; LINUX-64-PIC-LABEL: foo00:
65 ; LINUX-64-PIC: # %bb.0: # %entry
66 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
67 ; LINUX-64-PIC-NEXT: movl (%rax), %eax
68 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
69 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx)
70 ; LINUX-64-PIC-NEXT: retq
129 ; LINUX-64-STATIC-LABEL: fxo00:
130 ; LINUX-64-STATIC: # %bb.0: # %entry
131 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
132 ; LINUX-64-STATIC-NEXT: movl (%rax), %eax
133 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
134 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx)
135 ; LINUX-64-STATIC-NEXT: retq
137 ; LINUX-32-STATIC-LABEL: fxo00:
138 ; LINUX-32-STATIC: # %bb.0: # %entry
139 ; LINUX-32-STATIC-NEXT: movl xsrc, %eax
140 ; LINUX-32-STATIC-NEXT: movl %eax, xdst
141 ; LINUX-32-STATIC-NEXT: retl
143 ; LINUX-32-PIC-LABEL: fxo00:
144 ; LINUX-32-PIC: # %bb.0: # %entry
145 ; LINUX-32-PIC-NEXT: calll .L1$pb
146 ; LINUX-32-PIC-NEXT: .L1$pb:
147 ; LINUX-32-PIC-NEXT: popl %eax
148 ; LINUX-32-PIC-NEXT: .Ltmp1:
149 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp1-.L1$pb), %eax
150 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %ecx
151 ; LINUX-32-PIC-NEXT: movl (%ecx), %ecx
152 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
153 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
154 ; LINUX-32-PIC-NEXT: retl
156 ; LINUX-64-PIC-LABEL: fxo00:
157 ; LINUX-64-PIC: # %bb.0: # %entry
158 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
159 ; LINUX-64-PIC-NEXT: movl (%rax), %eax
160 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
161 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx)
162 ; LINUX-64-PIC-NEXT: retq
221 ; LINUX-64-STATIC-LABEL: foo01:
222 ; LINUX-64-STATIC: # %bb.0: # %entry
223 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
224 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
225 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
226 ; LINUX-64-STATIC-NEXT: retq
228 ; LINUX-32-STATIC-LABEL: foo01:
229 ; LINUX-32-STATIC: # %bb.0: # %entry
230 ; LINUX-32-STATIC-NEXT: movl $dst, ptr
231 ; LINUX-32-STATIC-NEXT: retl
233 ; LINUX-32-PIC-LABEL: foo01:
234 ; LINUX-32-PIC: # %bb.0: # %entry
235 ; LINUX-32-PIC-NEXT: calll .L2$pb
236 ; LINUX-32-PIC-NEXT: .L2$pb:
237 ; LINUX-32-PIC-NEXT: popl %eax
238 ; LINUX-32-PIC-NEXT: .Ltmp2:
239 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp2-.L2$pb), %eax
240 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %ecx
241 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
242 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
243 ; LINUX-32-PIC-NEXT: retl
245 ; LINUX-64-PIC-LABEL: foo01:
246 ; LINUX-64-PIC: # %bb.0: # %entry
247 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
248 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
249 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
250 ; LINUX-64-PIC-NEXT: retq
301 ; LINUX-64-STATIC-LABEL: fxo01:
302 ; LINUX-64-STATIC: # %bb.0: # %entry
303 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
304 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
305 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
306 ; LINUX-64-STATIC-NEXT: retq
308 ; LINUX-32-STATIC-LABEL: fxo01:
309 ; LINUX-32-STATIC: # %bb.0: # %entry
310 ; LINUX-32-STATIC-NEXT: movl $xdst, ptr
311 ; LINUX-32-STATIC-NEXT: retl
313 ; LINUX-32-PIC-LABEL: fxo01:
314 ; LINUX-32-PIC: # %bb.0: # %entry
315 ; LINUX-32-PIC-NEXT: calll .L3$pb
316 ; LINUX-32-PIC-NEXT: .L3$pb:
317 ; LINUX-32-PIC-NEXT: popl %eax
318 ; LINUX-32-PIC-NEXT: .Ltmp3:
319 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp3-.L3$pb), %eax
320 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %ecx
321 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
322 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
323 ; LINUX-32-PIC-NEXT: retl
325 ; LINUX-64-PIC-LABEL: fxo01:
326 ; LINUX-64-PIC: # %bb.0: # %entry
327 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
328 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
329 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
330 ; LINUX-64-PIC-NEXT: retq
381 ; LINUX-64-STATIC-LABEL: foo02:
382 ; LINUX-64-STATIC: # %bb.0: # %entry
383 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
384 ; LINUX-64-STATIC-NEXT: movl (%rax), %eax
385 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
386 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
387 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx)
388 ; LINUX-64-STATIC-NEXT: retq
390 ; LINUX-32-STATIC-LABEL: foo02:
391 ; LINUX-32-STATIC: # %bb.0: # %entry
392 ; LINUX-32-STATIC-NEXT: movl src, %eax
393 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
394 ; LINUX-32-STATIC-NEXT: movl %eax, (%ecx)
395 ; LINUX-32-STATIC-NEXT: retl
397 ; LINUX-32-PIC-LABEL: foo02:
398 ; LINUX-32-PIC: # %bb.0: # %entry
399 ; LINUX-32-PIC-NEXT: calll .L4$pb
400 ; LINUX-32-PIC-NEXT: .L4$pb:
401 ; LINUX-32-PIC-NEXT: popl %eax
402 ; LINUX-32-PIC-NEXT: .Ltmp4:
403 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp4-.L4$pb), %eax
404 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %ecx
405 ; LINUX-32-PIC-NEXT: movl (%ecx), %ecx
406 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
407 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
408 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
409 ; LINUX-32-PIC-NEXT: retl
411 ; LINUX-64-PIC-LABEL: foo02:
412 ; LINUX-64-PIC: # %bb.0: # %entry
413 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
414 ; LINUX-64-PIC-NEXT: movl (%rax), %eax
415 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
416 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
417 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx)
418 ; LINUX-64-PIC-NEXT: retq
483 ; LINUX-64-STATIC-LABEL: fxo02:
484 ; LINUX-64-STATIC: # %bb.0: # %entry
485 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
486 ; LINUX-64-STATIC-NEXT: movl (%rax), %eax
487 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
488 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
489 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx)
490 ; LINUX-64-STATIC-NEXT: retq
492 ; LINUX-32-STATIC-LABEL: fxo02:
493 ; LINUX-32-STATIC: # %bb.0: # %entry
494 ; LINUX-32-STATIC-NEXT: movl xsrc, %eax
495 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
496 ; LINUX-32-STATIC-NEXT: movl %eax, (%ecx)
497 ; LINUX-32-STATIC-NEXT: retl
499 ; LINUX-32-PIC-LABEL: fxo02:
500 ; LINUX-32-PIC: # %bb.0: # %entry
501 ; LINUX-32-PIC-NEXT: calll .L5$pb
502 ; LINUX-32-PIC-NEXT: .L5$pb:
503 ; LINUX-32-PIC-NEXT: popl %eax
504 ; LINUX-32-PIC-NEXT: .Ltmp5:
505 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp5-.L5$pb), %eax
506 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %ecx
507 ; LINUX-32-PIC-NEXT: movl (%ecx), %ecx
508 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
509 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
510 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
511 ; LINUX-32-PIC-NEXT: retl
513 ; LINUX-64-PIC-LABEL: fxo02:
514 ; LINUX-64-PIC: # %bb.0: # %entry
515 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
516 ; LINUX-64-PIC-NEXT: movl (%rax), %eax
517 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
518 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
519 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx)
520 ; LINUX-64-PIC-NEXT: retq
585 ; LINUX-64-STATIC-LABEL: foo03:
586 ; LINUX-64-STATIC: # %bb.0: # %entry
587 ; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax
588 ; LINUX-64-STATIC-NEXT: movl %eax, ddst(%rip)
589 ; LINUX-64-STATIC-NEXT: retq
591 ; LINUX-32-STATIC-LABEL: foo03:
592 ; LINUX-32-STATIC: # %bb.0: # %entry
593 ; LINUX-32-STATIC-NEXT: movl dsrc, %eax
594 ; LINUX-32-STATIC-NEXT: movl %eax, ddst
595 ; LINUX-32-STATIC-NEXT: retl
597 ; LINUX-32-PIC-LABEL: foo03:
598 ; LINUX-32-PIC: # %bb.0: # %entry
599 ; LINUX-32-PIC-NEXT: calll .L6$pb
600 ; LINUX-32-PIC-NEXT: .L6$pb:
601 ; LINUX-32-PIC-NEXT: popl %eax
602 ; LINUX-32-PIC-NEXT: .Ltmp6:
603 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp6-.L6$pb), %eax
604 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF(%eax), %ecx
605 ; LINUX-32-PIC-NEXT: movl %ecx, .Lddst$local@GOTOFF(%eax)
606 ; LINUX-32-PIC-NEXT: retl
608 ; LINUX-64-PIC-LABEL: foo03:
609 ; LINUX-64-PIC: # %bb.0: # %entry
610 ; LINUX-64-PIC-NEXT: movl .Ldsrc$local(%rip), %eax
611 ; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local(%rip)
612 ; LINUX-64-PIC-NEXT: retq
660 ; LINUX-64-STATIC-LABEL: foo04:
661 ; LINUX-64-STATIC: # %bb.0: # %entry
662 ; LINUX-64-STATIC-NEXT: movq $ddst, dptr(%rip)
663 ; LINUX-64-STATIC-NEXT: retq
665 ; LINUX-32-STATIC-LABEL: foo04:
666 ; LINUX-32-STATIC: # %bb.0: # %entry
667 ; LINUX-32-STATIC-NEXT: movl $ddst, dptr
668 ; LINUX-32-STATIC-NEXT: retl
670 ; LINUX-32-PIC-LABEL: foo04:
671 ; LINUX-32-PIC: # %bb.0: # %entry
672 ; LINUX-32-PIC-NEXT: calll .L7$pb
673 ; LINUX-32-PIC-NEXT: .L7$pb:
674 ; LINUX-32-PIC-NEXT: popl %eax
675 ; LINUX-32-PIC-NEXT: .Ltmp7:
676 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp7-.L7$pb), %eax
677 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF(%eax), %ecx
678 ; LINUX-32-PIC-NEXT: movl %ecx, .Ldptr$local@GOTOFF(%eax)
679 ; LINUX-32-PIC-NEXT: retl
681 ; LINUX-64-PIC-LABEL: foo04:
682 ; LINUX-64-PIC: # %bb.0: # %entry
683 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
684 ; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip)
685 ; LINUX-64-PIC-NEXT: retq
730 ; LINUX-64-STATIC-LABEL: foo05:
731 ; LINUX-64-STATIC: # %bb.0: # %entry
732 ; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax
733 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx
734 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx)
735 ; LINUX-64-STATIC-NEXT: retq
737 ; LINUX-32-STATIC-LABEL: foo05:
738 ; LINUX-32-STATIC: # %bb.0: # %entry
739 ; LINUX-32-STATIC-NEXT: movl dsrc, %eax
740 ; LINUX-32-STATIC-NEXT: movl dptr, %ecx
741 ; LINUX-32-STATIC-NEXT: movl %eax, (%ecx)
742 ; LINUX-32-STATIC-NEXT: retl
744 ; LINUX-32-PIC-LABEL: foo05:
745 ; LINUX-32-PIC: # %bb.0: # %entry
746 ; LINUX-32-PIC-NEXT: calll .L8$pb
747 ; LINUX-32-PIC-NEXT: .L8$pb:
748 ; LINUX-32-PIC-NEXT: popl %eax
749 ; LINUX-32-PIC-NEXT: .Ltmp8:
750 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp8-.L8$pb), %eax
751 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF(%eax), %ecx
752 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
753 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
754 ; LINUX-32-PIC-NEXT: retl
756 ; LINUX-64-PIC-LABEL: foo05:
757 ; LINUX-64-PIC: # %bb.0: # %entry
758 ; LINUX-64-PIC-NEXT: movl .Ldsrc$local(%rip), %eax
759 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx
760 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx)
761 ; LINUX-64-PIC-NEXT: retq
816 ; LINUX-64-STATIC-LABEL: foo06:
817 ; LINUX-64-STATIC: # %bb.0: # %entry
818 ; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax
819 ; LINUX-64-STATIC-NEXT: movl %eax, ldst(%rip)
820 ; LINUX-64-STATIC-NEXT: retq
822 ; LINUX-32-STATIC-LABEL: foo06:
823 ; LINUX-32-STATIC: # %bb.0: # %entry
824 ; LINUX-32-STATIC-NEXT: movl lsrc, %eax
825 ; LINUX-32-STATIC-NEXT: movl %eax, ldst
826 ; LINUX-32-STATIC-NEXT: retl
828 ; LINUX-32-PIC-LABEL: foo06:
829 ; LINUX-32-PIC: # %bb.0: # %entry
830 ; LINUX-32-PIC-NEXT: calll .L9$pb
831 ; LINUX-32-PIC-NEXT: .L9$pb:
832 ; LINUX-32-PIC-NEXT: popl %eax
833 ; LINUX-32-PIC-NEXT: .Ltmp9:
834 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp9-.L9$pb), %eax
835 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF(%eax), %ecx
836 ; LINUX-32-PIC-NEXT: movl %ecx, ldst@GOTOFF(%eax)
837 ; LINUX-32-PIC-NEXT: retl
839 ; LINUX-64-PIC-LABEL: foo06:
840 ; LINUX-64-PIC: # %bb.0: # %entry
841 ; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax
842 ; LINUX-64-PIC-NEXT: movl %eax, ldst(%rip)
843 ; LINUX-64-PIC-NEXT: retq
891 ; LINUX-64-STATIC-LABEL: foo07:
892 ; LINUX-64-STATIC: # %bb.0: # %entry
893 ; LINUX-64-STATIC-NEXT: movq $ldst, lptr(%rip)
894 ; LINUX-64-STATIC-NEXT: retq
896 ; LINUX-32-STATIC-LABEL: foo07:
897 ; LINUX-32-STATIC: # %bb.0: # %entry
898 ; LINUX-32-STATIC-NEXT: movl $ldst, lptr
899 ; LINUX-32-STATIC-NEXT: retl
901 ; LINUX-32-PIC-LABEL: foo07:
902 ; LINUX-32-PIC: # %bb.0: # %entry
903 ; LINUX-32-PIC-NEXT: calll .L10$pb
904 ; LINUX-32-PIC-NEXT: .L10$pb:
905 ; LINUX-32-PIC-NEXT: popl %eax
906 ; LINUX-32-PIC-NEXT: .Ltmp10:
907 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp10-.L10$pb), %eax
908 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF(%eax), %ecx
909 ; LINUX-32-PIC-NEXT: movl %ecx, lptr@GOTOFF(%eax)
910 ; LINUX-32-PIC-NEXT: retl
912 ; LINUX-64-PIC-LABEL: foo07:
913 ; LINUX-64-PIC: # %bb.0: # %entry
914 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
915 ; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip)
916 ; LINUX-64-PIC-NEXT: retq
961 ; LINUX-64-STATIC-LABEL: foo08:
962 ; LINUX-64-STATIC: # %bb.0: # %entry
963 ; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax
964 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx
965 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx)
966 ; LINUX-64-STATIC-NEXT: retq
968 ; LINUX-32-STATIC-LABEL: foo08:
969 ; LINUX-32-STATIC: # %bb.0: # %entry
970 ; LINUX-32-STATIC-NEXT: movl lsrc, %eax
971 ; LINUX-32-STATIC-NEXT: movl lptr, %ecx
972 ; LINUX-32-STATIC-NEXT: movl %eax, (%ecx)
973 ; LINUX-32-STATIC-NEXT: retl
975 ; LINUX-32-PIC-LABEL: foo08:
976 ; LINUX-32-PIC: # %bb.0: # %entry
977 ; LINUX-32-PIC-NEXT: calll .L11$pb
978 ; LINUX-32-PIC-NEXT: .L11$pb:
979 ; LINUX-32-PIC-NEXT: popl %eax
980 ; LINUX-32-PIC-NEXT: .Ltmp11:
981 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp11-.L11$pb), %eax
982 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF(%eax), %ecx
983 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
984 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
985 ; LINUX-32-PIC-NEXT: retl
987 ; LINUX-64-PIC-LABEL: foo08:
988 ; LINUX-64-PIC: # %bb.0: # %entry
989 ; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax
990 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx
991 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx)
992 ; LINUX-64-PIC-NEXT: retq
1047 ; LINUX-64-STATIC-LABEL: qux00:
1048 ; LINUX-64-STATIC: # %bb.0: # %entry
1049 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
1050 ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax
1051 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
1052 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx)
1053 ; LINUX-64-STATIC-NEXT: retq
1055 ; LINUX-32-STATIC-LABEL: qux00:
1056 ; LINUX-32-STATIC: # %bb.0: # %entry
1057 ; LINUX-32-STATIC-NEXT: movl src+64, %eax
1058 ; LINUX-32-STATIC-NEXT: movl %eax, dst+64
1059 ; LINUX-32-STATIC-NEXT: retl
1061 ; LINUX-32-PIC-LABEL: qux00:
1062 ; LINUX-32-PIC: # %bb.0: # %entry
1063 ; LINUX-32-PIC-NEXT: calll .L12$pb
1064 ; LINUX-32-PIC-NEXT: .L12$pb:
1065 ; LINUX-32-PIC-NEXT: popl %eax
1066 ; LINUX-32-PIC-NEXT: .Ltmp12:
1067 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp12-.L12$pb), %eax
1068 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %ecx
1069 ; LINUX-32-PIC-NEXT: movl 64(%ecx), %ecx
1070 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
1071 ; LINUX-32-PIC-NEXT: movl %ecx, 64(%eax)
1072 ; LINUX-32-PIC-NEXT: retl
1074 ; LINUX-64-PIC-LABEL: qux00:
1075 ; LINUX-64-PIC: # %bb.0: # %entry
1076 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
1077 ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax
1078 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
1079 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx)
1080 ; LINUX-64-PIC-NEXT: retq
1138 ; LINUX-64-STATIC-LABEL: qxx00:
1139 ; LINUX-64-STATIC: # %bb.0: # %entry
1140 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
1141 ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax
1142 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
1143 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx)
1144 ; LINUX-64-STATIC-NEXT: retq
1146 ; LINUX-32-STATIC-LABEL: qxx00:
1147 ; LINUX-32-STATIC: # %bb.0: # %entry
1148 ; LINUX-32-STATIC-NEXT: movl xsrc+64, %eax
1149 ; LINUX-32-STATIC-NEXT: movl %eax, xdst+64
1150 ; LINUX-32-STATIC-NEXT: retl
1152 ; LINUX-32-PIC-LABEL: qxx00:
1153 ; LINUX-32-PIC: # %bb.0: # %entry
1154 ; LINUX-32-PIC-NEXT: calll .L13$pb
1155 ; LINUX-32-PIC-NEXT: .L13$pb:
1156 ; LINUX-32-PIC-NEXT: popl %eax
1157 ; LINUX-32-PIC-NEXT: .Ltmp13:
1158 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp13-.L13$pb), %eax
1159 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %ecx
1160 ; LINUX-32-PIC-NEXT: movl 64(%ecx), %ecx
1161 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
1162 ; LINUX-32-PIC-NEXT: movl %ecx, 64(%eax)
1163 ; LINUX-32-PIC-NEXT: retl
1165 ; LINUX-64-PIC-LABEL: qxx00:
1166 ; LINUX-64-PIC: # %bb.0: # %entry
1167 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
1168 ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax
1169 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
1170 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx)
1171 ; LINUX-64-PIC-NEXT: retq
1229 ; LINUX-64-STATIC-LABEL: qux01:
1230 ; LINUX-64-STATIC: # %bb.0: # %entry
1231 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
1232 ; LINUX-64-STATIC-NEXT: addq $64, %rax
1233 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1234 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
1235 ; LINUX-64-STATIC-NEXT: retq
1237 ; LINUX-32-STATIC-LABEL: qux01:
1238 ; LINUX-32-STATIC: # %bb.0: # %entry
1239 ; LINUX-32-STATIC-NEXT: leal dst+64, %eax
1240 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
1241 ; LINUX-32-STATIC-NEXT: retl
1243 ; LINUX-32-PIC-LABEL: qux01:
1244 ; LINUX-32-PIC: # %bb.0: # %entry
1245 ; LINUX-32-PIC-NEXT: calll .L14$pb
1246 ; LINUX-32-PIC-NEXT: .L14$pb:
1247 ; LINUX-32-PIC-NEXT: popl %eax
1248 ; LINUX-32-PIC-NEXT: .Ltmp14:
1249 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp14-.L14$pb), %eax
1250 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %ecx
1251 ; LINUX-32-PIC-NEXT: addl $64, %ecx
1252 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
1253 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
1254 ; LINUX-32-PIC-NEXT: retl
1256 ; LINUX-64-PIC-LABEL: qux01:
1257 ; LINUX-64-PIC: # %bb.0: # %entry
1258 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
1259 ; LINUX-64-PIC-NEXT: addq $64, %rax
1260 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1261 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
1262 ; LINUX-64-PIC-NEXT: retq
1318 ; LINUX-64-STATIC-LABEL: qxx01:
1319 ; LINUX-64-STATIC: # %bb.0: # %entry
1320 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
1321 ; LINUX-64-STATIC-NEXT: addq $64, %rax
1322 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1323 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
1324 ; LINUX-64-STATIC-NEXT: retq
1326 ; LINUX-32-STATIC-LABEL: qxx01:
1327 ; LINUX-32-STATIC: # %bb.0: # %entry
1328 ; LINUX-32-STATIC-NEXT: leal xdst+64, %eax
1329 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
1330 ; LINUX-32-STATIC-NEXT: retl
1332 ; LINUX-32-PIC-LABEL: qxx01:
1333 ; LINUX-32-PIC: # %bb.0: # %entry
1334 ; LINUX-32-PIC-NEXT: calll .L15$pb
1335 ; LINUX-32-PIC-NEXT: .L15$pb:
1336 ; LINUX-32-PIC-NEXT: popl %eax
1337 ; LINUX-32-PIC-NEXT: .Ltmp15:
1338 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp15-.L15$pb), %eax
1339 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %ecx
1340 ; LINUX-32-PIC-NEXT: addl $64, %ecx
1341 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
1342 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
1343 ; LINUX-32-PIC-NEXT: retl
1345 ; LINUX-64-PIC-LABEL: qxx01:
1346 ; LINUX-64-PIC: # %bb.0: # %entry
1347 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
1348 ; LINUX-64-PIC-NEXT: addq $64, %rax
1349 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1350 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
1351 ; LINUX-64-PIC-NEXT: retq
1407 ; LINUX-64-STATIC-LABEL: qux02:
1408 ; LINUX-64-STATIC: # %bb.0: # %entry
1409 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
1410 ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax
1411 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1412 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
1413 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx)
1414 ; LINUX-64-STATIC-NEXT: retq
1416 ; LINUX-32-STATIC-LABEL: qux02:
1417 ; LINUX-32-STATIC: # %bb.0: # %entry
1418 ; LINUX-32-STATIC-NEXT: movl src+64, %eax
1419 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
1420 ; LINUX-32-STATIC-NEXT: movl %eax, 64(%ecx)
1421 ; LINUX-32-STATIC-NEXT: retl
1423 ; LINUX-32-PIC-LABEL: qux02:
1424 ; LINUX-32-PIC: # %bb.0: # %entry
1425 ; LINUX-32-PIC-NEXT: calll .L16$pb
1426 ; LINUX-32-PIC-NEXT: .L16$pb:
1427 ; LINUX-32-PIC-NEXT: popl %eax
1428 ; LINUX-32-PIC-NEXT: .Ltmp16:
1429 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp16-.L16$pb), %eax
1430 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %ecx
1431 ; LINUX-32-PIC-NEXT: movl 64(%ecx), %ecx
1432 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
1433 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
1434 ; LINUX-32-PIC-NEXT: movl %ecx, 64(%eax)
1435 ; LINUX-32-PIC-NEXT: retl
1437 ; LINUX-64-PIC-LABEL: qux02:
1438 ; LINUX-64-PIC: # %bb.0: # %entry
1439 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
1440 ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax
1441 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1442 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
1443 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx)
1444 ; LINUX-64-PIC-NEXT: retq
1510 ; LINUX-64-STATIC-LABEL: qxx02:
1511 ; LINUX-64-STATIC: # %bb.0: # %entry
1512 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
1513 ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax
1514 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1515 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
1516 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx)
1517 ; LINUX-64-STATIC-NEXT: retq
1519 ; LINUX-32-STATIC-LABEL: qxx02:
1520 ; LINUX-32-STATIC: # %bb.0: # %entry
1521 ; LINUX-32-STATIC-NEXT: movl xsrc+64, %eax
1522 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
1523 ; LINUX-32-STATIC-NEXT: movl %eax, 64(%ecx)
1524 ; LINUX-32-STATIC-NEXT: retl
1526 ; LINUX-32-PIC-LABEL: qxx02:
1527 ; LINUX-32-PIC: # %bb.0: # %entry
1528 ; LINUX-32-PIC-NEXT: calll .L17$pb
1529 ; LINUX-32-PIC-NEXT: .L17$pb:
1530 ; LINUX-32-PIC-NEXT: popl %eax
1531 ; LINUX-32-PIC-NEXT: .Ltmp17:
1532 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp17-.L17$pb), %eax
1533 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %ecx
1534 ; LINUX-32-PIC-NEXT: movl 64(%ecx), %ecx
1535 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
1536 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
1537 ; LINUX-32-PIC-NEXT: movl %ecx, 64(%eax)
1538 ; LINUX-32-PIC-NEXT: retl
1540 ; LINUX-64-PIC-LABEL: qxx02:
1541 ; LINUX-64-PIC: # %bb.0: # %entry
1542 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
1543 ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax
1544 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
1545 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
1546 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx)
1547 ; LINUX-64-PIC-NEXT: retq
1613 ; LINUX-64-STATIC-LABEL: qux03:
1614 ; LINUX-64-STATIC: # %bb.0: # %entry
1615 ; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax
1616 ; LINUX-64-STATIC-NEXT: movl %eax, ddst+64(%rip)
1617 ; LINUX-64-STATIC-NEXT: retq
1619 ; LINUX-32-STATIC-LABEL: qux03:
1620 ; LINUX-32-STATIC: # %bb.0: # %entry
1621 ; LINUX-32-STATIC-NEXT: movl dsrc+64, %eax
1622 ; LINUX-32-STATIC-NEXT: movl %eax, ddst+64
1623 ; LINUX-32-STATIC-NEXT: retl
1625 ; LINUX-32-PIC-LABEL: qux03:
1626 ; LINUX-32-PIC: # %bb.0: # %entry
1627 ; LINUX-32-PIC-NEXT: calll .L18$pb
1628 ; LINUX-32-PIC-NEXT: .L18$pb:
1629 ; LINUX-32-PIC-NEXT: popl %eax
1630 ; LINUX-32-PIC-NEXT: .Ltmp18:
1631 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp18-.L18$pb), %eax
1632 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+64(%eax), %ecx
1633 ; LINUX-32-PIC-NEXT: movl %ecx, .Lddst$local@GOTOFF+64(%eax)
1634 ; LINUX-32-PIC-NEXT: retl
1636 ; LINUX-64-PIC-LABEL: qux03:
1637 ; LINUX-64-PIC: # %bb.0: # %entry
1638 ; LINUX-64-PIC-NEXT: movl .Ldsrc$local+64(%rip), %eax
1639 ; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local+64(%rip)
1640 ; LINUX-64-PIC-NEXT: retq
1688 ; LINUX-64-STATIC-LABEL: qux04:
1689 ; LINUX-64-STATIC: # %bb.0: # %entry
1690 ; LINUX-64-STATIC-NEXT: movq $ddst+64, dptr(%rip)
1691 ; LINUX-64-STATIC-NEXT: retq
1693 ; LINUX-32-STATIC-LABEL: qux04:
1694 ; LINUX-32-STATIC: # %bb.0: # %entry
1695 ; LINUX-32-STATIC-NEXT: movl $ddst+64, dptr
1696 ; LINUX-32-STATIC-NEXT: retl
1698 ; LINUX-32-PIC-LABEL: qux04:
1699 ; LINUX-32-PIC: # %bb.0: # %entry
1700 ; LINUX-32-PIC-NEXT: calll .L19$pb
1701 ; LINUX-32-PIC-NEXT: .L19$pb:
1702 ; LINUX-32-PIC-NEXT: popl %eax
1703 ; LINUX-32-PIC-NEXT: .Ltmp19:
1704 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp19-.L19$pb), %eax
1705 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+64(%eax), %ecx
1706 ; LINUX-32-PIC-NEXT: movl %ecx, .Ldptr$local@GOTOFF(%eax)
1707 ; LINUX-32-PIC-NEXT: retl
1709 ; LINUX-64-PIC-LABEL: qux04:
1710 ; LINUX-64-PIC: # %bb.0: # %entry
1711 ; LINUX-64-PIC-NEXT: leaq .Lddst$local+64(%rip), %rax
1712 ; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip)
1713 ; LINUX-64-PIC-NEXT: retq
1758 ; LINUX-64-STATIC-LABEL: qux05:
1759 ; LINUX-64-STATIC: # %bb.0: # %entry
1760 ; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax
1761 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx
1762 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx)
1763 ; LINUX-64-STATIC-NEXT: retq
1765 ; LINUX-32-STATIC-LABEL: qux05:
1766 ; LINUX-32-STATIC: # %bb.0: # %entry
1767 ; LINUX-32-STATIC-NEXT: movl dsrc+64, %eax
1768 ; LINUX-32-STATIC-NEXT: movl dptr, %ecx
1769 ; LINUX-32-STATIC-NEXT: movl %eax, 64(%ecx)
1770 ; LINUX-32-STATIC-NEXT: retl
1772 ; LINUX-32-PIC-LABEL: qux05:
1773 ; LINUX-32-PIC: # %bb.0: # %entry
1774 ; LINUX-32-PIC-NEXT: calll .L20$pb
1775 ; LINUX-32-PIC-NEXT: .L20$pb:
1776 ; LINUX-32-PIC-NEXT: popl %eax
1777 ; LINUX-32-PIC-NEXT: .Ltmp20:
1778 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp20-.L20$pb), %eax
1779 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+64(%eax), %ecx
1780 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
1781 ; LINUX-32-PIC-NEXT: movl %ecx, 64(%eax)
1782 ; LINUX-32-PIC-NEXT: retl
1784 ; LINUX-64-PIC-LABEL: qux05:
1785 ; LINUX-64-PIC: # %bb.0: # %entry
1786 ; LINUX-64-PIC-NEXT: movl .Ldsrc$local+64(%rip), %eax
1787 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx
1788 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx)
1789 ; LINUX-64-PIC-NEXT: retq
1845 ; LINUX-64-STATIC-LABEL: qux06:
1846 ; LINUX-64-STATIC: # %bb.0: # %entry
1847 ; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax
1848 ; LINUX-64-STATIC-NEXT: movl %eax, ldst+64(%rip)
1849 ; LINUX-64-STATIC-NEXT: retq
1851 ; LINUX-32-STATIC-LABEL: qux06:
1852 ; LINUX-32-STATIC: # %bb.0: # %entry
1853 ; LINUX-32-STATIC-NEXT: movl lsrc+64, %eax
1854 ; LINUX-32-STATIC-NEXT: movl %eax, ldst+64
1855 ; LINUX-32-STATIC-NEXT: retl
1857 ; LINUX-32-PIC-LABEL: qux06:
1858 ; LINUX-32-PIC: # %bb.0: # %entry
1859 ; LINUX-32-PIC-NEXT: calll .L21$pb
1860 ; LINUX-32-PIC-NEXT: .L21$pb:
1861 ; LINUX-32-PIC-NEXT: popl %eax
1862 ; LINUX-32-PIC-NEXT: .Ltmp21:
1863 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp21-.L21$pb), %eax
1864 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+64(%eax), %ecx
1865 ; LINUX-32-PIC-NEXT: movl %ecx, ldst@GOTOFF+64(%eax)
1866 ; LINUX-32-PIC-NEXT: retl
1868 ; LINUX-64-PIC-LABEL: qux06:
1869 ; LINUX-64-PIC: # %bb.0: # %entry
1870 ; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax
1871 ; LINUX-64-PIC-NEXT: movl %eax, ldst+64(%rip)
1872 ; LINUX-64-PIC-NEXT: retq
1920 ; LINUX-64-STATIC-LABEL: qux07:
1921 ; LINUX-64-STATIC: # %bb.0: # %entry
1922 ; LINUX-64-STATIC-NEXT: movq $ldst+64, lptr(%rip)
1923 ; LINUX-64-STATIC-NEXT: retq
1925 ; LINUX-32-STATIC-LABEL: qux07:
1926 ; LINUX-32-STATIC: # %bb.0: # %entry
1927 ; LINUX-32-STATIC-NEXT: movl $ldst+64, lptr
1928 ; LINUX-32-STATIC-NEXT: retl
1930 ; LINUX-32-PIC-LABEL: qux07:
1931 ; LINUX-32-PIC: # %bb.0: # %entry
1932 ; LINUX-32-PIC-NEXT: calll .L22$pb
1933 ; LINUX-32-PIC-NEXT: .L22$pb:
1934 ; LINUX-32-PIC-NEXT: popl %eax
1935 ; LINUX-32-PIC-NEXT: .Ltmp22:
1936 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp22-.L22$pb), %eax
1937 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+64(%eax), %ecx
1938 ; LINUX-32-PIC-NEXT: movl %ecx, lptr@GOTOFF(%eax)
1939 ; LINUX-32-PIC-NEXT: retl
1941 ; LINUX-64-PIC-LABEL: qux07:
1942 ; LINUX-64-PIC: # %bb.0: # %entry
1943 ; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax
1944 ; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip)
1945 ; LINUX-64-PIC-NEXT: retq
1990 ; LINUX-64-STATIC-LABEL: qux08:
1991 ; LINUX-64-STATIC: # %bb.0: # %entry
1992 ; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax
1993 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx
1994 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx)
1995 ; LINUX-64-STATIC-NEXT: retq
1997 ; LINUX-32-STATIC-LABEL: qux08:
1998 ; LINUX-32-STATIC: # %bb.0: # %entry
1999 ; LINUX-32-STATIC-NEXT: movl lsrc+64, %eax
2000 ; LINUX-32-STATIC-NEXT: movl lptr, %ecx
2001 ; LINUX-32-STATIC-NEXT: movl %eax, 64(%ecx)
2002 ; LINUX-32-STATIC-NEXT: retl
2004 ; LINUX-32-PIC-LABEL: qux08:
2005 ; LINUX-32-PIC: # %bb.0: # %entry
2006 ; LINUX-32-PIC-NEXT: calll .L23$pb
2007 ; LINUX-32-PIC-NEXT: .L23$pb:
2008 ; LINUX-32-PIC-NEXT: popl %eax
2009 ; LINUX-32-PIC-NEXT: .Ltmp23:
2010 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp23-.L23$pb), %eax
2011 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+64(%eax), %ecx
2012 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
2013 ; LINUX-32-PIC-NEXT: movl %ecx, 64(%eax)
2014 ; LINUX-32-PIC-NEXT: retl
2016 ; LINUX-64-PIC-LABEL: qux08:
2017 ; LINUX-64-PIC: # %bb.0: # %entry
2018 ; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax
2019 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx
2020 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx)
2021 ; LINUX-64-PIC-NEXT: retq
2077 ; LINUX-64-STATIC-LABEL: ind00:
2078 ; LINUX-64-STATIC: # %bb.0: # %entry
2079 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
2080 ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax
2081 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
2082 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4)
2083 ; LINUX-64-STATIC-NEXT: retq
2085 ; LINUX-32-STATIC-LABEL: ind00:
2086 ; LINUX-32-STATIC: # %bb.0: # %entry
2087 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2088 ; LINUX-32-STATIC-NEXT: movl src(,%eax,4), %ecx
2089 ; LINUX-32-STATIC-NEXT: movl %ecx, dst(,%eax,4)
2090 ; LINUX-32-STATIC-NEXT: retl
2092 ; LINUX-32-PIC-LABEL: ind00:
2093 ; LINUX-32-PIC: # %bb.0: # %entry
2094 ; LINUX-32-PIC-NEXT: calll .L24$pb
2095 ; LINUX-32-PIC-NEXT: .L24$pb:
2096 ; LINUX-32-PIC-NEXT: popl %eax
2097 ; LINUX-32-PIC-NEXT: .Ltmp24:
2098 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp24-.L24$pb), %eax
2099 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2100 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %edx
2101 ; LINUX-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2102 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
2103 ; LINUX-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2104 ; LINUX-32-PIC-NEXT: retl
2106 ; LINUX-64-PIC-LABEL: ind00:
2107 ; LINUX-64-PIC: # %bb.0: # %entry
2108 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
2109 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2110 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
2111 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2112 ; LINUX-64-PIC-NEXT: retq
2175 ; LINUX-64-STATIC-LABEL: ixd00:
2176 ; LINUX-64-STATIC: # %bb.0: # %entry
2177 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
2178 ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax
2179 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
2180 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4)
2181 ; LINUX-64-STATIC-NEXT: retq
2183 ; LINUX-32-STATIC-LABEL: ixd00:
2184 ; LINUX-32-STATIC: # %bb.0: # %entry
2185 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2186 ; LINUX-32-STATIC-NEXT: movl xsrc(,%eax,4), %ecx
2187 ; LINUX-32-STATIC-NEXT: movl %ecx, xdst(,%eax,4)
2188 ; LINUX-32-STATIC-NEXT: retl
2190 ; LINUX-32-PIC-LABEL: ixd00:
2191 ; LINUX-32-PIC: # %bb.0: # %entry
2192 ; LINUX-32-PIC-NEXT: calll .L25$pb
2193 ; LINUX-32-PIC-NEXT: .L25$pb:
2194 ; LINUX-32-PIC-NEXT: popl %eax
2195 ; LINUX-32-PIC-NEXT: .Ltmp25:
2196 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp25-.L25$pb), %eax
2197 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2198 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %edx
2199 ; LINUX-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2200 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
2201 ; LINUX-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2202 ; LINUX-32-PIC-NEXT: retl
2204 ; LINUX-64-PIC-LABEL: ixd00:
2205 ; LINUX-64-PIC: # %bb.0: # %entry
2206 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
2207 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2208 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
2209 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2210 ; LINUX-64-PIC-NEXT: retq
2273 ; LINUX-64-STATIC-LABEL: ind01:
2274 ; LINUX-64-STATIC: # %bb.0: # %entry
2275 ; LINUX-64-STATIC-NEXT: shlq $2, %rdi
2276 ; LINUX-64-STATIC-NEXT: addq dst@GOTPCREL(%rip), %rdi
2277 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
2278 ; LINUX-64-STATIC-NEXT: movq %rdi, (%rax)
2279 ; LINUX-64-STATIC-NEXT: retq
2281 ; LINUX-32-STATIC-LABEL: ind01:
2282 ; LINUX-32-STATIC: # %bb.0: # %entry
2283 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2284 ; LINUX-32-STATIC-NEXT: leal dst(,%eax,4), %eax
2285 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
2286 ; LINUX-32-STATIC-NEXT: retl
2288 ; LINUX-32-PIC-LABEL: ind01:
2289 ; LINUX-32-PIC: # %bb.0: # %entry
2290 ; LINUX-32-PIC-NEXT: calll .L26$pb
2291 ; LINUX-32-PIC-NEXT: .L26$pb:
2292 ; LINUX-32-PIC-NEXT: popl %eax
2293 ; LINUX-32-PIC-NEXT: .Ltmp26:
2294 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp26-.L26$pb), %eax
2295 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2296 ; LINUX-32-PIC-NEXT: shll $2, %ecx
2297 ; LINUX-32-PIC-NEXT: addl dst@GOT(%eax), %ecx
2298 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
2299 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
2300 ; LINUX-32-PIC-NEXT: retl
2302 ; LINUX-64-PIC-LABEL: ind01:
2303 ; LINUX-64-PIC: # %bb.0: # %entry
2304 ; LINUX-64-PIC-NEXT: shlq $2, %rdi
2305 ; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rdi
2306 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
2307 ; LINUX-64-PIC-NEXT: movq %rdi, (%rax)
2308 ; LINUX-64-PIC-NEXT: retq
2369 ; LINUX-64-STATIC-LABEL: ixd01:
2370 ; LINUX-64-STATIC: # %bb.0: # %entry
2371 ; LINUX-64-STATIC-NEXT: shlq $2, %rdi
2372 ; LINUX-64-STATIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi
2373 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
2374 ; LINUX-64-STATIC-NEXT: movq %rdi, (%rax)
2375 ; LINUX-64-STATIC-NEXT: retq
2377 ; LINUX-32-STATIC-LABEL: ixd01:
2378 ; LINUX-32-STATIC: # %bb.0: # %entry
2379 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2380 ; LINUX-32-STATIC-NEXT: leal xdst(,%eax,4), %eax
2381 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
2382 ; LINUX-32-STATIC-NEXT: retl
2384 ; LINUX-32-PIC-LABEL: ixd01:
2385 ; LINUX-32-PIC: # %bb.0: # %entry
2386 ; LINUX-32-PIC-NEXT: calll .L27$pb
2387 ; LINUX-32-PIC-NEXT: .L27$pb:
2388 ; LINUX-32-PIC-NEXT: popl %eax
2389 ; LINUX-32-PIC-NEXT: .Ltmp27:
2390 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp27-.L27$pb), %eax
2391 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2392 ; LINUX-32-PIC-NEXT: shll $2, %ecx
2393 ; LINUX-32-PIC-NEXT: addl xdst@GOT(%eax), %ecx
2394 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
2395 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
2396 ; LINUX-32-PIC-NEXT: retl
2398 ; LINUX-64-PIC-LABEL: ixd01:
2399 ; LINUX-64-PIC: # %bb.0: # %entry
2400 ; LINUX-64-PIC-NEXT: shlq $2, %rdi
2401 ; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi
2402 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
2403 ; LINUX-64-PIC-NEXT: movq %rdi, (%rax)
2404 ; LINUX-64-PIC-NEXT: retq
2465 ; LINUX-64-STATIC-LABEL: ind02:
2466 ; LINUX-64-STATIC: # %bb.0: # %entry
2467 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
2468 ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax
2469 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
2470 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
2471 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4)
2472 ; LINUX-64-STATIC-NEXT: retq
2474 ; LINUX-32-STATIC-LABEL: ind02:
2475 ; LINUX-32-STATIC: # %bb.0: # %entry
2476 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2477 ; LINUX-32-STATIC-NEXT: movl src(,%eax,4), %ecx
2478 ; LINUX-32-STATIC-NEXT: movl ptr, %edx
2479 ; LINUX-32-STATIC-NEXT: movl %ecx, (%edx,%eax,4)
2480 ; LINUX-32-STATIC-NEXT: retl
2482 ; LINUX-32-PIC-LABEL: ind02:
2483 ; LINUX-32-PIC: # %bb.0: # %entry
2484 ; LINUX-32-PIC-NEXT: calll .L28$pb
2485 ; LINUX-32-PIC-NEXT: .L28$pb:
2486 ; LINUX-32-PIC-NEXT: popl %eax
2487 ; LINUX-32-PIC-NEXT: .Ltmp28:
2488 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp28-.L28$pb), %eax
2489 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2490 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %edx
2491 ; LINUX-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2492 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
2493 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
2494 ; LINUX-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2495 ; LINUX-32-PIC-NEXT: retl
2497 ; LINUX-64-PIC-LABEL: ind02:
2498 ; LINUX-64-PIC: # %bb.0: # %entry
2499 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
2500 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2501 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
2502 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
2503 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2504 ; LINUX-64-PIC-NEXT: retq
2574 ; LINUX-64-STATIC-LABEL: ixd02:
2575 ; LINUX-64-STATIC: # %bb.0: # %entry
2576 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
2577 ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax
2578 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
2579 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
2580 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4)
2581 ; LINUX-64-STATIC-NEXT: retq
2583 ; LINUX-32-STATIC-LABEL: ixd02:
2584 ; LINUX-32-STATIC: # %bb.0: # %entry
2585 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2586 ; LINUX-32-STATIC-NEXT: movl xsrc(,%eax,4), %ecx
2587 ; LINUX-32-STATIC-NEXT: movl ptr, %edx
2588 ; LINUX-32-STATIC-NEXT: movl %ecx, (%edx,%eax,4)
2589 ; LINUX-32-STATIC-NEXT: retl
2591 ; LINUX-32-PIC-LABEL: ixd02:
2592 ; LINUX-32-PIC: # %bb.0: # %entry
2593 ; LINUX-32-PIC-NEXT: calll .L29$pb
2594 ; LINUX-32-PIC-NEXT: .L29$pb:
2595 ; LINUX-32-PIC-NEXT: popl %eax
2596 ; LINUX-32-PIC-NEXT: .Ltmp29:
2597 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp29-.L29$pb), %eax
2598 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2599 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %edx
2600 ; LINUX-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2601 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
2602 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
2603 ; LINUX-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2604 ; LINUX-32-PIC-NEXT: retl
2606 ; LINUX-64-PIC-LABEL: ixd02:
2607 ; LINUX-64-PIC: # %bb.0: # %entry
2608 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
2609 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2610 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
2611 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
2612 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2613 ; LINUX-64-PIC-NEXT: retq
2683 ; LINUX-64-STATIC-LABEL: ind03:
2684 ; LINUX-64-STATIC: # %bb.0: # %entry
2685 ; LINUX-64-STATIC-NEXT: movl dsrc(,%rdi,4), %eax
2686 ; LINUX-64-STATIC-NEXT: movl %eax, ddst(,%rdi,4)
2687 ; LINUX-64-STATIC-NEXT: retq
2689 ; LINUX-32-STATIC-LABEL: ind03:
2690 ; LINUX-32-STATIC: # %bb.0: # %entry
2691 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2692 ; LINUX-32-STATIC-NEXT: movl dsrc(,%eax,4), %ecx
2693 ; LINUX-32-STATIC-NEXT: movl %ecx, ddst(,%eax,4)
2694 ; LINUX-32-STATIC-NEXT: retl
2696 ; LINUX-32-PIC-LABEL: ind03:
2697 ; LINUX-32-PIC: # %bb.0: # %entry
2698 ; LINUX-32-PIC-NEXT: calll .L30$pb
2699 ; LINUX-32-PIC-NEXT: .L30$pb:
2700 ; LINUX-32-PIC-NEXT: popl %eax
2701 ; LINUX-32-PIC-NEXT: .Ltmp30:
2702 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp30-.L30$pb), %eax
2703 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2704 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF(%eax,%ecx,4), %edx
2705 ; LINUX-32-PIC-NEXT: movl %edx, .Lddst$local@GOTOFF(%eax,%ecx,4)
2706 ; LINUX-32-PIC-NEXT: retl
2708 ; LINUX-64-PIC-LABEL: ind03:
2709 ; LINUX-64-PIC: # %bb.0: # %entry
2710 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
2711 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2712 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rcx
2713 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2714 ; LINUX-64-PIC-NEXT: retq
2773 ; LINUX-64-STATIC-LABEL: ind04:
2774 ; LINUX-64-STATIC: # %bb.0: # %entry
2775 ; LINUX-64-STATIC-NEXT: leaq ddst(,%rdi,4), %rax
2776 ; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip)
2777 ; LINUX-64-STATIC-NEXT: retq
2779 ; LINUX-32-STATIC-LABEL: ind04:
2780 ; LINUX-32-STATIC: # %bb.0: # %entry
2781 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2782 ; LINUX-32-STATIC-NEXT: leal ddst(,%eax,4), %eax
2783 ; LINUX-32-STATIC-NEXT: movl %eax, dptr
2784 ; LINUX-32-STATIC-NEXT: retl
2786 ; LINUX-32-PIC-LABEL: ind04:
2787 ; LINUX-32-PIC: # %bb.0: # %entry
2788 ; LINUX-32-PIC-NEXT: calll .L31$pb
2789 ; LINUX-32-PIC-NEXT: .L31$pb:
2790 ; LINUX-32-PIC-NEXT: popl %eax
2791 ; LINUX-32-PIC-NEXT: .Ltmp31:
2792 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp31-.L31$pb), %eax
2793 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2794 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF(%eax,%ecx,4), %ecx
2795 ; LINUX-32-PIC-NEXT: movl %ecx, .Ldptr$local@GOTOFF(%eax)
2796 ; LINUX-32-PIC-NEXT: retl
2798 ; LINUX-64-PIC-LABEL: ind04:
2799 ; LINUX-64-PIC: # %bb.0: # %entry
2800 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
2801 ; LINUX-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax
2802 ; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip)
2803 ; LINUX-64-PIC-NEXT: retq
2857 ; LINUX-64-STATIC-LABEL: ind05:
2858 ; LINUX-64-STATIC: # %bb.0: # %entry
2859 ; LINUX-64-STATIC-NEXT: movl dsrc(,%rdi,4), %eax
2860 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx
2861 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4)
2862 ; LINUX-64-STATIC-NEXT: retq
2864 ; LINUX-32-STATIC-LABEL: ind05:
2865 ; LINUX-32-STATIC: # %bb.0: # %entry
2866 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2867 ; LINUX-32-STATIC-NEXT: movl dsrc(,%eax,4), %ecx
2868 ; LINUX-32-STATIC-NEXT: movl dptr, %edx
2869 ; LINUX-32-STATIC-NEXT: movl %ecx, (%edx,%eax,4)
2870 ; LINUX-32-STATIC-NEXT: retl
2872 ; LINUX-32-PIC-LABEL: ind05:
2873 ; LINUX-32-PIC: # %bb.0: # %entry
2874 ; LINUX-32-PIC-NEXT: calll .L32$pb
2875 ; LINUX-32-PIC-NEXT: .L32$pb:
2876 ; LINUX-32-PIC-NEXT: popl %eax
2877 ; LINUX-32-PIC-NEXT: .Ltmp32:
2878 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp32-.L32$pb), %eax
2879 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2880 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF(%eax,%ecx,4), %edx
2881 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
2882 ; LINUX-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2883 ; LINUX-32-PIC-NEXT: retl
2885 ; LINUX-64-PIC-LABEL: ind05:
2886 ; LINUX-64-PIC: # %bb.0: # %entry
2887 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
2888 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2889 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx
2890 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2891 ; LINUX-64-PIC-NEXT: retq
2954 ; LINUX-64-STATIC-LABEL: ind06:
2955 ; LINUX-64-STATIC: # %bb.0: # %entry
2956 ; LINUX-64-STATIC-NEXT: movl lsrc(,%rdi,4), %eax
2957 ; LINUX-64-STATIC-NEXT: movl %eax, ldst(,%rdi,4)
2958 ; LINUX-64-STATIC-NEXT: retq
2960 ; LINUX-32-STATIC-LABEL: ind06:
2961 ; LINUX-32-STATIC: # %bb.0: # %entry
2962 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
2963 ; LINUX-32-STATIC-NEXT: movl lsrc(,%eax,4), %ecx
2964 ; LINUX-32-STATIC-NEXT: movl %ecx, ldst(,%eax,4)
2965 ; LINUX-32-STATIC-NEXT: retl
2967 ; LINUX-32-PIC-LABEL: ind06:
2968 ; LINUX-32-PIC: # %bb.0: # %entry
2969 ; LINUX-32-PIC-NEXT: calll .L33$pb
2970 ; LINUX-32-PIC-NEXT: .L33$pb:
2971 ; LINUX-32-PIC-NEXT: popl %eax
2972 ; LINUX-32-PIC-NEXT: .Ltmp33:
2973 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp33-.L33$pb), %eax
2974 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2975 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF(%eax,%ecx,4), %edx
2976 ; LINUX-32-PIC-NEXT: movl %edx, ldst@GOTOFF(%eax,%ecx,4)
2977 ; LINUX-32-PIC-NEXT: retl
2979 ; LINUX-64-PIC-LABEL: ind06:
2980 ; LINUX-64-PIC: # %bb.0: # %entry
2981 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
2982 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2983 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx
2984 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2985 ; LINUX-64-PIC-NEXT: retq
3044 ; LINUX-64-STATIC-LABEL: ind07:
3045 ; LINUX-64-STATIC: # %bb.0: # %entry
3046 ; LINUX-64-STATIC-NEXT: leaq ldst(,%rdi,4), %rax
3047 ; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip)
3048 ; LINUX-64-STATIC-NEXT: retq
3050 ; LINUX-32-STATIC-LABEL: ind07:
3051 ; LINUX-32-STATIC: # %bb.0: # %entry
3052 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3053 ; LINUX-32-STATIC-NEXT: leal ldst(,%eax,4), %eax
3054 ; LINUX-32-STATIC-NEXT: movl %eax, lptr
3055 ; LINUX-32-STATIC-NEXT: retl
3057 ; LINUX-32-PIC-LABEL: ind07:
3058 ; LINUX-32-PIC: # %bb.0: # %entry
3059 ; LINUX-32-PIC-NEXT: calll .L34$pb
3060 ; LINUX-32-PIC-NEXT: .L34$pb:
3061 ; LINUX-32-PIC-NEXT: popl %eax
3062 ; LINUX-32-PIC-NEXT: .Ltmp34:
3063 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp34-.L34$pb), %eax
3064 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3065 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF(%eax,%ecx,4), %ecx
3066 ; LINUX-32-PIC-NEXT: movl %ecx, lptr@GOTOFF(%eax)
3067 ; LINUX-32-PIC-NEXT: retl
3069 ; LINUX-64-PIC-LABEL: ind07:
3070 ; LINUX-64-PIC: # %bb.0: # %entry
3071 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
3072 ; LINUX-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax
3073 ; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip)
3074 ; LINUX-64-PIC-NEXT: retq
3128 ; LINUX-64-STATIC-LABEL: ind08:
3129 ; LINUX-64-STATIC: # %bb.0: # %entry
3130 ; LINUX-64-STATIC-NEXT: movl lsrc(,%rdi,4), %eax
3131 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx
3132 ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4)
3133 ; LINUX-64-STATIC-NEXT: retq
3135 ; LINUX-32-STATIC-LABEL: ind08:
3136 ; LINUX-32-STATIC: # %bb.0: # %entry
3137 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3138 ; LINUX-32-STATIC-NEXT: movl lsrc(,%eax,4), %ecx
3139 ; LINUX-32-STATIC-NEXT: movl lptr, %edx
3140 ; LINUX-32-STATIC-NEXT: movl %ecx, (%edx,%eax,4)
3141 ; LINUX-32-STATIC-NEXT: retl
3143 ; LINUX-32-PIC-LABEL: ind08:
3144 ; LINUX-32-PIC: # %bb.0: # %entry
3145 ; LINUX-32-PIC-NEXT: calll .L35$pb
3146 ; LINUX-32-PIC-NEXT: .L35$pb:
3147 ; LINUX-32-PIC-NEXT: popl %eax
3148 ; LINUX-32-PIC-NEXT: .Ltmp35:
3149 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp35-.L35$pb), %eax
3150 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3151 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF(%eax,%ecx,4), %edx
3152 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
3153 ; LINUX-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
3154 ; LINUX-32-PIC-NEXT: retl
3156 ; LINUX-64-PIC-LABEL: ind08:
3157 ; LINUX-64-PIC: # %bb.0: # %entry
3158 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
3159 ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
3160 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx
3161 ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
3162 ; LINUX-64-PIC-NEXT: retq
3225 ; LINUX-64-STATIC-LABEL: off00:
3226 ; LINUX-64-STATIC: # %bb.0: # %entry
3227 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
3228 ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax
3229 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
3230 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3231 ; LINUX-64-STATIC-NEXT: retq
3233 ; LINUX-32-STATIC-LABEL: off00:
3234 ; LINUX-32-STATIC: # %bb.0: # %entry
3235 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3236 ; LINUX-32-STATIC-NEXT: movl src+64(,%eax,4), %ecx
3237 ; LINUX-32-STATIC-NEXT: movl %ecx, dst+64(,%eax,4)
3238 ; LINUX-32-STATIC-NEXT: retl
3240 ; LINUX-32-PIC-LABEL: off00:
3241 ; LINUX-32-PIC: # %bb.0: # %entry
3242 ; LINUX-32-PIC-NEXT: calll .L36$pb
3243 ; LINUX-32-PIC-NEXT: .L36$pb:
3244 ; LINUX-32-PIC-NEXT: popl %eax
3245 ; LINUX-32-PIC-NEXT: .Ltmp36:
3246 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp36-.L36$pb), %eax
3247 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3248 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %edx
3249 ; LINUX-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3250 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
3251 ; LINUX-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3252 ; LINUX-32-PIC-NEXT: retl
3254 ; LINUX-64-PIC-LABEL: off00:
3255 ; LINUX-64-PIC: # %bb.0: # %entry
3256 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
3257 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3258 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
3259 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3260 ; LINUX-64-PIC-NEXT: retq
3324 ; LINUX-64-STATIC-LABEL: oxf00:
3325 ; LINUX-64-STATIC: # %bb.0: # %entry
3326 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
3327 ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax
3328 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
3329 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3330 ; LINUX-64-STATIC-NEXT: retq
3332 ; LINUX-32-STATIC-LABEL: oxf00:
3333 ; LINUX-32-STATIC: # %bb.0: # %entry
3334 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3335 ; LINUX-32-STATIC-NEXT: movl xsrc+64(,%eax,4), %ecx
3336 ; LINUX-32-STATIC-NEXT: movl %ecx, xdst+64(,%eax,4)
3337 ; LINUX-32-STATIC-NEXT: retl
3339 ; LINUX-32-PIC-LABEL: oxf00:
3340 ; LINUX-32-PIC: # %bb.0: # %entry
3341 ; LINUX-32-PIC-NEXT: calll .L37$pb
3342 ; LINUX-32-PIC-NEXT: .L37$pb:
3343 ; LINUX-32-PIC-NEXT: popl %eax
3344 ; LINUX-32-PIC-NEXT: .Ltmp37:
3345 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp37-.L37$pb), %eax
3346 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3347 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %edx
3348 ; LINUX-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3349 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
3350 ; LINUX-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3351 ; LINUX-32-PIC-NEXT: retl
3353 ; LINUX-64-PIC-LABEL: oxf00:
3354 ; LINUX-64-PIC: # %bb.0: # %entry
3355 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
3356 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3357 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx
3358 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3359 ; LINUX-64-PIC-NEXT: retq
3423 ; LINUX-64-STATIC-LABEL: off01:
3424 ; LINUX-64-STATIC: # %bb.0: # %entry
3425 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
3426 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3427 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3428 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
3429 ; LINUX-64-STATIC-NEXT: retq
3431 ; LINUX-32-STATIC-LABEL: off01:
3432 ; LINUX-32-STATIC: # %bb.0: # %entry
3433 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3434 ; LINUX-32-STATIC-NEXT: leal dst+64(,%eax,4), %eax
3435 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
3436 ; LINUX-32-STATIC-NEXT: retl
3438 ; LINUX-32-PIC-LABEL: off01:
3439 ; LINUX-32-PIC: # %bb.0: # %entry
3440 ; LINUX-32-PIC-NEXT: calll .L38$pb
3441 ; LINUX-32-PIC-NEXT: .L38$pb:
3442 ; LINUX-32-PIC-NEXT: popl %eax
3443 ; LINUX-32-PIC-NEXT: .Ltmp38:
3444 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp38-.L38$pb), %eax
3445 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3446 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %edx
3447 ; LINUX-32-PIC-NEXT: leal 64(%edx,%ecx,4), %ecx
3448 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
3449 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
3450 ; LINUX-32-PIC-NEXT: retl
3452 ; LINUX-64-PIC-LABEL: off01:
3453 ; LINUX-64-PIC: # %bb.0: # %entry
3454 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
3455 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3456 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3457 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
3458 ; LINUX-64-PIC-NEXT: retq
3520 ; LINUX-64-STATIC-LABEL: oxf01:
3521 ; LINUX-64-STATIC: # %bb.0: # %entry
3522 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
3523 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3524 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3525 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
3526 ; LINUX-64-STATIC-NEXT: retq
3528 ; LINUX-32-STATIC-LABEL: oxf01:
3529 ; LINUX-32-STATIC: # %bb.0: # %entry
3530 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3531 ; LINUX-32-STATIC-NEXT: leal xdst+64(,%eax,4), %eax
3532 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
3533 ; LINUX-32-STATIC-NEXT: retl
3535 ; LINUX-32-PIC-LABEL: oxf01:
3536 ; LINUX-32-PIC: # %bb.0: # %entry
3537 ; LINUX-32-PIC-NEXT: calll .L39$pb
3538 ; LINUX-32-PIC-NEXT: .L39$pb:
3539 ; LINUX-32-PIC-NEXT: popl %eax
3540 ; LINUX-32-PIC-NEXT: .Ltmp39:
3541 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp39-.L39$pb), %eax
3542 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3543 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %edx
3544 ; LINUX-32-PIC-NEXT: leal 64(%edx,%ecx,4), %ecx
3545 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
3546 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
3547 ; LINUX-32-PIC-NEXT: retl
3549 ; LINUX-64-PIC-LABEL: oxf01:
3550 ; LINUX-64-PIC: # %bb.0: # %entry
3551 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
3552 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3553 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3554 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
3555 ; LINUX-64-PIC-NEXT: retq
3617 ; LINUX-64-STATIC-LABEL: off02:
3618 ; LINUX-64-STATIC: # %bb.0: # %entry
3619 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
3620 ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax
3621 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3622 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
3623 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3624 ; LINUX-64-STATIC-NEXT: retq
3626 ; LINUX-32-STATIC-LABEL: off02:
3627 ; LINUX-32-STATIC: # %bb.0: # %entry
3628 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3629 ; LINUX-32-STATIC-NEXT: movl src+64(,%eax,4), %ecx
3630 ; LINUX-32-STATIC-NEXT: movl ptr, %edx
3631 ; LINUX-32-STATIC-NEXT: movl %ecx, 64(%edx,%eax,4)
3632 ; LINUX-32-STATIC-NEXT: retl
3634 ; LINUX-32-PIC-LABEL: off02:
3635 ; LINUX-32-PIC: # %bb.0: # %entry
3636 ; LINUX-32-PIC-NEXT: calll .L40$pb
3637 ; LINUX-32-PIC-NEXT: .L40$pb:
3638 ; LINUX-32-PIC-NEXT: popl %eax
3639 ; LINUX-32-PIC-NEXT: .Ltmp40:
3640 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp40-.L40$pb), %eax
3641 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3642 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %edx
3643 ; LINUX-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3644 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
3645 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
3646 ; LINUX-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3647 ; LINUX-32-PIC-NEXT: retl
3649 ; LINUX-64-PIC-LABEL: off02:
3650 ; LINUX-64-PIC: # %bb.0: # %entry
3651 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
3652 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3653 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3654 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
3655 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3656 ; LINUX-64-PIC-NEXT: retq
3727 ; LINUX-64-STATIC-LABEL: oxf02:
3728 ; LINUX-64-STATIC: # %bb.0: # %entry
3729 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
3730 ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax
3731 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3732 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
3733 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3734 ; LINUX-64-STATIC-NEXT: retq
3736 ; LINUX-32-STATIC-LABEL: oxf02:
3737 ; LINUX-32-STATIC: # %bb.0: # %entry
3738 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3739 ; LINUX-32-STATIC-NEXT: movl xsrc+64(,%eax,4), %ecx
3740 ; LINUX-32-STATIC-NEXT: movl ptr, %edx
3741 ; LINUX-32-STATIC-NEXT: movl %ecx, 64(%edx,%eax,4)
3742 ; LINUX-32-STATIC-NEXT: retl
3744 ; LINUX-32-PIC-LABEL: oxf02:
3745 ; LINUX-32-PIC: # %bb.0: # %entry
3746 ; LINUX-32-PIC-NEXT: calll .L41$pb
3747 ; LINUX-32-PIC-NEXT: .L41$pb:
3748 ; LINUX-32-PIC-NEXT: popl %eax
3749 ; LINUX-32-PIC-NEXT: .Ltmp41:
3750 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp41-.L41$pb), %eax
3751 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3752 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %edx
3753 ; LINUX-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3754 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
3755 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
3756 ; LINUX-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3757 ; LINUX-32-PIC-NEXT: retl
3759 ; LINUX-64-PIC-LABEL: oxf02:
3760 ; LINUX-64-PIC: # %bb.0: # %entry
3761 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
3762 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3763 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
3764 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
3765 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3766 ; LINUX-64-PIC-NEXT: retq
3837 ; LINUX-64-STATIC-LABEL: off03:
3838 ; LINUX-64-STATIC: # %bb.0: # %entry
3839 ; LINUX-64-STATIC-NEXT: movl dsrc+64(,%rdi,4), %eax
3840 ; LINUX-64-STATIC-NEXT: movl %eax, ddst+64(,%rdi,4)
3841 ; LINUX-64-STATIC-NEXT: retq
3843 ; LINUX-32-STATIC-LABEL: off03:
3844 ; LINUX-32-STATIC: # %bb.0: # %entry
3845 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3846 ; LINUX-32-STATIC-NEXT: movl dsrc+64(,%eax,4), %ecx
3847 ; LINUX-32-STATIC-NEXT: movl %ecx, ddst+64(,%eax,4)
3848 ; LINUX-32-STATIC-NEXT: retl
3850 ; LINUX-32-PIC-LABEL: off03:
3851 ; LINUX-32-PIC: # %bb.0: # %entry
3852 ; LINUX-32-PIC-NEXT: calll .L42$pb
3853 ; LINUX-32-PIC-NEXT: .L42$pb:
3854 ; LINUX-32-PIC-NEXT: popl %eax
3855 ; LINUX-32-PIC-NEXT: .Ltmp42:
3856 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp42-.L42$pb), %eax
3857 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3858 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+64(%eax,%ecx,4), %edx
3859 ; LINUX-32-PIC-NEXT: movl %edx, .Lddst$local@GOTOFF+64(%eax,%ecx,4)
3860 ; LINUX-32-PIC-NEXT: retl
3862 ; LINUX-64-PIC-LABEL: off03:
3863 ; LINUX-64-PIC: # %bb.0: # %entry
3864 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
3865 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3866 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rcx
3867 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3868 ; LINUX-64-PIC-NEXT: retq
3928 ; LINUX-64-STATIC-LABEL: off04:
3929 ; LINUX-64-STATIC: # %bb.0: # %entry
3930 ; LINUX-64-STATIC-NEXT: leaq ddst+64(,%rdi,4), %rax
3931 ; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip)
3932 ; LINUX-64-STATIC-NEXT: retq
3934 ; LINUX-32-STATIC-LABEL: off04:
3935 ; LINUX-32-STATIC: # %bb.0: # %entry
3936 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
3937 ; LINUX-32-STATIC-NEXT: leal ddst+64(,%eax,4), %eax
3938 ; LINUX-32-STATIC-NEXT: movl %eax, dptr
3939 ; LINUX-32-STATIC-NEXT: retl
3941 ; LINUX-32-PIC-LABEL: off04:
3942 ; LINUX-32-PIC: # %bb.0: # %entry
3943 ; LINUX-32-PIC-NEXT: calll .L43$pb
3944 ; LINUX-32-PIC-NEXT: .L43$pb:
3945 ; LINUX-32-PIC-NEXT: popl %eax
3946 ; LINUX-32-PIC-NEXT: .Ltmp43:
3947 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp43-.L43$pb), %eax
3948 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3949 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+64(%eax,%ecx,4), %ecx
3950 ; LINUX-32-PIC-NEXT: movl %ecx, .Ldptr$local@GOTOFF(%eax)
3951 ; LINUX-32-PIC-NEXT: retl
3953 ; LINUX-64-PIC-LABEL: off04:
3954 ; LINUX-64-PIC: # %bb.0: # %entry
3955 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
3956 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3957 ; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip)
3958 ; LINUX-64-PIC-NEXT: retq
4013 ; LINUX-64-STATIC-LABEL: off05:
4014 ; LINUX-64-STATIC: # %bb.0: # %entry
4015 ; LINUX-64-STATIC-NEXT: movl dsrc+64(,%rdi,4), %eax
4016 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx
4017 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4018 ; LINUX-64-STATIC-NEXT: retq
4020 ; LINUX-32-STATIC-LABEL: off05:
4021 ; LINUX-32-STATIC: # %bb.0: # %entry
4022 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
4023 ; LINUX-32-STATIC-NEXT: movl dsrc+64(,%eax,4), %ecx
4024 ; LINUX-32-STATIC-NEXT: movl dptr, %edx
4025 ; LINUX-32-STATIC-NEXT: movl %ecx, 64(%edx,%eax,4)
4026 ; LINUX-32-STATIC-NEXT: retl
4028 ; LINUX-32-PIC-LABEL: off05:
4029 ; LINUX-32-PIC: # %bb.0: # %entry
4030 ; LINUX-32-PIC-NEXT: calll .L44$pb
4031 ; LINUX-32-PIC-NEXT: .L44$pb:
4032 ; LINUX-32-PIC-NEXT: popl %eax
4033 ; LINUX-32-PIC-NEXT: .Ltmp44:
4034 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp44-.L44$pb), %eax
4035 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4036 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+64(%eax,%ecx,4), %edx
4037 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
4038 ; LINUX-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
4039 ; LINUX-32-PIC-NEXT: retl
4041 ; LINUX-64-PIC-LABEL: off05:
4042 ; LINUX-64-PIC: # %bb.0: # %entry
4043 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
4044 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
4045 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx
4046 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4047 ; LINUX-64-PIC-NEXT: retq
4111 ; LINUX-64-STATIC-LABEL: off06:
4112 ; LINUX-64-STATIC: # %bb.0: # %entry
4113 ; LINUX-64-STATIC-NEXT: movl lsrc+64(,%rdi,4), %eax
4114 ; LINUX-64-STATIC-NEXT: movl %eax, ldst+64(,%rdi,4)
4115 ; LINUX-64-STATIC-NEXT: retq
4117 ; LINUX-32-STATIC-LABEL: off06:
4118 ; LINUX-32-STATIC: # %bb.0: # %entry
4119 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
4120 ; LINUX-32-STATIC-NEXT: movl lsrc+64(,%eax,4), %ecx
4121 ; LINUX-32-STATIC-NEXT: movl %ecx, ldst+64(,%eax,4)
4122 ; LINUX-32-STATIC-NEXT: retl
4124 ; LINUX-32-PIC-LABEL: off06:
4125 ; LINUX-32-PIC: # %bb.0: # %entry
4126 ; LINUX-32-PIC-NEXT: calll .L45$pb
4127 ; LINUX-32-PIC-NEXT: .L45$pb:
4128 ; LINUX-32-PIC-NEXT: popl %eax
4129 ; LINUX-32-PIC-NEXT: .Ltmp45:
4130 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp45-.L45$pb), %eax
4131 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4132 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+64(%eax,%ecx,4), %edx
4133 ; LINUX-32-PIC-NEXT: movl %edx, ldst@GOTOFF+64(%eax,%ecx,4)
4134 ; LINUX-32-PIC-NEXT: retl
4136 ; LINUX-64-PIC-LABEL: off06:
4137 ; LINUX-64-PIC: # %bb.0: # %entry
4138 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
4139 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
4140 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx
4141 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4142 ; LINUX-64-PIC-NEXT: retq
4202 ; LINUX-64-STATIC-LABEL: off07:
4203 ; LINUX-64-STATIC: # %bb.0: # %entry
4204 ; LINUX-64-STATIC-NEXT: leaq ldst+64(,%rdi,4), %rax
4205 ; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip)
4206 ; LINUX-64-STATIC-NEXT: retq
4208 ; LINUX-32-STATIC-LABEL: off07:
4209 ; LINUX-32-STATIC: # %bb.0: # %entry
4210 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
4211 ; LINUX-32-STATIC-NEXT: leal ldst+64(,%eax,4), %eax
4212 ; LINUX-32-STATIC-NEXT: movl %eax, lptr
4213 ; LINUX-32-STATIC-NEXT: retl
4215 ; LINUX-32-PIC-LABEL: off07:
4216 ; LINUX-32-PIC: # %bb.0: # %entry
4217 ; LINUX-32-PIC-NEXT: calll .L46$pb
4218 ; LINUX-32-PIC-NEXT: .L46$pb:
4219 ; LINUX-32-PIC-NEXT: popl %eax
4220 ; LINUX-32-PIC-NEXT: .Ltmp46:
4221 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp46-.L46$pb), %eax
4222 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4223 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+64(%eax,%ecx,4), %ecx
4224 ; LINUX-32-PIC-NEXT: movl %ecx, lptr@GOTOFF(%eax)
4225 ; LINUX-32-PIC-NEXT: retl
4227 ; LINUX-64-PIC-LABEL: off07:
4228 ; LINUX-64-PIC: # %bb.0: # %entry
4229 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
4230 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
4231 ; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip)
4232 ; LINUX-64-PIC-NEXT: retq
4287 ; LINUX-64-STATIC-LABEL: off08:
4288 ; LINUX-64-STATIC: # %bb.0: # %entry
4289 ; LINUX-64-STATIC-NEXT: movl lsrc+64(,%rdi,4), %eax
4290 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx
4291 ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4292 ; LINUX-64-STATIC-NEXT: retq
4294 ; LINUX-32-STATIC-LABEL: off08:
4295 ; LINUX-32-STATIC: # %bb.0: # %entry
4296 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
4297 ; LINUX-32-STATIC-NEXT: movl lsrc+64(,%eax,4), %ecx
4298 ; LINUX-32-STATIC-NEXT: movl lptr, %edx
4299 ; LINUX-32-STATIC-NEXT: movl %ecx, 64(%edx,%eax,4)
4300 ; LINUX-32-STATIC-NEXT: retl
4302 ; LINUX-32-PIC-LABEL: off08:
4303 ; LINUX-32-PIC: # %bb.0: # %entry
4304 ; LINUX-32-PIC-NEXT: calll .L47$pb
4305 ; LINUX-32-PIC-NEXT: .L47$pb:
4306 ; LINUX-32-PIC-NEXT: popl %eax
4307 ; LINUX-32-PIC-NEXT: .Ltmp47:
4308 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp47-.L47$pb), %eax
4309 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4310 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+64(%eax,%ecx,4), %edx
4311 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
4312 ; LINUX-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
4313 ; LINUX-32-PIC-NEXT: retl
4315 ; LINUX-64-PIC-LABEL: off08:
4316 ; LINUX-64-PIC: # %bb.0: # %entry
4317 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
4318 ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
4319 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx
4320 ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4321 ; LINUX-64-PIC-NEXT: retq
4385 ; LINUX-64-STATIC-LABEL: moo00:
4386 ; LINUX-64-STATIC: # %bb.0: # %entry
4387 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
4388 ; LINUX-64-STATIC-NEXT: movl 262144(%rax), %eax
4389 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
4390 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx)
4391 ; LINUX-64-STATIC-NEXT: retq
4393 ; LINUX-32-STATIC-LABEL: moo00:
4394 ; LINUX-32-STATIC: # %bb.0: # %entry
4395 ; LINUX-32-STATIC-NEXT: movl src+262144, %eax
4396 ; LINUX-32-STATIC-NEXT: movl %eax, dst+262144
4397 ; LINUX-32-STATIC-NEXT: retl
4399 ; LINUX-32-PIC-LABEL: moo00:
4400 ; LINUX-32-PIC: # %bb.0: # %entry
4401 ; LINUX-32-PIC-NEXT: calll .L48$pb
4402 ; LINUX-32-PIC-NEXT: .L48$pb:
4403 ; LINUX-32-PIC-NEXT: popl %eax
4404 ; LINUX-32-PIC-NEXT: .Ltmp48:
4405 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp48-.L48$pb), %eax
4406 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %ecx
4407 ; LINUX-32-PIC-NEXT: movl 262144(%ecx), %ecx
4408 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
4409 ; LINUX-32-PIC-NEXT: movl %ecx, 262144(%eax)
4410 ; LINUX-32-PIC-NEXT: retl
4412 ; LINUX-64-PIC-LABEL: moo00:
4413 ; LINUX-64-PIC: # %bb.0: # %entry
4414 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
4415 ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax
4416 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
4417 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx)
4418 ; LINUX-64-PIC-NEXT: retq
4476 ; LINUX-64-STATIC-LABEL: moo01:
4477 ; LINUX-64-STATIC: # %bb.0: # %entry
4478 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
4479 ; LINUX-64-STATIC-NEXT: addq dst@GOTPCREL(%rip), %rax
4480 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
4481 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
4482 ; LINUX-64-STATIC-NEXT: retq
4484 ; LINUX-32-STATIC-LABEL: moo01:
4485 ; LINUX-32-STATIC: # %bb.0: # %entry
4486 ; LINUX-32-STATIC-NEXT: leal dst+262144, %eax
4487 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
4488 ; LINUX-32-STATIC-NEXT: retl
4490 ; LINUX-32-PIC-LABEL: moo01:
4491 ; LINUX-32-PIC: # %bb.0: # %entry
4492 ; LINUX-32-PIC-NEXT: calll .L49$pb
4493 ; LINUX-32-PIC-NEXT: .L49$pb:
4494 ; LINUX-32-PIC-NEXT: popl %eax
4495 ; LINUX-32-PIC-NEXT: .Ltmp49:
4496 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp49-.L49$pb), %eax
4497 ; LINUX-32-PIC-NEXT: movl $262144, %ecx # imm = 0x40000
4498 ; LINUX-32-PIC-NEXT: addl dst@GOT(%eax), %ecx
4499 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
4500 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
4501 ; LINUX-32-PIC-NEXT: retl
4503 ; LINUX-64-PIC-LABEL: moo01:
4504 ; LINUX-64-PIC: # %bb.0: # %entry
4505 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
4506 ; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax
4507 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
4508 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
4509 ; LINUX-64-PIC-NEXT: retq
4565 ; LINUX-64-STATIC-LABEL: moo02:
4566 ; LINUX-64-STATIC: # %bb.0: # %entry
4567 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
4568 ; LINUX-64-STATIC-NEXT: movl 262144(%rax), %eax
4569 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
4570 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
4571 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx)
4572 ; LINUX-64-STATIC-NEXT: retq
4574 ; LINUX-32-STATIC-LABEL: moo02:
4575 ; LINUX-32-STATIC: # %bb.0: # %entry
4576 ; LINUX-32-STATIC-NEXT: movl src+262144, %eax
4577 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
4578 ; LINUX-32-STATIC-NEXT: movl %eax, 262144(%ecx)
4579 ; LINUX-32-STATIC-NEXT: retl
4581 ; LINUX-32-PIC-LABEL: moo02:
4582 ; LINUX-32-PIC: # %bb.0: # %entry
4583 ; LINUX-32-PIC-NEXT: calll .L50$pb
4584 ; LINUX-32-PIC-NEXT: .L50$pb:
4585 ; LINUX-32-PIC-NEXT: popl %eax
4586 ; LINUX-32-PIC-NEXT: .Ltmp50:
4587 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp50-.L50$pb), %eax
4588 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %ecx
4589 ; LINUX-32-PIC-NEXT: movl 262144(%ecx), %ecx
4590 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
4591 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
4592 ; LINUX-32-PIC-NEXT: movl %ecx, 262144(%eax)
4593 ; LINUX-32-PIC-NEXT: retl
4595 ; LINUX-64-PIC-LABEL: moo02:
4596 ; LINUX-64-PIC: # %bb.0: # %entry
4597 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
4598 ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax
4599 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
4600 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
4601 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx)
4602 ; LINUX-64-PIC-NEXT: retq
4668 ; LINUX-64-STATIC-LABEL: moo03:
4669 ; LINUX-64-STATIC: # %bb.0: # %entry
4670 ; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax
4671 ; LINUX-64-STATIC-NEXT: movl %eax, ddst+262144(%rip)
4672 ; LINUX-64-STATIC-NEXT: retq
4674 ; LINUX-32-STATIC-LABEL: moo03:
4675 ; LINUX-32-STATIC: # %bb.0: # %entry
4676 ; LINUX-32-STATIC-NEXT: movl dsrc+262144, %eax
4677 ; LINUX-32-STATIC-NEXT: movl %eax, ddst+262144
4678 ; LINUX-32-STATIC-NEXT: retl
4680 ; LINUX-32-PIC-LABEL: moo03:
4681 ; LINUX-32-PIC: # %bb.0: # %entry
4682 ; LINUX-32-PIC-NEXT: calll .L51$pb
4683 ; LINUX-32-PIC-NEXT: .L51$pb:
4684 ; LINUX-32-PIC-NEXT: popl %eax
4685 ; LINUX-32-PIC-NEXT: .Ltmp51:
4686 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp51-.L51$pb), %eax
4687 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+262144(%eax), %ecx
4688 ; LINUX-32-PIC-NEXT: movl %ecx, .Lddst$local@GOTOFF+262144(%eax)
4689 ; LINUX-32-PIC-NEXT: retl
4691 ; LINUX-64-PIC-LABEL: moo03:
4692 ; LINUX-64-PIC: # %bb.0: # %entry
4693 ; LINUX-64-PIC-NEXT: movl .Ldsrc$local+262144(%rip), %eax
4694 ; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local+262144(%rip)
4695 ; LINUX-64-PIC-NEXT: retq
4743 ; LINUX-64-STATIC-LABEL: moo04:
4744 ; LINUX-64-STATIC: # %bb.0: # %entry
4745 ; LINUX-64-STATIC-NEXT: movq $ddst+262144, dptr(%rip)
4746 ; LINUX-64-STATIC-NEXT: retq
4748 ; LINUX-32-STATIC-LABEL: moo04:
4749 ; LINUX-32-STATIC: # %bb.0: # %entry
4750 ; LINUX-32-STATIC-NEXT: movl $ddst+262144, dptr
4751 ; LINUX-32-STATIC-NEXT: retl
4753 ; LINUX-32-PIC-LABEL: moo04:
4754 ; LINUX-32-PIC: # %bb.0: # %entry
4755 ; LINUX-32-PIC-NEXT: calll .L52$pb
4756 ; LINUX-32-PIC-NEXT: .L52$pb:
4757 ; LINUX-32-PIC-NEXT: popl %eax
4758 ; LINUX-32-PIC-NEXT: .Ltmp52:
4759 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp52-.L52$pb), %eax
4760 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+262144(%eax), %ecx
4761 ; LINUX-32-PIC-NEXT: movl %ecx, .Ldptr$local@GOTOFF(%eax)
4762 ; LINUX-32-PIC-NEXT: retl
4764 ; LINUX-64-PIC-LABEL: moo04:
4765 ; LINUX-64-PIC: # %bb.0: # %entry
4766 ; LINUX-64-PIC-NEXT: leaq .Lddst$local+262144(%rip), %rax
4767 ; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip)
4768 ; LINUX-64-PIC-NEXT: retq
4813 ; LINUX-64-STATIC-LABEL: moo05:
4814 ; LINUX-64-STATIC: # %bb.0: # %entry
4815 ; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax
4816 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx
4817 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx)
4818 ; LINUX-64-STATIC-NEXT: retq
4820 ; LINUX-32-STATIC-LABEL: moo05:
4821 ; LINUX-32-STATIC: # %bb.0: # %entry
4822 ; LINUX-32-STATIC-NEXT: movl dsrc+262144, %eax
4823 ; LINUX-32-STATIC-NEXT: movl dptr, %ecx
4824 ; LINUX-32-STATIC-NEXT: movl %eax, 262144(%ecx)
4825 ; LINUX-32-STATIC-NEXT: retl
4827 ; LINUX-32-PIC-LABEL: moo05:
4828 ; LINUX-32-PIC: # %bb.0: # %entry
4829 ; LINUX-32-PIC-NEXT: calll .L53$pb
4830 ; LINUX-32-PIC-NEXT: .L53$pb:
4831 ; LINUX-32-PIC-NEXT: popl %eax
4832 ; LINUX-32-PIC-NEXT: .Ltmp53:
4833 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp53-.L53$pb), %eax
4834 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+262144(%eax), %ecx
4835 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
4836 ; LINUX-32-PIC-NEXT: movl %ecx, 262144(%eax)
4837 ; LINUX-32-PIC-NEXT: retl
4839 ; LINUX-64-PIC-LABEL: moo05:
4840 ; LINUX-64-PIC: # %bb.0: # %entry
4841 ; LINUX-64-PIC-NEXT: movl .Ldsrc$local+262144(%rip), %eax
4842 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx
4843 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx)
4844 ; LINUX-64-PIC-NEXT: retq
4900 ; LINUX-64-STATIC-LABEL: moo06:
4901 ; LINUX-64-STATIC: # %bb.0: # %entry
4902 ; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax
4903 ; LINUX-64-STATIC-NEXT: movl %eax, ldst+262144(%rip)
4904 ; LINUX-64-STATIC-NEXT: retq
4906 ; LINUX-32-STATIC-LABEL: moo06:
4907 ; LINUX-32-STATIC: # %bb.0: # %entry
4908 ; LINUX-32-STATIC-NEXT: movl lsrc+262144, %eax
4909 ; LINUX-32-STATIC-NEXT: movl %eax, ldst+262144
4910 ; LINUX-32-STATIC-NEXT: retl
4912 ; LINUX-32-PIC-LABEL: moo06:
4913 ; LINUX-32-PIC: # %bb.0: # %entry
4914 ; LINUX-32-PIC-NEXT: calll .L54$pb
4915 ; LINUX-32-PIC-NEXT: .L54$pb:
4916 ; LINUX-32-PIC-NEXT: popl %eax
4917 ; LINUX-32-PIC-NEXT: .Ltmp54:
4918 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp54-.L54$pb), %eax
4919 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+262144(%eax), %ecx
4920 ; LINUX-32-PIC-NEXT: movl %ecx, ldst@GOTOFF+262144(%eax)
4921 ; LINUX-32-PIC-NEXT: retl
4923 ; LINUX-64-PIC-LABEL: moo06:
4924 ; LINUX-64-PIC: # %bb.0: # %entry
4925 ; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax
4926 ; LINUX-64-PIC-NEXT: movl %eax, ldst+262144(%rip)
4927 ; LINUX-64-PIC-NEXT: retq
4975 ; LINUX-64-STATIC-LABEL: moo07:
4976 ; LINUX-64-STATIC: # %bb.0: # %entry
4977 ; LINUX-64-STATIC-NEXT: movq $ldst+262144, lptr(%rip)
4978 ; LINUX-64-STATIC-NEXT: retq
4980 ; LINUX-32-STATIC-LABEL: moo07:
4981 ; LINUX-32-STATIC: # %bb.0: # %entry
4982 ; LINUX-32-STATIC-NEXT: movl $ldst+262144, lptr
4983 ; LINUX-32-STATIC-NEXT: retl
4985 ; LINUX-32-PIC-LABEL: moo07:
4986 ; LINUX-32-PIC: # %bb.0: # %entry
4987 ; LINUX-32-PIC-NEXT: calll .L55$pb
4988 ; LINUX-32-PIC-NEXT: .L55$pb:
4989 ; LINUX-32-PIC-NEXT: popl %eax
4990 ; LINUX-32-PIC-NEXT: .Ltmp55:
4991 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp55-.L55$pb), %eax
4992 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+262144(%eax), %ecx
4993 ; LINUX-32-PIC-NEXT: movl %ecx, lptr@GOTOFF(%eax)
4994 ; LINUX-32-PIC-NEXT: retl
4996 ; LINUX-64-PIC-LABEL: moo07:
4997 ; LINUX-64-PIC: # %bb.0: # %entry
4998 ; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax
4999 ; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip)
5000 ; LINUX-64-PIC-NEXT: retq
5045 ; LINUX-64-STATIC-LABEL: moo08:
5046 ; LINUX-64-STATIC: # %bb.0: # %entry
5047 ; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax
5048 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx
5049 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx)
5050 ; LINUX-64-STATIC-NEXT: retq
5052 ; LINUX-32-STATIC-LABEL: moo08:
5053 ; LINUX-32-STATIC: # %bb.0: # %entry
5054 ; LINUX-32-STATIC-NEXT: movl lsrc+262144, %eax
5055 ; LINUX-32-STATIC-NEXT: movl lptr, %ecx
5056 ; LINUX-32-STATIC-NEXT: movl %eax, 262144(%ecx)
5057 ; LINUX-32-STATIC-NEXT: retl
5059 ; LINUX-32-PIC-LABEL: moo08:
5060 ; LINUX-32-PIC: # %bb.0: # %entry
5061 ; LINUX-32-PIC-NEXT: calll .L56$pb
5062 ; LINUX-32-PIC-NEXT: .L56$pb:
5063 ; LINUX-32-PIC-NEXT: popl %eax
5064 ; LINUX-32-PIC-NEXT: .Ltmp56:
5065 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp56-.L56$pb), %eax
5066 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+262144(%eax), %ecx
5067 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
5068 ; LINUX-32-PIC-NEXT: movl %ecx, 262144(%eax)
5069 ; LINUX-32-PIC-NEXT: retl
5071 ; LINUX-64-PIC-LABEL: moo08:
5072 ; LINUX-64-PIC: # %bb.0: # %entry
5073 ; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax
5074 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx
5075 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx)
5076 ; LINUX-64-PIC-NEXT: retq
5132 ; LINUX-64-STATIC-LABEL: big00:
5133 ; LINUX-64-STATIC: # %bb.0: # %entry
5134 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
5135 ; LINUX-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5136 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
5137 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5138 ; LINUX-64-STATIC-NEXT: retq
5140 ; LINUX-32-STATIC-LABEL: big00:
5141 ; LINUX-32-STATIC: # %bb.0: # %entry
5142 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5143 ; LINUX-32-STATIC-NEXT: movl src+262144(,%eax,4), %ecx
5144 ; LINUX-32-STATIC-NEXT: movl %ecx, dst+262144(,%eax,4)
5145 ; LINUX-32-STATIC-NEXT: retl
5147 ; LINUX-32-PIC-LABEL: big00:
5148 ; LINUX-32-PIC: # %bb.0: # %entry
5149 ; LINUX-32-PIC-NEXT: calll .L57$pb
5150 ; LINUX-32-PIC-NEXT: .L57$pb:
5151 ; LINUX-32-PIC-NEXT: popl %eax
5152 ; LINUX-32-PIC-NEXT: .Ltmp57:
5153 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp57-.L57$pb), %eax
5154 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5155 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %edx
5156 ; LINUX-32-PIC-NEXT: movl 262144(%edx,%ecx,4), %edx
5157 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
5158 ; LINUX-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5159 ; LINUX-32-PIC-NEXT: retl
5161 ; LINUX-64-PIC-LABEL: big00:
5162 ; LINUX-64-PIC: # %bb.0: # %entry
5163 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
5164 ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5165 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx
5166 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5167 ; LINUX-64-PIC-NEXT: retq
5231 ; LINUX-64-STATIC-LABEL: big01:
5232 ; LINUX-64-STATIC: # %bb.0: # %entry
5233 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
5234 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5235 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
5236 ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx)
5237 ; LINUX-64-STATIC-NEXT: retq
5239 ; LINUX-32-STATIC-LABEL: big01:
5240 ; LINUX-32-STATIC: # %bb.0: # %entry
5241 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5242 ; LINUX-32-STATIC-NEXT: leal dst+262144(,%eax,4), %eax
5243 ; LINUX-32-STATIC-NEXT: movl %eax, ptr
5244 ; LINUX-32-STATIC-NEXT: retl
5246 ; LINUX-32-PIC-LABEL: big01:
5247 ; LINUX-32-PIC: # %bb.0: # %entry
5248 ; LINUX-32-PIC-NEXT: calll .L58$pb
5249 ; LINUX-32-PIC-NEXT: .L58$pb:
5250 ; LINUX-32-PIC-NEXT: popl %eax
5251 ; LINUX-32-PIC-NEXT: .Ltmp58:
5252 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp58-.L58$pb), %eax
5253 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5254 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %edx
5255 ; LINUX-32-PIC-NEXT: leal 262144(%edx,%ecx,4), %ecx
5256 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
5257 ; LINUX-32-PIC-NEXT: movl %ecx, (%eax)
5258 ; LINUX-32-PIC-NEXT: retl
5260 ; LINUX-64-PIC-LABEL: big01:
5261 ; LINUX-64-PIC: # %bb.0: # %entry
5262 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
5263 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5264 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
5265 ; LINUX-64-PIC-NEXT: movq %rax, (%rcx)
5266 ; LINUX-64-PIC-NEXT: retq
5328 ; LINUX-64-STATIC-LABEL: big02:
5329 ; LINUX-64-STATIC: # %bb.0: # %entry
5330 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
5331 ; LINUX-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5332 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
5333 ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx
5334 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5335 ; LINUX-64-STATIC-NEXT: retq
5337 ; LINUX-32-STATIC-LABEL: big02:
5338 ; LINUX-32-STATIC: # %bb.0: # %entry
5339 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5340 ; LINUX-32-STATIC-NEXT: movl src+262144(,%eax,4), %ecx
5341 ; LINUX-32-STATIC-NEXT: movl ptr, %edx
5342 ; LINUX-32-STATIC-NEXT: movl %ecx, 262144(%edx,%eax,4)
5343 ; LINUX-32-STATIC-NEXT: retl
5345 ; LINUX-32-PIC-LABEL: big02:
5346 ; LINUX-32-PIC: # %bb.0: # %entry
5347 ; LINUX-32-PIC-NEXT: calll .L59$pb
5348 ; LINUX-32-PIC-NEXT: .L59$pb:
5349 ; LINUX-32-PIC-NEXT: popl %eax
5350 ; LINUX-32-PIC-NEXT: .Ltmp59:
5351 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp59-.L59$pb), %eax
5352 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5353 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %edx
5354 ; LINUX-32-PIC-NEXT: movl 262144(%edx,%ecx,4), %edx
5355 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
5356 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
5357 ; LINUX-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5358 ; LINUX-32-PIC-NEXT: retl
5360 ; LINUX-64-PIC-LABEL: big02:
5361 ; LINUX-64-PIC: # %bb.0: # %entry
5362 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
5363 ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5364 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
5365 ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx
5366 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5367 ; LINUX-64-PIC-NEXT: retq
5438 ; LINUX-64-STATIC-LABEL: big03:
5439 ; LINUX-64-STATIC: # %bb.0: # %entry
5440 ; LINUX-64-STATIC-NEXT: movl dsrc+262144(,%rdi,4), %eax
5441 ; LINUX-64-STATIC-NEXT: movl %eax, ddst+262144(,%rdi,4)
5442 ; LINUX-64-STATIC-NEXT: retq
5444 ; LINUX-32-STATIC-LABEL: big03:
5445 ; LINUX-32-STATIC: # %bb.0: # %entry
5446 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5447 ; LINUX-32-STATIC-NEXT: movl dsrc+262144(,%eax,4), %ecx
5448 ; LINUX-32-STATIC-NEXT: movl %ecx, ddst+262144(,%eax,4)
5449 ; LINUX-32-STATIC-NEXT: retl
5451 ; LINUX-32-PIC-LABEL: big03:
5452 ; LINUX-32-PIC: # %bb.0: # %entry
5453 ; LINUX-32-PIC-NEXT: calll .L60$pb
5454 ; LINUX-32-PIC-NEXT: .L60$pb:
5455 ; LINUX-32-PIC-NEXT: popl %eax
5456 ; LINUX-32-PIC-NEXT: .Ltmp60:
5457 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp60-.L60$pb), %eax
5458 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5459 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+262144(%eax,%ecx,4), %edx
5460 ; LINUX-32-PIC-NEXT: movl %edx, .Lddst$local@GOTOFF+262144(%eax,%ecx,4)
5461 ; LINUX-32-PIC-NEXT: retl
5463 ; LINUX-64-PIC-LABEL: big03:
5464 ; LINUX-64-PIC: # %bb.0: # %entry
5465 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
5466 ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5467 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rcx
5468 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5469 ; LINUX-64-PIC-NEXT: retq
5529 ; LINUX-64-STATIC-LABEL: big04:
5530 ; LINUX-64-STATIC: # %bb.0: # %entry
5531 ; LINUX-64-STATIC-NEXT: leaq ddst+262144(,%rdi,4), %rax
5532 ; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip)
5533 ; LINUX-64-STATIC-NEXT: retq
5535 ; LINUX-32-STATIC-LABEL: big04:
5536 ; LINUX-32-STATIC: # %bb.0: # %entry
5537 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5538 ; LINUX-32-STATIC-NEXT: leal ddst+262144(,%eax,4), %eax
5539 ; LINUX-32-STATIC-NEXT: movl %eax, dptr
5540 ; LINUX-32-STATIC-NEXT: retl
5542 ; LINUX-32-PIC-LABEL: big04:
5543 ; LINUX-32-PIC: # %bb.0: # %entry
5544 ; LINUX-32-PIC-NEXT: calll .L61$pb
5545 ; LINUX-32-PIC-NEXT: .L61$pb:
5546 ; LINUX-32-PIC-NEXT: popl %eax
5547 ; LINUX-32-PIC-NEXT: .Ltmp61:
5548 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp61-.L61$pb), %eax
5549 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5550 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+262144(%eax,%ecx,4), %ecx
5551 ; LINUX-32-PIC-NEXT: movl %ecx, .Ldptr$local@GOTOFF(%eax)
5552 ; LINUX-32-PIC-NEXT: retl
5554 ; LINUX-64-PIC-LABEL: big04:
5555 ; LINUX-64-PIC: # %bb.0: # %entry
5556 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
5557 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5558 ; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip)
5559 ; LINUX-64-PIC-NEXT: retq
5614 ; LINUX-64-STATIC-LABEL: big05:
5615 ; LINUX-64-STATIC: # %bb.0: # %entry
5616 ; LINUX-64-STATIC-NEXT: movl dsrc+262144(,%rdi,4), %eax
5617 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx
5618 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5619 ; LINUX-64-STATIC-NEXT: retq
5621 ; LINUX-32-STATIC-LABEL: big05:
5622 ; LINUX-32-STATIC: # %bb.0: # %entry
5623 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5624 ; LINUX-32-STATIC-NEXT: movl dsrc+262144(,%eax,4), %ecx
5625 ; LINUX-32-STATIC-NEXT: movl dptr, %edx
5626 ; LINUX-32-STATIC-NEXT: movl %ecx, 262144(%edx,%eax,4)
5627 ; LINUX-32-STATIC-NEXT: retl
5629 ; LINUX-32-PIC-LABEL: big05:
5630 ; LINUX-32-PIC: # %bb.0: # %entry
5631 ; LINUX-32-PIC-NEXT: calll .L62$pb
5632 ; LINUX-32-PIC-NEXT: .L62$pb:
5633 ; LINUX-32-PIC-NEXT: popl %eax
5634 ; LINUX-32-PIC-NEXT: .Ltmp62:
5635 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp62-.L62$pb), %eax
5636 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5637 ; LINUX-32-PIC-NEXT: movl .Ldsrc$local@GOTOFF+262144(%eax,%ecx,4), %edx
5638 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
5639 ; LINUX-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5640 ; LINUX-32-PIC-NEXT: retl
5642 ; LINUX-64-PIC-LABEL: big05:
5643 ; LINUX-64-PIC: # %bb.0: # %entry
5644 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
5645 ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5646 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx
5647 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5648 ; LINUX-64-PIC-NEXT: retq
5712 ; LINUX-64-STATIC-LABEL: big06:
5713 ; LINUX-64-STATIC: # %bb.0: # %entry
5714 ; LINUX-64-STATIC-NEXT: movl lsrc+262144(,%rdi,4), %eax
5715 ; LINUX-64-STATIC-NEXT: movl %eax, ldst+262144(,%rdi,4)
5716 ; LINUX-64-STATIC-NEXT: retq
5718 ; LINUX-32-STATIC-LABEL: big06:
5719 ; LINUX-32-STATIC: # %bb.0: # %entry
5720 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5721 ; LINUX-32-STATIC-NEXT: movl lsrc+262144(,%eax,4), %ecx
5722 ; LINUX-32-STATIC-NEXT: movl %ecx, ldst+262144(,%eax,4)
5723 ; LINUX-32-STATIC-NEXT: retl
5725 ; LINUX-32-PIC-LABEL: big06:
5726 ; LINUX-32-PIC: # %bb.0: # %entry
5727 ; LINUX-32-PIC-NEXT: calll .L63$pb
5728 ; LINUX-32-PIC-NEXT: .L63$pb:
5729 ; LINUX-32-PIC-NEXT: popl %eax
5730 ; LINUX-32-PIC-NEXT: .Ltmp63:
5731 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp63-.L63$pb), %eax
5732 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5733 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+262144(%eax,%ecx,4), %edx
5734 ; LINUX-32-PIC-NEXT: movl %edx, ldst@GOTOFF+262144(%eax,%ecx,4)
5735 ; LINUX-32-PIC-NEXT: retl
5737 ; LINUX-64-PIC-LABEL: big06:
5738 ; LINUX-64-PIC: # %bb.0: # %entry
5739 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
5740 ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5741 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx
5742 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5743 ; LINUX-64-PIC-NEXT: retq
5803 ; LINUX-64-STATIC-LABEL: big07:
5804 ; LINUX-64-STATIC: # %bb.0: # %entry
5805 ; LINUX-64-STATIC-NEXT: leaq ldst+262144(,%rdi,4), %rax
5806 ; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip)
5807 ; LINUX-64-STATIC-NEXT: retq
5809 ; LINUX-32-STATIC-LABEL: big07:
5810 ; LINUX-32-STATIC: # %bb.0: # %entry
5811 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5812 ; LINUX-32-STATIC-NEXT: leal ldst+262144(,%eax,4), %eax
5813 ; LINUX-32-STATIC-NEXT: movl %eax, lptr
5814 ; LINUX-32-STATIC-NEXT: retl
5816 ; LINUX-32-PIC-LABEL: big07:
5817 ; LINUX-32-PIC: # %bb.0: # %entry
5818 ; LINUX-32-PIC-NEXT: calll .L64$pb
5819 ; LINUX-32-PIC-NEXT: .L64$pb:
5820 ; LINUX-32-PIC-NEXT: popl %eax
5821 ; LINUX-32-PIC-NEXT: .Ltmp64:
5822 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp64-.L64$pb), %eax
5823 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5824 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+262144(%eax,%ecx,4), %ecx
5825 ; LINUX-32-PIC-NEXT: movl %ecx, lptr@GOTOFF(%eax)
5826 ; LINUX-32-PIC-NEXT: retl
5828 ; LINUX-64-PIC-LABEL: big07:
5829 ; LINUX-64-PIC: # %bb.0: # %entry
5830 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
5831 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5832 ; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip)
5833 ; LINUX-64-PIC-NEXT: retq
5888 ; LINUX-64-STATIC-LABEL: big08:
5889 ; LINUX-64-STATIC: # %bb.0: # %entry
5890 ; LINUX-64-STATIC-NEXT: movl lsrc+262144(,%rdi,4), %eax
5891 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx
5892 ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5893 ; LINUX-64-STATIC-NEXT: retq
5895 ; LINUX-32-STATIC-LABEL: big08:
5896 ; LINUX-32-STATIC: # %bb.0: # %entry
5897 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
5898 ; LINUX-32-STATIC-NEXT: movl lsrc+262144(,%eax,4), %ecx
5899 ; LINUX-32-STATIC-NEXT: movl lptr, %edx
5900 ; LINUX-32-STATIC-NEXT: movl %ecx, 262144(%edx,%eax,4)
5901 ; LINUX-32-STATIC-NEXT: retl
5903 ; LINUX-32-PIC-LABEL: big08:
5904 ; LINUX-32-PIC: # %bb.0: # %entry
5905 ; LINUX-32-PIC-NEXT: calll .L65$pb
5906 ; LINUX-32-PIC-NEXT: .L65$pb:
5907 ; LINUX-32-PIC-NEXT: popl %eax
5908 ; LINUX-32-PIC-NEXT: .Ltmp65:
5909 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp65-.L65$pb), %eax
5910 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5911 ; LINUX-32-PIC-NEXT: movl lsrc@GOTOFF+262144(%eax,%ecx,4), %edx
5912 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
5913 ; LINUX-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5914 ; LINUX-32-PIC-NEXT: retl
5916 ; LINUX-64-PIC-LABEL: big08:
5917 ; LINUX-64-PIC: # %bb.0: # %entry
5918 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
5919 ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5920 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx
5921 ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5922 ; LINUX-64-PIC-NEXT: retq
5986 ; LINUX-64-STATIC-LABEL: bar00:
5987 ; LINUX-64-STATIC: # %bb.0: # %entry
5988 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
5989 ; LINUX-64-STATIC-NEXT: retq
5991 ; LINUX-32-STATIC-LABEL: bar00:
5992 ; LINUX-32-STATIC: # %bb.0: # %entry
5993 ; LINUX-32-STATIC-NEXT: movl $src, %eax
5994 ; LINUX-32-STATIC-NEXT: retl
5996 ; LINUX-32-PIC-LABEL: bar00:
5997 ; LINUX-32-PIC: # %bb.0: # %entry
5998 ; LINUX-32-PIC-NEXT: calll .L66$pb
5999 ; LINUX-32-PIC-NEXT: .L66$pb:
6000 ; LINUX-32-PIC-NEXT: popl %eax
6001 ; LINUX-32-PIC-NEXT: .Ltmp66:
6002 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp66-.L66$pb), %eax
6003 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %eax
6004 ; LINUX-32-PIC-NEXT: retl
6006 ; LINUX-64-PIC-LABEL: bar00:
6007 ; LINUX-64-PIC: # %bb.0: # %entry
6008 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
6009 ; LINUX-64-PIC-NEXT: retq
6049 ; LINUX-64-STATIC-LABEL: bxr00:
6050 ; LINUX-64-STATIC: # %bb.0: # %entry
6051 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
6052 ; LINUX-64-STATIC-NEXT: retq
6054 ; LINUX-32-STATIC-LABEL: bxr00:
6055 ; LINUX-32-STATIC: # %bb.0: # %entry
6056 ; LINUX-32-STATIC-NEXT: movl $xsrc, %eax
6057 ; LINUX-32-STATIC-NEXT: retl
6059 ; LINUX-32-PIC-LABEL: bxr00:
6060 ; LINUX-32-PIC: # %bb.0: # %entry
6061 ; LINUX-32-PIC-NEXT: calll .L67$pb
6062 ; LINUX-32-PIC-NEXT: .L67$pb:
6063 ; LINUX-32-PIC-NEXT: popl %eax
6064 ; LINUX-32-PIC-NEXT: .Ltmp67:
6065 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp67-.L67$pb), %eax
6066 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %eax
6067 ; LINUX-32-PIC-NEXT: retl
6069 ; LINUX-64-PIC-LABEL: bxr00:
6070 ; LINUX-64-PIC: # %bb.0: # %entry
6071 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
6072 ; LINUX-64-PIC-NEXT: retq
6112 ; LINUX-64-STATIC-LABEL: bar01:
6113 ; LINUX-64-STATIC: # %bb.0: # %entry
6114 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
6115 ; LINUX-64-STATIC-NEXT: retq
6117 ; LINUX-32-STATIC-LABEL: bar01:
6118 ; LINUX-32-STATIC: # %bb.0: # %entry
6119 ; LINUX-32-STATIC-NEXT: movl $dst, %eax
6120 ; LINUX-32-STATIC-NEXT: retl
6122 ; LINUX-32-PIC-LABEL: bar01:
6123 ; LINUX-32-PIC: # %bb.0: # %entry
6124 ; LINUX-32-PIC-NEXT: calll .L68$pb
6125 ; LINUX-32-PIC-NEXT: .L68$pb:
6126 ; LINUX-32-PIC-NEXT: popl %eax
6127 ; LINUX-32-PIC-NEXT: .Ltmp68:
6128 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp68-.L68$pb), %eax
6129 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
6130 ; LINUX-32-PIC-NEXT: retl
6132 ; LINUX-64-PIC-LABEL: bar01:
6133 ; LINUX-64-PIC: # %bb.0: # %entry
6134 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
6135 ; LINUX-64-PIC-NEXT: retq
6175 ; LINUX-64-STATIC-LABEL: bxr01:
6176 ; LINUX-64-STATIC: # %bb.0: # %entry
6177 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
6178 ; LINUX-64-STATIC-NEXT: retq
6180 ; LINUX-32-STATIC-LABEL: bxr01:
6181 ; LINUX-32-STATIC: # %bb.0: # %entry
6182 ; LINUX-32-STATIC-NEXT: movl $xdst, %eax
6183 ; LINUX-32-STATIC-NEXT: retl
6185 ; LINUX-32-PIC-LABEL: bxr01:
6186 ; LINUX-32-PIC: # %bb.0: # %entry
6187 ; LINUX-32-PIC-NEXT: calll .L69$pb
6188 ; LINUX-32-PIC-NEXT: .L69$pb:
6189 ; LINUX-32-PIC-NEXT: popl %eax
6190 ; LINUX-32-PIC-NEXT: .Ltmp69:
6191 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp69-.L69$pb), %eax
6192 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
6193 ; LINUX-32-PIC-NEXT: retl
6195 ; LINUX-64-PIC-LABEL: bxr01:
6196 ; LINUX-64-PIC: # %bb.0: # %entry
6197 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
6198 ; LINUX-64-PIC-NEXT: retq
6238 ; LINUX-64-STATIC-LABEL: bar02:
6239 ; LINUX-64-STATIC: # %bb.0: # %entry
6240 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
6241 ; LINUX-64-STATIC-NEXT: retq
6243 ; LINUX-32-STATIC-LABEL: bar02:
6244 ; LINUX-32-STATIC: # %bb.0: # %entry
6245 ; LINUX-32-STATIC-NEXT: movl $ptr, %eax
6246 ; LINUX-32-STATIC-NEXT: retl
6248 ; LINUX-32-PIC-LABEL: bar02:
6249 ; LINUX-32-PIC: # %bb.0: # %entry
6250 ; LINUX-32-PIC-NEXT: calll .L70$pb
6251 ; LINUX-32-PIC-NEXT: .L70$pb:
6252 ; LINUX-32-PIC-NEXT: popl %eax
6253 ; LINUX-32-PIC-NEXT: .Ltmp70:
6254 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp70-.L70$pb), %eax
6255 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
6256 ; LINUX-32-PIC-NEXT: retl
6258 ; LINUX-64-PIC-LABEL: bar02:
6259 ; LINUX-64-PIC: # %bb.0: # %entry
6260 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
6261 ; LINUX-64-PIC-NEXT: retq
6301 ; LINUX-64-STATIC-LABEL: bar03:
6302 ; LINUX-64-STATIC: # %bb.0: # %entry
6303 ; LINUX-64-STATIC-NEXT: movl $dsrc, %eax
6304 ; LINUX-64-STATIC-NEXT: retq
6306 ; LINUX-32-STATIC-LABEL: bar03:
6307 ; LINUX-32-STATIC: # %bb.0: # %entry
6308 ; LINUX-32-STATIC-NEXT: movl $dsrc, %eax
6309 ; LINUX-32-STATIC-NEXT: retl
6311 ; LINUX-32-PIC-LABEL: bar03:
6312 ; LINUX-32-PIC: # %bb.0: # %entry
6313 ; LINUX-32-PIC-NEXT: calll .L71$pb
6314 ; LINUX-32-PIC-NEXT: .L71$pb:
6315 ; LINUX-32-PIC-NEXT: popl %eax
6316 ; LINUX-32-PIC-NEXT: .Ltmp71:
6317 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp71-.L71$pb), %eax
6318 ; LINUX-32-PIC-NEXT: leal .Ldsrc$local@GOTOFF(%eax), %eax
6319 ; LINUX-32-PIC-NEXT: retl
6321 ; LINUX-64-PIC-LABEL: bar03:
6322 ; LINUX-64-PIC: # %bb.0: # %entry
6323 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
6324 ; LINUX-64-PIC-NEXT: retq
6364 ; LINUX-64-STATIC-LABEL: bar04:
6365 ; LINUX-64-STATIC: # %bb.0: # %entry
6366 ; LINUX-64-STATIC-NEXT: movl $ddst, %eax
6367 ; LINUX-64-STATIC-NEXT: retq
6369 ; LINUX-32-STATIC-LABEL: bar04:
6370 ; LINUX-32-STATIC: # %bb.0: # %entry
6371 ; LINUX-32-STATIC-NEXT: movl $ddst, %eax
6372 ; LINUX-32-STATIC-NEXT: retl
6374 ; LINUX-32-PIC-LABEL: bar04:
6375 ; LINUX-32-PIC: # %bb.0: # %entry
6376 ; LINUX-32-PIC-NEXT: calll .L72$pb
6377 ; LINUX-32-PIC-NEXT: .L72$pb:
6378 ; LINUX-32-PIC-NEXT: popl %eax
6379 ; LINUX-32-PIC-NEXT: .Ltmp72:
6380 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp72-.L72$pb), %eax
6381 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF(%eax), %eax
6382 ; LINUX-32-PIC-NEXT: retl
6384 ; LINUX-64-PIC-LABEL: bar04:
6385 ; LINUX-64-PIC: # %bb.0: # %entry
6386 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
6387 ; LINUX-64-PIC-NEXT: retq
6427 ; LINUX-64-STATIC-LABEL: bar05:
6428 ; LINUX-64-STATIC: # %bb.0: # %entry
6429 ; LINUX-64-STATIC-NEXT: movl $dptr, %eax
6430 ; LINUX-64-STATIC-NEXT: retq
6432 ; LINUX-32-STATIC-LABEL: bar05:
6433 ; LINUX-32-STATIC: # %bb.0: # %entry
6434 ; LINUX-32-STATIC-NEXT: movl $dptr, %eax
6435 ; LINUX-32-STATIC-NEXT: retl
6437 ; LINUX-32-PIC-LABEL: bar05:
6438 ; LINUX-32-PIC: # %bb.0: # %entry
6439 ; LINUX-32-PIC-NEXT: calll .L73$pb
6440 ; LINUX-32-PIC-NEXT: .L73$pb:
6441 ; LINUX-32-PIC-NEXT: popl %eax
6442 ; LINUX-32-PIC-NEXT: .Ltmp73:
6443 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp73-.L73$pb), %eax
6444 ; LINUX-32-PIC-NEXT: leal .Ldptr$local@GOTOFF(%eax), %eax
6445 ; LINUX-32-PIC-NEXT: retl
6447 ; LINUX-64-PIC-LABEL: bar05:
6448 ; LINUX-64-PIC: # %bb.0: # %entry
6449 ; LINUX-64-PIC-NEXT: leaq .Ldptr$local(%rip), %rax
6450 ; LINUX-64-PIC-NEXT: retq
6490 ; LINUX-64-STATIC-LABEL: bar06:
6491 ; LINUX-64-STATIC: # %bb.0: # %entry
6492 ; LINUX-64-STATIC-NEXT: movl $lsrc, %eax
6493 ; LINUX-64-STATIC-NEXT: retq
6495 ; LINUX-32-STATIC-LABEL: bar06:
6496 ; LINUX-32-STATIC: # %bb.0: # %entry
6497 ; LINUX-32-STATIC-NEXT: movl $lsrc, %eax
6498 ; LINUX-32-STATIC-NEXT: retl
6500 ; LINUX-32-PIC-LABEL: bar06:
6501 ; LINUX-32-PIC: # %bb.0: # %entry
6502 ; LINUX-32-PIC-NEXT: calll .L74$pb
6503 ; LINUX-32-PIC-NEXT: .L74$pb:
6504 ; LINUX-32-PIC-NEXT: popl %eax
6505 ; LINUX-32-PIC-NEXT: .Ltmp74:
6506 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp74-.L74$pb), %eax
6507 ; LINUX-32-PIC-NEXT: leal lsrc@GOTOFF(%eax), %eax
6508 ; LINUX-32-PIC-NEXT: retl
6510 ; LINUX-64-PIC-LABEL: bar06:
6511 ; LINUX-64-PIC: # %bb.0: # %entry
6512 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
6513 ; LINUX-64-PIC-NEXT: retq
6553 ; LINUX-64-STATIC-LABEL: bar07:
6554 ; LINUX-64-STATIC: # %bb.0: # %entry
6555 ; LINUX-64-STATIC-NEXT: movl $ldst, %eax
6556 ; LINUX-64-STATIC-NEXT: retq
6558 ; LINUX-32-STATIC-LABEL: bar07:
6559 ; LINUX-32-STATIC: # %bb.0: # %entry
6560 ; LINUX-32-STATIC-NEXT: movl $ldst, %eax
6561 ; LINUX-32-STATIC-NEXT: retl
6563 ; LINUX-32-PIC-LABEL: bar07:
6564 ; LINUX-32-PIC: # %bb.0: # %entry
6565 ; LINUX-32-PIC-NEXT: calll .L75$pb
6566 ; LINUX-32-PIC-NEXT: .L75$pb:
6567 ; LINUX-32-PIC-NEXT: popl %eax
6568 ; LINUX-32-PIC-NEXT: .Ltmp75:
6569 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp75-.L75$pb), %eax
6570 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF(%eax), %eax
6571 ; LINUX-32-PIC-NEXT: retl
6573 ; LINUX-64-PIC-LABEL: bar07:
6574 ; LINUX-64-PIC: # %bb.0: # %entry
6575 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
6576 ; LINUX-64-PIC-NEXT: retq
6616 ; LINUX-64-STATIC-LABEL: bar08:
6617 ; LINUX-64-STATIC: # %bb.0: # %entry
6618 ; LINUX-64-STATIC-NEXT: movl $lptr, %eax
6619 ; LINUX-64-STATIC-NEXT: retq
6621 ; LINUX-32-STATIC-LABEL: bar08:
6622 ; LINUX-32-STATIC: # %bb.0: # %entry
6623 ; LINUX-32-STATIC-NEXT: movl $lptr, %eax
6624 ; LINUX-32-STATIC-NEXT: retl
6626 ; LINUX-32-PIC-LABEL: bar08:
6627 ; LINUX-32-PIC: # %bb.0: # %entry
6628 ; LINUX-32-PIC-NEXT: calll .L76$pb
6629 ; LINUX-32-PIC-NEXT: .L76$pb:
6630 ; LINUX-32-PIC-NEXT: popl %eax
6631 ; LINUX-32-PIC-NEXT: .Ltmp76:
6632 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp76-.L76$pb), %eax
6633 ; LINUX-32-PIC-NEXT: leal lptr@GOTOFF(%eax), %eax
6634 ; LINUX-32-PIC-NEXT: retl
6636 ; LINUX-64-PIC-LABEL: bar08:
6637 ; LINUX-64-PIC: # %bb.0: # %entry
6638 ; LINUX-64-PIC-NEXT: leaq lptr(%rip), %rax
6639 ; LINUX-64-PIC-NEXT: retq
6679 ; LINUX-64-STATIC-LABEL: har00:
6680 ; LINUX-64-STATIC: # %bb.0: # %entry
6681 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
6682 ; LINUX-64-STATIC-NEXT: retq
6684 ; LINUX-32-STATIC-LABEL: har00:
6685 ; LINUX-32-STATIC: # %bb.0: # %entry
6686 ; LINUX-32-STATIC-NEXT: movl $src, %eax
6687 ; LINUX-32-STATIC-NEXT: retl
6689 ; LINUX-32-PIC-LABEL: har00:
6690 ; LINUX-32-PIC: # %bb.0: # %entry
6691 ; LINUX-32-PIC-NEXT: calll .L77$pb
6692 ; LINUX-32-PIC-NEXT: .L77$pb:
6693 ; LINUX-32-PIC-NEXT: popl %eax
6694 ; LINUX-32-PIC-NEXT: .Ltmp77:
6695 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp77-.L77$pb), %eax
6696 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %eax
6697 ; LINUX-32-PIC-NEXT: retl
6699 ; LINUX-64-PIC-LABEL: har00:
6700 ; LINUX-64-PIC: # %bb.0: # %entry
6701 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
6702 ; LINUX-64-PIC-NEXT: retq
6742 ; LINUX-64-STATIC-LABEL: hxr00:
6743 ; LINUX-64-STATIC: # %bb.0: # %entry
6744 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
6745 ; LINUX-64-STATIC-NEXT: retq
6747 ; LINUX-32-STATIC-LABEL: hxr00:
6748 ; LINUX-32-STATIC: # %bb.0: # %entry
6749 ; LINUX-32-STATIC-NEXT: movl $xsrc, %eax
6750 ; LINUX-32-STATIC-NEXT: retl
6752 ; LINUX-32-PIC-LABEL: hxr00:
6753 ; LINUX-32-PIC: # %bb.0: # %entry
6754 ; LINUX-32-PIC-NEXT: calll .L78$pb
6755 ; LINUX-32-PIC-NEXT: .L78$pb:
6756 ; LINUX-32-PIC-NEXT: popl %eax
6757 ; LINUX-32-PIC-NEXT: .Ltmp78:
6758 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp78-.L78$pb), %eax
6759 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %eax
6760 ; LINUX-32-PIC-NEXT: retl
6762 ; LINUX-64-PIC-LABEL: hxr00:
6763 ; LINUX-64-PIC: # %bb.0: # %entry
6764 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
6765 ; LINUX-64-PIC-NEXT: retq
6805 ; LINUX-64-STATIC-LABEL: har01:
6806 ; LINUX-64-STATIC: # %bb.0: # %entry
6807 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
6808 ; LINUX-64-STATIC-NEXT: retq
6810 ; LINUX-32-STATIC-LABEL: har01:
6811 ; LINUX-32-STATIC: # %bb.0: # %entry
6812 ; LINUX-32-STATIC-NEXT: movl $dst, %eax
6813 ; LINUX-32-STATIC-NEXT: retl
6815 ; LINUX-32-PIC-LABEL: har01:
6816 ; LINUX-32-PIC: # %bb.0: # %entry
6817 ; LINUX-32-PIC-NEXT: calll .L79$pb
6818 ; LINUX-32-PIC-NEXT: .L79$pb:
6819 ; LINUX-32-PIC-NEXT: popl %eax
6820 ; LINUX-32-PIC-NEXT: .Ltmp79:
6821 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp79-.L79$pb), %eax
6822 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
6823 ; LINUX-32-PIC-NEXT: retl
6825 ; LINUX-64-PIC-LABEL: har01:
6826 ; LINUX-64-PIC: # %bb.0: # %entry
6827 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
6828 ; LINUX-64-PIC-NEXT: retq
6868 ; LINUX-64-STATIC-LABEL: hxr01:
6869 ; LINUX-64-STATIC: # %bb.0: # %entry
6870 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
6871 ; LINUX-64-STATIC-NEXT: retq
6873 ; LINUX-32-STATIC-LABEL: hxr01:
6874 ; LINUX-32-STATIC: # %bb.0: # %entry
6875 ; LINUX-32-STATIC-NEXT: movl $xdst, %eax
6876 ; LINUX-32-STATIC-NEXT: retl
6878 ; LINUX-32-PIC-LABEL: hxr01:
6879 ; LINUX-32-PIC: # %bb.0: # %entry
6880 ; LINUX-32-PIC-NEXT: calll .L80$pb
6881 ; LINUX-32-PIC-NEXT: .L80$pb:
6882 ; LINUX-32-PIC-NEXT: popl %eax
6883 ; LINUX-32-PIC-NEXT: .Ltmp80:
6884 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp80-.L80$pb), %eax
6885 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
6886 ; LINUX-32-PIC-NEXT: retl
6888 ; LINUX-64-PIC-LABEL: hxr01:
6889 ; LINUX-64-PIC: # %bb.0: # %entry
6890 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
6891 ; LINUX-64-PIC-NEXT: retq
6931 ; LINUX-64-STATIC-LABEL: har02:
6932 ; LINUX-64-STATIC: # %bb.0: # %entry
6933 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
6934 ; LINUX-64-STATIC-NEXT: movq (%rax), %rax
6935 ; LINUX-64-STATIC-NEXT: retq
6937 ; LINUX-32-STATIC-LABEL: har02:
6938 ; LINUX-32-STATIC: # %bb.0: # %entry
6939 ; LINUX-32-STATIC-NEXT: movl ptr, %eax
6940 ; LINUX-32-STATIC-NEXT: retl
6942 ; LINUX-32-PIC-LABEL: har02:
6943 ; LINUX-32-PIC: # %bb.0: # %entry
6944 ; LINUX-32-PIC-NEXT: calll .L81$pb
6945 ; LINUX-32-PIC-NEXT: .L81$pb:
6946 ; LINUX-32-PIC-NEXT: popl %eax
6947 ; LINUX-32-PIC-NEXT: .Ltmp81:
6948 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp81-.L81$pb), %eax
6949 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
6950 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
6951 ; LINUX-32-PIC-NEXT: retl
6953 ; LINUX-64-PIC-LABEL: har02:
6954 ; LINUX-64-PIC: # %bb.0: # %entry
6955 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
6956 ; LINUX-64-PIC-NEXT: movq (%rax), %rax
6957 ; LINUX-64-PIC-NEXT: retq
7003 ; LINUX-64-STATIC-LABEL: har03:
7004 ; LINUX-64-STATIC: # %bb.0: # %entry
7005 ; LINUX-64-STATIC-NEXT: movl $dsrc, %eax
7006 ; LINUX-64-STATIC-NEXT: retq
7008 ; LINUX-32-STATIC-LABEL: har03:
7009 ; LINUX-32-STATIC: # %bb.0: # %entry
7010 ; LINUX-32-STATIC-NEXT: movl $dsrc, %eax
7011 ; LINUX-32-STATIC-NEXT: retl
7013 ; LINUX-32-PIC-LABEL: har03:
7014 ; LINUX-32-PIC: # %bb.0: # %entry
7015 ; LINUX-32-PIC-NEXT: calll .L82$pb
7016 ; LINUX-32-PIC-NEXT: .L82$pb:
7017 ; LINUX-32-PIC-NEXT: popl %eax
7018 ; LINUX-32-PIC-NEXT: .Ltmp82:
7019 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp82-.L82$pb), %eax
7020 ; LINUX-32-PIC-NEXT: leal .Ldsrc$local@GOTOFF(%eax), %eax
7021 ; LINUX-32-PIC-NEXT: retl
7023 ; LINUX-64-PIC-LABEL: har03:
7024 ; LINUX-64-PIC: # %bb.0: # %entry
7025 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
7026 ; LINUX-64-PIC-NEXT: retq
7066 ; LINUX-64-STATIC-LABEL: har04:
7067 ; LINUX-64-STATIC: # %bb.0: # %entry
7068 ; LINUX-64-STATIC-NEXT: movl $ddst, %eax
7069 ; LINUX-64-STATIC-NEXT: retq
7071 ; LINUX-32-STATIC-LABEL: har04:
7072 ; LINUX-32-STATIC: # %bb.0: # %entry
7073 ; LINUX-32-STATIC-NEXT: movl $ddst, %eax
7074 ; LINUX-32-STATIC-NEXT: retl
7076 ; LINUX-32-PIC-LABEL: har04:
7077 ; LINUX-32-PIC: # %bb.0: # %entry
7078 ; LINUX-32-PIC-NEXT: calll .L83$pb
7079 ; LINUX-32-PIC-NEXT: .L83$pb:
7080 ; LINUX-32-PIC-NEXT: popl %eax
7081 ; LINUX-32-PIC-NEXT: .Ltmp83:
7082 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp83-.L83$pb), %eax
7083 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF(%eax), %eax
7084 ; LINUX-32-PIC-NEXT: retl
7086 ; LINUX-64-PIC-LABEL: har04:
7087 ; LINUX-64-PIC: # %bb.0: # %entry
7088 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
7089 ; LINUX-64-PIC-NEXT: retq
7129 ; LINUX-64-STATIC-LABEL: har05:
7130 ; LINUX-64-STATIC: # %bb.0: # %entry
7131 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax
7132 ; LINUX-64-STATIC-NEXT: retq
7134 ; LINUX-32-STATIC-LABEL: har05:
7135 ; LINUX-32-STATIC: # %bb.0: # %entry
7136 ; LINUX-32-STATIC-NEXT: movl dptr, %eax
7137 ; LINUX-32-STATIC-NEXT: retl
7139 ; LINUX-32-PIC-LABEL: har05:
7140 ; LINUX-32-PIC: # %bb.0: # %entry
7141 ; LINUX-32-PIC-NEXT: calll .L84$pb
7142 ; LINUX-32-PIC-NEXT: .L84$pb:
7143 ; LINUX-32-PIC-NEXT: popl %eax
7144 ; LINUX-32-PIC-NEXT: .Ltmp84:
7145 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp84-.L84$pb), %eax
7146 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
7147 ; LINUX-32-PIC-NEXT: retl
7149 ; LINUX-64-PIC-LABEL: har05:
7150 ; LINUX-64-PIC: # %bb.0: # %entry
7151 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax
7152 ; LINUX-64-PIC-NEXT: retq
7193 ; LINUX-64-STATIC-LABEL: har06:
7194 ; LINUX-64-STATIC: # %bb.0: # %entry
7195 ; LINUX-64-STATIC-NEXT: movl $lsrc, %eax
7196 ; LINUX-64-STATIC-NEXT: retq
7198 ; LINUX-32-STATIC-LABEL: har06:
7199 ; LINUX-32-STATIC: # %bb.0: # %entry
7200 ; LINUX-32-STATIC-NEXT: movl $lsrc, %eax
7201 ; LINUX-32-STATIC-NEXT: retl
7203 ; LINUX-32-PIC-LABEL: har06:
7204 ; LINUX-32-PIC: # %bb.0: # %entry
7205 ; LINUX-32-PIC-NEXT: calll .L85$pb
7206 ; LINUX-32-PIC-NEXT: .L85$pb:
7207 ; LINUX-32-PIC-NEXT: popl %eax
7208 ; LINUX-32-PIC-NEXT: .Ltmp85:
7209 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp85-.L85$pb), %eax
7210 ; LINUX-32-PIC-NEXT: leal lsrc@GOTOFF(%eax), %eax
7211 ; LINUX-32-PIC-NEXT: retl
7213 ; LINUX-64-PIC-LABEL: har06:
7214 ; LINUX-64-PIC: # %bb.0: # %entry
7215 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
7216 ; LINUX-64-PIC-NEXT: retq
7256 ; LINUX-64-STATIC-LABEL: har07:
7257 ; LINUX-64-STATIC: # %bb.0: # %entry
7258 ; LINUX-64-STATIC-NEXT: movl $ldst, %eax
7259 ; LINUX-64-STATIC-NEXT: retq
7261 ; LINUX-32-STATIC-LABEL: har07:
7262 ; LINUX-32-STATIC: # %bb.0: # %entry
7263 ; LINUX-32-STATIC-NEXT: movl $ldst, %eax
7264 ; LINUX-32-STATIC-NEXT: retl
7266 ; LINUX-32-PIC-LABEL: har07:
7267 ; LINUX-32-PIC: # %bb.0: # %entry
7268 ; LINUX-32-PIC-NEXT: calll .L86$pb
7269 ; LINUX-32-PIC-NEXT: .L86$pb:
7270 ; LINUX-32-PIC-NEXT: popl %eax
7271 ; LINUX-32-PIC-NEXT: .Ltmp86:
7272 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp86-.L86$pb), %eax
7273 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF(%eax), %eax
7274 ; LINUX-32-PIC-NEXT: retl
7276 ; LINUX-64-PIC-LABEL: har07:
7277 ; LINUX-64-PIC: # %bb.0: # %entry
7278 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
7279 ; LINUX-64-PIC-NEXT: retq
7319 ; LINUX-64-STATIC-LABEL: har08:
7320 ; LINUX-64-STATIC: # %bb.0: # %entry
7321 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax
7322 ; LINUX-64-STATIC-NEXT: retq
7324 ; LINUX-32-STATIC-LABEL: har08:
7325 ; LINUX-32-STATIC: # %bb.0: # %entry
7326 ; LINUX-32-STATIC-NEXT: movl lptr, %eax
7327 ; LINUX-32-STATIC-NEXT: retl
7329 ; LINUX-32-PIC-LABEL: har08:
7330 ; LINUX-32-PIC: # %bb.0: # %entry
7331 ; LINUX-32-PIC-NEXT: calll .L87$pb
7332 ; LINUX-32-PIC-NEXT: .L87$pb:
7333 ; LINUX-32-PIC-NEXT: popl %eax
7334 ; LINUX-32-PIC-NEXT: .Ltmp87:
7335 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp87-.L87$pb), %eax
7336 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
7337 ; LINUX-32-PIC-NEXT: retl
7339 ; LINUX-64-PIC-LABEL: har08:
7340 ; LINUX-64-PIC: # %bb.0: # %entry
7341 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax
7342 ; LINUX-64-PIC-NEXT: retq
7383 ; LINUX-64-STATIC-LABEL: bat00:
7384 ; LINUX-64-STATIC: # %bb.0: # %entry
7385 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
7386 ; LINUX-64-STATIC-NEXT: addq $64, %rax
7387 ; LINUX-64-STATIC-NEXT: retq
7389 ; LINUX-32-STATIC-LABEL: bat00:
7390 ; LINUX-32-STATIC: # %bb.0: # %entry
7391 ; LINUX-32-STATIC-NEXT: leal src+64, %eax
7392 ; LINUX-32-STATIC-NEXT: retl
7394 ; LINUX-32-PIC-LABEL: bat00:
7395 ; LINUX-32-PIC: # %bb.0: # %entry
7396 ; LINUX-32-PIC-NEXT: calll .L88$pb
7397 ; LINUX-32-PIC-NEXT: .L88$pb:
7398 ; LINUX-32-PIC-NEXT: popl %eax
7399 ; LINUX-32-PIC-NEXT: .Ltmp88:
7400 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp88-.L88$pb), %eax
7401 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %eax
7402 ; LINUX-32-PIC-NEXT: addl $64, %eax
7403 ; LINUX-32-PIC-NEXT: retl
7405 ; LINUX-64-PIC-LABEL: bat00:
7406 ; LINUX-64-PIC: # %bb.0: # %entry
7407 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
7408 ; LINUX-64-PIC-NEXT: addq $64, %rax
7409 ; LINUX-64-PIC-NEXT: retq
7454 ; LINUX-64-STATIC-LABEL: bxt00:
7455 ; LINUX-64-STATIC: # %bb.0: # %entry
7456 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
7457 ; LINUX-64-STATIC-NEXT: addq $64, %rax
7458 ; LINUX-64-STATIC-NEXT: retq
7460 ; LINUX-32-STATIC-LABEL: bxt00:
7461 ; LINUX-32-STATIC: # %bb.0: # %entry
7462 ; LINUX-32-STATIC-NEXT: leal xsrc+64, %eax
7463 ; LINUX-32-STATIC-NEXT: retl
7465 ; LINUX-32-PIC-LABEL: bxt00:
7466 ; LINUX-32-PIC: # %bb.0: # %entry
7467 ; LINUX-32-PIC-NEXT: calll .L89$pb
7468 ; LINUX-32-PIC-NEXT: .L89$pb:
7469 ; LINUX-32-PIC-NEXT: popl %eax
7470 ; LINUX-32-PIC-NEXT: .Ltmp89:
7471 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp89-.L89$pb), %eax
7472 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %eax
7473 ; LINUX-32-PIC-NEXT: addl $64, %eax
7474 ; LINUX-32-PIC-NEXT: retl
7476 ; LINUX-64-PIC-LABEL: bxt00:
7477 ; LINUX-64-PIC: # %bb.0: # %entry
7478 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
7479 ; LINUX-64-PIC-NEXT: addq $64, %rax
7480 ; LINUX-64-PIC-NEXT: retq
7525 ; LINUX-64-STATIC-LABEL: bat01:
7526 ; LINUX-64-STATIC: # %bb.0: # %entry
7527 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
7528 ; LINUX-64-STATIC-NEXT: addq $64, %rax
7529 ; LINUX-64-STATIC-NEXT: retq
7531 ; LINUX-32-STATIC-LABEL: bat01:
7532 ; LINUX-32-STATIC: # %bb.0: # %entry
7533 ; LINUX-32-STATIC-NEXT: leal dst+64, %eax
7534 ; LINUX-32-STATIC-NEXT: retl
7536 ; LINUX-32-PIC-LABEL: bat01:
7537 ; LINUX-32-PIC: # %bb.0: # %entry
7538 ; LINUX-32-PIC-NEXT: calll .L90$pb
7539 ; LINUX-32-PIC-NEXT: .L90$pb:
7540 ; LINUX-32-PIC-NEXT: popl %eax
7541 ; LINUX-32-PIC-NEXT: .Ltmp90:
7542 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp90-.L90$pb), %eax
7543 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
7544 ; LINUX-32-PIC-NEXT: addl $64, %eax
7545 ; LINUX-32-PIC-NEXT: retl
7547 ; LINUX-64-PIC-LABEL: bat01:
7548 ; LINUX-64-PIC: # %bb.0: # %entry
7549 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
7550 ; LINUX-64-PIC-NEXT: addq $64, %rax
7551 ; LINUX-64-PIC-NEXT: retq
7596 ; LINUX-64-STATIC-LABEL: bxt01:
7597 ; LINUX-64-STATIC: # %bb.0: # %entry
7598 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
7599 ; LINUX-64-STATIC-NEXT: addq $64, %rax
7600 ; LINUX-64-STATIC-NEXT: retq
7602 ; LINUX-32-STATIC-LABEL: bxt01:
7603 ; LINUX-32-STATIC: # %bb.0: # %entry
7604 ; LINUX-32-STATIC-NEXT: leal xdst+64, %eax
7605 ; LINUX-32-STATIC-NEXT: retl
7607 ; LINUX-32-PIC-LABEL: bxt01:
7608 ; LINUX-32-PIC: # %bb.0: # %entry
7609 ; LINUX-32-PIC-NEXT: calll .L91$pb
7610 ; LINUX-32-PIC-NEXT: .L91$pb:
7611 ; LINUX-32-PIC-NEXT: popl %eax
7612 ; LINUX-32-PIC-NEXT: .Ltmp91:
7613 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp91-.L91$pb), %eax
7614 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
7615 ; LINUX-32-PIC-NEXT: addl $64, %eax
7616 ; LINUX-32-PIC-NEXT: retl
7618 ; LINUX-64-PIC-LABEL: bxt01:
7619 ; LINUX-64-PIC: # %bb.0: # %entry
7620 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
7621 ; LINUX-64-PIC-NEXT: addq $64, %rax
7622 ; LINUX-64-PIC-NEXT: retq
7667 ; LINUX-64-STATIC-LABEL: bat02:
7668 ; LINUX-64-STATIC: # %bb.0: # %entry
7669 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
7670 ; LINUX-64-STATIC-NEXT: movq (%rax), %rax
7671 ; LINUX-64-STATIC-NEXT: addq $64, %rax
7672 ; LINUX-64-STATIC-NEXT: retq
7674 ; LINUX-32-STATIC-LABEL: bat02:
7675 ; LINUX-32-STATIC: # %bb.0: # %entry
7676 ; LINUX-32-STATIC-NEXT: movl ptr, %eax
7677 ; LINUX-32-STATIC-NEXT: addl $64, %eax
7678 ; LINUX-32-STATIC-NEXT: retl
7680 ; LINUX-32-PIC-LABEL: bat02:
7681 ; LINUX-32-PIC: # %bb.0: # %entry
7682 ; LINUX-32-PIC-NEXT: calll .L92$pb
7683 ; LINUX-32-PIC-NEXT: .L92$pb:
7684 ; LINUX-32-PIC-NEXT: popl %eax
7685 ; LINUX-32-PIC-NEXT: .Ltmp92:
7686 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp92-.L92$pb), %eax
7687 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
7688 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
7689 ; LINUX-32-PIC-NEXT: addl $64, %eax
7690 ; LINUX-32-PIC-NEXT: retl
7692 ; LINUX-64-PIC-LABEL: bat02:
7693 ; LINUX-64-PIC: # %bb.0: # %entry
7694 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
7695 ; LINUX-64-PIC-NEXT: movq (%rax), %rax
7696 ; LINUX-64-PIC-NEXT: addq $64, %rax
7697 ; LINUX-64-PIC-NEXT: retq
7750 ; LINUX-64-STATIC-LABEL: bat03:
7751 ; LINUX-64-STATIC: # %bb.0: # %entry
7752 ; LINUX-64-STATIC-NEXT: movl $dsrc+64, %eax
7753 ; LINUX-64-STATIC-NEXT: retq
7755 ; LINUX-32-STATIC-LABEL: bat03:
7756 ; LINUX-32-STATIC: # %bb.0: # %entry
7757 ; LINUX-32-STATIC-NEXT: movl $dsrc+64, %eax
7758 ; LINUX-32-STATIC-NEXT: retl
7760 ; LINUX-32-PIC-LABEL: bat03:
7761 ; LINUX-32-PIC: # %bb.0: # %entry
7762 ; LINUX-32-PIC-NEXT: calll .L93$pb
7763 ; LINUX-32-PIC-NEXT: .L93$pb:
7764 ; LINUX-32-PIC-NEXT: popl %eax
7765 ; LINUX-32-PIC-NEXT: .Ltmp93:
7766 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp93-.L93$pb), %eax
7767 ; LINUX-32-PIC-NEXT: leal .Ldsrc$local@GOTOFF+64(%eax), %eax
7768 ; LINUX-32-PIC-NEXT: retl
7770 ; LINUX-64-PIC-LABEL: bat03:
7771 ; LINUX-64-PIC: # %bb.0: # %entry
7772 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local+64(%rip), %rax
7773 ; LINUX-64-PIC-NEXT: retq
7813 ; LINUX-64-STATIC-LABEL: bat04:
7814 ; LINUX-64-STATIC: # %bb.0: # %entry
7815 ; LINUX-64-STATIC-NEXT: movl $ddst+64, %eax
7816 ; LINUX-64-STATIC-NEXT: retq
7818 ; LINUX-32-STATIC-LABEL: bat04:
7819 ; LINUX-32-STATIC: # %bb.0: # %entry
7820 ; LINUX-32-STATIC-NEXT: movl $ddst+64, %eax
7821 ; LINUX-32-STATIC-NEXT: retl
7823 ; LINUX-32-PIC-LABEL: bat04:
7824 ; LINUX-32-PIC: # %bb.0: # %entry
7825 ; LINUX-32-PIC-NEXT: calll .L94$pb
7826 ; LINUX-32-PIC-NEXT: .L94$pb:
7827 ; LINUX-32-PIC-NEXT: popl %eax
7828 ; LINUX-32-PIC-NEXT: .Ltmp94:
7829 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp94-.L94$pb), %eax
7830 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+64(%eax), %eax
7831 ; LINUX-32-PIC-NEXT: retl
7833 ; LINUX-64-PIC-LABEL: bat04:
7834 ; LINUX-64-PIC: # %bb.0: # %entry
7835 ; LINUX-64-PIC-NEXT: leaq .Lddst$local+64(%rip), %rax
7836 ; LINUX-64-PIC-NEXT: retq
7876 ; LINUX-64-STATIC-LABEL: bat05:
7877 ; LINUX-64-STATIC: # %bb.0: # %entry
7878 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax
7879 ; LINUX-64-STATIC-NEXT: addq $64, %rax
7880 ; LINUX-64-STATIC-NEXT: retq
7882 ; LINUX-32-STATIC-LABEL: bat05:
7883 ; LINUX-32-STATIC: # %bb.0: # %entry
7884 ; LINUX-32-STATIC-NEXT: movl dptr, %eax
7885 ; LINUX-32-STATIC-NEXT: addl $64, %eax
7886 ; LINUX-32-STATIC-NEXT: retl
7888 ; LINUX-32-PIC-LABEL: bat05:
7889 ; LINUX-32-PIC: # %bb.0: # %entry
7890 ; LINUX-32-PIC-NEXT: calll .L95$pb
7891 ; LINUX-32-PIC-NEXT: .L95$pb:
7892 ; LINUX-32-PIC-NEXT: popl %eax
7893 ; LINUX-32-PIC-NEXT: .Ltmp95:
7894 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp95-.L95$pb), %eax
7895 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
7896 ; LINUX-32-PIC-NEXT: addl $64, %eax
7897 ; LINUX-32-PIC-NEXT: retl
7899 ; LINUX-64-PIC-LABEL: bat05:
7900 ; LINUX-64-PIC: # %bb.0: # %entry
7901 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax
7902 ; LINUX-64-PIC-NEXT: addq $64, %rax
7903 ; LINUX-64-PIC-NEXT: retq
7951 ; LINUX-64-STATIC-LABEL: bat06:
7952 ; LINUX-64-STATIC: # %bb.0: # %entry
7953 ; LINUX-64-STATIC-NEXT: movl $lsrc+64, %eax
7954 ; LINUX-64-STATIC-NEXT: retq
7956 ; LINUX-32-STATIC-LABEL: bat06:
7957 ; LINUX-32-STATIC: # %bb.0: # %entry
7958 ; LINUX-32-STATIC-NEXT: movl $lsrc+64, %eax
7959 ; LINUX-32-STATIC-NEXT: retl
7961 ; LINUX-32-PIC-LABEL: bat06:
7962 ; LINUX-32-PIC: # %bb.0: # %entry
7963 ; LINUX-32-PIC-NEXT: calll .L96$pb
7964 ; LINUX-32-PIC-NEXT: .L96$pb:
7965 ; LINUX-32-PIC-NEXT: popl %eax
7966 ; LINUX-32-PIC-NEXT: .Ltmp96:
7967 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp96-.L96$pb), %eax
7968 ; LINUX-32-PIC-NEXT: leal lsrc@GOTOFF+64(%eax), %eax
7969 ; LINUX-32-PIC-NEXT: retl
7971 ; LINUX-64-PIC-LABEL: bat06:
7972 ; LINUX-64-PIC: # %bb.0: # %entry
7973 ; LINUX-64-PIC-NEXT: leaq lsrc+64(%rip), %rax
7974 ; LINUX-64-PIC-NEXT: retq
8014 ; LINUX-64-STATIC-LABEL: bat07:
8015 ; LINUX-64-STATIC: # %bb.0: # %entry
8016 ; LINUX-64-STATIC-NEXT: movl $ldst+64, %eax
8017 ; LINUX-64-STATIC-NEXT: retq
8019 ; LINUX-32-STATIC-LABEL: bat07:
8020 ; LINUX-32-STATIC: # %bb.0: # %entry
8021 ; LINUX-32-STATIC-NEXT: movl $ldst+64, %eax
8022 ; LINUX-32-STATIC-NEXT: retl
8024 ; LINUX-32-PIC-LABEL: bat07:
8025 ; LINUX-32-PIC: # %bb.0: # %entry
8026 ; LINUX-32-PIC-NEXT: calll .L97$pb
8027 ; LINUX-32-PIC-NEXT: .L97$pb:
8028 ; LINUX-32-PIC-NEXT: popl %eax
8029 ; LINUX-32-PIC-NEXT: .Ltmp97:
8030 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp97-.L97$pb), %eax
8031 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+64(%eax), %eax
8032 ; LINUX-32-PIC-NEXT: retl
8034 ; LINUX-64-PIC-LABEL: bat07:
8035 ; LINUX-64-PIC: # %bb.0: # %entry
8036 ; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax
8037 ; LINUX-64-PIC-NEXT: retq
8077 ; LINUX-64-STATIC-LABEL: bat08:
8078 ; LINUX-64-STATIC: # %bb.0: # %entry
8079 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax
8080 ; LINUX-64-STATIC-NEXT: addq $64, %rax
8081 ; LINUX-64-STATIC-NEXT: retq
8083 ; LINUX-32-STATIC-LABEL: bat08:
8084 ; LINUX-32-STATIC: # %bb.0: # %entry
8085 ; LINUX-32-STATIC-NEXT: movl lptr, %eax
8086 ; LINUX-32-STATIC-NEXT: addl $64, %eax
8087 ; LINUX-32-STATIC-NEXT: retl
8089 ; LINUX-32-PIC-LABEL: bat08:
8090 ; LINUX-32-PIC: # %bb.0: # %entry
8091 ; LINUX-32-PIC-NEXT: calll .L98$pb
8092 ; LINUX-32-PIC-NEXT: .L98$pb:
8093 ; LINUX-32-PIC-NEXT: popl %eax
8094 ; LINUX-32-PIC-NEXT: .Ltmp98:
8095 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp98-.L98$pb), %eax
8096 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
8097 ; LINUX-32-PIC-NEXT: addl $64, %eax
8098 ; LINUX-32-PIC-NEXT: retl
8100 ; LINUX-64-PIC-LABEL: bat08:
8101 ; LINUX-64-PIC: # %bb.0: # %entry
8102 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax
8103 ; LINUX-64-PIC-NEXT: addq $64, %rax
8104 ; LINUX-64-PIC-NEXT: retq
8152 ; LINUX-64-STATIC-LABEL: bam00:
8153 ; LINUX-64-STATIC: # %bb.0: # %entry
8154 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8155 ; LINUX-64-STATIC-NEXT: addq src@GOTPCREL(%rip), %rax
8156 ; LINUX-64-STATIC-NEXT: retq
8158 ; LINUX-32-STATIC-LABEL: bam00:
8159 ; LINUX-32-STATIC: # %bb.0: # %entry
8160 ; LINUX-32-STATIC-NEXT: leal src+262144, %eax
8161 ; LINUX-32-STATIC-NEXT: retl
8163 ; LINUX-32-PIC-LABEL: bam00:
8164 ; LINUX-32-PIC: # %bb.0: # %entry
8165 ; LINUX-32-PIC-NEXT: calll .L99$pb
8166 ; LINUX-32-PIC-NEXT: .L99$pb:
8167 ; LINUX-32-PIC-NEXT: popl %ecx
8168 ; LINUX-32-PIC-NEXT: .Ltmp99:
8169 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp99-.L99$pb), %ecx
8170 ; LINUX-32-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8171 ; LINUX-32-PIC-NEXT: addl src@GOT(%ecx), %eax
8172 ; LINUX-32-PIC-NEXT: retl
8174 ; LINUX-64-PIC-LABEL: bam00:
8175 ; LINUX-64-PIC: # %bb.0: # %entry
8176 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8177 ; LINUX-64-PIC-NEXT: addq src@GOTPCREL(%rip), %rax
8178 ; LINUX-64-PIC-NEXT: retq
8223 ; LINUX-64-STATIC-LABEL: bam01:
8224 ; LINUX-64-STATIC: # %bb.0: # %entry
8225 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8226 ; LINUX-64-STATIC-NEXT: addq dst@GOTPCREL(%rip), %rax
8227 ; LINUX-64-STATIC-NEXT: retq
8229 ; LINUX-32-STATIC-LABEL: bam01:
8230 ; LINUX-32-STATIC: # %bb.0: # %entry
8231 ; LINUX-32-STATIC-NEXT: leal dst+262144, %eax
8232 ; LINUX-32-STATIC-NEXT: retl
8234 ; LINUX-32-PIC-LABEL: bam01:
8235 ; LINUX-32-PIC: # %bb.0: # %entry
8236 ; LINUX-32-PIC-NEXT: calll .L100$pb
8237 ; LINUX-32-PIC-NEXT: .L100$pb:
8238 ; LINUX-32-PIC-NEXT: popl %ecx
8239 ; LINUX-32-PIC-NEXT: .Ltmp100:
8240 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp100-.L100$pb), %ecx
8241 ; LINUX-32-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8242 ; LINUX-32-PIC-NEXT: addl dst@GOT(%ecx), %eax
8243 ; LINUX-32-PIC-NEXT: retl
8245 ; LINUX-64-PIC-LABEL: bam01:
8246 ; LINUX-64-PIC: # %bb.0: # %entry
8247 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8248 ; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax
8249 ; LINUX-64-PIC-NEXT: retq
8294 ; LINUX-64-STATIC-LABEL: bxm01:
8295 ; LINUX-64-STATIC: # %bb.0: # %entry
8296 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8297 ; LINUX-64-STATIC-NEXT: addq xdst@GOTPCREL(%rip), %rax
8298 ; LINUX-64-STATIC-NEXT: retq
8300 ; LINUX-32-STATIC-LABEL: bxm01:
8301 ; LINUX-32-STATIC: # %bb.0: # %entry
8302 ; LINUX-32-STATIC-NEXT: leal xdst+262144, %eax
8303 ; LINUX-32-STATIC-NEXT: retl
8305 ; LINUX-32-PIC-LABEL: bxm01:
8306 ; LINUX-32-PIC: # %bb.0: # %entry
8307 ; LINUX-32-PIC-NEXT: calll .L101$pb
8308 ; LINUX-32-PIC-NEXT: .L101$pb:
8309 ; LINUX-32-PIC-NEXT: popl %ecx
8310 ; LINUX-32-PIC-NEXT: .Ltmp101:
8311 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp101-.L101$pb), %ecx
8312 ; LINUX-32-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8313 ; LINUX-32-PIC-NEXT: addl xdst@GOT(%ecx), %eax
8314 ; LINUX-32-PIC-NEXT: retl
8316 ; LINUX-64-PIC-LABEL: bxm01:
8317 ; LINUX-64-PIC: # %bb.0: # %entry
8318 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8319 ; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rax
8320 ; LINUX-64-PIC-NEXT: retq
8365 ; LINUX-64-STATIC-LABEL: bam02:
8366 ; LINUX-64-STATIC: # %bb.0: # %entry
8367 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
8368 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8369 ; LINUX-64-STATIC-NEXT: addq (%rcx), %rax
8370 ; LINUX-64-STATIC-NEXT: retq
8372 ; LINUX-32-STATIC-LABEL: bam02:
8373 ; LINUX-32-STATIC: # %bb.0: # %entry
8374 ; LINUX-32-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8375 ; LINUX-32-STATIC-NEXT: addl ptr, %eax
8376 ; LINUX-32-STATIC-NEXT: retl
8378 ; LINUX-32-PIC-LABEL: bam02:
8379 ; LINUX-32-PIC: # %bb.0: # %entry
8380 ; LINUX-32-PIC-NEXT: calll .L102$pb
8381 ; LINUX-32-PIC-NEXT: .L102$pb:
8382 ; LINUX-32-PIC-NEXT: popl %eax
8383 ; LINUX-32-PIC-NEXT: .Ltmp102:
8384 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp102-.L102$pb), %eax
8385 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %ecx
8386 ; LINUX-32-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8387 ; LINUX-32-PIC-NEXT: addl (%ecx), %eax
8388 ; LINUX-32-PIC-NEXT: retl
8390 ; LINUX-64-PIC-LABEL: bam02:
8391 ; LINUX-64-PIC: # %bb.0: # %entry
8392 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx
8393 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8394 ; LINUX-64-PIC-NEXT: addq (%rcx), %rax
8395 ; LINUX-64-PIC-NEXT: retq
8448 ; LINUX-64-STATIC-LABEL: bam03:
8449 ; LINUX-64-STATIC: # %bb.0: # %entry
8450 ; LINUX-64-STATIC-NEXT: movl $dsrc+262144, %eax
8451 ; LINUX-64-STATIC-NEXT: retq
8453 ; LINUX-32-STATIC-LABEL: bam03:
8454 ; LINUX-32-STATIC: # %bb.0: # %entry
8455 ; LINUX-32-STATIC-NEXT: movl $dsrc+262144, %eax
8456 ; LINUX-32-STATIC-NEXT: retl
8458 ; LINUX-32-PIC-LABEL: bam03:
8459 ; LINUX-32-PIC: # %bb.0: # %entry
8460 ; LINUX-32-PIC-NEXT: calll .L103$pb
8461 ; LINUX-32-PIC-NEXT: .L103$pb:
8462 ; LINUX-32-PIC-NEXT: popl %eax
8463 ; LINUX-32-PIC-NEXT: .Ltmp103:
8464 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp103-.L103$pb), %eax
8465 ; LINUX-32-PIC-NEXT: leal .Ldsrc$local@GOTOFF+262144(%eax), %eax
8466 ; LINUX-32-PIC-NEXT: retl
8468 ; LINUX-64-PIC-LABEL: bam03:
8469 ; LINUX-64-PIC: # %bb.0: # %entry
8470 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local+262144(%rip), %rax
8471 ; LINUX-64-PIC-NEXT: retq
8511 ; LINUX-64-STATIC-LABEL: bam04:
8512 ; LINUX-64-STATIC: # %bb.0: # %entry
8513 ; LINUX-64-STATIC-NEXT: movl $ddst+262144, %eax
8514 ; LINUX-64-STATIC-NEXT: retq
8516 ; LINUX-32-STATIC-LABEL: bam04:
8517 ; LINUX-32-STATIC: # %bb.0: # %entry
8518 ; LINUX-32-STATIC-NEXT: movl $ddst+262144, %eax
8519 ; LINUX-32-STATIC-NEXT: retl
8521 ; LINUX-32-PIC-LABEL: bam04:
8522 ; LINUX-32-PIC: # %bb.0: # %entry
8523 ; LINUX-32-PIC-NEXT: calll .L104$pb
8524 ; LINUX-32-PIC-NEXT: .L104$pb:
8525 ; LINUX-32-PIC-NEXT: popl %eax
8526 ; LINUX-32-PIC-NEXT: .Ltmp104:
8527 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp104-.L104$pb), %eax
8528 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+262144(%eax), %eax
8529 ; LINUX-32-PIC-NEXT: retl
8531 ; LINUX-64-PIC-LABEL: bam04:
8532 ; LINUX-64-PIC: # %bb.0: # %entry
8533 ; LINUX-64-PIC-NEXT: leaq .Lddst$local+262144(%rip), %rax
8534 ; LINUX-64-PIC-NEXT: retq
8574 ; LINUX-64-STATIC-LABEL: bam05:
8575 ; LINUX-64-STATIC: # %bb.0: # %entry
8576 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8577 ; LINUX-64-STATIC-NEXT: addq dptr(%rip), %rax
8578 ; LINUX-64-STATIC-NEXT: retq
8580 ; LINUX-32-STATIC-LABEL: bam05:
8581 ; LINUX-32-STATIC: # %bb.0: # %entry
8582 ; LINUX-32-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8583 ; LINUX-32-STATIC-NEXT: addl dptr, %eax
8584 ; LINUX-32-STATIC-NEXT: retl
8586 ; LINUX-32-PIC-LABEL: bam05:
8587 ; LINUX-32-PIC: # %bb.0: # %entry
8588 ; LINUX-32-PIC-NEXT: calll .L105$pb
8589 ; LINUX-32-PIC-NEXT: .L105$pb:
8590 ; LINUX-32-PIC-NEXT: popl %ecx
8591 ; LINUX-32-PIC-NEXT: .Ltmp105:
8592 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp105-.L105$pb), %ecx
8593 ; LINUX-32-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8594 ; LINUX-32-PIC-NEXT: addl .Ldptr$local@GOTOFF(%ecx), %eax
8595 ; LINUX-32-PIC-NEXT: retl
8597 ; LINUX-64-PIC-LABEL: bam05:
8598 ; LINUX-64-PIC: # %bb.0: # %entry
8599 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8600 ; LINUX-64-PIC-NEXT: addq .Ldptr$local(%rip), %rax
8601 ; LINUX-64-PIC-NEXT: retq
8649 ; LINUX-64-STATIC-LABEL: bam06:
8650 ; LINUX-64-STATIC: # %bb.0: # %entry
8651 ; LINUX-64-STATIC-NEXT: movl $lsrc+262144, %eax
8652 ; LINUX-64-STATIC-NEXT: retq
8654 ; LINUX-32-STATIC-LABEL: bam06:
8655 ; LINUX-32-STATIC: # %bb.0: # %entry
8656 ; LINUX-32-STATIC-NEXT: movl $lsrc+262144, %eax
8657 ; LINUX-32-STATIC-NEXT: retl
8659 ; LINUX-32-PIC-LABEL: bam06:
8660 ; LINUX-32-PIC: # %bb.0: # %entry
8661 ; LINUX-32-PIC-NEXT: calll .L106$pb
8662 ; LINUX-32-PIC-NEXT: .L106$pb:
8663 ; LINUX-32-PIC-NEXT: popl %eax
8664 ; LINUX-32-PIC-NEXT: .Ltmp106:
8665 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp106-.L106$pb), %eax
8666 ; LINUX-32-PIC-NEXT: leal lsrc@GOTOFF+262144(%eax), %eax
8667 ; LINUX-32-PIC-NEXT: retl
8669 ; LINUX-64-PIC-LABEL: bam06:
8670 ; LINUX-64-PIC: # %bb.0: # %entry
8671 ; LINUX-64-PIC-NEXT: leaq lsrc+262144(%rip), %rax
8672 ; LINUX-64-PIC-NEXT: retq
8712 ; LINUX-64-STATIC-LABEL: bam07:
8713 ; LINUX-64-STATIC: # %bb.0: # %entry
8714 ; LINUX-64-STATIC-NEXT: movl $ldst+262144, %eax
8715 ; LINUX-64-STATIC-NEXT: retq
8717 ; LINUX-32-STATIC-LABEL: bam07:
8718 ; LINUX-32-STATIC: # %bb.0: # %entry
8719 ; LINUX-32-STATIC-NEXT: movl $ldst+262144, %eax
8720 ; LINUX-32-STATIC-NEXT: retl
8722 ; LINUX-32-PIC-LABEL: bam07:
8723 ; LINUX-32-PIC: # %bb.0: # %entry
8724 ; LINUX-32-PIC-NEXT: calll .L107$pb
8725 ; LINUX-32-PIC-NEXT: .L107$pb:
8726 ; LINUX-32-PIC-NEXT: popl %eax
8727 ; LINUX-32-PIC-NEXT: .Ltmp107:
8728 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp107-.L107$pb), %eax
8729 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+262144(%eax), %eax
8730 ; LINUX-32-PIC-NEXT: retl
8732 ; LINUX-64-PIC-LABEL: bam07:
8733 ; LINUX-64-PIC: # %bb.0: # %entry
8734 ; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax
8735 ; LINUX-64-PIC-NEXT: retq
8775 ; LINUX-64-STATIC-LABEL: bam08:
8776 ; LINUX-64-STATIC: # %bb.0: # %entry
8777 ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8778 ; LINUX-64-STATIC-NEXT: addq lptr(%rip), %rax
8779 ; LINUX-64-STATIC-NEXT: retq
8781 ; LINUX-32-STATIC-LABEL: bam08:
8782 ; LINUX-32-STATIC: # %bb.0: # %entry
8783 ; LINUX-32-STATIC-NEXT: movl $262144, %eax # imm = 0x40000
8784 ; LINUX-32-STATIC-NEXT: addl lptr, %eax
8785 ; LINUX-32-STATIC-NEXT: retl
8787 ; LINUX-32-PIC-LABEL: bam08:
8788 ; LINUX-32-PIC: # %bb.0: # %entry
8789 ; LINUX-32-PIC-NEXT: calll .L108$pb
8790 ; LINUX-32-PIC-NEXT: .L108$pb:
8791 ; LINUX-32-PIC-NEXT: popl %ecx
8792 ; LINUX-32-PIC-NEXT: .Ltmp108:
8793 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp108-.L108$pb), %ecx
8794 ; LINUX-32-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8795 ; LINUX-32-PIC-NEXT: addl lptr@GOTOFF(%ecx), %eax
8796 ; LINUX-32-PIC-NEXT: retl
8798 ; LINUX-64-PIC-LABEL: bam08:
8799 ; LINUX-64-PIC: # %bb.0: # %entry
8800 ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000
8801 ; LINUX-64-PIC-NEXT: addq lptr(%rip), %rax
8802 ; LINUX-64-PIC-NEXT: retq
8850 ; LINUX-64-STATIC-LABEL: cat00:
8851 ; LINUX-64-STATIC: # %bb.0: # %entry
8852 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
8853 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
8854 ; LINUX-64-STATIC-NEXT: retq
8856 ; LINUX-32-STATIC-LABEL: cat00:
8857 ; LINUX-32-STATIC: # %bb.0: # %entry
8858 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
8859 ; LINUX-32-STATIC-NEXT: leal src+64(,%eax,4), %eax
8860 ; LINUX-32-STATIC-NEXT: retl
8862 ; LINUX-32-PIC-LABEL: cat00:
8863 ; LINUX-32-PIC: # %bb.0: # %entry
8864 ; LINUX-32-PIC-NEXT: calll .L109$pb
8865 ; LINUX-32-PIC-NEXT: .L109$pb:
8866 ; LINUX-32-PIC-NEXT: popl %eax
8867 ; LINUX-32-PIC-NEXT: .Ltmp109:
8868 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp109-.L109$pb), %eax
8869 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
8870 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %eax
8871 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
8872 ; LINUX-32-PIC-NEXT: retl
8874 ; LINUX-64-PIC-LABEL: cat00:
8875 ; LINUX-64-PIC: # %bb.0: # %entry
8876 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
8877 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
8878 ; LINUX-64-PIC-NEXT: retq
8928 ; LINUX-64-STATIC-LABEL: cxt00:
8929 ; LINUX-64-STATIC: # %bb.0: # %entry
8930 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
8931 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
8932 ; LINUX-64-STATIC-NEXT: retq
8934 ; LINUX-32-STATIC-LABEL: cxt00:
8935 ; LINUX-32-STATIC: # %bb.0: # %entry
8936 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
8937 ; LINUX-32-STATIC-NEXT: leal xsrc+64(,%eax,4), %eax
8938 ; LINUX-32-STATIC-NEXT: retl
8940 ; LINUX-32-PIC-LABEL: cxt00:
8941 ; LINUX-32-PIC: # %bb.0: # %entry
8942 ; LINUX-32-PIC-NEXT: calll .L110$pb
8943 ; LINUX-32-PIC-NEXT: .L110$pb:
8944 ; LINUX-32-PIC-NEXT: popl %eax
8945 ; LINUX-32-PIC-NEXT: .Ltmp110:
8946 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp110-.L110$pb), %eax
8947 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
8948 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %eax
8949 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
8950 ; LINUX-32-PIC-NEXT: retl
8952 ; LINUX-64-PIC-LABEL: cxt00:
8953 ; LINUX-64-PIC: # %bb.0: # %entry
8954 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
8955 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
8956 ; LINUX-64-PIC-NEXT: retq
9006 ; LINUX-64-STATIC-LABEL: cat01:
9007 ; LINUX-64-STATIC: # %bb.0: # %entry
9008 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
9009 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9010 ; LINUX-64-STATIC-NEXT: retq
9012 ; LINUX-32-STATIC-LABEL: cat01:
9013 ; LINUX-32-STATIC: # %bb.0: # %entry
9014 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9015 ; LINUX-32-STATIC-NEXT: leal dst+64(,%eax,4), %eax
9016 ; LINUX-32-STATIC-NEXT: retl
9018 ; LINUX-32-PIC-LABEL: cat01:
9019 ; LINUX-32-PIC: # %bb.0: # %entry
9020 ; LINUX-32-PIC-NEXT: calll .L111$pb
9021 ; LINUX-32-PIC-NEXT: .L111$pb:
9022 ; LINUX-32-PIC-NEXT: popl %eax
9023 ; LINUX-32-PIC-NEXT: .Ltmp111:
9024 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp111-.L111$pb), %eax
9025 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9026 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
9027 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9028 ; LINUX-32-PIC-NEXT: retl
9030 ; LINUX-64-PIC-LABEL: cat01:
9031 ; LINUX-64-PIC: # %bb.0: # %entry
9032 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
9033 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9034 ; LINUX-64-PIC-NEXT: retq
9084 ; LINUX-64-STATIC-LABEL: cxt01:
9085 ; LINUX-64-STATIC: # %bb.0: # %entry
9086 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
9087 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9088 ; LINUX-64-STATIC-NEXT: retq
9090 ; LINUX-32-STATIC-LABEL: cxt01:
9091 ; LINUX-32-STATIC: # %bb.0: # %entry
9092 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9093 ; LINUX-32-STATIC-NEXT: leal xdst+64(,%eax,4), %eax
9094 ; LINUX-32-STATIC-NEXT: retl
9096 ; LINUX-32-PIC-LABEL: cxt01:
9097 ; LINUX-32-PIC: # %bb.0: # %entry
9098 ; LINUX-32-PIC-NEXT: calll .L112$pb
9099 ; LINUX-32-PIC-NEXT: .L112$pb:
9100 ; LINUX-32-PIC-NEXT: popl %eax
9101 ; LINUX-32-PIC-NEXT: .Ltmp112:
9102 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp112-.L112$pb), %eax
9103 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9104 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
9105 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9106 ; LINUX-32-PIC-NEXT: retl
9108 ; LINUX-64-PIC-LABEL: cxt01:
9109 ; LINUX-64-PIC: # %bb.0: # %entry
9110 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
9111 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9112 ; LINUX-64-PIC-NEXT: retq
9162 ; LINUX-64-STATIC-LABEL: cat02:
9163 ; LINUX-64-STATIC: # %bb.0: # %entry
9164 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
9165 ; LINUX-64-STATIC-NEXT: movq (%rax), %rax
9166 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9167 ; LINUX-64-STATIC-NEXT: retq
9169 ; LINUX-32-STATIC-LABEL: cat02:
9170 ; LINUX-32-STATIC: # %bb.0: # %entry
9171 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9172 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
9173 ; LINUX-32-STATIC-NEXT: leal 64(%ecx,%eax,4), %eax
9174 ; LINUX-32-STATIC-NEXT: retl
9176 ; LINUX-32-PIC-LABEL: cat02:
9177 ; LINUX-32-PIC: # %bb.0: # %entry
9178 ; LINUX-32-PIC-NEXT: calll .L113$pb
9179 ; LINUX-32-PIC-NEXT: .L113$pb:
9180 ; LINUX-32-PIC-NEXT: popl %eax
9181 ; LINUX-32-PIC-NEXT: .Ltmp113:
9182 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp113-.L113$pb), %eax
9183 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
9184 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
9185 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9186 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9187 ; LINUX-32-PIC-NEXT: retl
9189 ; LINUX-64-PIC-LABEL: cat02:
9190 ; LINUX-64-PIC: # %bb.0: # %entry
9191 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
9192 ; LINUX-64-PIC-NEXT: movq (%rax), %rax
9193 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9194 ; LINUX-64-PIC-NEXT: retq
9251 ; LINUX-64-STATIC-LABEL: cat03:
9252 ; LINUX-64-STATIC: # %bb.0: # %entry
9253 ; LINUX-64-STATIC-NEXT: leaq dsrc+64(,%rdi,4), %rax
9254 ; LINUX-64-STATIC-NEXT: retq
9256 ; LINUX-32-STATIC-LABEL: cat03:
9257 ; LINUX-32-STATIC: # %bb.0: # %entry
9258 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9259 ; LINUX-32-STATIC-NEXT: leal dsrc+64(,%eax,4), %eax
9260 ; LINUX-32-STATIC-NEXT: retl
9262 ; LINUX-32-PIC-LABEL: cat03:
9263 ; LINUX-32-PIC: # %bb.0: # %entry
9264 ; LINUX-32-PIC-NEXT: calll .L114$pb
9265 ; LINUX-32-PIC-NEXT: .L114$pb:
9266 ; LINUX-32-PIC-NEXT: popl %eax
9267 ; LINUX-32-PIC-NEXT: .Ltmp114:
9268 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp114-.L114$pb), %eax
9269 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9270 ; LINUX-32-PIC-NEXT: leal .Ldsrc$local@GOTOFF+64(%eax,%ecx,4), %eax
9271 ; LINUX-32-PIC-NEXT: retl
9273 ; LINUX-64-PIC-LABEL: cat03:
9274 ; LINUX-64-PIC: # %bb.0: # %entry
9275 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
9276 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9277 ; LINUX-64-PIC-NEXT: retq
9325 ; LINUX-64-STATIC-LABEL: cat04:
9326 ; LINUX-64-STATIC: # %bb.0: # %entry
9327 ; LINUX-64-STATIC-NEXT: leaq ddst+64(,%rdi,4), %rax
9328 ; LINUX-64-STATIC-NEXT: retq
9330 ; LINUX-32-STATIC-LABEL: cat04:
9331 ; LINUX-32-STATIC: # %bb.0: # %entry
9332 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9333 ; LINUX-32-STATIC-NEXT: leal ddst+64(,%eax,4), %eax
9334 ; LINUX-32-STATIC-NEXT: retl
9336 ; LINUX-32-PIC-LABEL: cat04:
9337 ; LINUX-32-PIC: # %bb.0: # %entry
9338 ; LINUX-32-PIC-NEXT: calll .L115$pb
9339 ; LINUX-32-PIC-NEXT: .L115$pb:
9340 ; LINUX-32-PIC-NEXT: popl %eax
9341 ; LINUX-32-PIC-NEXT: .Ltmp115:
9342 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp115-.L115$pb), %eax
9343 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9344 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+64(%eax,%ecx,4), %eax
9345 ; LINUX-32-PIC-NEXT: retl
9347 ; LINUX-64-PIC-LABEL: cat04:
9348 ; LINUX-64-PIC: # %bb.0: # %entry
9349 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
9350 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9351 ; LINUX-64-PIC-NEXT: retq
9399 ; LINUX-64-STATIC-LABEL: cat05:
9400 ; LINUX-64-STATIC: # %bb.0: # %entry
9401 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax
9402 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9403 ; LINUX-64-STATIC-NEXT: retq
9405 ; LINUX-32-STATIC-LABEL: cat05:
9406 ; LINUX-32-STATIC: # %bb.0: # %entry
9407 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9408 ; LINUX-32-STATIC-NEXT: movl dptr, %ecx
9409 ; LINUX-32-STATIC-NEXT: leal 64(%ecx,%eax,4), %eax
9410 ; LINUX-32-STATIC-NEXT: retl
9412 ; LINUX-32-PIC-LABEL: cat05:
9413 ; LINUX-32-PIC: # %bb.0: # %entry
9414 ; LINUX-32-PIC-NEXT: calll .L116$pb
9415 ; LINUX-32-PIC-NEXT: .L116$pb:
9416 ; LINUX-32-PIC-NEXT: popl %eax
9417 ; LINUX-32-PIC-NEXT: .Ltmp116:
9418 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp116-.L116$pb), %eax
9419 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9420 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
9421 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9422 ; LINUX-32-PIC-NEXT: retl
9424 ; LINUX-64-PIC-LABEL: cat05:
9425 ; LINUX-64-PIC: # %bb.0: # %entry
9426 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax
9427 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9428 ; LINUX-64-PIC-NEXT: retq
9480 ; LINUX-64-STATIC-LABEL: cat06:
9481 ; LINUX-64-STATIC: # %bb.0: # %entry
9482 ; LINUX-64-STATIC-NEXT: leaq lsrc+64(,%rdi,4), %rax
9483 ; LINUX-64-STATIC-NEXT: retq
9485 ; LINUX-32-STATIC-LABEL: cat06:
9486 ; LINUX-32-STATIC: # %bb.0: # %entry
9487 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9488 ; LINUX-32-STATIC-NEXT: leal lsrc+64(,%eax,4), %eax
9489 ; LINUX-32-STATIC-NEXT: retl
9491 ; LINUX-32-PIC-LABEL: cat06:
9492 ; LINUX-32-PIC: # %bb.0: # %entry
9493 ; LINUX-32-PIC-NEXT: calll .L117$pb
9494 ; LINUX-32-PIC-NEXT: .L117$pb:
9495 ; LINUX-32-PIC-NEXT: popl %eax
9496 ; LINUX-32-PIC-NEXT: .Ltmp117:
9497 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp117-.L117$pb), %eax
9498 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9499 ; LINUX-32-PIC-NEXT: leal lsrc@GOTOFF+64(%eax,%ecx,4), %eax
9500 ; LINUX-32-PIC-NEXT: retl
9502 ; LINUX-64-PIC-LABEL: cat06:
9503 ; LINUX-64-PIC: # %bb.0: # %entry
9504 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
9505 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9506 ; LINUX-64-PIC-NEXT: retq
9554 ; LINUX-64-STATIC-LABEL: cat07:
9555 ; LINUX-64-STATIC: # %bb.0: # %entry
9556 ; LINUX-64-STATIC-NEXT: leaq ldst+64(,%rdi,4), %rax
9557 ; LINUX-64-STATIC-NEXT: retq
9559 ; LINUX-32-STATIC-LABEL: cat07:
9560 ; LINUX-32-STATIC: # %bb.0: # %entry
9561 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9562 ; LINUX-32-STATIC-NEXT: leal ldst+64(,%eax,4), %eax
9563 ; LINUX-32-STATIC-NEXT: retl
9565 ; LINUX-32-PIC-LABEL: cat07:
9566 ; LINUX-32-PIC: # %bb.0: # %entry
9567 ; LINUX-32-PIC-NEXT: calll .L118$pb
9568 ; LINUX-32-PIC-NEXT: .L118$pb:
9569 ; LINUX-32-PIC-NEXT: popl %eax
9570 ; LINUX-32-PIC-NEXT: .Ltmp118:
9571 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp118-.L118$pb), %eax
9572 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9573 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+64(%eax,%ecx,4), %eax
9574 ; LINUX-32-PIC-NEXT: retl
9576 ; LINUX-64-PIC-LABEL: cat07:
9577 ; LINUX-64-PIC: # %bb.0: # %entry
9578 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
9579 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9580 ; LINUX-64-PIC-NEXT: retq
9628 ; LINUX-64-STATIC-LABEL: cat08:
9629 ; LINUX-64-STATIC: # %bb.0: # %entry
9630 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax
9631 ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9632 ; LINUX-64-STATIC-NEXT: retq
9634 ; LINUX-32-STATIC-LABEL: cat08:
9635 ; LINUX-32-STATIC: # %bb.0: # %entry
9636 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9637 ; LINUX-32-STATIC-NEXT: movl lptr, %ecx
9638 ; LINUX-32-STATIC-NEXT: leal 64(%ecx,%eax,4), %eax
9639 ; LINUX-32-STATIC-NEXT: retl
9641 ; LINUX-32-PIC-LABEL: cat08:
9642 ; LINUX-32-PIC: # %bb.0: # %entry
9643 ; LINUX-32-PIC-NEXT: calll .L119$pb
9644 ; LINUX-32-PIC-NEXT: .L119$pb:
9645 ; LINUX-32-PIC-NEXT: popl %eax
9646 ; LINUX-32-PIC-NEXT: .Ltmp119:
9647 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp119-.L119$pb), %eax
9648 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9649 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
9650 ; LINUX-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9651 ; LINUX-32-PIC-NEXT: retl
9653 ; LINUX-64-PIC-LABEL: cat08:
9654 ; LINUX-64-PIC: # %bb.0: # %entry
9655 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax
9656 ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9657 ; LINUX-64-PIC-NEXT: retq
9709 ; LINUX-64-STATIC-LABEL: cam00:
9710 ; LINUX-64-STATIC: # %bb.0: # %entry
9711 ; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax
9712 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9713 ; LINUX-64-STATIC-NEXT: retq
9715 ; LINUX-32-STATIC-LABEL: cam00:
9716 ; LINUX-32-STATIC: # %bb.0: # %entry
9717 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9718 ; LINUX-32-STATIC-NEXT: leal src+262144(,%eax,4), %eax
9719 ; LINUX-32-STATIC-NEXT: retl
9721 ; LINUX-32-PIC-LABEL: cam00:
9722 ; LINUX-32-PIC: # %bb.0: # %entry
9723 ; LINUX-32-PIC-NEXT: calll .L120$pb
9724 ; LINUX-32-PIC-NEXT: .L120$pb:
9725 ; LINUX-32-PIC-NEXT: popl %eax
9726 ; LINUX-32-PIC-NEXT: .Ltmp120:
9727 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp120-.L120$pb), %eax
9728 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9729 ; LINUX-32-PIC-NEXT: movl src@GOT(%eax), %eax
9730 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9731 ; LINUX-32-PIC-NEXT: retl
9733 ; LINUX-64-PIC-LABEL: cam00:
9734 ; LINUX-64-PIC: # %bb.0: # %entry
9735 ; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax
9736 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9737 ; LINUX-64-PIC-NEXT: retq
9787 ; LINUX-64-STATIC-LABEL: cxm00:
9788 ; LINUX-64-STATIC: # %bb.0: # %entry
9789 ; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
9790 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9791 ; LINUX-64-STATIC-NEXT: retq
9793 ; LINUX-32-STATIC-LABEL: cxm00:
9794 ; LINUX-32-STATIC: # %bb.0: # %entry
9795 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9796 ; LINUX-32-STATIC-NEXT: leal xsrc+262144(,%eax,4), %eax
9797 ; LINUX-32-STATIC-NEXT: retl
9799 ; LINUX-32-PIC-LABEL: cxm00:
9800 ; LINUX-32-PIC: # %bb.0: # %entry
9801 ; LINUX-32-PIC-NEXT: calll .L121$pb
9802 ; LINUX-32-PIC-NEXT: .L121$pb:
9803 ; LINUX-32-PIC-NEXT: popl %eax
9804 ; LINUX-32-PIC-NEXT: .Ltmp121:
9805 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp121-.L121$pb), %eax
9806 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9807 ; LINUX-32-PIC-NEXT: movl xsrc@GOT(%eax), %eax
9808 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9809 ; LINUX-32-PIC-NEXT: retl
9811 ; LINUX-64-PIC-LABEL: cxm00:
9812 ; LINUX-64-PIC: # %bb.0: # %entry
9813 ; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax
9814 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9815 ; LINUX-64-PIC-NEXT: retq
9865 ; LINUX-64-STATIC-LABEL: cam01:
9866 ; LINUX-64-STATIC: # %bb.0: # %entry
9867 ; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax
9868 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9869 ; LINUX-64-STATIC-NEXT: retq
9871 ; LINUX-32-STATIC-LABEL: cam01:
9872 ; LINUX-32-STATIC: # %bb.0: # %entry
9873 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9874 ; LINUX-32-STATIC-NEXT: leal dst+262144(,%eax,4), %eax
9875 ; LINUX-32-STATIC-NEXT: retl
9877 ; LINUX-32-PIC-LABEL: cam01:
9878 ; LINUX-32-PIC: # %bb.0: # %entry
9879 ; LINUX-32-PIC-NEXT: calll .L122$pb
9880 ; LINUX-32-PIC-NEXT: .L122$pb:
9881 ; LINUX-32-PIC-NEXT: popl %eax
9882 ; LINUX-32-PIC-NEXT: .Ltmp122:
9883 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp122-.L122$pb), %eax
9884 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9885 ; LINUX-32-PIC-NEXT: movl dst@GOT(%eax), %eax
9886 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9887 ; LINUX-32-PIC-NEXT: retl
9889 ; LINUX-64-PIC-LABEL: cam01:
9890 ; LINUX-64-PIC: # %bb.0: # %entry
9891 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax
9892 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9893 ; LINUX-64-PIC-NEXT: retq
9943 ; LINUX-64-STATIC-LABEL: cxm01:
9944 ; LINUX-64-STATIC: # %bb.0: # %entry
9945 ; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
9946 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9947 ; LINUX-64-STATIC-NEXT: retq
9949 ; LINUX-32-STATIC-LABEL: cxm01:
9950 ; LINUX-32-STATIC: # %bb.0: # %entry
9951 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
9952 ; LINUX-32-STATIC-NEXT: leal xdst+262144(,%eax,4), %eax
9953 ; LINUX-32-STATIC-NEXT: retl
9955 ; LINUX-32-PIC-LABEL: cxm01:
9956 ; LINUX-32-PIC: # %bb.0: # %entry
9957 ; LINUX-32-PIC-NEXT: calll .L123$pb
9958 ; LINUX-32-PIC-NEXT: .L123$pb:
9959 ; LINUX-32-PIC-NEXT: popl %eax
9960 ; LINUX-32-PIC-NEXT: .Ltmp123:
9961 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp123-.L123$pb), %eax
9962 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9963 ; LINUX-32-PIC-NEXT: movl xdst@GOT(%eax), %eax
9964 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9965 ; LINUX-32-PIC-NEXT: retl
9967 ; LINUX-64-PIC-LABEL: cxm01:
9968 ; LINUX-64-PIC: # %bb.0: # %entry
9969 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax
9970 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9971 ; LINUX-64-PIC-NEXT: retq
10021 ; LINUX-64-STATIC-LABEL: cam02:
10022 ; LINUX-64-STATIC: # %bb.0: # %entry
10023 ; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
10024 ; LINUX-64-STATIC-NEXT: movq (%rax), %rax
10025 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10026 ; LINUX-64-STATIC-NEXT: retq
10028 ; LINUX-32-STATIC-LABEL: cam02:
10029 ; LINUX-32-STATIC: # %bb.0: # %entry
10030 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10031 ; LINUX-32-STATIC-NEXT: movl ptr, %ecx
10032 ; LINUX-32-STATIC-NEXT: leal 262144(%ecx,%eax,4), %eax
10033 ; LINUX-32-STATIC-NEXT: retl
10035 ; LINUX-32-PIC-LABEL: cam02:
10036 ; LINUX-32-PIC: # %bb.0: # %entry
10037 ; LINUX-32-PIC-NEXT: calll .L124$pb
10038 ; LINUX-32-PIC-NEXT: .L124$pb:
10039 ; LINUX-32-PIC-NEXT: popl %eax
10040 ; LINUX-32-PIC-NEXT: .Ltmp124:
10041 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp124-.L124$pb), %eax
10042 ; LINUX-32-PIC-NEXT: movl ptr@GOT(%eax), %eax
10043 ; LINUX-32-PIC-NEXT: movl (%eax), %eax
10044 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10045 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
10046 ; LINUX-32-PIC-NEXT: retl
10048 ; LINUX-64-PIC-LABEL: cam02:
10049 ; LINUX-64-PIC: # %bb.0: # %entry
10050 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax
10051 ; LINUX-64-PIC-NEXT: movq (%rax), %rax
10052 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10053 ; LINUX-64-PIC-NEXT: retq
10110 ; LINUX-64-STATIC-LABEL: cam03:
10111 ; LINUX-64-STATIC: # %bb.0: # %entry
10112 ; LINUX-64-STATIC-NEXT: leaq dsrc+262144(,%rdi,4), %rax
10113 ; LINUX-64-STATIC-NEXT: retq
10115 ; LINUX-32-STATIC-LABEL: cam03:
10116 ; LINUX-32-STATIC: # %bb.0: # %entry
10117 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10118 ; LINUX-32-STATIC-NEXT: leal dsrc+262144(,%eax,4), %eax
10119 ; LINUX-32-STATIC-NEXT: retl
10121 ; LINUX-32-PIC-LABEL: cam03:
10122 ; LINUX-32-PIC: # %bb.0: # %entry
10123 ; LINUX-32-PIC-NEXT: calll .L125$pb
10124 ; LINUX-32-PIC-NEXT: .L125$pb:
10125 ; LINUX-32-PIC-NEXT: popl %eax
10126 ; LINUX-32-PIC-NEXT: .Ltmp125:
10127 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp125-.L125$pb), %eax
10128 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10129 ; LINUX-32-PIC-NEXT: leal .Ldsrc$local@GOTOFF+262144(%eax,%ecx,4), %eax
10130 ; LINUX-32-PIC-NEXT: retl
10132 ; LINUX-64-PIC-LABEL: cam03:
10133 ; LINUX-64-PIC: # %bb.0: # %entry
10134 ; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax
10135 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10136 ; LINUX-64-PIC-NEXT: retq
10184 ; LINUX-64-STATIC-LABEL: cam04:
10185 ; LINUX-64-STATIC: # %bb.0: # %entry
10186 ; LINUX-64-STATIC-NEXT: leaq ddst+262144(,%rdi,4), %rax
10187 ; LINUX-64-STATIC-NEXT: retq
10189 ; LINUX-32-STATIC-LABEL: cam04:
10190 ; LINUX-32-STATIC: # %bb.0: # %entry
10191 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10192 ; LINUX-32-STATIC-NEXT: leal ddst+262144(,%eax,4), %eax
10193 ; LINUX-32-STATIC-NEXT: retl
10195 ; LINUX-32-PIC-LABEL: cam04:
10196 ; LINUX-32-PIC: # %bb.0: # %entry
10197 ; LINUX-32-PIC-NEXT: calll .L126$pb
10198 ; LINUX-32-PIC-NEXT: .L126$pb:
10199 ; LINUX-32-PIC-NEXT: popl %eax
10200 ; LINUX-32-PIC-NEXT: .Ltmp126:
10201 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp126-.L126$pb), %eax
10202 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10203 ; LINUX-32-PIC-NEXT: leal .Lddst$local@GOTOFF+262144(%eax,%ecx,4), %eax
10204 ; LINUX-32-PIC-NEXT: retl
10206 ; LINUX-64-PIC-LABEL: cam04:
10207 ; LINUX-64-PIC: # %bb.0: # %entry
10208 ; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax
10209 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10210 ; LINUX-64-PIC-NEXT: retq
10258 ; LINUX-64-STATIC-LABEL: cam05:
10259 ; LINUX-64-STATIC: # %bb.0: # %entry
10260 ; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax
10261 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10262 ; LINUX-64-STATIC-NEXT: retq
10264 ; LINUX-32-STATIC-LABEL: cam05:
10265 ; LINUX-32-STATIC: # %bb.0: # %entry
10266 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10267 ; LINUX-32-STATIC-NEXT: movl dptr, %ecx
10268 ; LINUX-32-STATIC-NEXT: leal 262144(%ecx,%eax,4), %eax
10269 ; LINUX-32-STATIC-NEXT: retl
10271 ; LINUX-32-PIC-LABEL: cam05:
10272 ; LINUX-32-PIC: # %bb.0: # %entry
10273 ; LINUX-32-PIC-NEXT: calll .L127$pb
10274 ; LINUX-32-PIC-NEXT: .L127$pb:
10275 ; LINUX-32-PIC-NEXT: popl %eax
10276 ; LINUX-32-PIC-NEXT: .Ltmp127:
10277 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp127-.L127$pb), %eax
10278 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10279 ; LINUX-32-PIC-NEXT: movl .Ldptr$local@GOTOFF(%eax), %eax
10280 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
10281 ; LINUX-32-PIC-NEXT: retl
10283 ; LINUX-64-PIC-LABEL: cam05:
10284 ; LINUX-64-PIC: # %bb.0: # %entry
10285 ; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax
10286 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10287 ; LINUX-64-PIC-NEXT: retq
10339 ; LINUX-64-STATIC-LABEL: cam06:
10340 ; LINUX-64-STATIC: # %bb.0: # %entry
10341 ; LINUX-64-STATIC-NEXT: leaq lsrc+262144(,%rdi,4), %rax
10342 ; LINUX-64-STATIC-NEXT: retq
10344 ; LINUX-32-STATIC-LABEL: cam06:
10345 ; LINUX-32-STATIC: # %bb.0: # %entry
10346 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10347 ; LINUX-32-STATIC-NEXT: leal lsrc+262144(,%eax,4), %eax
10348 ; LINUX-32-STATIC-NEXT: retl
10350 ; LINUX-32-PIC-LABEL: cam06:
10351 ; LINUX-32-PIC: # %bb.0: # %entry
10352 ; LINUX-32-PIC-NEXT: calll .L128$pb
10353 ; LINUX-32-PIC-NEXT: .L128$pb:
10354 ; LINUX-32-PIC-NEXT: popl %eax
10355 ; LINUX-32-PIC-NEXT: .Ltmp128:
10356 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp128-.L128$pb), %eax
10357 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10358 ; LINUX-32-PIC-NEXT: leal lsrc@GOTOFF+262144(%eax,%ecx,4), %eax
10359 ; LINUX-32-PIC-NEXT: retl
10361 ; LINUX-64-PIC-LABEL: cam06:
10362 ; LINUX-64-PIC: # %bb.0: # %entry
10363 ; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax
10364 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10365 ; LINUX-64-PIC-NEXT: retq
10413 ; LINUX-64-STATIC-LABEL: cam07:
10414 ; LINUX-64-STATIC: # %bb.0: # %entry
10415 ; LINUX-64-STATIC-NEXT: leaq ldst+262144(,%rdi,4), %rax
10416 ; LINUX-64-STATIC-NEXT: retq
10418 ; LINUX-32-STATIC-LABEL: cam07:
10419 ; LINUX-32-STATIC: # %bb.0: # %entry
10420 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10421 ; LINUX-32-STATIC-NEXT: leal ldst+262144(,%eax,4), %eax
10422 ; LINUX-32-STATIC-NEXT: retl
10424 ; LINUX-32-PIC-LABEL: cam07:
10425 ; LINUX-32-PIC: # %bb.0: # %entry
10426 ; LINUX-32-PIC-NEXT: calll .L129$pb
10427 ; LINUX-32-PIC-NEXT: .L129$pb:
10428 ; LINUX-32-PIC-NEXT: popl %eax
10429 ; LINUX-32-PIC-NEXT: .Ltmp129:
10430 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp129-.L129$pb), %eax
10431 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10432 ; LINUX-32-PIC-NEXT: leal ldst@GOTOFF+262144(%eax,%ecx,4), %eax
10433 ; LINUX-32-PIC-NEXT: retl
10435 ; LINUX-64-PIC-LABEL: cam07:
10436 ; LINUX-64-PIC: # %bb.0: # %entry
10437 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax
10438 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10439 ; LINUX-64-PIC-NEXT: retq
10487 ; LINUX-64-STATIC-LABEL: cam08:
10488 ; LINUX-64-STATIC: # %bb.0: # %entry
10489 ; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax
10490 ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10491 ; LINUX-64-STATIC-NEXT: retq
10493 ; LINUX-32-STATIC-LABEL: cam08:
10494 ; LINUX-32-STATIC: # %bb.0: # %entry
10495 ; LINUX-32-STATIC-NEXT: movl {{[0-9]+}}(%esp), %eax
10496 ; LINUX-32-STATIC-NEXT: movl lptr, %ecx
10497 ; LINUX-32-STATIC-NEXT: leal 262144(%ecx,%eax,4), %eax
10498 ; LINUX-32-STATIC-NEXT: retl
10500 ; LINUX-32-PIC-LABEL: cam08:
10501 ; LINUX-32-PIC: # %bb.0: # %entry
10502 ; LINUX-32-PIC-NEXT: calll .L130$pb
10503 ; LINUX-32-PIC-NEXT: .L130$pb:
10504 ; LINUX-32-PIC-NEXT: popl %eax
10505 ; LINUX-32-PIC-NEXT: .Ltmp130:
10506 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp130-.L130$pb), %eax
10507 ; LINUX-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10508 ; LINUX-32-PIC-NEXT: movl lptr@GOTOFF(%eax), %eax
10509 ; LINUX-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
10510 ; LINUX-32-PIC-NEXT: retl
10512 ; LINUX-64-PIC-LABEL: cam08:
10513 ; LINUX-64-PIC: # %bb.0: # %entry
10514 ; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax
10515 ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10516 ; LINUX-64-PIC-NEXT: retq
10568 ; LINUX-64-STATIC-LABEL: lcallee:
10569 ; LINUX-64-STATIC: # %bb.0: # %entry
10570 ; LINUX-64-STATIC-NEXT: pushq %rax
10571 ; LINUX-64-STATIC-NEXT: callq x@PLT
10572 ; LINUX-64-STATIC-NEXT: callq x@PLT
10573 ; LINUX-64-STATIC-NEXT: callq x@PLT
10574 ; LINUX-64-STATIC-NEXT: callq x@PLT
10575 ; LINUX-64-STATIC-NEXT: callq x@PLT
10576 ; LINUX-64-STATIC-NEXT: callq x@PLT
10577 ; LINUX-64-STATIC-NEXT: callq x@PLT
10578 ; LINUX-64-STATIC-NEXT: popq %rax
10579 ; LINUX-64-STATIC-NEXT: retq
10581 ; LINUX-32-STATIC-LABEL: lcallee:
10582 ; LINUX-32-STATIC: # %bb.0: # %entry
10583 ; LINUX-32-STATIC-NEXT: subl $12, %esp
10584 ; LINUX-32-STATIC-NEXT: calll x@PLT
10585 ; LINUX-32-STATIC-NEXT: calll x@PLT
10586 ; LINUX-32-STATIC-NEXT: calll x@PLT
10587 ; LINUX-32-STATIC-NEXT: calll x@PLT
10588 ; LINUX-32-STATIC-NEXT: calll x@PLT
10589 ; LINUX-32-STATIC-NEXT: calll x@PLT
10590 ; LINUX-32-STATIC-NEXT: calll x@PLT
10591 ; LINUX-32-STATIC-NEXT: addl $12, %esp
10592 ; LINUX-32-STATIC-NEXT: retl
10594 ; LINUX-32-PIC-LABEL: lcallee:
10595 ; LINUX-32-PIC: # %bb.0: # %entry
10596 ; LINUX-32-PIC-NEXT: pushl %ebx
10597 ; LINUX-32-PIC-NEXT: subl $8, %esp
10598 ; LINUX-32-PIC-NEXT: calll .L131$pb
10599 ; LINUX-32-PIC-NEXT: .L131$pb:
10600 ; LINUX-32-PIC-NEXT: popl %ebx
10601 ; LINUX-32-PIC-NEXT: .Ltmp131:
10602 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp131-.L131$pb), %ebx
10603 ; LINUX-32-PIC-NEXT: calll x@PLT
10604 ; LINUX-32-PIC-NEXT: calll x@PLT
10605 ; LINUX-32-PIC-NEXT: calll x@PLT
10606 ; LINUX-32-PIC-NEXT: calll x@PLT
10607 ; LINUX-32-PIC-NEXT: calll x@PLT
10608 ; LINUX-32-PIC-NEXT: calll x@PLT
10609 ; LINUX-32-PIC-NEXT: calll x@PLT
10610 ; LINUX-32-PIC-NEXT: addl $8, %esp
10611 ; LINUX-32-PIC-NEXT: popl %ebx
10612 ; LINUX-32-PIC-NEXT: retl
10614 ; LINUX-64-PIC-LABEL: lcallee:
10615 ; LINUX-64-PIC: # %bb.0: # %entry
10616 ; LINUX-64-PIC-NEXT: pushq %rax
10617 ; LINUX-64-PIC-NEXT: callq x@PLT
10618 ; LINUX-64-PIC-NEXT: callq x@PLT
10619 ; LINUX-64-PIC-NEXT: callq x@PLT
10620 ; LINUX-64-PIC-NEXT: callq x@PLT
10621 ; LINUX-64-PIC-NEXT: callq x@PLT
10622 ; LINUX-64-PIC-NEXT: callq x@PLT
10623 ; LINUX-64-PIC-NEXT: callq x@PLT
10624 ; LINUX-64-PIC-NEXT: popq %rax
10625 ; LINUX-64-PIC-NEXT: retq
10719 ; LINUX-64-STATIC-LABEL: dcallee:
10720 ; LINUX-64-STATIC: # %bb.0: # %entry
10721 ; LINUX-64-STATIC-NEXT: pushq %rax
10722 ; LINUX-64-STATIC-NEXT: callq y@PLT
10723 ; LINUX-64-STATIC-NEXT: callq y@PLT
10724 ; LINUX-64-STATIC-NEXT: callq y@PLT
10725 ; LINUX-64-STATIC-NEXT: callq y@PLT
10726 ; LINUX-64-STATIC-NEXT: callq y@PLT
10727 ; LINUX-64-STATIC-NEXT: callq y@PLT
10728 ; LINUX-64-STATIC-NEXT: callq y@PLT
10729 ; LINUX-64-STATIC-NEXT: popq %rax
10730 ; LINUX-64-STATIC-NEXT: retq
10732 ; LINUX-32-STATIC-LABEL: dcallee:
10733 ; LINUX-32-STATIC: # %bb.0: # %entry
10734 ; LINUX-32-STATIC-NEXT: subl $12, %esp
10735 ; LINUX-32-STATIC-NEXT: calll y@PLT
10736 ; LINUX-32-STATIC-NEXT: calll y@PLT
10737 ; LINUX-32-STATIC-NEXT: calll y@PLT
10738 ; LINUX-32-STATIC-NEXT: calll y@PLT
10739 ; LINUX-32-STATIC-NEXT: calll y@PLT
10740 ; LINUX-32-STATIC-NEXT: calll y@PLT
10741 ; LINUX-32-STATIC-NEXT: calll y@PLT
10742 ; LINUX-32-STATIC-NEXT: addl $12, %esp
10743 ; LINUX-32-STATIC-NEXT: retl
10745 ; LINUX-32-PIC-LABEL: dcallee:
10746 ; LINUX-32-PIC: # %bb.0: # %entry
10747 ; LINUX-32-PIC-NEXT: pushl %ebx
10748 ; LINUX-32-PIC-NEXT: subl $8, %esp
10749 ; LINUX-32-PIC-NEXT: calll .L132$pb
10750 ; LINUX-32-PIC-NEXT: .L132$pb:
10751 ; LINUX-32-PIC-NEXT: popl %ebx
10752 ; LINUX-32-PIC-NEXT: .Ltmp132:
10753 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp132-.L132$pb), %ebx
10754 ; LINUX-32-PIC-NEXT: calll y@PLT
10755 ; LINUX-32-PIC-NEXT: calll y@PLT
10756 ; LINUX-32-PIC-NEXT: calll y@PLT
10757 ; LINUX-32-PIC-NEXT: calll y@PLT
10758 ; LINUX-32-PIC-NEXT: calll y@PLT
10759 ; LINUX-32-PIC-NEXT: calll y@PLT
10760 ; LINUX-32-PIC-NEXT: calll y@PLT
10761 ; LINUX-32-PIC-NEXT: addl $8, %esp
10762 ; LINUX-32-PIC-NEXT: popl %ebx
10763 ; LINUX-32-PIC-NEXT: retl
10765 ; LINUX-64-PIC-LABEL: dcallee:
10766 ; LINUX-64-PIC: # %bb.0: # %entry
10767 ; LINUX-64-PIC-NEXT: pushq %rax
10768 ; LINUX-64-PIC-NEXT: callq y@PLT
10769 ; LINUX-64-PIC-NEXT: callq y@PLT
10770 ; LINUX-64-PIC-NEXT: callq y@PLT
10771 ; LINUX-64-PIC-NEXT: callq y@PLT
10772 ; LINUX-64-PIC-NEXT: callq y@PLT
10773 ; LINUX-64-PIC-NEXT: callq y@PLT
10774 ; LINUX-64-PIC-NEXT: callq y@PLT
10775 ; LINUX-64-PIC-NEXT: popq %rax
10776 ; LINUX-64-PIC-NEXT: retq
10870 ; LINUX-64-STATIC-LABEL: address:
10871 ; LINUX-64-STATIC: # %bb.0: # %entry
10872 ; LINUX-64-STATIC-NEXT: movq callee@GOTPCREL(%rip), %rax
10873 ; LINUX-64-STATIC-NEXT: retq
10875 ; LINUX-32-STATIC-LABEL: address:
10876 ; LINUX-32-STATIC: # %bb.0: # %entry
10877 ; LINUX-32-STATIC-NEXT: movl $callee, %eax
10878 ; LINUX-32-STATIC-NEXT: retl
10880 ; LINUX-32-PIC-LABEL: address:
10881 ; LINUX-32-PIC: # %bb.0: # %entry
10882 ; LINUX-32-PIC-NEXT: calll .L133$pb
10883 ; LINUX-32-PIC-NEXT: .L133$pb:
10884 ; LINUX-32-PIC-NEXT: popl %eax
10885 ; LINUX-32-PIC-NEXT: .Ltmp133:
10886 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp133-.L133$pb), %eax
10887 ; LINUX-32-PIC-NEXT: movl callee@GOT(%eax), %eax
10888 ; LINUX-32-PIC-NEXT: retl
10890 ; LINUX-64-PIC-LABEL: address:
10891 ; LINUX-64-PIC: # %bb.0: # %entry
10892 ; LINUX-64-PIC-NEXT: movq callee@GOTPCREL(%rip), %rax
10893 ; LINUX-64-PIC-NEXT: retq
10935 ; LINUX-64-STATIC-LABEL: laddress:
10936 ; LINUX-64-STATIC: # %bb.0: # %entry
10937 ; LINUX-64-STATIC-NEXT: movl $lcallee, %eax
10938 ; LINUX-64-STATIC-NEXT: retq
10940 ; LINUX-32-STATIC-LABEL: laddress:
10941 ; LINUX-32-STATIC: # %bb.0: # %entry
10942 ; LINUX-32-STATIC-NEXT: movl $lcallee, %eax
10943 ; LINUX-32-STATIC-NEXT: retl
10945 ; LINUX-32-PIC-LABEL: laddress:
10946 ; LINUX-32-PIC: # %bb.0: # %entry
10947 ; LINUX-32-PIC-NEXT: calll .L134$pb
10948 ; LINUX-32-PIC-NEXT: .L134$pb:
10949 ; LINUX-32-PIC-NEXT: popl %eax
10950 ; LINUX-32-PIC-NEXT: .Ltmp134:
10951 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp134-.L134$pb), %eax
10952 ; LINUX-32-PIC-NEXT: leal .Llcallee$local@GOTOFF(%eax), %eax
10953 ; LINUX-32-PIC-NEXT: retl
10955 ; LINUX-64-PIC-LABEL: laddress:
10956 ; LINUX-64-PIC: # %bb.0: # %entry
10957 ; LINUX-64-PIC-NEXT: leaq .Llcallee$local(%rip), %rax
10958 ; LINUX-64-PIC-NEXT: retq
10998 ; LINUX-64-STATIC-LABEL: daddress:
10999 ; LINUX-64-STATIC: # %bb.0: # %entry
11000 ; LINUX-64-STATIC-NEXT: movl $dcallee, %eax
11001 ; LINUX-64-STATIC-NEXT: retq
11003 ; LINUX-32-STATIC-LABEL: daddress:
11004 ; LINUX-32-STATIC: # %bb.0: # %entry
11005 ; LINUX-32-STATIC-NEXT: movl $dcallee, %eax
11006 ; LINUX-32-STATIC-NEXT: retl
11008 ; LINUX-32-PIC-LABEL: daddress:
11009 ; LINUX-32-PIC: # %bb.0: # %entry
11010 ; LINUX-32-PIC-NEXT: calll .L135$pb
11011 ; LINUX-32-PIC-NEXT: .L135$pb:
11012 ; LINUX-32-PIC-NEXT: popl %eax
11013 ; LINUX-32-PIC-NEXT: .Ltmp135:
11014 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp135-.L135$pb), %eax
11015 ; LINUX-32-PIC-NEXT: leal dcallee@GOTOFF(%eax), %eax
11016 ; LINUX-32-PIC-NEXT: retl
11018 ; LINUX-64-PIC-LABEL: daddress:
11019 ; LINUX-64-PIC: # %bb.0: # %entry
11020 ; LINUX-64-PIC-NEXT: leaq dcallee(%rip), %rax
11021 ; LINUX-64-PIC-NEXT: retq
11061 ; LINUX-64-STATIC-LABEL: caller:
11062 ; LINUX-64-STATIC: # %bb.0: # %entry
11063 ; LINUX-64-STATIC-NEXT: pushq %rax
11064 ; LINUX-64-STATIC-NEXT: callq callee@PLT
11065 ; LINUX-64-STATIC-NEXT: callq callee@PLT
11066 ; LINUX-64-STATIC-NEXT: popq %rax
11067 ; LINUX-64-STATIC-NEXT: retq
11069 ; LINUX-32-STATIC-LABEL: caller:
11070 ; LINUX-32-STATIC: # %bb.0: # %entry
11071 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11072 ; LINUX-32-STATIC-NEXT: calll callee@PLT
11073 ; LINUX-32-STATIC-NEXT: calll callee@PLT
11074 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11075 ; LINUX-32-STATIC-NEXT: retl
11077 ; LINUX-32-PIC-LABEL: caller:
11078 ; LINUX-32-PIC: # %bb.0: # %entry
11079 ; LINUX-32-PIC-NEXT: pushl %ebx
11080 ; LINUX-32-PIC-NEXT: subl $8, %esp
11081 ; LINUX-32-PIC-NEXT: calll .L136$pb
11082 ; LINUX-32-PIC-NEXT: .L136$pb:
11083 ; LINUX-32-PIC-NEXT: popl %ebx
11084 ; LINUX-32-PIC-NEXT: .Ltmp136:
11085 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp136-.L136$pb), %ebx
11086 ; LINUX-32-PIC-NEXT: calll callee@PLT
11087 ; LINUX-32-PIC-NEXT: calll callee@PLT
11088 ; LINUX-32-PIC-NEXT: addl $8, %esp
11089 ; LINUX-32-PIC-NEXT: popl %ebx
11090 ; LINUX-32-PIC-NEXT: retl
11092 ; LINUX-64-PIC-LABEL: caller:
11093 ; LINUX-64-PIC: # %bb.0: # %entry
11094 ; LINUX-64-PIC-NEXT: pushq %rax
11095 ; LINUX-64-PIC-NEXT: callq callee@PLT
11096 ; LINUX-64-PIC-NEXT: callq callee@PLT
11097 ; LINUX-64-PIC-NEXT: popq %rax
11098 ; LINUX-64-PIC-NEXT: retq
11155 ; LINUX-64-STATIC-LABEL: dcaller:
11156 ; LINUX-64-STATIC: # %bb.0: # %entry
11157 ; LINUX-64-STATIC-NEXT: pushq %rax
11158 ; LINUX-64-STATIC-NEXT: callq dcallee
11159 ; LINUX-64-STATIC-NEXT: callq dcallee
11160 ; LINUX-64-STATIC-NEXT: popq %rax
11161 ; LINUX-64-STATIC-NEXT: retq
11163 ; LINUX-32-STATIC-LABEL: dcaller:
11164 ; LINUX-32-STATIC: # %bb.0: # %entry
11165 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11166 ; LINUX-32-STATIC-NEXT: calll dcallee
11167 ; LINUX-32-STATIC-NEXT: calll dcallee
11168 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11169 ; LINUX-32-STATIC-NEXT: retl
11171 ; LINUX-32-PIC-LABEL: dcaller:
11172 ; LINUX-32-PIC: # %bb.0: # %entry
11173 ; LINUX-32-PIC-NEXT: pushl %ebx
11174 ; LINUX-32-PIC-NEXT: subl $8, %esp
11175 ; LINUX-32-PIC-NEXT: calll .L137$pb
11176 ; LINUX-32-PIC-NEXT: .L137$pb:
11177 ; LINUX-32-PIC-NEXT: popl %ebx
11178 ; LINUX-32-PIC-NEXT: .Ltmp137:
11179 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp137-.L137$pb), %ebx
11180 ; LINUX-32-PIC-NEXT: calll dcallee
11181 ; LINUX-32-PIC-NEXT: calll dcallee
11182 ; LINUX-32-PIC-NEXT: addl $8, %esp
11183 ; LINUX-32-PIC-NEXT: popl %ebx
11184 ; LINUX-32-PIC-NEXT: retl
11186 ; LINUX-64-PIC-LABEL: dcaller:
11187 ; LINUX-64-PIC: # %bb.0: # %entry
11188 ; LINUX-64-PIC-NEXT: pushq %rax
11189 ; LINUX-64-PIC-NEXT: callq dcallee
11190 ; LINUX-64-PIC-NEXT: callq dcallee
11191 ; LINUX-64-PIC-NEXT: popq %rax
11192 ; LINUX-64-PIC-NEXT: retq
11249 ; LINUX-64-STATIC-LABEL: lcaller:
11250 ; LINUX-64-STATIC: # %bb.0: # %entry
11251 ; LINUX-64-STATIC-NEXT: pushq %rax
11252 ; LINUX-64-STATIC-NEXT: callq lcallee
11253 ; LINUX-64-STATIC-NEXT: callq lcallee
11254 ; LINUX-64-STATIC-NEXT: popq %rax
11255 ; LINUX-64-STATIC-NEXT: retq
11257 ; LINUX-32-STATIC-LABEL: lcaller:
11258 ; LINUX-32-STATIC: # %bb.0: # %entry
11259 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11260 ; LINUX-32-STATIC-NEXT: calll lcallee
11261 ; LINUX-32-STATIC-NEXT: calll lcallee
11262 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11263 ; LINUX-32-STATIC-NEXT: retl
11265 ; LINUX-32-PIC-LABEL: lcaller:
11266 ; LINUX-32-PIC: # %bb.0: # %entry
11267 ; LINUX-32-PIC-NEXT: pushl %ebx
11268 ; LINUX-32-PIC-NEXT: subl $8, %esp
11269 ; LINUX-32-PIC-NEXT: calll .L138$pb
11270 ; LINUX-32-PIC-NEXT: .L138$pb:
11271 ; LINUX-32-PIC-NEXT: popl %ebx
11272 ; LINUX-32-PIC-NEXT: .Ltmp138:
11273 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp138-.L138$pb), %ebx
11274 ; LINUX-32-PIC-NEXT: calll .Llcallee$local
11275 ; LINUX-32-PIC-NEXT: calll .Llcallee$local
11276 ; LINUX-32-PIC-NEXT: addl $8, %esp
11277 ; LINUX-32-PIC-NEXT: popl %ebx
11278 ; LINUX-32-PIC-NEXT: retl
11280 ; LINUX-64-PIC-LABEL: lcaller:
11281 ; LINUX-64-PIC: # %bb.0: # %entry
11282 ; LINUX-64-PIC-NEXT: pushq %rax
11283 ; LINUX-64-PIC-NEXT: callq .Llcallee$local
11284 ; LINUX-64-PIC-NEXT: callq .Llcallee$local
11285 ; LINUX-64-PIC-NEXT: popq %rax
11286 ; LINUX-64-PIC-NEXT: retq
11343 ; LINUX-64-STATIC-LABEL: tailcaller:
11344 ; LINUX-64-STATIC: # %bb.0: # %entry
11345 ; LINUX-64-STATIC-NEXT: pushq %rax
11346 ; LINUX-64-STATIC-NEXT: callq callee@PLT
11347 ; LINUX-64-STATIC-NEXT: popq %rax
11348 ; LINUX-64-STATIC-NEXT: retq
11350 ; LINUX-32-STATIC-LABEL: tailcaller:
11351 ; LINUX-32-STATIC: # %bb.0: # %entry
11352 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11353 ; LINUX-32-STATIC-NEXT: calll callee@PLT
11354 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11355 ; LINUX-32-STATIC-NEXT: retl
11357 ; LINUX-32-PIC-LABEL: tailcaller:
11358 ; LINUX-32-PIC: # %bb.0: # %entry
11359 ; LINUX-32-PIC-NEXT: pushl %ebx
11360 ; LINUX-32-PIC-NEXT: subl $8, %esp
11361 ; LINUX-32-PIC-NEXT: calll .L139$pb
11362 ; LINUX-32-PIC-NEXT: .L139$pb:
11363 ; LINUX-32-PIC-NEXT: popl %ebx
11364 ; LINUX-32-PIC-NEXT: .Ltmp139:
11365 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp139-.L139$pb), %ebx
11366 ; LINUX-32-PIC-NEXT: calll callee@PLT
11367 ; LINUX-32-PIC-NEXT: addl $8, %esp
11368 ; LINUX-32-PIC-NEXT: popl %ebx
11369 ; LINUX-32-PIC-NEXT: retl
11371 ; LINUX-64-PIC-LABEL: tailcaller:
11372 ; LINUX-64-PIC: # %bb.0: # %entry
11373 ; LINUX-64-PIC-NEXT: pushq %rax
11374 ; LINUX-64-PIC-NEXT: callq callee@PLT
11375 ; LINUX-64-PIC-NEXT: popq %rax
11376 ; LINUX-64-PIC-NEXT: retq
11426 ; LINUX-64-STATIC-LABEL: dtailcaller:
11427 ; LINUX-64-STATIC: # %bb.0: # %entry
11428 ; LINUX-64-STATIC-NEXT: pushq %rax
11429 ; LINUX-64-STATIC-NEXT: callq dcallee
11430 ; LINUX-64-STATIC-NEXT: popq %rax
11431 ; LINUX-64-STATIC-NEXT: retq
11433 ; LINUX-32-STATIC-LABEL: dtailcaller:
11434 ; LINUX-32-STATIC: # %bb.0: # %entry
11435 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11436 ; LINUX-32-STATIC-NEXT: calll dcallee
11437 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11438 ; LINUX-32-STATIC-NEXT: retl
11440 ; LINUX-32-PIC-LABEL: dtailcaller:
11441 ; LINUX-32-PIC: # %bb.0: # %entry
11442 ; LINUX-32-PIC-NEXT: pushl %ebx
11443 ; LINUX-32-PIC-NEXT: subl $8, %esp
11444 ; LINUX-32-PIC-NEXT: calll .L140$pb
11445 ; LINUX-32-PIC-NEXT: .L140$pb:
11446 ; LINUX-32-PIC-NEXT: popl %ebx
11447 ; LINUX-32-PIC-NEXT: .Ltmp140:
11448 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp140-.L140$pb), %ebx
11449 ; LINUX-32-PIC-NEXT: calll dcallee
11450 ; LINUX-32-PIC-NEXT: addl $8, %esp
11451 ; LINUX-32-PIC-NEXT: popl %ebx
11452 ; LINUX-32-PIC-NEXT: retl
11454 ; LINUX-64-PIC-LABEL: dtailcaller:
11455 ; LINUX-64-PIC: # %bb.0: # %entry
11456 ; LINUX-64-PIC-NEXT: pushq %rax
11457 ; LINUX-64-PIC-NEXT: callq dcallee
11458 ; LINUX-64-PIC-NEXT: popq %rax
11459 ; LINUX-64-PIC-NEXT: retq
11509 ; LINUX-64-STATIC-LABEL: ltailcaller:
11510 ; LINUX-64-STATIC: # %bb.0: # %entry
11511 ; LINUX-64-STATIC-NEXT: pushq %rax
11512 ; LINUX-64-STATIC-NEXT: callq lcallee
11513 ; LINUX-64-STATIC-NEXT: popq %rax
11514 ; LINUX-64-STATIC-NEXT: retq
11516 ; LINUX-32-STATIC-LABEL: ltailcaller:
11517 ; LINUX-32-STATIC: # %bb.0: # %entry
11518 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11519 ; LINUX-32-STATIC-NEXT: calll lcallee
11520 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11521 ; LINUX-32-STATIC-NEXT: retl
11523 ; LINUX-32-PIC-LABEL: ltailcaller:
11524 ; LINUX-32-PIC: # %bb.0: # %entry
11525 ; LINUX-32-PIC-NEXT: pushl %ebx
11526 ; LINUX-32-PIC-NEXT: subl $8, %esp
11527 ; LINUX-32-PIC-NEXT: calll .L141$pb
11528 ; LINUX-32-PIC-NEXT: .L141$pb:
11529 ; LINUX-32-PIC-NEXT: popl %ebx
11530 ; LINUX-32-PIC-NEXT: .Ltmp141:
11531 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp141-.L141$pb), %ebx
11532 ; LINUX-32-PIC-NEXT: calll .Llcallee$local
11533 ; LINUX-32-PIC-NEXT: addl $8, %esp
11534 ; LINUX-32-PIC-NEXT: popl %ebx
11535 ; LINUX-32-PIC-NEXT: retl
11537 ; LINUX-64-PIC-LABEL: ltailcaller:
11538 ; LINUX-64-PIC: # %bb.0: # %entry
11539 ; LINUX-64-PIC-NEXT: pushq %rax
11540 ; LINUX-64-PIC-NEXT: callq .Llcallee$local
11541 ; LINUX-64-PIC-NEXT: popq %rax
11542 ; LINUX-64-PIC-NEXT: retq
11592 ; LINUX-64-STATIC-LABEL: icaller:
11593 ; LINUX-64-STATIC: # %bb.0: # %entry
11594 ; LINUX-64-STATIC-NEXT: pushq %rbx
11595 ; LINUX-64-STATIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx
11596 ; LINUX-64-STATIC-NEXT: callq *(%rbx)
11597 ; LINUX-64-STATIC-NEXT: callq *(%rbx)
11598 ; LINUX-64-STATIC-NEXT: popq %rbx
11599 ; LINUX-64-STATIC-NEXT: retq
11601 ; LINUX-32-STATIC-LABEL: icaller:
11602 ; LINUX-32-STATIC: # %bb.0: # %entry
11603 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11604 ; LINUX-32-STATIC-NEXT: calll *ifunc
11605 ; LINUX-32-STATIC-NEXT: calll *ifunc
11606 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11607 ; LINUX-32-STATIC-NEXT: retl
11609 ; LINUX-32-PIC-LABEL: icaller:
11610 ; LINUX-32-PIC: # %bb.0: # %entry
11611 ; LINUX-32-PIC-NEXT: pushl %ebx
11612 ; LINUX-32-PIC-NEXT: pushl %esi
11613 ; LINUX-32-PIC-NEXT: pushl %eax
11614 ; LINUX-32-PIC-NEXT: calll .L142$pb
11615 ; LINUX-32-PIC-NEXT: .L142$pb:
11616 ; LINUX-32-PIC-NEXT: popl %ebx
11617 ; LINUX-32-PIC-NEXT: .Ltmp142:
11618 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp142-.L142$pb), %ebx
11619 ; LINUX-32-PIC-NEXT: movl ifunc@GOT(%ebx), %esi
11620 ; LINUX-32-PIC-NEXT: calll *(%esi)
11621 ; LINUX-32-PIC-NEXT: calll *(%esi)
11622 ; LINUX-32-PIC-NEXT: addl $4, %esp
11623 ; LINUX-32-PIC-NEXT: popl %esi
11624 ; LINUX-32-PIC-NEXT: popl %ebx
11625 ; LINUX-32-PIC-NEXT: retl
11627 ; LINUX-64-PIC-LABEL: icaller:
11628 ; LINUX-64-PIC: # %bb.0: # %entry
11629 ; LINUX-64-PIC-NEXT: pushq %rbx
11630 ; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx
11631 ; LINUX-64-PIC-NEXT: callq *(%rbx)
11632 ; LINUX-64-PIC-NEXT: callq *(%rbx)
11633 ; LINUX-64-PIC-NEXT: popq %rbx
11634 ; LINUX-64-PIC-NEXT: retq
11705 ; LINUX-64-STATIC-LABEL: dicaller:
11706 ; LINUX-64-STATIC: # %bb.0: # %entry
11707 ; LINUX-64-STATIC-NEXT: pushq %rax
11708 ; LINUX-64-STATIC-NEXT: callq *difunc(%rip)
11709 ; LINUX-64-STATIC-NEXT: callq *difunc(%rip)
11710 ; LINUX-64-STATIC-NEXT: popq %rax
11711 ; LINUX-64-STATIC-NEXT: retq
11713 ; LINUX-32-STATIC-LABEL: dicaller:
11714 ; LINUX-32-STATIC: # %bb.0: # %entry
11715 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11716 ; LINUX-32-STATIC-NEXT: calll *difunc
11717 ; LINUX-32-STATIC-NEXT: calll *difunc
11718 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11719 ; LINUX-32-STATIC-NEXT: retl
11721 ; LINUX-32-PIC-LABEL: dicaller:
11722 ; LINUX-32-PIC: # %bb.0: # %entry
11723 ; LINUX-32-PIC-NEXT: pushl %ebx
11724 ; LINUX-32-PIC-NEXT: subl $8, %esp
11725 ; LINUX-32-PIC-NEXT: calll .L143$pb
11726 ; LINUX-32-PIC-NEXT: .L143$pb:
11727 ; LINUX-32-PIC-NEXT: popl %ebx
11728 ; LINUX-32-PIC-NEXT: .Ltmp143:
11729 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp143-.L143$pb), %ebx
11730 ; LINUX-32-PIC-NEXT: calll *.Ldifunc$local@GOTOFF(%ebx)
11731 ; LINUX-32-PIC-NEXT: calll *.Ldifunc$local@GOTOFF(%ebx)
11732 ; LINUX-32-PIC-NEXT: addl $8, %esp
11733 ; LINUX-32-PIC-NEXT: popl %ebx
11734 ; LINUX-32-PIC-NEXT: retl
11736 ; LINUX-64-PIC-LABEL: dicaller:
11737 ; LINUX-64-PIC: # %bb.0: # %entry
11738 ; LINUX-64-PIC-NEXT: pushq %rax
11739 ; LINUX-64-PIC-NEXT: callq *.Ldifunc$local(%rip)
11740 ; LINUX-64-PIC-NEXT: callq *.Ldifunc$local(%rip)
11741 ; LINUX-64-PIC-NEXT: popq %rax
11742 ; LINUX-64-PIC-NEXT: retq
11806 ; LINUX-64-STATIC-LABEL: licaller:
11807 ; LINUX-64-STATIC: # %bb.0: # %entry
11808 ; LINUX-64-STATIC-NEXT: pushq %rax
11809 ; LINUX-64-STATIC-NEXT: callq *lifunc(%rip)
11810 ; LINUX-64-STATIC-NEXT: callq *lifunc(%rip)
11811 ; LINUX-64-STATIC-NEXT: popq %rax
11812 ; LINUX-64-STATIC-NEXT: retq
11814 ; LINUX-32-STATIC-LABEL: licaller:
11815 ; LINUX-32-STATIC: # %bb.0: # %entry
11816 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11817 ; LINUX-32-STATIC-NEXT: calll *lifunc
11818 ; LINUX-32-STATIC-NEXT: calll *lifunc
11819 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11820 ; LINUX-32-STATIC-NEXT: retl
11822 ; LINUX-32-PIC-LABEL: licaller:
11823 ; LINUX-32-PIC: # %bb.0: # %entry
11824 ; LINUX-32-PIC-NEXT: pushl %ebx
11825 ; LINUX-32-PIC-NEXT: subl $8, %esp
11826 ; LINUX-32-PIC-NEXT: calll .L144$pb
11827 ; LINUX-32-PIC-NEXT: .L144$pb:
11828 ; LINUX-32-PIC-NEXT: popl %ebx
11829 ; LINUX-32-PIC-NEXT: .Ltmp144:
11830 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp144-.L144$pb), %ebx
11831 ; LINUX-32-PIC-NEXT: calll *lifunc@GOTOFF(%ebx)
11832 ; LINUX-32-PIC-NEXT: calll *lifunc@GOTOFF(%ebx)
11833 ; LINUX-32-PIC-NEXT: addl $8, %esp
11834 ; LINUX-32-PIC-NEXT: popl %ebx
11835 ; LINUX-32-PIC-NEXT: retl
11837 ; LINUX-64-PIC-LABEL: licaller:
11838 ; LINUX-64-PIC: # %bb.0: # %entry
11839 ; LINUX-64-PIC-NEXT: pushq %rax
11840 ; LINUX-64-PIC-NEXT: callq *lifunc(%rip)
11841 ; LINUX-64-PIC-NEXT: callq *lifunc(%rip)
11842 ; LINUX-64-PIC-NEXT: popq %rax
11843 ; LINUX-64-PIC-NEXT: retq
11907 ; LINUX-64-STATIC-LABEL: itailcaller:
11908 ; LINUX-64-STATIC: # %bb.0: # %entry
11909 ; LINUX-64-STATIC-NEXT: pushq %rbx
11910 ; LINUX-64-STATIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx
11911 ; LINUX-64-STATIC-NEXT: callq *(%rbx)
11912 ; LINUX-64-STATIC-NEXT: callq *(%rbx)
11913 ; LINUX-64-STATIC-NEXT: popq %rbx
11914 ; LINUX-64-STATIC-NEXT: retq
11916 ; LINUX-32-STATIC-LABEL: itailcaller:
11917 ; LINUX-32-STATIC: # %bb.0: # %entry
11918 ; LINUX-32-STATIC-NEXT: subl $12, %esp
11919 ; LINUX-32-STATIC-NEXT: calll *ifunc
11920 ; LINUX-32-STATIC-NEXT: calll *ifunc
11921 ; LINUX-32-STATIC-NEXT: addl $12, %esp
11922 ; LINUX-32-STATIC-NEXT: retl
11924 ; LINUX-32-PIC-LABEL: itailcaller:
11925 ; LINUX-32-PIC: # %bb.0: # %entry
11926 ; LINUX-32-PIC-NEXT: pushl %ebx
11927 ; LINUX-32-PIC-NEXT: pushl %esi
11928 ; LINUX-32-PIC-NEXT: pushl %eax
11929 ; LINUX-32-PIC-NEXT: calll .L145$pb
11930 ; LINUX-32-PIC-NEXT: .L145$pb:
11931 ; LINUX-32-PIC-NEXT: popl %ebx
11932 ; LINUX-32-PIC-NEXT: .Ltmp145:
11933 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp145-.L145$pb), %ebx
11934 ; LINUX-32-PIC-NEXT: movl ifunc@GOT(%ebx), %esi
11935 ; LINUX-32-PIC-NEXT: calll *(%esi)
11936 ; LINUX-32-PIC-NEXT: calll *(%esi)
11937 ; LINUX-32-PIC-NEXT: addl $4, %esp
11938 ; LINUX-32-PIC-NEXT: popl %esi
11939 ; LINUX-32-PIC-NEXT: popl %ebx
11940 ; LINUX-32-PIC-NEXT: retl
11942 ; LINUX-64-PIC-LABEL: itailcaller:
11943 ; LINUX-64-PIC: # %bb.0: # %entry
11944 ; LINUX-64-PIC-NEXT: pushq %rbx
11945 ; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx
11946 ; LINUX-64-PIC-NEXT: callq *(%rbx)
11947 ; LINUX-64-PIC-NEXT: callq *(%rbx)
11948 ; LINUX-64-PIC-NEXT: popq %rbx
11949 ; LINUX-64-PIC-NEXT: retq
12020 ; LINUX-64-STATIC-LABEL: ditailcaller:
12021 ; LINUX-64-STATIC: # %bb.0: # %entry
12022 ; LINUX-64-STATIC-NEXT: pushq %rax
12023 ; LINUX-64-STATIC-NEXT: callq *difunc(%rip)
12024 ; LINUX-64-STATIC-NEXT: popq %rax
12025 ; LINUX-64-STATIC-NEXT: retq
12027 ; LINUX-32-STATIC-LABEL: ditailcaller:
12028 ; LINUX-32-STATIC: # %bb.0: # %entry
12029 ; LINUX-32-STATIC-NEXT: subl $12, %esp
12030 ; LINUX-32-STATIC-NEXT: calll *difunc
12031 ; LINUX-32-STATIC-NEXT: addl $12, %esp
12032 ; LINUX-32-STATIC-NEXT: retl
12034 ; LINUX-32-PIC-LABEL: ditailcaller:
12035 ; LINUX-32-PIC: # %bb.0: # %entry
12036 ; LINUX-32-PIC-NEXT: pushl %ebx
12037 ; LINUX-32-PIC-NEXT: subl $8, %esp
12038 ; LINUX-32-PIC-NEXT: calll .L146$pb
12039 ; LINUX-32-PIC-NEXT: .L146$pb:
12040 ; LINUX-32-PIC-NEXT: popl %ebx
12041 ; LINUX-32-PIC-NEXT: .Ltmp146:
12042 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp146-.L146$pb), %ebx
12043 ; LINUX-32-PIC-NEXT: calll *.Ldifunc$local@GOTOFF(%ebx)
12044 ; LINUX-32-PIC-NEXT: addl $8, %esp
12045 ; LINUX-32-PIC-NEXT: popl %ebx
12046 ; LINUX-32-PIC-NEXT: retl
12048 ; LINUX-64-PIC-LABEL: ditailcaller:
12049 ; LINUX-64-PIC: # %bb.0: # %entry
12050 ; LINUX-64-PIC-NEXT: pushq %rax
12051 ; LINUX-64-PIC-NEXT: callq *.Ldifunc$local(%rip)
12052 ; LINUX-64-PIC-NEXT: popq %rax
12053 ; LINUX-64-PIC-NEXT: retq
12107 ; LINUX-64-STATIC-LABEL: litailcaller:
12108 ; LINUX-64-STATIC: # %bb.0: # %entry
12109 ; LINUX-64-STATIC-NEXT: pushq %rax
12110 ; LINUX-64-STATIC-NEXT: callq *lifunc(%rip)
12111 ; LINUX-64-STATIC-NEXT: popq %rax
12112 ; LINUX-64-STATIC-NEXT: retq
12114 ; LINUX-32-STATIC-LABEL: litailcaller:
12115 ; LINUX-32-STATIC: # %bb.0: # %entry
12116 ; LINUX-32-STATIC-NEXT: subl $12, %esp
12117 ; LINUX-32-STATIC-NEXT: calll *lifunc
12118 ; LINUX-32-STATIC-NEXT: addl $12, %esp
12119 ; LINUX-32-STATIC-NEXT: retl
12121 ; LINUX-32-PIC-LABEL: litailcaller:
12122 ; LINUX-32-PIC: # %bb.0: # %entry
12123 ; LINUX-32-PIC-NEXT: pushl %ebx
12124 ; LINUX-32-PIC-NEXT: subl $8, %esp
12125 ; LINUX-32-PIC-NEXT: calll .L147$pb
12126 ; LINUX-32-PIC-NEXT: .L147$pb:
12127 ; LINUX-32-PIC-NEXT: popl %ebx
12128 ; LINUX-32-PIC-NEXT: .Ltmp147:
12129 ; LINUX-32-PIC-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp147-.L147$pb), %ebx
12130 ; LINUX-32-PIC-NEXT: calll *lifunc@GOTOFF(%ebx)
12131 ; LINUX-32-PIC-NEXT: addl $8, %esp
12132 ; LINUX-32-PIC-NEXT: popl %ebx
12133 ; LINUX-32-PIC-NEXT: retl
12135 ; LINUX-64-PIC-LABEL: litailcaller:
12136 ; LINUX-64-PIC: # %bb.0: # %entry
12137 ; LINUX-64-PIC-NEXT: pushq %rax
12138 ; LINUX-64-PIC-NEXT: callq *lifunc(%rip)
12139 ; LINUX-64-PIC-NEXT: popq %rax
12140 ; LINUX-64-PIC-NEXT: retq