Lines Matching refs:PIC
6 …cation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-PIC
7 …cation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-PIC
11 …ation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-32-PIC
15 …ation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-64-PIC
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
86 ; DARWIN-32-PIC-LABEL: foo00:
87 ; DARWIN-32-PIC: ## %bb.0: ## %entry
88 ; DARWIN-32-PIC-NEXT: calll L0$pb
89 ; DARWIN-32-PIC-NEXT: L0$pb:
90 ; DARWIN-32-PIC-NEXT: popl %eax
91 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L0$pb(%eax), %ecx
92 ; DARWIN-32-PIC-NEXT: movl (%ecx), %ecx
93 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L0$pb(%eax), %eax
94 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
95 ; DARWIN-32-PIC-NEXT: retl
113 ; DARWIN-64-PIC-LABEL: foo00:
114 ; DARWIN-64-PIC: ## %bb.0: ## %entry
115 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
116 ; DARWIN-64-PIC-NEXT: movl (%rax), %eax
117 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx
118 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx)
119 ; DARWIN-64-PIC-NEXT: retq
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
178 ; DARWIN-32-PIC-LABEL: fxo00:
179 ; DARWIN-32-PIC: ## %bb.0: ## %entry
180 ; DARWIN-32-PIC-NEXT: calll L1$pb
181 ; DARWIN-32-PIC-NEXT: L1$pb:
182 ; DARWIN-32-PIC-NEXT: popl %eax
183 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L1$pb(%eax), %ecx
184 ; DARWIN-32-PIC-NEXT: movl (%ecx), %ecx
185 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L1$pb(%eax), %eax
186 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
187 ; DARWIN-32-PIC-NEXT: retl
205 ; DARWIN-64-PIC-LABEL: fxo00:
206 ; DARWIN-64-PIC: ## %bb.0: ## %entry
207 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
208 ; DARWIN-64-PIC-NEXT: movl (%rax), %eax
209 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx
210 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx)
211 ; DARWIN-64-PIC-NEXT: retq
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
264 ; DARWIN-32-PIC-LABEL: foo01:
265 ; DARWIN-32-PIC: ## %bb.0: ## %entry
266 ; DARWIN-32-PIC-NEXT: calll L2$pb
267 ; DARWIN-32-PIC-NEXT: L2$pb:
268 ; DARWIN-32-PIC-NEXT: popl %eax
269 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L2$pb(%eax), %ecx
270 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L2$pb(%eax), %eax
271 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
272 ; DARWIN-32-PIC-NEXT: retl
288 ; DARWIN-64-PIC-LABEL: foo01:
289 ; DARWIN-64-PIC: ## %bb.0: ## %entry
290 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
291 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
292 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
293 ; DARWIN-64-PIC-NEXT: retq
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
344 ; DARWIN-32-PIC-LABEL: fxo01:
345 ; DARWIN-32-PIC: ## %bb.0: ## %entry
346 ; DARWIN-32-PIC-NEXT: calll L3$pb
347 ; DARWIN-32-PIC-NEXT: L3$pb:
348 ; DARWIN-32-PIC-NEXT: popl %eax
349 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L3$pb(%eax), %ecx
350 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L3$pb(%eax), %eax
351 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
352 ; DARWIN-32-PIC-NEXT: retl
368 ; DARWIN-64-PIC-LABEL: fxo01:
369 ; DARWIN-64-PIC: ## %bb.0: ## %entry
370 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
371 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
372 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
373 ; DARWIN-64-PIC-NEXT: retq
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
436 ; DARWIN-32-PIC-LABEL: foo02:
437 ; DARWIN-32-PIC: ## %bb.0: ## %entry
438 ; DARWIN-32-PIC-NEXT: calll L4$pb
439 ; DARWIN-32-PIC-NEXT: L4$pb:
440 ; DARWIN-32-PIC-NEXT: popl %eax
441 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L4$pb(%eax), %ecx
442 ; DARWIN-32-PIC-NEXT: movl (%ecx), %ecx
443 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L4$pb(%eax), %eax
444 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
445 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
446 ; DARWIN-32-PIC-NEXT: retl
466 ; DARWIN-64-PIC-LABEL: foo02:
467 ; DARWIN-64-PIC: ## %bb.0: ## %entry
468 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
469 ; DARWIN-64-PIC-NEXT: movl (%rax), %eax
470 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
471 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
472 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx)
473 ; DARWIN-64-PIC-NEXT: retq
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
538 ; DARWIN-32-PIC-LABEL: fxo02:
539 ; DARWIN-32-PIC: ## %bb.0: ## %entry
540 ; DARWIN-32-PIC-NEXT: calll L5$pb
541 ; DARWIN-32-PIC-NEXT: L5$pb:
542 ; DARWIN-32-PIC-NEXT: popl %eax
543 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L5$pb(%eax), %ecx
544 ; DARWIN-32-PIC-NEXT: movl (%ecx), %ecx
545 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L5$pb(%eax), %eax
546 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
547 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
548 ; DARWIN-32-PIC-NEXT: retl
568 ; DARWIN-64-PIC-LABEL: fxo02:
569 ; DARWIN-64-PIC: ## %bb.0: ## %entry
570 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
571 ; DARWIN-64-PIC-NEXT: movl (%rax), %eax
572 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
573 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
574 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx)
575 ; DARWIN-64-PIC-NEXT: retq
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
626 ; DARWIN-32-PIC-LABEL: foo03:
627 ; DARWIN-32-PIC: ## %bb.0: ## %entry
628 ; DARWIN-32-PIC-NEXT: calll L6$pb
629 ; DARWIN-32-PIC-NEXT: L6$pb:
630 ; DARWIN-32-PIC-NEXT: popl %eax
631 ; DARWIN-32-PIC-NEXT: movl _dsrc-L6$pb(%eax), %ecx
632 ; DARWIN-32-PIC-NEXT: movl %ecx, _ddst-L6$pb(%eax)
633 ; DARWIN-32-PIC-NEXT: retl
647 ; DARWIN-64-PIC-LABEL: foo03:
648 ; DARWIN-64-PIC: ## %bb.0: ## %entry
649 ; DARWIN-64-PIC-NEXT: movl _dsrc(%rip), %eax
650 ; DARWIN-64-PIC-NEXT: movl %eax, _ddst(%rip)
651 ; DARWIN-64-PIC-NEXT: retq
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
697 ; DARWIN-32-PIC-LABEL: foo04:
698 ; DARWIN-32-PIC: ## %bb.0: ## %entry
699 ; DARWIN-32-PIC-NEXT: calll L7$pb
700 ; DARWIN-32-PIC-NEXT: L7$pb:
701 ; DARWIN-32-PIC-NEXT: popl %eax
702 ; DARWIN-32-PIC-NEXT: leal _ddst-L7$pb(%eax), %ecx
703 ; DARWIN-32-PIC-NEXT: movl %ecx, _dptr-L7$pb(%eax)
704 ; DARWIN-32-PIC-NEXT: retl
718 ; DARWIN-64-PIC-LABEL: foo04:
719 ; DARWIN-64-PIC: ## %bb.0: ## %entry
720 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
721 ; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip)
722 ; DARWIN-64-PIC-NEXT: retq
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
777 ; DARWIN-32-PIC-LABEL: foo05:
778 ; DARWIN-32-PIC: ## %bb.0: ## %entry
779 ; DARWIN-32-PIC-NEXT: calll L8$pb
780 ; DARWIN-32-PIC-NEXT: L8$pb:
781 ; DARWIN-32-PIC-NEXT: popl %eax
782 ; DARWIN-32-PIC-NEXT: movl _dsrc-L8$pb(%eax), %ecx
783 ; DARWIN-32-PIC-NEXT: movl _dptr-L8$pb(%eax), %eax
784 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
785 ; DARWIN-32-PIC-NEXT: retl
801 ; DARWIN-64-PIC-LABEL: foo05:
802 ; DARWIN-64-PIC: ## %bb.0: ## %entry
803 ; DARWIN-64-PIC-NEXT: movl _dsrc(%rip), %eax
804 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx
805 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx)
806 ; DARWIN-64-PIC-NEXT: retq
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
857 ; DARWIN-32-PIC-LABEL: foo06:
858 ; DARWIN-32-PIC: ## %bb.0: ## %entry
859 ; DARWIN-32-PIC-NEXT: calll L9$pb
860 ; DARWIN-32-PIC-NEXT: L9$pb:
861 ; DARWIN-32-PIC-NEXT: popl %eax
862 ; DARWIN-32-PIC-NEXT: movl _lsrc-L9$pb(%eax), %ecx
863 ; DARWIN-32-PIC-NEXT: movl %ecx, _ldst-L9$pb(%eax)
864 ; DARWIN-32-PIC-NEXT: retl
878 ; DARWIN-64-PIC-LABEL: foo06:
879 ; DARWIN-64-PIC: ## %bb.0: ## %entry
880 ; DARWIN-64-PIC-NEXT: movl _lsrc(%rip), %eax
881 ; DARWIN-64-PIC-NEXT: movl %eax, _ldst(%rip)
882 ; DARWIN-64-PIC-NEXT: retq
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
928 ; DARWIN-32-PIC-LABEL: foo07:
929 ; DARWIN-32-PIC: ## %bb.0: ## %entry
930 ; DARWIN-32-PIC-NEXT: calll L10$pb
931 ; DARWIN-32-PIC-NEXT: L10$pb:
932 ; DARWIN-32-PIC-NEXT: popl %eax
933 ; DARWIN-32-PIC-NEXT: leal _ldst-L10$pb(%eax), %ecx
934 ; DARWIN-32-PIC-NEXT: movl %ecx, _lptr-L10$pb(%eax)
935 ; DARWIN-32-PIC-NEXT: retl
949 ; DARWIN-64-PIC-LABEL: foo07:
950 ; DARWIN-64-PIC: ## %bb.0: ## %entry
951 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
952 ; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip)
953 ; DARWIN-64-PIC-NEXT: retq
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
1008 ; DARWIN-32-PIC-LABEL: foo08:
1009 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1010 ; DARWIN-32-PIC-NEXT: calll L11$pb
1011 ; DARWIN-32-PIC-NEXT: L11$pb:
1012 ; DARWIN-32-PIC-NEXT: popl %eax
1013 ; DARWIN-32-PIC-NEXT: movl _lsrc-L11$pb(%eax), %ecx
1014 ; DARWIN-32-PIC-NEXT: movl _lptr-L11$pb(%eax), %eax
1015 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
1016 ; DARWIN-32-PIC-NEXT: retl
1032 ; DARWIN-64-PIC-LABEL: foo08:
1033 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1034 ; DARWIN-64-PIC-NEXT: movl _lsrc(%rip), %eax
1035 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx
1036 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx)
1037 ; DARWIN-64-PIC-NEXT: retq
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
1096 ; DARWIN-32-PIC-LABEL: qux00:
1097 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1098 ; DARWIN-32-PIC-NEXT: calll L12$pb
1099 ; DARWIN-32-PIC-NEXT: L12$pb:
1100 ; DARWIN-32-PIC-NEXT: popl %eax
1101 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L12$pb(%eax), %ecx
1102 ; DARWIN-32-PIC-NEXT: movl 64(%ecx), %ecx
1103 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L12$pb(%eax), %eax
1104 ; DARWIN-32-PIC-NEXT: movl %ecx, 64(%eax)
1105 ; DARWIN-32-PIC-NEXT: retl
1123 ; DARWIN-64-PIC-LABEL: qux00:
1124 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1125 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
1126 ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax
1127 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx
1128 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx)
1129 ; DARWIN-64-PIC-NEXT: retq
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
1187 ; DARWIN-32-PIC-LABEL: qxx00:
1188 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1189 ; DARWIN-32-PIC-NEXT: calll L13$pb
1190 ; DARWIN-32-PIC-NEXT: L13$pb:
1191 ; DARWIN-32-PIC-NEXT: popl %eax
1192 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L13$pb(%eax), %ecx
1193 ; DARWIN-32-PIC-NEXT: movl 64(%ecx), %ecx
1194 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L13$pb(%eax), %eax
1195 ; DARWIN-32-PIC-NEXT: movl %ecx, 64(%eax)
1196 ; DARWIN-32-PIC-NEXT: retl
1214 ; DARWIN-64-PIC-LABEL: qxx00:
1215 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1216 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
1217 ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax
1218 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx
1219 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx)
1220 ; DARWIN-64-PIC-NEXT: retq
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
1277 ; DARWIN-32-PIC-LABEL: qux01:
1278 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1279 ; DARWIN-32-PIC-NEXT: calll L14$pb
1280 ; DARWIN-32-PIC-NEXT: L14$pb:
1281 ; DARWIN-32-PIC-NEXT: popl %eax
1282 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L14$pb(%eax), %ecx
1283 ; DARWIN-32-PIC-NEXT: addl $64, %ecx
1284 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L14$pb(%eax), %eax
1285 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
1286 ; DARWIN-32-PIC-NEXT: retl
1304 ; DARWIN-64-PIC-LABEL: qux01:
1305 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1306 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
1307 ; DARWIN-64-PIC-NEXT: addq $64, %rax
1308 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
1309 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
1310 ; DARWIN-64-PIC-NEXT: retq
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
1366 ; DARWIN-32-PIC-LABEL: qxx01:
1367 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1368 ; DARWIN-32-PIC-NEXT: calll L15$pb
1369 ; DARWIN-32-PIC-NEXT: L15$pb:
1370 ; DARWIN-32-PIC-NEXT: popl %eax
1371 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L15$pb(%eax), %ecx
1372 ; DARWIN-32-PIC-NEXT: addl $64, %ecx
1373 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L15$pb(%eax), %eax
1374 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
1375 ; DARWIN-32-PIC-NEXT: retl
1393 ; DARWIN-64-PIC-LABEL: qxx01:
1394 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1395 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
1396 ; DARWIN-64-PIC-NEXT: addq $64, %rax
1397 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
1398 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
1399 ; DARWIN-64-PIC-NEXT: retq
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
1462 ; DARWIN-32-PIC-LABEL: qux02:
1463 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1464 ; DARWIN-32-PIC-NEXT: calll L16$pb
1465 ; DARWIN-32-PIC-NEXT: L16$pb:
1466 ; DARWIN-32-PIC-NEXT: popl %eax
1467 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L16$pb(%eax), %ecx
1468 ; DARWIN-32-PIC-NEXT: movl 64(%ecx), %ecx
1469 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L16$pb(%eax), %eax
1470 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
1471 ; DARWIN-32-PIC-NEXT: movl %ecx, 64(%eax)
1472 ; DARWIN-32-PIC-NEXT: retl
1492 ; DARWIN-64-PIC-LABEL: qux02:
1493 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1494 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
1495 ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax
1496 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
1497 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
1498 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx)
1499 ; DARWIN-64-PIC-NEXT: retq
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
1565 ; DARWIN-32-PIC-LABEL: qxx02:
1566 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1567 ; DARWIN-32-PIC-NEXT: calll L17$pb
1568 ; DARWIN-32-PIC-NEXT: L17$pb:
1569 ; DARWIN-32-PIC-NEXT: popl %eax
1570 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L17$pb(%eax), %ecx
1571 ; DARWIN-32-PIC-NEXT: movl 64(%ecx), %ecx
1572 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L17$pb(%eax), %eax
1573 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
1574 ; DARWIN-32-PIC-NEXT: movl %ecx, 64(%eax)
1575 ; DARWIN-32-PIC-NEXT: retl
1595 ; DARWIN-64-PIC-LABEL: qxx02:
1596 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1597 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
1598 ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax
1599 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
1600 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
1601 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx)
1602 ; DARWIN-64-PIC-NEXT: retq
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
1654 ; DARWIN-32-PIC-LABEL: qux03:
1655 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1656 ; DARWIN-32-PIC-NEXT: calll L18$pb
1657 ; DARWIN-32-PIC-NEXT: L18$pb:
1658 ; DARWIN-32-PIC-NEXT: popl %eax
1659 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L18$pb)+64(%eax), %ecx
1660 ; DARWIN-32-PIC-NEXT: movl %ecx, (_ddst-L18$pb)+64(%eax)
1661 ; DARWIN-32-PIC-NEXT: retl
1675 ; DARWIN-64-PIC-LABEL: qux03:
1676 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1677 ; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax
1678 ; DARWIN-64-PIC-NEXT: movl %eax, _ddst+64(%rip)
1679 ; DARWIN-64-PIC-NEXT: retq
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
1725 ; DARWIN-32-PIC-LABEL: qux04:
1726 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1727 ; DARWIN-32-PIC-NEXT: calll L19$pb
1728 ; DARWIN-32-PIC-NEXT: L19$pb:
1729 ; DARWIN-32-PIC-NEXT: popl %eax
1730 ; DARWIN-32-PIC-NEXT: leal (_ddst-L19$pb)+64(%eax), %ecx
1731 ; DARWIN-32-PIC-NEXT: movl %ecx, _dptr-L19$pb(%eax)
1732 ; DARWIN-32-PIC-NEXT: retl
1746 ; DARWIN-64-PIC-LABEL: qux04:
1747 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1748 ; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax
1749 ; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip)
1750 ; DARWIN-64-PIC-NEXT: retq
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
1805 ; DARWIN-32-PIC-LABEL: qux05:
1806 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1807 ; DARWIN-32-PIC-NEXT: calll L20$pb
1808 ; DARWIN-32-PIC-NEXT: L20$pb:
1809 ; DARWIN-32-PIC-NEXT: popl %eax
1810 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L20$pb)+64(%eax), %ecx
1811 ; DARWIN-32-PIC-NEXT: movl _dptr-L20$pb(%eax), %eax
1812 ; DARWIN-32-PIC-NEXT: movl %ecx, 64(%eax)
1813 ; DARWIN-32-PIC-NEXT: retl
1829 ; DARWIN-64-PIC-LABEL: qux05:
1830 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1831 ; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax
1832 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx
1833 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx)
1834 ; DARWIN-64-PIC-NEXT: retq
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
1886 ; DARWIN-32-PIC-LABEL: qux06:
1887 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1888 ; DARWIN-32-PIC-NEXT: calll L21$pb
1889 ; DARWIN-32-PIC-NEXT: L21$pb:
1890 ; DARWIN-32-PIC-NEXT: popl %eax
1891 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L21$pb)+64(%eax), %ecx
1892 ; DARWIN-32-PIC-NEXT: movl %ecx, (_ldst-L21$pb)+64(%eax)
1893 ; DARWIN-32-PIC-NEXT: retl
1907 ; DARWIN-64-PIC-LABEL: qux06:
1908 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1909 ; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax
1910 ; DARWIN-64-PIC-NEXT: movl %eax, _ldst+64(%rip)
1911 ; DARWIN-64-PIC-NEXT: retq
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
1957 ; DARWIN-32-PIC-LABEL: qux07:
1958 ; DARWIN-32-PIC: ## %bb.0: ## %entry
1959 ; DARWIN-32-PIC-NEXT: calll L22$pb
1960 ; DARWIN-32-PIC-NEXT: L22$pb:
1961 ; DARWIN-32-PIC-NEXT: popl %eax
1962 ; DARWIN-32-PIC-NEXT: leal (_ldst-L22$pb)+64(%eax), %ecx
1963 ; DARWIN-32-PIC-NEXT: movl %ecx, _lptr-L22$pb(%eax)
1964 ; DARWIN-32-PIC-NEXT: retl
1978 ; DARWIN-64-PIC-LABEL: qux07:
1979 ; DARWIN-64-PIC: ## %bb.0: ## %entry
1980 ; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax
1981 ; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip)
1982 ; DARWIN-64-PIC-NEXT: retq
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
2037 ; DARWIN-32-PIC-LABEL: qux08:
2038 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2039 ; DARWIN-32-PIC-NEXT: calll L23$pb
2040 ; DARWIN-32-PIC-NEXT: L23$pb:
2041 ; DARWIN-32-PIC-NEXT: popl %eax
2042 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L23$pb)+64(%eax), %ecx
2043 ; DARWIN-32-PIC-NEXT: movl _lptr-L23$pb(%eax), %eax
2044 ; DARWIN-32-PIC-NEXT: movl %ecx, 64(%eax)
2045 ; DARWIN-32-PIC-NEXT: retl
2061 ; DARWIN-64-PIC-LABEL: qux08:
2062 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2063 ; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax
2064 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx
2065 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx)
2066 ; DARWIN-64-PIC-NEXT: retq
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
2130 ; DARWIN-32-PIC-LABEL: ind00:
2131 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2132 ; DARWIN-32-PIC-NEXT: calll L24$pb
2133 ; DARWIN-32-PIC-NEXT: L24$pb:
2134 ; DARWIN-32-PIC-NEXT: popl %eax
2135 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2136 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L24$pb(%eax), %edx
2137 ; DARWIN-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2138 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L24$pb(%eax), %eax
2139 ; DARWIN-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2140 ; DARWIN-32-PIC-NEXT: retl
2158 ; DARWIN-64-PIC-LABEL: ind00:
2159 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2160 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
2161 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2162 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx
2163 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2164 ; DARWIN-64-PIC-NEXT: retq
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
2228 ; DARWIN-32-PIC-LABEL: ixd00:
2229 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2230 ; DARWIN-32-PIC-NEXT: calll L25$pb
2231 ; DARWIN-32-PIC-NEXT: L25$pb:
2232 ; DARWIN-32-PIC-NEXT: popl %eax
2233 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2234 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L25$pb(%eax), %edx
2235 ; DARWIN-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2236 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L25$pb(%eax), %eax
2237 ; DARWIN-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2238 ; DARWIN-32-PIC-NEXT: retl
2256 ; DARWIN-64-PIC-LABEL: ixd00:
2257 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2258 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
2259 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2260 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx
2261 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2262 ; DARWIN-64-PIC-NEXT: retq
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
2326 ; DARWIN-32-PIC-LABEL: ind01:
2327 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2328 ; DARWIN-32-PIC-NEXT: calll L26$pb
2329 ; DARWIN-32-PIC-NEXT: L26$pb:
2330 ; DARWIN-32-PIC-NEXT: popl %eax
2331 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2332 ; DARWIN-32-PIC-NEXT: shll $2, %ecx
2333 ; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L26$pb(%eax), %ecx
2334 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L26$pb(%eax), %eax
2335 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
2336 ; DARWIN-32-PIC-NEXT: retl
2354 ; DARWIN-64-PIC-LABEL: ind01:
2355 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2356 ; DARWIN-64-PIC-NEXT: shlq $2, %rdi
2357 ; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi
2358 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
2359 ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax)
2360 ; DARWIN-64-PIC-NEXT: retq
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
2422 ; DARWIN-32-PIC-LABEL: ixd01:
2423 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2424 ; DARWIN-32-PIC-NEXT: calll L27$pb
2425 ; DARWIN-32-PIC-NEXT: L27$pb:
2426 ; DARWIN-32-PIC-NEXT: popl %eax
2427 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2428 ; DARWIN-32-PIC-NEXT: shll $2, %ecx
2429 ; DARWIN-32-PIC-NEXT: addl L_xdst$non_lazy_ptr-L27$pb(%eax), %ecx
2430 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L27$pb(%eax), %eax
2431 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
2432 ; DARWIN-32-PIC-NEXT: retl
2450 ; DARWIN-64-PIC-LABEL: ixd01:
2451 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2452 ; DARWIN-64-PIC-NEXT: shlq $2, %rdi
2453 ; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi
2454 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
2455 ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax)
2456 ; DARWIN-64-PIC-NEXT: retq
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
2524 ; DARWIN-32-PIC-LABEL: ind02:
2525 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2526 ; DARWIN-32-PIC-NEXT: calll L28$pb
2527 ; DARWIN-32-PIC-NEXT: L28$pb:
2528 ; DARWIN-32-PIC-NEXT: popl %eax
2529 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2530 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L28$pb(%eax), %edx
2531 ; DARWIN-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2532 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L28$pb(%eax), %eax
2533 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
2534 ; DARWIN-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2535 ; DARWIN-32-PIC-NEXT: retl
2555 ; DARWIN-64-PIC-LABEL: ind02:
2556 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2557 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
2558 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2559 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
2560 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
2561 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2562 ; DARWIN-64-PIC-NEXT: retq
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
2633 ; DARWIN-32-PIC-LABEL: ixd02:
2634 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2635 ; DARWIN-32-PIC-NEXT: calll L29$pb
2636 ; DARWIN-32-PIC-NEXT: L29$pb:
2637 ; DARWIN-32-PIC-NEXT: popl %eax
2638 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2639 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L29$pb(%eax), %edx
2640 ; DARWIN-32-PIC-NEXT: movl (%edx,%ecx,4), %edx
2641 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L29$pb(%eax), %eax
2642 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
2643 ; DARWIN-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2644 ; DARWIN-32-PIC-NEXT: retl
2664 ; DARWIN-64-PIC-LABEL: ixd02:
2665 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2666 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
2667 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2668 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
2669 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
2670 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2671 ; DARWIN-64-PIC-NEXT: retq
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
2730 ; DARWIN-32-PIC-LABEL: ind03:
2731 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2732 ; DARWIN-32-PIC-NEXT: calll L30$pb
2733 ; DARWIN-32-PIC-NEXT: L30$pb:
2734 ; DARWIN-32-PIC-NEXT: popl %eax
2735 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2736 ; DARWIN-32-PIC-NEXT: movl _dsrc-L30$pb(%eax,%ecx,4), %edx
2737 ; DARWIN-32-PIC-NEXT: movl %edx, _ddst-L30$pb(%eax,%ecx,4)
2738 ; DARWIN-32-PIC-NEXT: retl
2756 ; DARWIN-64-PIC-LABEL: ind03:
2757 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2758 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
2759 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2760 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx
2761 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2762 ; DARWIN-64-PIC-NEXT: retq
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
2819 ; DARWIN-32-PIC-LABEL: ind04:
2820 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2821 ; DARWIN-32-PIC-NEXT: calll L31$pb
2822 ; DARWIN-32-PIC-NEXT: L31$pb:
2823 ; DARWIN-32-PIC-NEXT: popl %eax
2824 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2825 ; DARWIN-32-PIC-NEXT: leal _ddst-L31$pb(%eax,%ecx,4), %ecx
2826 ; DARWIN-32-PIC-NEXT: movl %ecx, _dptr-L31$pb(%eax)
2827 ; DARWIN-32-PIC-NEXT: retl
2843 ; DARWIN-64-PIC-LABEL: ind04:
2844 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2845 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
2846 ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax
2847 ; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip)
2848 ; DARWIN-64-PIC-NEXT: retq
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
2909 ; DARWIN-32-PIC-LABEL: ind05:
2910 ; DARWIN-32-PIC: ## %bb.0: ## %entry
2911 ; DARWIN-32-PIC-NEXT: calll L32$pb
2912 ; DARWIN-32-PIC-NEXT: L32$pb:
2913 ; DARWIN-32-PIC-NEXT: popl %eax
2914 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
2915 ; DARWIN-32-PIC-NEXT: movl _dsrc-L32$pb(%eax,%ecx,4), %edx
2916 ; DARWIN-32-PIC-NEXT: movl _dptr-L32$pb(%eax), %eax
2917 ; DARWIN-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
2918 ; DARWIN-32-PIC-NEXT: retl
2936 ; DARWIN-64-PIC-LABEL: ind05:
2937 ; DARWIN-64-PIC: ## %bb.0: ## %entry
2938 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
2939 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
2940 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx
2941 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
2942 ; DARWIN-64-PIC-NEXT: retq
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
3001 ; DARWIN-32-PIC-LABEL: ind06:
3002 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3003 ; DARWIN-32-PIC-NEXT: calll L33$pb
3004 ; DARWIN-32-PIC-NEXT: L33$pb:
3005 ; DARWIN-32-PIC-NEXT: popl %eax
3006 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3007 ; DARWIN-32-PIC-NEXT: movl _lsrc-L33$pb(%eax,%ecx,4), %edx
3008 ; DARWIN-32-PIC-NEXT: movl %edx, _ldst-L33$pb(%eax,%ecx,4)
3009 ; DARWIN-32-PIC-NEXT: retl
3027 ; DARWIN-64-PIC-LABEL: ind06:
3028 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3029 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
3030 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
3031 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx
3032 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
3033 ; DARWIN-64-PIC-NEXT: retq
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
3090 ; DARWIN-32-PIC-LABEL: ind07:
3091 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3092 ; DARWIN-32-PIC-NEXT: calll L34$pb
3093 ; DARWIN-32-PIC-NEXT: L34$pb:
3094 ; DARWIN-32-PIC-NEXT: popl %eax
3095 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3096 ; DARWIN-32-PIC-NEXT: leal _ldst-L34$pb(%eax,%ecx,4), %ecx
3097 ; DARWIN-32-PIC-NEXT: movl %ecx, _lptr-L34$pb(%eax)
3098 ; DARWIN-32-PIC-NEXT: retl
3114 ; DARWIN-64-PIC-LABEL: ind07:
3115 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3116 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
3117 ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax
3118 ; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip)
3119 ; DARWIN-64-PIC-NEXT: retq
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
3180 ; DARWIN-32-PIC-LABEL: ind08:
3181 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3182 ; DARWIN-32-PIC-NEXT: calll L35$pb
3183 ; DARWIN-32-PIC-NEXT: L35$pb:
3184 ; DARWIN-32-PIC-NEXT: popl %eax
3185 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3186 ; DARWIN-32-PIC-NEXT: movl _lsrc-L35$pb(%eax,%ecx,4), %edx
3187 ; DARWIN-32-PIC-NEXT: movl _lptr-L35$pb(%eax), %eax
3188 ; DARWIN-32-PIC-NEXT: movl %edx, (%eax,%ecx,4)
3189 ; DARWIN-32-PIC-NEXT: retl
3207 ; DARWIN-64-PIC-LABEL: ind08:
3208 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3209 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
3210 ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax
3211 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx
3212 ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4)
3213 ; DARWIN-64-PIC-NEXT: retq
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
3278 ; DARWIN-32-PIC-LABEL: off00:
3279 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3280 ; DARWIN-32-PIC-NEXT: calll L36$pb
3281 ; DARWIN-32-PIC-NEXT: L36$pb:
3282 ; DARWIN-32-PIC-NEXT: popl %eax
3283 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3284 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L36$pb(%eax), %edx
3285 ; DARWIN-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3286 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L36$pb(%eax), %eax
3287 ; DARWIN-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3288 ; DARWIN-32-PIC-NEXT: retl
3306 ; DARWIN-64-PIC-LABEL: off00:
3307 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3308 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
3309 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3310 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx
3311 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3312 ; DARWIN-64-PIC-NEXT: retq
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
3377 ; DARWIN-32-PIC-LABEL: oxf00:
3378 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3379 ; DARWIN-32-PIC-NEXT: calll L37$pb
3380 ; DARWIN-32-PIC-NEXT: L37$pb:
3381 ; DARWIN-32-PIC-NEXT: popl %eax
3382 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3383 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L37$pb(%eax), %edx
3384 ; DARWIN-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3385 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L37$pb(%eax), %eax
3386 ; DARWIN-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3387 ; DARWIN-32-PIC-NEXT: retl
3405 ; DARWIN-64-PIC-LABEL: oxf00:
3406 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3407 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
3408 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3409 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx
3410 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3411 ; DARWIN-64-PIC-NEXT: retq
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
3476 ; DARWIN-32-PIC-LABEL: off01:
3477 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3478 ; DARWIN-32-PIC-NEXT: calll L38$pb
3479 ; DARWIN-32-PIC-NEXT: L38$pb:
3480 ; DARWIN-32-PIC-NEXT: popl %eax
3481 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3482 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L38$pb(%eax), %edx
3483 ; DARWIN-32-PIC-NEXT: leal 64(%edx,%ecx,4), %ecx
3484 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L38$pb(%eax), %eax
3485 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
3486 ; DARWIN-32-PIC-NEXT: retl
3504 ; DARWIN-64-PIC-LABEL: off01:
3505 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3506 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
3507 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3508 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
3509 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
3510 ; DARWIN-64-PIC-NEXT: retq
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
3573 ; DARWIN-32-PIC-LABEL: oxf01:
3574 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3575 ; DARWIN-32-PIC-NEXT: calll L39$pb
3576 ; DARWIN-32-PIC-NEXT: L39$pb:
3577 ; DARWIN-32-PIC-NEXT: popl %eax
3578 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3579 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L39$pb(%eax), %edx
3580 ; DARWIN-32-PIC-NEXT: leal 64(%edx,%ecx,4), %ecx
3581 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L39$pb(%eax), %eax
3582 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
3583 ; DARWIN-32-PIC-NEXT: retl
3601 ; DARWIN-64-PIC-LABEL: oxf01:
3602 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3603 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
3604 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
3605 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
3606 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
3607 ; DARWIN-64-PIC-NEXT: retq
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
3676 ; DARWIN-32-PIC-LABEL: off02:
3677 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3678 ; DARWIN-32-PIC-NEXT: calll L40$pb
3679 ; DARWIN-32-PIC-NEXT: L40$pb:
3680 ; DARWIN-32-PIC-NEXT: popl %eax
3681 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3682 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L40$pb(%eax), %edx
3683 ; DARWIN-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3684 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L40$pb(%eax), %eax
3685 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
3686 ; DARWIN-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3687 ; DARWIN-32-PIC-NEXT: retl
3707 ; DARWIN-64-PIC-LABEL: off02:
3708 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3709 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
3710 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3711 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
3712 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
3713 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3714 ; DARWIN-64-PIC-NEXT: retq
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
3786 ; DARWIN-32-PIC-LABEL: oxf02:
3787 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3788 ; DARWIN-32-PIC-NEXT: calll L41$pb
3789 ; DARWIN-32-PIC-NEXT: L41$pb:
3790 ; DARWIN-32-PIC-NEXT: popl %eax
3791 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3792 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L41$pb(%eax), %edx
3793 ; DARWIN-32-PIC-NEXT: movl 64(%edx,%ecx,4), %edx
3794 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L41$pb(%eax), %eax
3795 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
3796 ; DARWIN-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
3797 ; DARWIN-32-PIC-NEXT: retl
3817 ; DARWIN-64-PIC-LABEL: oxf02:
3818 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3819 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
3820 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3821 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
3822 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
3823 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3824 ; DARWIN-64-PIC-NEXT: retq
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
3884 ; DARWIN-32-PIC-LABEL: off03:
3885 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3886 ; DARWIN-32-PIC-NEXT: calll L42$pb
3887 ; DARWIN-32-PIC-NEXT: L42$pb:
3888 ; DARWIN-32-PIC-NEXT: popl %eax
3889 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3890 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L42$pb)+64(%eax,%ecx,4), %edx
3891 ; DARWIN-32-PIC-NEXT: movl %edx, (_ddst-L42$pb)+64(%eax,%ecx,4)
3892 ; DARWIN-32-PIC-NEXT: retl
3910 ; DARWIN-64-PIC-LABEL: off03:
3911 ; DARWIN-64-PIC: ## %bb.0: ## %entry
3912 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
3913 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
3914 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx
3915 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
3916 ; DARWIN-64-PIC-NEXT: retq
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
3974 ; DARWIN-32-PIC-LABEL: off04:
3975 ; DARWIN-32-PIC: ## %bb.0: ## %entry
3976 ; DARWIN-32-PIC-NEXT: calll L43$pb
3977 ; DARWIN-32-PIC-NEXT: L43$pb:
3978 ; DARWIN-32-PIC-NEXT: popl %eax
3979 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
3980 ; DARWIN-32-PIC-NEXT: leal (_ddst-L43$pb)+64(%eax,%ecx,4), %ecx
3981 ; DARWIN-32-PIC-NEXT: movl %ecx, _dptr-L43$pb(%eax)
3982 ; DARWIN-32-PIC-NEXT: retl
3998 ; DARWIN-64-PIC-LABEL: off04:
3999 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4000 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
4001 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
4002 ; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip)
4003 ; DARWIN-64-PIC-NEXT: retq
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
4065 ; DARWIN-32-PIC-LABEL: off05:
4066 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4067 ; DARWIN-32-PIC-NEXT: calll L44$pb
4068 ; DARWIN-32-PIC-NEXT: L44$pb:
4069 ; DARWIN-32-PIC-NEXT: popl %eax
4070 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4071 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L44$pb)+64(%eax,%ecx,4), %edx
4072 ; DARWIN-32-PIC-NEXT: movl _dptr-L44$pb(%eax), %eax
4073 ; DARWIN-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
4074 ; DARWIN-32-PIC-NEXT: retl
4092 ; DARWIN-64-PIC-LABEL: off05:
4093 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4094 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
4095 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
4096 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx
4097 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4098 ; DARWIN-64-PIC-NEXT: retq
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
4158 ; DARWIN-32-PIC-LABEL: off06:
4159 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4160 ; DARWIN-32-PIC-NEXT: calll L45$pb
4161 ; DARWIN-32-PIC-NEXT: L45$pb:
4162 ; DARWIN-32-PIC-NEXT: popl %eax
4163 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4164 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L45$pb)+64(%eax,%ecx,4), %edx
4165 ; DARWIN-32-PIC-NEXT: movl %edx, (_ldst-L45$pb)+64(%eax,%ecx,4)
4166 ; DARWIN-32-PIC-NEXT: retl
4184 ; DARWIN-64-PIC-LABEL: off06:
4185 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4186 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
4187 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
4188 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx
4189 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4190 ; DARWIN-64-PIC-NEXT: retq
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
4248 ; DARWIN-32-PIC-LABEL: off07:
4249 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4250 ; DARWIN-32-PIC-NEXT: calll L46$pb
4251 ; DARWIN-32-PIC-NEXT: L46$pb:
4252 ; DARWIN-32-PIC-NEXT: popl %eax
4253 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4254 ; DARWIN-32-PIC-NEXT: leal (_ldst-L46$pb)+64(%eax,%ecx,4), %ecx
4255 ; DARWIN-32-PIC-NEXT: movl %ecx, _lptr-L46$pb(%eax)
4256 ; DARWIN-32-PIC-NEXT: retl
4272 ; DARWIN-64-PIC-LABEL: off07:
4273 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4274 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
4275 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
4276 ; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip)
4277 ; DARWIN-64-PIC-NEXT: retq
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
4339 ; DARWIN-32-PIC-LABEL: off08:
4340 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4341 ; DARWIN-32-PIC-NEXT: calll L47$pb
4342 ; DARWIN-32-PIC-NEXT: L47$pb:
4343 ; DARWIN-32-PIC-NEXT: popl %eax
4344 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
4345 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L47$pb)+64(%eax,%ecx,4), %edx
4346 ; DARWIN-32-PIC-NEXT: movl _lptr-L47$pb(%eax), %eax
4347 ; DARWIN-32-PIC-NEXT: movl %edx, 64(%eax,%ecx,4)
4348 ; DARWIN-32-PIC-NEXT: retl
4366 ; DARWIN-64-PIC-LABEL: off08:
4367 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4368 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
4369 ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax
4370 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx
4371 ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4)
4372 ; DARWIN-64-PIC-NEXT: retq
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
4434 ; DARWIN-32-PIC-LABEL: moo00:
4435 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4436 ; DARWIN-32-PIC-NEXT: calll L48$pb
4437 ; DARWIN-32-PIC-NEXT: L48$pb:
4438 ; DARWIN-32-PIC-NEXT: popl %eax
4439 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L48$pb(%eax), %ecx
4440 ; DARWIN-32-PIC-NEXT: movl 262144(%ecx), %ecx
4441 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L48$pb(%eax), %eax
4442 ; DARWIN-32-PIC-NEXT: movl %ecx, 262144(%eax)
4443 ; DARWIN-32-PIC-NEXT: retl
4461 ; DARWIN-64-PIC-LABEL: moo00:
4462 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4463 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
4464 ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax
4465 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx
4466 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx)
4467 ; DARWIN-64-PIC-NEXT: retq
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
4524 ; DARWIN-32-PIC-LABEL: moo01:
4525 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4526 ; DARWIN-32-PIC-NEXT: calll L49$pb
4527 ; DARWIN-32-PIC-NEXT: L49$pb:
4528 ; DARWIN-32-PIC-NEXT: popl %eax
4529 ; DARWIN-32-PIC-NEXT: movl $262144, %ecx ## imm = 0x40000
4530 ; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L49$pb(%eax), %ecx
4531 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L49$pb(%eax), %eax
4532 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
4533 ; DARWIN-32-PIC-NEXT: retl
4551 ; DARWIN-64-PIC-LABEL: moo01:
4552 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4553 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
4554 ; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax
4555 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
4556 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
4557 ; DARWIN-64-PIC-NEXT: retq
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
4620 ; DARWIN-32-PIC-LABEL: moo02:
4621 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4622 ; DARWIN-32-PIC-NEXT: calll L50$pb
4623 ; DARWIN-32-PIC-NEXT: L50$pb:
4624 ; DARWIN-32-PIC-NEXT: popl %eax
4625 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L50$pb(%eax), %ecx
4626 ; DARWIN-32-PIC-NEXT: movl 262144(%ecx), %ecx
4627 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L50$pb(%eax), %eax
4628 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
4629 ; DARWIN-32-PIC-NEXT: movl %ecx, 262144(%eax)
4630 ; DARWIN-32-PIC-NEXT: retl
4650 ; DARWIN-64-PIC-LABEL: moo02:
4651 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4652 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
4653 ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax
4654 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
4655 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
4656 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx)
4657 ; DARWIN-64-PIC-NEXT: retq
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
4709 ; DARWIN-32-PIC-LABEL: moo03:
4710 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4711 ; DARWIN-32-PIC-NEXT: calll L51$pb
4712 ; DARWIN-32-PIC-NEXT: L51$pb:
4713 ; DARWIN-32-PIC-NEXT: popl %eax
4714 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L51$pb)+262144(%eax), %ecx
4715 ; DARWIN-32-PIC-NEXT: movl %ecx, (_ddst-L51$pb)+262144(%eax)
4716 ; DARWIN-32-PIC-NEXT: retl
4730 ; DARWIN-64-PIC-LABEL: moo03:
4731 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4732 ; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax
4733 ; DARWIN-64-PIC-NEXT: movl %eax, _ddst+262144(%rip)
4734 ; DARWIN-64-PIC-NEXT: retq
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
4780 ; DARWIN-32-PIC-LABEL: moo04:
4781 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4782 ; DARWIN-32-PIC-NEXT: calll L52$pb
4783 ; DARWIN-32-PIC-NEXT: L52$pb:
4784 ; DARWIN-32-PIC-NEXT: popl %eax
4785 ; DARWIN-32-PIC-NEXT: leal (_ddst-L52$pb)+262144(%eax), %ecx
4786 ; DARWIN-32-PIC-NEXT: movl %ecx, _dptr-L52$pb(%eax)
4787 ; DARWIN-32-PIC-NEXT: retl
4801 ; DARWIN-64-PIC-LABEL: moo04:
4802 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4803 ; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax
4804 ; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip)
4805 ; DARWIN-64-PIC-NEXT: retq
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
4860 ; DARWIN-32-PIC-LABEL: moo05:
4861 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4862 ; DARWIN-32-PIC-NEXT: calll L53$pb
4863 ; DARWIN-32-PIC-NEXT: L53$pb:
4864 ; DARWIN-32-PIC-NEXT: popl %eax
4865 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L53$pb)+262144(%eax), %ecx
4866 ; DARWIN-32-PIC-NEXT: movl _dptr-L53$pb(%eax), %eax
4867 ; DARWIN-32-PIC-NEXT: movl %ecx, 262144(%eax)
4868 ; DARWIN-32-PIC-NEXT: retl
4884 ; DARWIN-64-PIC-LABEL: moo05:
4885 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4886 ; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax
4887 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx
4888 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx)
4889 ; DARWIN-64-PIC-NEXT: retq
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
4941 ; DARWIN-32-PIC-LABEL: moo06:
4942 ; DARWIN-32-PIC: ## %bb.0: ## %entry
4943 ; DARWIN-32-PIC-NEXT: calll L54$pb
4944 ; DARWIN-32-PIC-NEXT: L54$pb:
4945 ; DARWIN-32-PIC-NEXT: popl %eax
4946 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L54$pb)+262144(%eax), %ecx
4947 ; DARWIN-32-PIC-NEXT: movl %ecx, (_ldst-L54$pb)+262144(%eax)
4948 ; DARWIN-32-PIC-NEXT: retl
4962 ; DARWIN-64-PIC-LABEL: moo06:
4963 ; DARWIN-64-PIC: ## %bb.0: ## %entry
4964 ; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax
4965 ; DARWIN-64-PIC-NEXT: movl %eax, _ldst+262144(%rip)
4966 ; DARWIN-64-PIC-NEXT: retq
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
5012 ; DARWIN-32-PIC-LABEL: moo07:
5013 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5014 ; DARWIN-32-PIC-NEXT: calll L55$pb
5015 ; DARWIN-32-PIC-NEXT: L55$pb:
5016 ; DARWIN-32-PIC-NEXT: popl %eax
5017 ; DARWIN-32-PIC-NEXT: leal (_ldst-L55$pb)+262144(%eax), %ecx
5018 ; DARWIN-32-PIC-NEXT: movl %ecx, _lptr-L55$pb(%eax)
5019 ; DARWIN-32-PIC-NEXT: retl
5033 ; DARWIN-64-PIC-LABEL: moo07:
5034 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5035 ; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax
5036 ; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip)
5037 ; DARWIN-64-PIC-NEXT: retq
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
5092 ; DARWIN-32-PIC-LABEL: moo08:
5093 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5094 ; DARWIN-32-PIC-NEXT: calll L56$pb
5095 ; DARWIN-32-PIC-NEXT: L56$pb:
5096 ; DARWIN-32-PIC-NEXT: popl %eax
5097 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L56$pb)+262144(%eax), %ecx
5098 ; DARWIN-32-PIC-NEXT: movl _lptr-L56$pb(%eax), %eax
5099 ; DARWIN-32-PIC-NEXT: movl %ecx, 262144(%eax)
5100 ; DARWIN-32-PIC-NEXT: retl
5116 ; DARWIN-64-PIC-LABEL: moo08:
5117 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5118 ; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax
5119 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx
5120 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx)
5121 ; DARWIN-64-PIC-NEXT: retq
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
5185 ; DARWIN-32-PIC-LABEL: big00:
5186 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5187 ; DARWIN-32-PIC-NEXT: calll L57$pb
5188 ; DARWIN-32-PIC-NEXT: L57$pb:
5189 ; DARWIN-32-PIC-NEXT: popl %eax
5190 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5191 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L57$pb(%eax), %edx
5192 ; DARWIN-32-PIC-NEXT: movl 262144(%edx,%ecx,4), %edx
5193 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L57$pb(%eax), %eax
5194 ; DARWIN-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5195 ; DARWIN-32-PIC-NEXT: retl
5213 ; DARWIN-64-PIC-LABEL: big00:
5214 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5215 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
5216 ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5217 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx
5218 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5219 ; DARWIN-64-PIC-NEXT: retq
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
5284 ; DARWIN-32-PIC-LABEL: big01:
5285 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5286 ; DARWIN-32-PIC-NEXT: calll L58$pb
5287 ; DARWIN-32-PIC-NEXT: L58$pb:
5288 ; DARWIN-32-PIC-NEXT: popl %eax
5289 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5290 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L58$pb(%eax), %edx
5291 ; DARWIN-32-PIC-NEXT: leal 262144(%edx,%ecx,4), %ecx
5292 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L58$pb(%eax), %eax
5293 ; DARWIN-32-PIC-NEXT: movl %ecx, (%eax)
5294 ; DARWIN-32-PIC-NEXT: retl
5312 ; DARWIN-64-PIC-LABEL: big01:
5313 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5314 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
5315 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5316 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
5317 ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx)
5318 ; DARWIN-64-PIC-NEXT: retq
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
5387 ; DARWIN-32-PIC-LABEL: big02:
5388 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5389 ; DARWIN-32-PIC-NEXT: calll L59$pb
5390 ; DARWIN-32-PIC-NEXT: L59$pb:
5391 ; DARWIN-32-PIC-NEXT: popl %eax
5392 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5393 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L59$pb(%eax), %edx
5394 ; DARWIN-32-PIC-NEXT: movl 262144(%edx,%ecx,4), %edx
5395 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L59$pb(%eax), %eax
5396 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
5397 ; DARWIN-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5398 ; DARWIN-32-PIC-NEXT: retl
5418 ; DARWIN-64-PIC-LABEL: big02:
5419 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5420 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
5421 ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5422 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
5423 ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx
5424 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5425 ; DARWIN-64-PIC-NEXT: retq
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
5485 ; DARWIN-32-PIC-LABEL: big03:
5486 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5487 ; DARWIN-32-PIC-NEXT: calll L60$pb
5488 ; DARWIN-32-PIC-NEXT: L60$pb:
5489 ; DARWIN-32-PIC-NEXT: popl %eax
5490 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5491 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L60$pb)+262144(%eax,%ecx,4), %edx
5492 ; DARWIN-32-PIC-NEXT: movl %edx, (_ddst-L60$pb)+262144(%eax,%ecx,4)
5493 ; DARWIN-32-PIC-NEXT: retl
5511 ; DARWIN-64-PIC-LABEL: big03:
5512 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5513 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
5514 ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5515 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx
5516 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5517 ; DARWIN-64-PIC-NEXT: retq
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
5575 ; DARWIN-32-PIC-LABEL: big04:
5576 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5577 ; DARWIN-32-PIC-NEXT: calll L61$pb
5578 ; DARWIN-32-PIC-NEXT: L61$pb:
5579 ; DARWIN-32-PIC-NEXT: popl %eax
5580 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5581 ; DARWIN-32-PIC-NEXT: leal (_ddst-L61$pb)+262144(%eax,%ecx,4), %ecx
5582 ; DARWIN-32-PIC-NEXT: movl %ecx, _dptr-L61$pb(%eax)
5583 ; DARWIN-32-PIC-NEXT: retl
5599 ; DARWIN-64-PIC-LABEL: big04:
5600 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5601 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
5602 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5603 ; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip)
5604 ; DARWIN-64-PIC-NEXT: retq
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
5666 ; DARWIN-32-PIC-LABEL: big05:
5667 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5668 ; DARWIN-32-PIC-NEXT: calll L62$pb
5669 ; DARWIN-32-PIC-NEXT: L62$pb:
5670 ; DARWIN-32-PIC-NEXT: popl %eax
5671 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5672 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L62$pb)+262144(%eax,%ecx,4), %edx
5673 ; DARWIN-32-PIC-NEXT: movl _dptr-L62$pb(%eax), %eax
5674 ; DARWIN-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5675 ; DARWIN-32-PIC-NEXT: retl
5693 ; DARWIN-64-PIC-LABEL: big05:
5694 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5695 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
5696 ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5697 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx
5698 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5699 ; DARWIN-64-PIC-NEXT: retq
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
5759 ; DARWIN-32-PIC-LABEL: big06:
5760 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5761 ; DARWIN-32-PIC-NEXT: calll L63$pb
5762 ; DARWIN-32-PIC-NEXT: L63$pb:
5763 ; DARWIN-32-PIC-NEXT: popl %eax
5764 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5765 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L63$pb)+262144(%eax,%ecx,4), %edx
5766 ; DARWIN-32-PIC-NEXT: movl %edx, (_ldst-L63$pb)+262144(%eax,%ecx,4)
5767 ; DARWIN-32-PIC-NEXT: retl
5785 ; DARWIN-64-PIC-LABEL: big06:
5786 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5787 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
5788 ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5789 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx
5790 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5791 ; DARWIN-64-PIC-NEXT: retq
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
5849 ; DARWIN-32-PIC-LABEL: big07:
5850 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5851 ; DARWIN-32-PIC-NEXT: calll L64$pb
5852 ; DARWIN-32-PIC-NEXT: L64$pb:
5853 ; DARWIN-32-PIC-NEXT: popl %eax
5854 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5855 ; DARWIN-32-PIC-NEXT: leal (_ldst-L64$pb)+262144(%eax,%ecx,4), %ecx
5856 ; DARWIN-32-PIC-NEXT: movl %ecx, _lptr-L64$pb(%eax)
5857 ; DARWIN-32-PIC-NEXT: retl
5873 ; DARWIN-64-PIC-LABEL: big07:
5874 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5875 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
5876 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
5877 ; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip)
5878 ; DARWIN-64-PIC-NEXT: retq
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
5940 ; DARWIN-32-PIC-LABEL: big08:
5941 ; DARWIN-32-PIC: ## %bb.0: ## %entry
5942 ; DARWIN-32-PIC-NEXT: calll L65$pb
5943 ; DARWIN-32-PIC-NEXT: L65$pb:
5944 ; DARWIN-32-PIC-NEXT: popl %eax
5945 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
5946 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L65$pb)+262144(%eax,%ecx,4), %edx
5947 ; DARWIN-32-PIC-NEXT: movl _lptr-L65$pb(%eax), %eax
5948 ; DARWIN-32-PIC-NEXT: movl %edx, 262144(%eax,%ecx,4)
5949 ; DARWIN-32-PIC-NEXT: retl
5967 ; DARWIN-64-PIC-LABEL: big08:
5968 ; DARWIN-64-PIC: ## %bb.0: ## %entry
5969 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
5970 ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax
5971 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx
5972 ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4)
5973 ; DARWIN-64-PIC-NEXT: retq
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
6021 ; DARWIN-32-PIC-LABEL: bar00:
6022 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6023 ; DARWIN-32-PIC-NEXT: calll L66$pb
6024 ; DARWIN-32-PIC-NEXT: L66$pb:
6025 ; DARWIN-32-PIC-NEXT: popl %eax
6026 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L66$pb(%eax), %eax
6027 ; DARWIN-32-PIC-NEXT: retl
6039 ; DARWIN-64-PIC-LABEL: bar00:
6040 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6041 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
6042 ; DARWIN-64-PIC-NEXT: retq
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
6084 ; DARWIN-32-PIC-LABEL: bxr00:
6085 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6086 ; DARWIN-32-PIC-NEXT: calll L67$pb
6087 ; DARWIN-32-PIC-NEXT: L67$pb:
6088 ; DARWIN-32-PIC-NEXT: popl %eax
6089 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L67$pb(%eax), %eax
6090 ; DARWIN-32-PIC-NEXT: retl
6102 ; DARWIN-64-PIC-LABEL: bxr00:
6103 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6104 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
6105 ; DARWIN-64-PIC-NEXT: retq
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
6147 ; DARWIN-32-PIC-LABEL: bar01:
6148 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6149 ; DARWIN-32-PIC-NEXT: calll L68$pb
6150 ; DARWIN-32-PIC-NEXT: L68$pb:
6151 ; DARWIN-32-PIC-NEXT: popl %eax
6152 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L68$pb(%eax), %eax
6153 ; DARWIN-32-PIC-NEXT: retl
6165 ; DARWIN-64-PIC-LABEL: bar01:
6166 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6167 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
6168 ; DARWIN-64-PIC-NEXT: retq
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
6210 ; DARWIN-32-PIC-LABEL: bxr01:
6211 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6212 ; DARWIN-32-PIC-NEXT: calll L69$pb
6213 ; DARWIN-32-PIC-NEXT: L69$pb:
6214 ; DARWIN-32-PIC-NEXT: popl %eax
6215 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L69$pb(%eax), %eax
6216 ; DARWIN-32-PIC-NEXT: retl
6228 ; DARWIN-64-PIC-LABEL: bxr01:
6229 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6230 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
6231 ; DARWIN-64-PIC-NEXT: retq
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
6273 ; DARWIN-32-PIC-LABEL: bar02:
6274 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6275 ; DARWIN-32-PIC-NEXT: calll L70$pb
6276 ; DARWIN-32-PIC-NEXT: L70$pb:
6277 ; DARWIN-32-PIC-NEXT: popl %eax
6278 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L70$pb(%eax), %eax
6279 ; DARWIN-32-PIC-NEXT: retl
6291 ; DARWIN-64-PIC-LABEL: bar02:
6292 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6293 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
6294 ; DARWIN-64-PIC-NEXT: retq
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
6336 ; DARWIN-32-PIC-LABEL: bar03:
6337 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6338 ; DARWIN-32-PIC-NEXT: calll L71$pb
6339 ; DARWIN-32-PIC-NEXT: L71$pb:
6340 ; DARWIN-32-PIC-NEXT: popl %eax
6341 ; DARWIN-32-PIC-NEXT: leal _dsrc-L71$pb(%eax), %eax
6342 ; DARWIN-32-PIC-NEXT: retl
6354 ; DARWIN-64-PIC-LABEL: bar03:
6355 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6356 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
6357 ; DARWIN-64-PIC-NEXT: retq
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
6399 ; DARWIN-32-PIC-LABEL: bar04:
6400 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6401 ; DARWIN-32-PIC-NEXT: calll L72$pb
6402 ; DARWIN-32-PIC-NEXT: L72$pb:
6403 ; DARWIN-32-PIC-NEXT: popl %eax
6404 ; DARWIN-32-PIC-NEXT: leal _ddst-L72$pb(%eax), %eax
6405 ; DARWIN-32-PIC-NEXT: retl
6417 ; DARWIN-64-PIC-LABEL: bar04:
6418 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6419 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
6420 ; DARWIN-64-PIC-NEXT: retq
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
6462 ; DARWIN-32-PIC-LABEL: bar05:
6463 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6464 ; DARWIN-32-PIC-NEXT: calll L73$pb
6465 ; DARWIN-32-PIC-NEXT: L73$pb:
6466 ; DARWIN-32-PIC-NEXT: popl %eax
6467 ; DARWIN-32-PIC-NEXT: leal _dptr-L73$pb(%eax), %eax
6468 ; DARWIN-32-PIC-NEXT: retl
6480 ; DARWIN-64-PIC-LABEL: bar05:
6481 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6482 ; DARWIN-64-PIC-NEXT: leaq _dptr(%rip), %rax
6483 ; DARWIN-64-PIC-NEXT: retq
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
6525 ; DARWIN-32-PIC-LABEL: bar06:
6526 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6527 ; DARWIN-32-PIC-NEXT: calll L74$pb
6528 ; DARWIN-32-PIC-NEXT: L74$pb:
6529 ; DARWIN-32-PIC-NEXT: popl %eax
6530 ; DARWIN-32-PIC-NEXT: leal _lsrc-L74$pb(%eax), %eax
6531 ; DARWIN-32-PIC-NEXT: retl
6543 ; DARWIN-64-PIC-LABEL: bar06:
6544 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6545 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
6546 ; DARWIN-64-PIC-NEXT: retq
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
6588 ; DARWIN-32-PIC-LABEL: bar07:
6589 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6590 ; DARWIN-32-PIC-NEXT: calll L75$pb
6591 ; DARWIN-32-PIC-NEXT: L75$pb:
6592 ; DARWIN-32-PIC-NEXT: popl %eax
6593 ; DARWIN-32-PIC-NEXT: leal _ldst-L75$pb(%eax), %eax
6594 ; DARWIN-32-PIC-NEXT: retl
6606 ; DARWIN-64-PIC-LABEL: bar07:
6607 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6608 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
6609 ; DARWIN-64-PIC-NEXT: retq
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
6651 ; DARWIN-32-PIC-LABEL: bar08:
6652 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6653 ; DARWIN-32-PIC-NEXT: calll L76$pb
6654 ; DARWIN-32-PIC-NEXT: L76$pb:
6655 ; DARWIN-32-PIC-NEXT: popl %eax
6656 ; DARWIN-32-PIC-NEXT: leal _lptr-L76$pb(%eax), %eax
6657 ; DARWIN-32-PIC-NEXT: retl
6669 ; DARWIN-64-PIC-LABEL: bar08:
6670 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6671 ; DARWIN-64-PIC-NEXT: leaq _lptr(%rip), %rax
6672 ; DARWIN-64-PIC-NEXT: retq
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
6714 ; DARWIN-32-PIC-LABEL: har00:
6715 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6716 ; DARWIN-32-PIC-NEXT: calll L77$pb
6717 ; DARWIN-32-PIC-NEXT: L77$pb:
6718 ; DARWIN-32-PIC-NEXT: popl %eax
6719 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L77$pb(%eax), %eax
6720 ; DARWIN-32-PIC-NEXT: retl
6732 ; DARWIN-64-PIC-LABEL: har00:
6733 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6734 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
6735 ; DARWIN-64-PIC-NEXT: retq
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
6777 ; DARWIN-32-PIC-LABEL: hxr00:
6778 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6779 ; DARWIN-32-PIC-NEXT: calll L78$pb
6780 ; DARWIN-32-PIC-NEXT: L78$pb:
6781 ; DARWIN-32-PIC-NEXT: popl %eax
6782 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L78$pb(%eax), %eax
6783 ; DARWIN-32-PIC-NEXT: retl
6795 ; DARWIN-64-PIC-LABEL: hxr00:
6796 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6797 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
6798 ; DARWIN-64-PIC-NEXT: retq
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
6840 ; DARWIN-32-PIC-LABEL: har01:
6841 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6842 ; DARWIN-32-PIC-NEXT: calll L79$pb
6843 ; DARWIN-32-PIC-NEXT: L79$pb:
6844 ; DARWIN-32-PIC-NEXT: popl %eax
6845 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L79$pb(%eax), %eax
6846 ; DARWIN-32-PIC-NEXT: retl
6858 ; DARWIN-64-PIC-LABEL: har01:
6859 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6860 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
6861 ; DARWIN-64-PIC-NEXT: retq
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
6903 ; DARWIN-32-PIC-LABEL: hxr01:
6904 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6905 ; DARWIN-32-PIC-NEXT: calll L80$pb
6906 ; DARWIN-32-PIC-NEXT: L80$pb:
6907 ; DARWIN-32-PIC-NEXT: popl %eax
6908 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L80$pb(%eax), %eax
6909 ; DARWIN-32-PIC-NEXT: retl
6921 ; DARWIN-64-PIC-LABEL: hxr01:
6922 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6923 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
6924 ; DARWIN-64-PIC-NEXT: retq
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
6970 ; DARWIN-32-PIC-LABEL: har02:
6971 ; DARWIN-32-PIC: ## %bb.0: ## %entry
6972 ; DARWIN-32-PIC-NEXT: calll L81$pb
6973 ; DARWIN-32-PIC-NEXT: L81$pb:
6974 ; DARWIN-32-PIC-NEXT: popl %eax
6975 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L81$pb(%eax), %eax
6976 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
6977 ; DARWIN-32-PIC-NEXT: retl
6991 ; DARWIN-64-PIC-LABEL: har02:
6992 ; DARWIN-64-PIC: ## %bb.0: ## %entry
6993 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
6994 ; DARWIN-64-PIC-NEXT: movq (%rax), %rax
6995 ; DARWIN-64-PIC-NEXT: retq
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
7038 ; DARWIN-32-PIC-LABEL: har03:
7039 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7040 ; DARWIN-32-PIC-NEXT: calll L82$pb
7041 ; DARWIN-32-PIC-NEXT: L82$pb:
7042 ; DARWIN-32-PIC-NEXT: popl %eax
7043 ; DARWIN-32-PIC-NEXT: leal _dsrc-L82$pb(%eax), %eax
7044 ; DARWIN-32-PIC-NEXT: retl
7056 ; DARWIN-64-PIC-LABEL: har03:
7057 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7058 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
7059 ; DARWIN-64-PIC-NEXT: retq
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
7101 ; DARWIN-32-PIC-LABEL: har04:
7102 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7103 ; DARWIN-32-PIC-NEXT: calll L83$pb
7104 ; DARWIN-32-PIC-NEXT: L83$pb:
7105 ; DARWIN-32-PIC-NEXT: popl %eax
7106 ; DARWIN-32-PIC-NEXT: leal _ddst-L83$pb(%eax), %eax
7107 ; DARWIN-32-PIC-NEXT: retl
7119 ; DARWIN-64-PIC-LABEL: har04:
7120 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7121 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
7122 ; DARWIN-64-PIC-NEXT: retq
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
7164 ; DARWIN-32-PIC-LABEL: har05:
7165 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7166 ; DARWIN-32-PIC-NEXT: calll L84$pb
7167 ; DARWIN-32-PIC-NEXT: L84$pb:
7168 ; DARWIN-32-PIC-NEXT: popl %eax
7169 ; DARWIN-32-PIC-NEXT: movl _dptr-L84$pb(%eax), %eax
7170 ; DARWIN-32-PIC-NEXT: retl
7182 ; DARWIN-64-PIC-LABEL: har05:
7183 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7184 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax
7185 ; DARWIN-64-PIC-NEXT: retq
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
7228 ; DARWIN-32-PIC-LABEL: har06:
7229 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7230 ; DARWIN-32-PIC-NEXT: calll L85$pb
7231 ; DARWIN-32-PIC-NEXT: L85$pb:
7232 ; DARWIN-32-PIC-NEXT: popl %eax
7233 ; DARWIN-32-PIC-NEXT: leal _lsrc-L85$pb(%eax), %eax
7234 ; DARWIN-32-PIC-NEXT: retl
7246 ; DARWIN-64-PIC-LABEL: har06:
7247 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7248 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
7249 ; DARWIN-64-PIC-NEXT: retq
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
7291 ; DARWIN-32-PIC-LABEL: har07:
7292 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7293 ; DARWIN-32-PIC-NEXT: calll L86$pb
7294 ; DARWIN-32-PIC-NEXT: L86$pb:
7295 ; DARWIN-32-PIC-NEXT: popl %eax
7296 ; DARWIN-32-PIC-NEXT: leal _ldst-L86$pb(%eax), %eax
7297 ; DARWIN-32-PIC-NEXT: retl
7309 ; DARWIN-64-PIC-LABEL: har07:
7310 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7311 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
7312 ; DARWIN-64-PIC-NEXT: retq
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
7354 ; DARWIN-32-PIC-LABEL: har08:
7355 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7356 ; DARWIN-32-PIC-NEXT: calll L87$pb
7357 ; DARWIN-32-PIC-NEXT: L87$pb:
7358 ; DARWIN-32-PIC-NEXT: popl %eax
7359 ; DARWIN-32-PIC-NEXT: movl _lptr-L87$pb(%eax), %eax
7360 ; DARWIN-32-PIC-NEXT: retl
7372 ; DARWIN-64-PIC-LABEL: har08:
7373 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7374 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax
7375 ; DARWIN-64-PIC-NEXT: retq
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
7422 ; DARWIN-32-PIC-LABEL: bat00:
7423 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7424 ; DARWIN-32-PIC-NEXT: calll L88$pb
7425 ; DARWIN-32-PIC-NEXT: L88$pb:
7426 ; DARWIN-32-PIC-NEXT: popl %eax
7427 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L88$pb(%eax), %eax
7428 ; DARWIN-32-PIC-NEXT: addl $64, %eax
7429 ; DARWIN-32-PIC-NEXT: retl
7443 ; DARWIN-64-PIC-LABEL: bat00:
7444 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7445 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
7446 ; DARWIN-64-PIC-NEXT: addq $64, %rax
7447 ; DARWIN-64-PIC-NEXT: retq
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
7493 ; DARWIN-32-PIC-LABEL: bxt00:
7494 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7495 ; DARWIN-32-PIC-NEXT: calll L89$pb
7496 ; DARWIN-32-PIC-NEXT: L89$pb:
7497 ; DARWIN-32-PIC-NEXT: popl %eax
7498 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L89$pb(%eax), %eax
7499 ; DARWIN-32-PIC-NEXT: addl $64, %eax
7500 ; DARWIN-32-PIC-NEXT: retl
7514 ; DARWIN-64-PIC-LABEL: bxt00:
7515 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7516 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
7517 ; DARWIN-64-PIC-NEXT: addq $64, %rax
7518 ; DARWIN-64-PIC-NEXT: retq
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
7564 ; DARWIN-32-PIC-LABEL: bat01:
7565 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7566 ; DARWIN-32-PIC-NEXT: calll L90$pb
7567 ; DARWIN-32-PIC-NEXT: L90$pb:
7568 ; DARWIN-32-PIC-NEXT: popl %eax
7569 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L90$pb(%eax), %eax
7570 ; DARWIN-32-PIC-NEXT: addl $64, %eax
7571 ; DARWIN-32-PIC-NEXT: retl
7585 ; DARWIN-64-PIC-LABEL: bat01:
7586 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7587 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
7588 ; DARWIN-64-PIC-NEXT: addq $64, %rax
7589 ; DARWIN-64-PIC-NEXT: retq
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
7635 ; DARWIN-32-PIC-LABEL: bxt01:
7636 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7637 ; DARWIN-32-PIC-NEXT: calll L91$pb
7638 ; DARWIN-32-PIC-NEXT: L91$pb:
7639 ; DARWIN-32-PIC-NEXT: popl %eax
7640 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L91$pb(%eax), %eax
7641 ; DARWIN-32-PIC-NEXT: addl $64, %eax
7642 ; DARWIN-32-PIC-NEXT: retl
7656 ; DARWIN-64-PIC-LABEL: bxt01:
7657 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7658 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
7659 ; DARWIN-64-PIC-NEXT: addq $64, %rax
7660 ; DARWIN-64-PIC-NEXT: retq
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
7712 ; DARWIN-32-PIC-LABEL: bat02:
7713 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7714 ; DARWIN-32-PIC-NEXT: calll L92$pb
7715 ; DARWIN-32-PIC-NEXT: L92$pb:
7716 ; DARWIN-32-PIC-NEXT: popl %eax
7717 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L92$pb(%eax), %eax
7718 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
7719 ; DARWIN-32-PIC-NEXT: addl $64, %eax
7720 ; DARWIN-32-PIC-NEXT: retl
7736 ; DARWIN-64-PIC-LABEL: bat02:
7737 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7738 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
7739 ; DARWIN-64-PIC-NEXT: movq (%rax), %rax
7740 ; DARWIN-64-PIC-NEXT: addq $64, %rax
7741 ; DARWIN-64-PIC-NEXT: retq
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
7785 ; DARWIN-32-PIC-LABEL: bat03:
7786 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7787 ; DARWIN-32-PIC-NEXT: calll L93$pb
7788 ; DARWIN-32-PIC-NEXT: L93$pb:
7789 ; DARWIN-32-PIC-NEXT: popl %eax
7790 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L93$pb)+64(%eax), %eax
7791 ; DARWIN-32-PIC-NEXT: retl
7803 ; DARWIN-64-PIC-LABEL: bat03:
7804 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7805 ; DARWIN-64-PIC-NEXT: leaq _dsrc+64(%rip), %rax
7806 ; DARWIN-64-PIC-NEXT: retq
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
7848 ; DARWIN-32-PIC-LABEL: bat04:
7849 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7850 ; DARWIN-32-PIC-NEXT: calll L94$pb
7851 ; DARWIN-32-PIC-NEXT: L94$pb:
7852 ; DARWIN-32-PIC-NEXT: popl %eax
7853 ; DARWIN-32-PIC-NEXT: leal (_ddst-L94$pb)+64(%eax), %eax
7854 ; DARWIN-32-PIC-NEXT: retl
7866 ; DARWIN-64-PIC-LABEL: bat04:
7867 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7868 ; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax
7869 ; DARWIN-64-PIC-NEXT: retq
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
7917 ; DARWIN-32-PIC-LABEL: bat05:
7918 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7919 ; DARWIN-32-PIC-NEXT: calll L95$pb
7920 ; DARWIN-32-PIC-NEXT: L95$pb:
7921 ; DARWIN-32-PIC-NEXT: popl %eax
7922 ; DARWIN-32-PIC-NEXT: movl _dptr-L95$pb(%eax), %eax
7923 ; DARWIN-32-PIC-NEXT: addl $64, %eax
7924 ; DARWIN-32-PIC-NEXT: retl
7938 ; DARWIN-64-PIC-LABEL: bat05:
7939 ; DARWIN-64-PIC: ## %bb.0: ## %entry
7940 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax
7941 ; DARWIN-64-PIC-NEXT: addq $64, %rax
7942 ; DARWIN-64-PIC-NEXT: retq
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
7986 ; DARWIN-32-PIC-LABEL: bat06:
7987 ; DARWIN-32-PIC: ## %bb.0: ## %entry
7988 ; DARWIN-32-PIC-NEXT: calll L96$pb
7989 ; DARWIN-32-PIC-NEXT: L96$pb:
7990 ; DARWIN-32-PIC-NEXT: popl %eax
7991 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L96$pb)+64(%eax), %eax
7992 ; DARWIN-32-PIC-NEXT: retl
8004 ; DARWIN-64-PIC-LABEL: bat06:
8005 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8006 ; DARWIN-64-PIC-NEXT: leaq _lsrc+64(%rip), %rax
8007 ; DARWIN-64-PIC-NEXT: retq
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
8049 ; DARWIN-32-PIC-LABEL: bat07:
8050 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8051 ; DARWIN-32-PIC-NEXT: calll L97$pb
8052 ; DARWIN-32-PIC-NEXT: L97$pb:
8053 ; DARWIN-32-PIC-NEXT: popl %eax
8054 ; DARWIN-32-PIC-NEXT: leal (_ldst-L97$pb)+64(%eax), %eax
8055 ; DARWIN-32-PIC-NEXT: retl
8067 ; DARWIN-64-PIC-LABEL: bat07:
8068 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8069 ; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax
8070 ; DARWIN-64-PIC-NEXT: retq
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
8118 ; DARWIN-32-PIC-LABEL: bat08:
8119 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8120 ; DARWIN-32-PIC-NEXT: calll L98$pb
8121 ; DARWIN-32-PIC-NEXT: L98$pb:
8122 ; DARWIN-32-PIC-NEXT: popl %eax
8123 ; DARWIN-32-PIC-NEXT: movl _lptr-L98$pb(%eax), %eax
8124 ; DARWIN-32-PIC-NEXT: addl $64, %eax
8125 ; DARWIN-32-PIC-NEXT: retl
8139 ; DARWIN-64-PIC-LABEL: bat08:
8140 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8141 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax
8142 ; DARWIN-64-PIC-NEXT: addq $64, %rax
8143 ; DARWIN-64-PIC-NEXT: retq
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
8191 ; DARWIN-32-PIC-LABEL: bam00:
8192 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8193 ; DARWIN-32-PIC-NEXT: calll L99$pb
8194 ; DARWIN-32-PIC-NEXT: L99$pb:
8195 ; DARWIN-32-PIC-NEXT: popl %ecx
8196 ; DARWIN-32-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8197 ; DARWIN-32-PIC-NEXT: addl L_src$non_lazy_ptr-L99$pb(%ecx), %eax
8198 ; DARWIN-32-PIC-NEXT: retl
8212 ; DARWIN-64-PIC-LABEL: bam00:
8213 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8214 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8215 ; DARWIN-64-PIC-NEXT: addq _src@GOTPCREL(%rip), %rax
8216 ; DARWIN-64-PIC-NEXT: retq
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
8262 ; DARWIN-32-PIC-LABEL: bam01:
8263 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8264 ; DARWIN-32-PIC-NEXT: calll L100$pb
8265 ; DARWIN-32-PIC-NEXT: L100$pb:
8266 ; DARWIN-32-PIC-NEXT: popl %ecx
8267 ; DARWIN-32-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8268 ; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L100$pb(%ecx), %eax
8269 ; DARWIN-32-PIC-NEXT: retl
8283 ; DARWIN-64-PIC-LABEL: bam01:
8284 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8285 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8286 ; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax
8287 ; DARWIN-64-PIC-NEXT: retq
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
8333 ; DARWIN-32-PIC-LABEL: bxm01:
8334 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8335 ; DARWIN-32-PIC-NEXT: calll L101$pb
8336 ; DARWIN-32-PIC-NEXT: L101$pb:
8337 ; DARWIN-32-PIC-NEXT: popl %ecx
8338 ; DARWIN-32-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8339 ; DARWIN-32-PIC-NEXT: addl L_xdst$non_lazy_ptr-L101$pb(%ecx), %eax
8340 ; DARWIN-32-PIC-NEXT: retl
8354 ; DARWIN-64-PIC-LABEL: bxm01:
8355 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8356 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8357 ; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax
8358 ; DARWIN-64-PIC-NEXT: retq
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
8410 ; DARWIN-32-PIC-LABEL: bam02:
8411 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8412 ; DARWIN-32-PIC-NEXT: calll L102$pb
8413 ; DARWIN-32-PIC-NEXT: L102$pb:
8414 ; DARWIN-32-PIC-NEXT: popl %eax
8415 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L102$pb(%eax), %ecx
8416 ; DARWIN-32-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8417 ; DARWIN-32-PIC-NEXT: addl (%ecx), %eax
8418 ; DARWIN-32-PIC-NEXT: retl
8434 ; DARWIN-64-PIC-LABEL: bam02:
8435 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8436 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx
8437 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8438 ; DARWIN-64-PIC-NEXT: addq (%rcx), %rax
8439 ; DARWIN-64-PIC-NEXT: retq
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
8483 ; DARWIN-32-PIC-LABEL: bam03:
8484 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8485 ; DARWIN-32-PIC-NEXT: calll L103$pb
8486 ; DARWIN-32-PIC-NEXT: L103$pb:
8487 ; DARWIN-32-PIC-NEXT: popl %eax
8488 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L103$pb)+262144(%eax), %eax
8489 ; DARWIN-32-PIC-NEXT: retl
8501 ; DARWIN-64-PIC-LABEL: bam03:
8502 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8503 ; DARWIN-64-PIC-NEXT: leaq _dsrc+262144(%rip), %rax
8504 ; DARWIN-64-PIC-NEXT: retq
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
8546 ; DARWIN-32-PIC-LABEL: bam04:
8547 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8548 ; DARWIN-32-PIC-NEXT: calll L104$pb
8549 ; DARWIN-32-PIC-NEXT: L104$pb:
8550 ; DARWIN-32-PIC-NEXT: popl %eax
8551 ; DARWIN-32-PIC-NEXT: leal (_ddst-L104$pb)+262144(%eax), %eax
8552 ; DARWIN-32-PIC-NEXT: retl
8564 ; DARWIN-64-PIC-LABEL: bam04:
8565 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8566 ; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax
8567 ; DARWIN-64-PIC-NEXT: retq
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
8615 ; DARWIN-32-PIC-LABEL: bam05:
8616 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8617 ; DARWIN-32-PIC-NEXT: calll L105$pb
8618 ; DARWIN-32-PIC-NEXT: L105$pb:
8619 ; DARWIN-32-PIC-NEXT: popl %ecx
8620 ; DARWIN-32-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8621 ; DARWIN-32-PIC-NEXT: addl _dptr-L105$pb(%ecx), %eax
8622 ; DARWIN-32-PIC-NEXT: retl
8636 ; DARWIN-64-PIC-LABEL: bam05:
8637 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8638 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8639 ; DARWIN-64-PIC-NEXT: addq _dptr(%rip), %rax
8640 ; DARWIN-64-PIC-NEXT: retq
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
8684 ; DARWIN-32-PIC-LABEL: bam06:
8685 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8686 ; DARWIN-32-PIC-NEXT: calll L106$pb
8687 ; DARWIN-32-PIC-NEXT: L106$pb:
8688 ; DARWIN-32-PIC-NEXT: popl %eax
8689 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L106$pb)+262144(%eax), %eax
8690 ; DARWIN-32-PIC-NEXT: retl
8702 ; DARWIN-64-PIC-LABEL: bam06:
8703 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8704 ; DARWIN-64-PIC-NEXT: leaq _lsrc+262144(%rip), %rax
8705 ; DARWIN-64-PIC-NEXT: retq
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
8747 ; DARWIN-32-PIC-LABEL: bam07:
8748 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8749 ; DARWIN-32-PIC-NEXT: calll L107$pb
8750 ; DARWIN-32-PIC-NEXT: L107$pb:
8751 ; DARWIN-32-PIC-NEXT: popl %eax
8752 ; DARWIN-32-PIC-NEXT: leal (_ldst-L107$pb)+262144(%eax), %eax
8753 ; DARWIN-32-PIC-NEXT: retl
8765 ; DARWIN-64-PIC-LABEL: bam07:
8766 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8767 ; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax
8768 ; DARWIN-64-PIC-NEXT: retq
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
8816 ; DARWIN-32-PIC-LABEL: bam08:
8817 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8818 ; DARWIN-32-PIC-NEXT: calll L108$pb
8819 ; DARWIN-32-PIC-NEXT: L108$pb:
8820 ; DARWIN-32-PIC-NEXT: popl %ecx
8821 ; DARWIN-32-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8822 ; DARWIN-32-PIC-NEXT: addl _lptr-L108$pb(%ecx), %eax
8823 ; DARWIN-32-PIC-NEXT: retl
8837 ; DARWIN-64-PIC-LABEL: bam08:
8838 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8839 ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000
8840 ; DARWIN-64-PIC-NEXT: addq _lptr(%rip), %rax
8841 ; DARWIN-64-PIC-NEXT: retq
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
8893 ; DARWIN-32-PIC-LABEL: cat00:
8894 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8895 ; DARWIN-32-PIC-NEXT: calll L109$pb
8896 ; DARWIN-32-PIC-NEXT: L109$pb:
8897 ; DARWIN-32-PIC-NEXT: popl %eax
8898 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
8899 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L109$pb(%eax), %eax
8900 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
8901 ; DARWIN-32-PIC-NEXT: retl
8915 ; DARWIN-64-PIC-LABEL: cat00:
8916 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8917 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
8918 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
8919 ; DARWIN-64-PIC-NEXT: retq
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
8971 ; DARWIN-32-PIC-LABEL: cxt00:
8972 ; DARWIN-32-PIC: ## %bb.0: ## %entry
8973 ; DARWIN-32-PIC-NEXT: calll L110$pb
8974 ; DARWIN-32-PIC-NEXT: L110$pb:
8975 ; DARWIN-32-PIC-NEXT: popl %eax
8976 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
8977 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L110$pb(%eax), %eax
8978 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
8979 ; DARWIN-32-PIC-NEXT: retl
8993 ; DARWIN-64-PIC-LABEL: cxt00:
8994 ; DARWIN-64-PIC: ## %bb.0: ## %entry
8995 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
8996 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
8997 ; DARWIN-64-PIC-NEXT: retq
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
9049 ; DARWIN-32-PIC-LABEL: cat01:
9050 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9051 ; DARWIN-32-PIC-NEXT: calll L111$pb
9052 ; DARWIN-32-PIC-NEXT: L111$pb:
9053 ; DARWIN-32-PIC-NEXT: popl %eax
9054 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9055 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L111$pb(%eax), %eax
9056 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9057 ; DARWIN-32-PIC-NEXT: retl
9071 ; DARWIN-64-PIC-LABEL: cat01:
9072 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9073 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
9074 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9075 ; DARWIN-64-PIC-NEXT: retq
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
9127 ; DARWIN-32-PIC-LABEL: cxt01:
9128 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9129 ; DARWIN-32-PIC-NEXT: calll L112$pb
9130 ; DARWIN-32-PIC-NEXT: L112$pb:
9131 ; DARWIN-32-PIC-NEXT: popl %eax
9132 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9133 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L112$pb(%eax), %eax
9134 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9135 ; DARWIN-32-PIC-NEXT: retl
9149 ; DARWIN-64-PIC-LABEL: cxt01:
9150 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9151 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
9152 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9153 ; DARWIN-64-PIC-NEXT: retq
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
9211 ; DARWIN-32-PIC-LABEL: cat02:
9212 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9213 ; DARWIN-32-PIC-NEXT: calll L113$pb
9214 ; DARWIN-32-PIC-NEXT: L113$pb:
9215 ; DARWIN-32-PIC-NEXT: popl %eax
9216 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L113$pb(%eax), %eax
9217 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
9218 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9219 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9220 ; DARWIN-32-PIC-NEXT: retl
9236 ; DARWIN-64-PIC-LABEL: cat02:
9237 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9238 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
9239 ; DARWIN-64-PIC-NEXT: movq (%rax), %rax
9240 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9241 ; DARWIN-64-PIC-NEXT: retq
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
9291 ; DARWIN-32-PIC-LABEL: cat03:
9292 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9293 ; DARWIN-32-PIC-NEXT: calll L114$pb
9294 ; DARWIN-32-PIC-NEXT: L114$pb:
9295 ; DARWIN-32-PIC-NEXT: popl %eax
9296 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9297 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L114$pb)+64(%eax,%ecx,4), %eax
9298 ; DARWIN-32-PIC-NEXT: retl
9312 ; DARWIN-64-PIC-LABEL: cat03:
9313 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9314 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
9315 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9316 ; DARWIN-64-PIC-NEXT: retq
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
9365 ; DARWIN-32-PIC-LABEL: cat04:
9366 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9367 ; DARWIN-32-PIC-NEXT: calll L115$pb
9368 ; DARWIN-32-PIC-NEXT: L115$pb:
9369 ; DARWIN-32-PIC-NEXT: popl %eax
9370 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9371 ; DARWIN-32-PIC-NEXT: leal (_ddst-L115$pb)+64(%eax,%ecx,4), %eax
9372 ; DARWIN-32-PIC-NEXT: retl
9386 ; DARWIN-64-PIC-LABEL: cat04:
9387 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9388 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
9389 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9390 ; DARWIN-64-PIC-NEXT: retq
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
9444 ; DARWIN-32-PIC-LABEL: cat05:
9445 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9446 ; DARWIN-32-PIC-NEXT: calll L116$pb
9447 ; DARWIN-32-PIC-NEXT: L116$pb:
9448 ; DARWIN-32-PIC-NEXT: popl %eax
9449 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9450 ; DARWIN-32-PIC-NEXT: movl _dptr-L116$pb(%eax), %eax
9451 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9452 ; DARWIN-32-PIC-NEXT: retl
9466 ; DARWIN-64-PIC-LABEL: cat05:
9467 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9468 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax
9469 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9470 ; DARWIN-64-PIC-NEXT: retq
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
9520 ; DARWIN-32-PIC-LABEL: cat06:
9521 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9522 ; DARWIN-32-PIC-NEXT: calll L117$pb
9523 ; DARWIN-32-PIC-NEXT: L117$pb:
9524 ; DARWIN-32-PIC-NEXT: popl %eax
9525 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9526 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L117$pb)+64(%eax,%ecx,4), %eax
9527 ; DARWIN-32-PIC-NEXT: retl
9541 ; DARWIN-64-PIC-LABEL: cat06:
9542 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9543 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
9544 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9545 ; DARWIN-64-PIC-NEXT: retq
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
9594 ; DARWIN-32-PIC-LABEL: cat07:
9595 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9596 ; DARWIN-32-PIC-NEXT: calll L118$pb
9597 ; DARWIN-32-PIC-NEXT: L118$pb:
9598 ; DARWIN-32-PIC-NEXT: popl %eax
9599 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9600 ; DARWIN-32-PIC-NEXT: leal (_ldst-L118$pb)+64(%eax,%ecx,4), %eax
9601 ; DARWIN-32-PIC-NEXT: retl
9615 ; DARWIN-64-PIC-LABEL: cat07:
9616 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9617 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
9618 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9619 ; DARWIN-64-PIC-NEXT: retq
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
9673 ; DARWIN-32-PIC-LABEL: cat08:
9674 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9675 ; DARWIN-32-PIC-NEXT: calll L119$pb
9676 ; DARWIN-32-PIC-NEXT: L119$pb:
9677 ; DARWIN-32-PIC-NEXT: popl %eax
9678 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9679 ; DARWIN-32-PIC-NEXT: movl _lptr-L119$pb(%eax), %eax
9680 ; DARWIN-32-PIC-NEXT: leal 64(%eax,%ecx,4), %eax
9681 ; DARWIN-32-PIC-NEXT: retl
9695 ; DARWIN-64-PIC-LABEL: cat08:
9696 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9697 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax
9698 ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax
9699 ; DARWIN-64-PIC-NEXT: retq
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
9752 ; DARWIN-32-PIC-LABEL: cam00:
9753 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9754 ; DARWIN-32-PIC-NEXT: calll L120$pb
9755 ; DARWIN-32-PIC-NEXT: L120$pb:
9756 ; DARWIN-32-PIC-NEXT: popl %eax
9757 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9758 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L120$pb(%eax), %eax
9759 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9760 ; DARWIN-32-PIC-NEXT: retl
9774 ; DARWIN-64-PIC-LABEL: cam00:
9775 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9776 ; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax
9777 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9778 ; DARWIN-64-PIC-NEXT: retq
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
9830 ; DARWIN-32-PIC-LABEL: cxm00:
9831 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9832 ; DARWIN-32-PIC-NEXT: calll L121$pb
9833 ; DARWIN-32-PIC-NEXT: L121$pb:
9834 ; DARWIN-32-PIC-NEXT: popl %eax
9835 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9836 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L121$pb(%eax), %eax
9837 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9838 ; DARWIN-32-PIC-NEXT: retl
9852 ; DARWIN-64-PIC-LABEL: cxm00:
9853 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9854 ; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax
9855 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9856 ; DARWIN-64-PIC-NEXT: retq
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
9908 ; DARWIN-32-PIC-LABEL: cam01:
9909 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9910 ; DARWIN-32-PIC-NEXT: calll L122$pb
9911 ; DARWIN-32-PIC-NEXT: L122$pb:
9912 ; DARWIN-32-PIC-NEXT: popl %eax
9913 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9914 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L122$pb(%eax), %eax
9915 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9916 ; DARWIN-32-PIC-NEXT: retl
9930 ; DARWIN-64-PIC-LABEL: cam01:
9931 ; DARWIN-64-PIC: ## %bb.0: ## %entry
9932 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax
9933 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
9934 ; DARWIN-64-PIC-NEXT: retq
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
9986 ; DARWIN-32-PIC-LABEL: cxm01:
9987 ; DARWIN-32-PIC: ## %bb.0: ## %entry
9988 ; DARWIN-32-PIC-NEXT: calll L123$pb
9989 ; DARWIN-32-PIC-NEXT: L123$pb:
9990 ; DARWIN-32-PIC-NEXT: popl %eax
9991 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
9992 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L123$pb(%eax), %eax
9993 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
9994 ; DARWIN-32-PIC-NEXT: retl
10008 ; DARWIN-64-PIC-LABEL: cxm01:
10009 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10010 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax
10011 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10012 ; DARWIN-64-PIC-NEXT: retq
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
10070 ; DARWIN-32-PIC-LABEL: cam02:
10071 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10072 ; DARWIN-32-PIC-NEXT: calll L124$pb
10073 ; DARWIN-32-PIC-NEXT: L124$pb:
10074 ; DARWIN-32-PIC-NEXT: popl %eax
10075 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L124$pb(%eax), %eax
10076 ; DARWIN-32-PIC-NEXT: movl (%eax), %eax
10077 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10078 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
10079 ; DARWIN-32-PIC-NEXT: retl
10095 ; DARWIN-64-PIC-LABEL: cam02:
10096 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10097 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax
10098 ; DARWIN-64-PIC-NEXT: movq (%rax), %rax
10099 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10100 ; DARWIN-64-PIC-NEXT: retq
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
10150 ; DARWIN-32-PIC-LABEL: cam03:
10151 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10152 ; DARWIN-32-PIC-NEXT: calll L125$pb
10153 ; DARWIN-32-PIC-NEXT: L125$pb:
10154 ; DARWIN-32-PIC-NEXT: popl %eax
10155 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10156 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L125$pb)+262144(%eax,%ecx,4), %eax
10157 ; DARWIN-32-PIC-NEXT: retl
10171 ; DARWIN-64-PIC-LABEL: cam03:
10172 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10173 ; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax
10174 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10175 ; DARWIN-64-PIC-NEXT: retq
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
10224 ; DARWIN-32-PIC-LABEL: cam04:
10225 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10226 ; DARWIN-32-PIC-NEXT: calll L126$pb
10227 ; DARWIN-32-PIC-NEXT: L126$pb:
10228 ; DARWIN-32-PIC-NEXT: popl %eax
10229 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10230 ; DARWIN-32-PIC-NEXT: leal (_ddst-L126$pb)+262144(%eax,%ecx,4), %eax
10231 ; DARWIN-32-PIC-NEXT: retl
10245 ; DARWIN-64-PIC-LABEL: cam04:
10246 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10247 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax
10248 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10249 ; DARWIN-64-PIC-NEXT: retq
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
10303 ; DARWIN-32-PIC-LABEL: cam05:
10304 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10305 ; DARWIN-32-PIC-NEXT: calll L127$pb
10306 ; DARWIN-32-PIC-NEXT: L127$pb:
10307 ; DARWIN-32-PIC-NEXT: popl %eax
10308 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10309 ; DARWIN-32-PIC-NEXT: movl _dptr-L127$pb(%eax), %eax
10310 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
10311 ; DARWIN-32-PIC-NEXT: retl
10325 ; DARWIN-64-PIC-LABEL: cam05:
10326 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10327 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax
10328 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10329 ; DARWIN-64-PIC-NEXT: retq
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
10379 ; DARWIN-32-PIC-LABEL: cam06:
10380 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10381 ; DARWIN-32-PIC-NEXT: calll L128$pb
10382 ; DARWIN-32-PIC-NEXT: L128$pb:
10383 ; DARWIN-32-PIC-NEXT: popl %eax
10384 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10385 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L128$pb)+262144(%eax,%ecx,4), %eax
10386 ; DARWIN-32-PIC-NEXT: retl
10400 ; DARWIN-64-PIC-LABEL: cam06:
10401 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10402 ; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax
10403 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10404 ; DARWIN-64-PIC-NEXT: retq
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
10453 ; DARWIN-32-PIC-LABEL: cam07:
10454 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10455 ; DARWIN-32-PIC-NEXT: calll L129$pb
10456 ; DARWIN-32-PIC-NEXT: L129$pb:
10457 ; DARWIN-32-PIC-NEXT: popl %eax
10458 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10459 ; DARWIN-32-PIC-NEXT: leal (_ldst-L129$pb)+262144(%eax,%ecx,4), %eax
10460 ; DARWIN-32-PIC-NEXT: retl
10474 ; DARWIN-64-PIC-LABEL: cam07:
10475 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10476 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax
10477 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10478 ; DARWIN-64-PIC-NEXT: retq
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
10532 ; DARWIN-32-PIC-LABEL: cam08:
10533 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10534 ; DARWIN-32-PIC-NEXT: calll L130$pb
10535 ; DARWIN-32-PIC-NEXT: L130$pb:
10536 ; DARWIN-32-PIC-NEXT: popl %eax
10537 ; DARWIN-32-PIC-NEXT: movl {{[0-9]+}}(%esp), %ecx
10538 ; DARWIN-32-PIC-NEXT: movl _lptr-L130$pb(%eax), %eax
10539 ; DARWIN-32-PIC-NEXT: leal 262144(%eax,%ecx,4), %eax
10540 ; DARWIN-32-PIC-NEXT: retl
10554 ; DARWIN-64-PIC-LABEL: cam08:
10555 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10556 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax
10557 ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax
10558 ; DARWIN-64-PIC-NEXT: retq
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
10653 ; DARWIN-32-PIC-LABEL: lcallee:
10654 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10655 ; DARWIN-32-PIC-NEXT: subl $12, %esp
10656 ; DARWIN-32-PIC-NEXT: calll _x
10657 ; DARWIN-32-PIC-NEXT: calll _x
10658 ; DARWIN-32-PIC-NEXT: calll _x
10659 ; DARWIN-32-PIC-NEXT: calll _x
10660 ; DARWIN-32-PIC-NEXT: calll _x
10661 ; DARWIN-32-PIC-NEXT: calll _x
10662 ; DARWIN-32-PIC-NEXT: calll _x
10663 ; DARWIN-32-PIC-NEXT: addl $12, %esp
10664 ; DARWIN-32-PIC-NEXT: retl
10692 ; DARWIN-64-PIC-LABEL: lcallee:
10693 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10694 ; DARWIN-64-PIC-NEXT: pushq %rax
10695 ; DARWIN-64-PIC-NEXT: callq _x
10696 ; DARWIN-64-PIC-NEXT: callq _x
10697 ; DARWIN-64-PIC-NEXT: callq _x
10698 ; DARWIN-64-PIC-NEXT: callq _x
10699 ; DARWIN-64-PIC-NEXT: callq _x
10700 ; DARWIN-64-PIC-NEXT: callq _x
10701 ; DARWIN-64-PIC-NEXT: callq _x
10702 ; DARWIN-64-PIC-NEXT: popq %rax
10703 ; DARWIN-64-PIC-NEXT: retq
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
10804 ; DARWIN-32-PIC-LABEL: dcallee:
10805 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10806 ; DARWIN-32-PIC-NEXT: subl $12, %esp
10807 ; DARWIN-32-PIC-NEXT: calll _y
10808 ; DARWIN-32-PIC-NEXT: calll _y
10809 ; DARWIN-32-PIC-NEXT: calll _y
10810 ; DARWIN-32-PIC-NEXT: calll _y
10811 ; DARWIN-32-PIC-NEXT: calll _y
10812 ; DARWIN-32-PIC-NEXT: calll _y
10813 ; DARWIN-32-PIC-NEXT: calll _y
10814 ; DARWIN-32-PIC-NEXT: addl $12, %esp
10815 ; DARWIN-32-PIC-NEXT: retl
10843 ; DARWIN-64-PIC-LABEL: dcallee:
10844 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10845 ; DARWIN-64-PIC-NEXT: pushq %rax
10846 ; DARWIN-64-PIC-NEXT: callq _y
10847 ; DARWIN-64-PIC-NEXT: callq _y
10848 ; DARWIN-64-PIC-NEXT: callq _y
10849 ; DARWIN-64-PIC-NEXT: callq _y
10850 ; DARWIN-64-PIC-NEXT: callq _y
10851 ; DARWIN-64-PIC-NEXT: callq _y
10852 ; DARWIN-64-PIC-NEXT: callq _y
10853 ; DARWIN-64-PIC-NEXT: popq %rax
10854 ; DARWIN-64-PIC-NEXT: retq
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
10905 ; DARWIN-32-PIC-LABEL: address:
10906 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10907 ; DARWIN-32-PIC-NEXT: calll L133$pb
10908 ; DARWIN-32-PIC-NEXT: L133$pb:
10909 ; DARWIN-32-PIC-NEXT: popl %eax
10910 ; DARWIN-32-PIC-NEXT: movl L_callee$non_lazy_ptr-L133$pb(%eax), %eax
10911 ; DARWIN-32-PIC-NEXT: retl
10923 ; DARWIN-64-PIC-LABEL: address:
10924 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10925 ; DARWIN-64-PIC-NEXT: movq _callee@GOTPCREL(%rip), %rax
10926 ; DARWIN-64-PIC-NEXT: retq
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
10970 ; DARWIN-32-PIC-LABEL: laddress:
10971 ; DARWIN-32-PIC: ## %bb.0: ## %entry
10972 ; DARWIN-32-PIC-NEXT: calll L134$pb
10973 ; DARWIN-32-PIC-NEXT: L134$pb:
10974 ; DARWIN-32-PIC-NEXT: popl %eax
10975 ; DARWIN-32-PIC-NEXT: leal _lcallee-L134$pb(%eax), %eax
10976 ; DARWIN-32-PIC-NEXT: retl
10988 ; DARWIN-64-PIC-LABEL: laddress:
10989 ; DARWIN-64-PIC: ## %bb.0: ## %entry
10990 ; DARWIN-64-PIC-NEXT: leaq _lcallee(%rip), %rax
10991 ; DARWIN-64-PIC-NEXT: retq
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
11033 ; DARWIN-32-PIC-LABEL: daddress:
11034 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11035 ; DARWIN-32-PIC-NEXT: calll L135$pb
11036 ; DARWIN-32-PIC-NEXT: L135$pb:
11037 ; DARWIN-32-PIC-NEXT: popl %eax
11038 ; DARWIN-32-PIC-NEXT: leal _dcallee-L135$pb(%eax), %eax
11039 ; DARWIN-32-PIC-NEXT: retl
11051 ; DARWIN-64-PIC-LABEL: daddress:
11052 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11053 ; DARWIN-64-PIC-NEXT: leaq _dcallee(%rip), %rax
11054 ; DARWIN-64-PIC-NEXT: retq
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
11116 ; DARWIN-32-PIC-LABEL: caller:
11117 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11118 ; DARWIN-32-PIC-NEXT: subl $12, %esp
11119 ; DARWIN-32-PIC-NEXT: calll _callee
11120 ; DARWIN-32-PIC-NEXT: calll _callee
11121 ; DARWIN-32-PIC-NEXT: addl $12, %esp
11122 ; DARWIN-32-PIC-NEXT: retl
11140 ; DARWIN-64-PIC-LABEL: caller:
11141 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11142 ; DARWIN-64-PIC-NEXT: pushq %rax
11143 ; DARWIN-64-PIC-NEXT: callq _callee
11144 ; DARWIN-64-PIC-NEXT: callq _callee
11145 ; DARWIN-64-PIC-NEXT: popq %rax
11146 ; DARWIN-64-PIC-NEXT: retq
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
11210 ; DARWIN-32-PIC-LABEL: dcaller:
11211 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11212 ; DARWIN-32-PIC-NEXT: subl $12, %esp
11213 ; DARWIN-32-PIC-NEXT: calll _dcallee
11214 ; DARWIN-32-PIC-NEXT: calll _dcallee
11215 ; DARWIN-32-PIC-NEXT: addl $12, %esp
11216 ; DARWIN-32-PIC-NEXT: retl
11234 ; DARWIN-64-PIC-LABEL: dcaller:
11235 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11236 ; DARWIN-64-PIC-NEXT: pushq %rax
11237 ; DARWIN-64-PIC-NEXT: callq _dcallee
11238 ; DARWIN-64-PIC-NEXT: callq _dcallee
11239 ; DARWIN-64-PIC-NEXT: popq %rax
11240 ; DARWIN-64-PIC-NEXT: retq
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
11304 ; DARWIN-32-PIC-LABEL: lcaller:
11305 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11306 ; DARWIN-32-PIC-NEXT: subl $12, %esp
11307 ; DARWIN-32-PIC-NEXT: calll _lcallee
11308 ; DARWIN-32-PIC-NEXT: calll _lcallee
11309 ; DARWIN-32-PIC-NEXT: addl $12, %esp
11310 ; DARWIN-32-PIC-NEXT: retl
11328 ; DARWIN-64-PIC-LABEL: lcaller:
11329 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11330 ; DARWIN-64-PIC-NEXT: pushq %rax
11331 ; DARWIN-64-PIC-NEXT: callq _lcallee
11332 ; DARWIN-64-PIC-NEXT: callq _lcallee
11333 ; DARWIN-64-PIC-NEXT: popq %rax
11334 ; DARWIN-64-PIC-NEXT: retq
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
11392 ; DARWIN-32-PIC-LABEL: tailcaller:
11393 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11394 ; DARWIN-32-PIC-NEXT: subl $12, %esp
11395 ; DARWIN-32-PIC-NEXT: calll _callee
11396 ; DARWIN-32-PIC-NEXT: addl $12, %esp
11397 ; DARWIN-32-PIC-NEXT: retl
11413 ; DARWIN-64-PIC-LABEL: tailcaller:
11414 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11415 ; DARWIN-64-PIC-NEXT: pushq %rax
11416 ; DARWIN-64-PIC-NEXT: callq _callee
11417 ; DARWIN-64-PIC-NEXT: popq %rax
11418 ; DARWIN-64-PIC-NEXT: retq
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
11475 ; DARWIN-32-PIC-LABEL: dtailcaller:
11476 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11477 ; DARWIN-32-PIC-NEXT: subl $12, %esp
11478 ; DARWIN-32-PIC-NEXT: calll _dcallee
11479 ; DARWIN-32-PIC-NEXT: addl $12, %esp
11480 ; DARWIN-32-PIC-NEXT: retl
11496 ; DARWIN-64-PIC-LABEL: dtailcaller:
11497 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11498 ; DARWIN-64-PIC-NEXT: pushq %rax
11499 ; DARWIN-64-PIC-NEXT: callq _dcallee
11500 ; DARWIN-64-PIC-NEXT: popq %rax
11501 ; DARWIN-64-PIC-NEXT: retq
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
11558 ; DARWIN-32-PIC-LABEL: ltailcaller:
11559 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11560 ; DARWIN-32-PIC-NEXT: subl $12, %esp
11561 ; DARWIN-32-PIC-NEXT: calll _lcallee
11562 ; DARWIN-32-PIC-NEXT: addl $12, %esp
11563 ; DARWIN-32-PIC-NEXT: retl
11579 ; DARWIN-64-PIC-LABEL: ltailcaller:
11580 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11581 ; DARWIN-64-PIC-NEXT: pushq %rax
11582 ; DARWIN-64-PIC-NEXT: callq _lcallee
11583 ; DARWIN-64-PIC-NEXT: popq %rax
11584 ; DARWIN-64-PIC-NEXT: retq
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
11655 ; DARWIN-32-PIC-LABEL: icaller:
11656 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11657 ; DARWIN-32-PIC-NEXT: pushl %esi
11658 ; DARWIN-32-PIC-NEXT: subl $8, %esp
11659 ; DARWIN-32-PIC-NEXT: calll L142$pb
11660 ; DARWIN-32-PIC-NEXT: L142$pb:
11661 ; DARWIN-32-PIC-NEXT: popl %eax
11662 ; DARWIN-32-PIC-NEXT: movl L_ifunc$non_lazy_ptr-L142$pb(%eax), %esi
11663 ; DARWIN-32-PIC-NEXT: calll *(%esi)
11664 ; DARWIN-32-PIC-NEXT: calll *(%esi)
11665 ; DARWIN-32-PIC-NEXT: addl $8, %esp
11666 ; DARWIN-32-PIC-NEXT: popl %esi
11667 ; DARWIN-32-PIC-NEXT: retl
11687 ; DARWIN-64-PIC-LABEL: icaller:
11688 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11689 ; DARWIN-64-PIC-NEXT: pushq %rbx
11690 ; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx
11691 ; DARWIN-64-PIC-NEXT: callq *(%rbx)
11692 ; DARWIN-64-PIC-NEXT: callq *(%rbx)
11693 ; DARWIN-64-PIC-NEXT: popq %rbx
11694 ; DARWIN-64-PIC-NEXT: retq
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
11760 ; DARWIN-32-PIC-LABEL: dicaller:
11761 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11762 ; DARWIN-32-PIC-NEXT: pushl %esi
11763 ; DARWIN-32-PIC-NEXT: subl $8, %esp
11764 ; DARWIN-32-PIC-NEXT: calll L143$pb
11765 ; DARWIN-32-PIC-NEXT: L143$pb:
11766 ; DARWIN-32-PIC-NEXT: popl %esi
11767 ; DARWIN-32-PIC-NEXT: calll *_difunc-L143$pb(%esi)
11768 ; DARWIN-32-PIC-NEXT: calll *_difunc-L143$pb(%esi)
11769 ; DARWIN-32-PIC-NEXT: addl $8, %esp
11770 ; DARWIN-32-PIC-NEXT: popl %esi
11771 ; DARWIN-32-PIC-NEXT: retl
11789 ; DARWIN-64-PIC-LABEL: dicaller:
11790 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11791 ; DARWIN-64-PIC-NEXT: pushq %rax
11792 ; DARWIN-64-PIC-NEXT: callq *_difunc(%rip)
11793 ; DARWIN-64-PIC-NEXT: callq *_difunc(%rip)
11794 ; DARWIN-64-PIC-NEXT: popq %rax
11795 ; DARWIN-64-PIC-NEXT: retq
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
11861 ; DARWIN-32-PIC-LABEL: licaller:
11862 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11863 ; DARWIN-32-PIC-NEXT: pushl %esi
11864 ; DARWIN-32-PIC-NEXT: subl $8, %esp
11865 ; DARWIN-32-PIC-NEXT: calll L144$pb
11866 ; DARWIN-32-PIC-NEXT: L144$pb:
11867 ; DARWIN-32-PIC-NEXT: popl %esi
11868 ; DARWIN-32-PIC-NEXT: calll *_lifunc-L144$pb(%esi)
11869 ; DARWIN-32-PIC-NEXT: calll *_lifunc-L144$pb(%esi)
11870 ; DARWIN-32-PIC-NEXT: addl $8, %esp
11871 ; DARWIN-32-PIC-NEXT: popl %esi
11872 ; DARWIN-32-PIC-NEXT: retl
11890 ; DARWIN-64-PIC-LABEL: licaller:
11891 ; DARWIN-64-PIC: ## %bb.0: ## %entry
11892 ; DARWIN-64-PIC-NEXT: pushq %rax
11893 ; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip)
11894 ; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip)
11895 ; DARWIN-64-PIC-NEXT: popq %rax
11896 ; DARWIN-64-PIC-NEXT: retq
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
11970 ; DARWIN-32-PIC-LABEL: itailcaller:
11971 ; DARWIN-32-PIC: ## %bb.0: ## %entry
11972 ; DARWIN-32-PIC-NEXT: pushl %esi
11973 ; DARWIN-32-PIC-NEXT: subl $8, %esp
11974 ; DARWIN-32-PIC-NEXT: calll L145$pb
11975 ; DARWIN-32-PIC-NEXT: L145$pb:
11976 ; DARWIN-32-PIC-NEXT: popl %eax
11977 ; DARWIN-32-PIC-NEXT: movl L_ifunc$non_lazy_ptr-L145$pb(%eax), %esi
11978 ; DARWIN-32-PIC-NEXT: calll *(%esi)
11979 ; DARWIN-32-PIC-NEXT: calll *(%esi)
11980 ; DARWIN-32-PIC-NEXT: addl $8, %esp
11981 ; DARWIN-32-PIC-NEXT: popl %esi
11982 ; DARWIN-32-PIC-NEXT: retl
12002 ; DARWIN-64-PIC-LABEL: itailcaller:
12003 ; DARWIN-64-PIC: ## %bb.0: ## %entry
12004 ; DARWIN-64-PIC-NEXT: pushq %rbx
12005 ; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx
12006 ; DARWIN-64-PIC-NEXT: callq *(%rbx)
12007 ; DARWIN-64-PIC-NEXT: callq *(%rbx)
12008 ; DARWIN-64-PIC-NEXT: popq %rbx
12009 ; DARWIN-64-PIC-NEXT: retq
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
12069 ; DARWIN-32-PIC-LABEL: ditailcaller:
12070 ; DARWIN-32-PIC: ## %bb.0: ## %entry
12071 ; DARWIN-32-PIC-NEXT: subl $12, %esp
12072 ; DARWIN-32-PIC-NEXT: calll L146$pb
12073 ; DARWIN-32-PIC-NEXT: L146$pb:
12074 ; DARWIN-32-PIC-NEXT: popl %eax
12075 ; DARWIN-32-PIC-NEXT: calll *_difunc-L146$pb(%eax)
12076 ; DARWIN-32-PIC-NEXT: addl $12, %esp
12077 ; DARWIN-32-PIC-NEXT: retl
12093 ; DARWIN-64-PIC-LABEL: ditailcaller:
12094 ; DARWIN-64-PIC: ## %bb.0: ## %entry
12095 ; DARWIN-64-PIC-NEXT: pushq %rax
12096 ; DARWIN-64-PIC-NEXT: callq *_difunc(%rip)
12097 ; DARWIN-64-PIC-NEXT: popq %rax
12098 ; DARWIN-64-PIC-NEXT: retq
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
12156 ; DARWIN-32-PIC-LABEL: litailcaller:
12157 ; DARWIN-32-PIC: ## %bb.0: ## %entry
12158 ; DARWIN-32-PIC-NEXT: subl $12, %esp
12159 ; DARWIN-32-PIC-NEXT: calll L147$pb
12160 ; DARWIN-32-PIC-NEXT: L147$pb:
12161 ; DARWIN-32-PIC-NEXT: popl %eax
12162 ; DARWIN-32-PIC-NEXT: calll *_lifunc-L147$pb(%eax)
12163 ; DARWIN-32-PIC-NEXT: addl $12, %esp
12164 ; DARWIN-32-PIC-NEXT: retl
12180 ; DARWIN-64-PIC-LABEL: litailcaller:
12181 ; DARWIN-64-PIC: ## %bb.0: ## %entry
12182 ; DARWIN-64-PIC-NEXT: pushq %rax
12183 ; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip)
12184 ; DARWIN-64-PIC-NEXT: popq %rax
12185 ; DARWIN-64-PIC-NEXT: retq