Lines Matching refs:PIC

2 …ion-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-PIC
5 …cation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-PIC
9 …ation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-32-PIC
13 …ation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-64-PIC
50 ; LINUX-32-PIC-LABEL: foo00:
51 ; LINUX-32-PIC: movl src, [[EAX:%e.x]]
52 ; LINUX-32-PIC-NEXT: movl [[EAX]], dst
53 ; LINUX-32-PIC-NEXT: ret
55 ; LINUX-64-PIC-LABEL: foo00:
56 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r..]]
57 ; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e..]]
58 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r..]]
59 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
60 ; LINUX-64-PIC-NEXT: ret
74 ; DARWIN-32-PIC: _foo00:
75 ; DARWIN-32-PIC: calll L0$pb
76 ; DARWIN-32-PIC-NEXT: L0$pb:
77 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e..]]
78 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L0$pb([[EAX]]), [[ECX:%e..]]
79 ; DARWIN-32-PIC-NEXT: movl ([[ECX]]), [[ECX:%e..]]
80 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L0$pb([[EAX]]), [[EAX:%e..]]
81 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
82 ; DARWIN-32-PIC-NEXT: ret
98 ; DARWIN-64-PIC: _foo00:
99 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r..]]
100 ; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e..]]
101 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r..]]
102 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
103 ; DARWIN-64-PIC-NEXT: ret
122 ; LINUX-32-PIC-LABEL: fxo00:
123 ; LINUX-32-PIC: movl xsrc, [[EAX:%e.x]]
124 ; LINUX-32-PIC-NEXT: movl [[EAX]], xdst
125 ; LINUX-32-PIC-NEXT: ret
127 ; LINUX-64-PIC-LABEL: fxo00:
128 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
129 ; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
130 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]]
131 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
132 ; LINUX-64-PIC-NEXT: ret
146 ; DARWIN-32-PIC: _fxo00:
147 ; DARWIN-32-PIC: calll L1$pb
148 ; DARWIN-32-PIC-NEXT: L1$pb:
149 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
150 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L1$pb([[EAX]]), [[ECX:%e.x]]
151 ; DARWIN-32-PIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]]
152 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L1$pb([[EAX]]), [[EAX:%e.x]]
153 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
154 ; DARWIN-32-PIC-NEXT: ret
170 ; DARWIN-64-PIC: _fxo00:
171 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
172 ; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
173 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]]
174 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
175 ; DARWIN-64-PIC-NEXT: ret
190 ; LINUX-32-PIC-LABEL: foo01:
191 ; LINUX-32-PIC: movl $dst, ptr
192 ; LINUX-32-PIC-NEXT: ret
194 ; LINUX-64-PIC-LABEL: foo01:
195 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]]
196 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
197 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
198 ; LINUX-64-PIC-NEXT: ret
210 ; DARWIN-32-PIC: _foo01:
211 ; DARWIN-32-PIC: calll L2$pb
212 ; DARWIN-32-PIC-NEXT: L2$pb:
213 ; DARWIN-32-PIC-NEXT: popl
214 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L2$pb(
215 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L2$pb(
216 ; DARWIN-32-PIC-NEXT: movl
217 ; DARWIN-32-PIC-NEXT: ret
231 ; DARWIN-64-PIC: _foo01:
232 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
233 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
234 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
235 ; DARWIN-64-PIC-NEXT: ret
250 ; LINUX-32-PIC-LABEL: fxo01:
251 ; LINUX-32-PIC: movl $xdst, ptr
252 ; LINUX-32-PIC-NEXT: ret
254 ; LINUX-64-PIC-LABEL: fxo01:
255 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]]
256 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
257 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
258 ; LINUX-64-PIC-NEXT: ret
270 ; DARWIN-32-PIC: _fxo01:
271 ; DARWIN-32-PIC: calll L3$pb
272 ; DARWIN-32-PIC-NEXT: L3$pb:
273 ; DARWIN-32-PIC-NEXT: popl [[R0:%e..]]
274 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L3$pb([[R0]]), [[R1:%e..]]
275 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L3$pb([[R0]]), [[R2:%e..]]
276 ; DARWIN-32-PIC-NEXT: movl [[R1:%e..]], ([[R2]])
277 ; DARWIN-32-PIC-NEXT: ret
291 ; DARWIN-64-PIC: _fxo01:
292 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]]
293 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
294 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
295 ; DARWIN-64-PIC-NEXT: ret
316 ; LINUX-32-PIC-LABEL: foo02:
317 ; LINUX-32-PIC: movl src, [[EAX:%e.x]]
318 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
319 ; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]])
320 ; LINUX-32-PIC-NEXT: ret
322 ; LINUX-64-PIC-LABEL: foo02:
323 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
324 ; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
325 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
326 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
327 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
328 ; LINUX-64-PIC-NEXT: ret
344 ; DARWIN-32-PIC: _foo02:
345 ; DARWIN-32-PIC: calll L4$pb
346 ; DARWIN-32-PIC-NEXT: L4$pb:
347 ; DARWIN-32-PIC-NEXT: popl [[R0:%e..]]
348 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L4$pb([[R0]]), [[R1:%e..]]
349 ; DARWIN-32-PIC-NEXT: movl ([[R1]]), [[R2:%e..]]
350 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L4$pb([[R0]]), [[R3:%e..]]
351 ; DARWIN-32-PIC-NEXT: movl ([[R3]]), [[R4:%e..]]
352 ; DARWIN-32-PIC-NEXT: movl [[R2]], ([[R4]])
353 ; DARWIN-32-PIC-NEXT: ret
371 ; DARWIN-64-PIC: _foo02:
372 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
373 ; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
374 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
375 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
376 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
377 ; DARWIN-64-PIC-NEXT: ret
398 ; LINUX-32-PIC-LABEL: fxo02:
399 ; LINUX-32-PIC: movl xsrc, [[EAX:%e.x]]
400 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
401 ; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]])
402 ; LINUX-32-PIC-NEXT: ret
404 ; LINUX-64-PIC-LABEL: fxo02:
405 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
406 ; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
407 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
408 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
409 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
410 ; LINUX-64-PIC-NEXT: ret
426 ; DARWIN-32-PIC: _fxo02:
427 ; DARWIN-32-PIC: calll L5$pb
428 ; DARWIN-32-PIC-NEXT: L5$pb:
429 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
430 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L5$pb([[EAX]]), [[ECX:%e.x]]
431 ; DARWIN-32-PIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]]
432 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L5$pb([[EAX]]), [[EAX:%e.x]]
433 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
434 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
435 ; DARWIN-32-PIC-NEXT: ret
453 ; DARWIN-64-PIC: _fxo02:
454 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
455 ; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
456 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
457 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
458 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
459 ; DARWIN-64-PIC-NEXT: ret
477 ; LINUX-32-PIC-LABEL: foo03:
478 ; LINUX-32-PIC: movl dsrc, [[EAX:%e.x]]
479 ; LINUX-32-PIC-NEXT: movl [[EAX]], ddst
480 ; LINUX-32-PIC-NEXT: ret
482 ; LINUX-64-PIC-LABEL: foo03:
483 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
484 ; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
485 ; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]]
486 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
487 ; LINUX-64-PIC-NEXT: ret
499 ; DARWIN-32-PIC: _foo03:
500 ; DARWIN-32-PIC: calll L6$pb
501 ; DARWIN-32-PIC-NEXT: L6$pb:
502 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
503 ; DARWIN-32-PIC-NEXT: movl _dsrc-L6$pb([[EAX]]), [[ECX:%e.x]]
504 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _ddst-L6$pb([[EAX]])
505 ; DARWIN-32-PIC-NEXT: ret
517 ; DARWIN-64-PIC: _foo03:
518 ; DARWIN-64-PIC: movl _dsrc(%rip), [[EAX:%e.x]]
519 ; DARWIN-64-PIC-NEXT: movl [[EAX]], _ddst(%rip)
520 ; DARWIN-64-PIC-NEXT: ret
535 ; LINUX-32-PIC-LABEL: foo04:
536 ; LINUX-32-PIC: movl $ddst, dptr
537 ; LINUX-32-PIC-NEXT: ret
539 ; LINUX-64-PIC-LABEL: foo04:
540 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
541 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
542 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
543 ; LINUX-64-PIC-NEXT: ret
553 ; DARWIN-32-PIC: _foo04:
554 ; DARWIN-32-PIC: calll L7$pb
555 ; DARWIN-32-PIC-NEXT: L7$pb:
556 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
557 ; DARWIN-32-PIC-NEXT: leal _ddst-L7$pb([[EAX]]), [[ECX:%e.x]]
558 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L7$pb([[EAX]])
559 ; DARWIN-32-PIC-NEXT: ret
571 ; DARWIN-64-PIC: _foo04:
572 ; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]]
573 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip)
574 ; DARWIN-64-PIC-NEXT: ret
595 ; LINUX-32-PIC-LABEL: foo05:
596 ; LINUX-32-PIC: movl dsrc, [[EAX:%e.x]]
597 ; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]]
598 ; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]])
599 ; LINUX-32-PIC-NEXT: ret
601 ; LINUX-64-PIC-LABEL: foo05:
602 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
603 ; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]]
604 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
605 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
606 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
607 ; LINUX-64-PIC-NEXT: ret
621 ; DARWIN-32-PIC: _foo05:
622 ; DARWIN-32-PIC: calll L8$pb
623 ; DARWIN-32-PIC-NEXT: L8$pb:
624 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
625 ; DARWIN-32-PIC-NEXT: movl _dsrc-L8$pb([[EAX]]), [[ECX:%e.x]]
626 ; DARWIN-32-PIC-NEXT: movl _dptr-L8$pb([[EAX]]), [[EAX:%e.x]]
627 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
628 ; DARWIN-32-PIC-NEXT: ret
642 ; DARWIN-64-PIC: _foo05:
643 ; DARWIN-64-PIC: movl _dsrc(%rip), [[EAX:%e.x]]
644 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]]
645 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
646 ; DARWIN-64-PIC-NEXT: ret
664 ; LINUX-32-PIC-LABEL: foo06:
665 ; LINUX-32-PIC: movl lsrc, [[EAX:%e.x]]
666 ; LINUX-32-PIC-NEXT: movl [[EAX]], ldst
667 ; LINUX-32-PIC-NEXT: ret
669 ; LINUX-64-PIC-LABEL: foo06:
670 ; LINUX-64-PIC: movl lsrc(%rip), [[EAX:%e.x]]
671 ; LINUX-64-PIC-NEXT: movl [[EAX]], ldst(%rip)
672 ; LINUX-64-PIC-NEXT: ret
684 ; DARWIN-32-PIC: _foo06:
685 ; DARWIN-32-PIC: calll L9$pb
686 ; DARWIN-32-PIC-NEXT: L9$pb:
687 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
688 ; DARWIN-32-PIC-NEXT: movl _lsrc-L9$pb([[EAX]]), [[ECX:%e.x]]
689 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _ldst-L9$pb([[EAX]])
690 ; DARWIN-32-PIC-NEXT: ret
702 ; DARWIN-64-PIC: _foo06:
703 ; DARWIN-64-PIC: movl _lsrc(%rip), [[EAX:%e.x]]
704 ; DARWIN-64-PIC-NEXT: movl [[EAX]], _ldst(%rip)
705 ; DARWIN-64-PIC-NEXT: ret
720 ; LINUX-32-PIC-LABEL: foo07:
721 ; LINUX-32-PIC: movl $ldst, lptr
722 ; LINUX-32-PIC-NEXT: ret
724 ; LINUX-64-PIC-LABEL: foo07:
725 ; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]]
726 ; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip)
727 ; LINUX-64-PIC-NEXT: ret
737 ; DARWIN-32-PIC: _foo07:
738 ; DARWIN-32-PIC: calll L10$pb
739 ; DARWIN-32-PIC-NEXT: L10$pb:
740 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
741 ; DARWIN-32-PIC-NEXT: leal _ldst-L10$pb([[EAX]]), [[ECX:%e.x]]
742 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L10$pb([[EAX]])
743 ; DARWIN-32-PIC-NEXT: ret
755 ; DARWIN-64-PIC: _foo07:
756 ; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]]
757 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip)
758 ; DARWIN-64-PIC-NEXT: ret
779 ; LINUX-32-PIC-LABEL: foo08:
780 ; LINUX-32-PIC: movl lsrc, [[EAX:%e.x]]
781 ; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]]
782 ; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]])
783 ; LINUX-32-PIC-NEXT: ret
785 ; LINUX-64-PIC-LABEL: foo08:
786 ; LINUX-64-PIC: movl lsrc(%rip), [[EAX:%e.x]]
787 ; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]]
788 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
789 ; LINUX-64-PIC-NEXT: ret
803 ; DARWIN-32-PIC: _foo08:
804 ; DARWIN-32-PIC: calll L11$pb
805 ; DARWIN-32-PIC-NEXT: L11$pb:
806 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
807 ; DARWIN-32-PIC-NEXT: movl _lsrc-L11$pb([[EAX]]), [[ECX:%e.x]]
808 ; DARWIN-32-PIC-NEXT: movl _lptr-L11$pb([[EAX]]), [[EAX:%e.x]]
809 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
810 ; DARWIN-32-PIC-NEXT: ret
824 ; DARWIN-64-PIC: _foo08:
825 ; DARWIN-64-PIC: movl _lsrc(%rip), [[EAX:%e.x]]
826 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]]
827 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]])
828 ; DARWIN-64-PIC-NEXT: ret
846 ; LINUX-32-PIC-LABEL: qux00:
847 ; LINUX-32-PIC: movl src+64, [[EAX:%e.x]]
848 ; LINUX-32-PIC-NEXT: movl [[EAX]], dst+64
849 ; LINUX-32-PIC-NEXT: ret
851 ; LINUX-64-PIC-LABEL: qux00:
852 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
853 ; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
854 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]]
855 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
856 ; LINUX-64-PIC-NEXT: ret
870 ; DARWIN-32-PIC: _qux00:
871 ; DARWIN-32-PIC: calll L12$pb
872 ; DARWIN-32-PIC-NEXT: L12$pb:
873 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
874 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L12$pb([[EAX]]), [[ECX:%e.x]]
875 ; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]]
876 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L12$pb([[EAX]]), [[EAX:%e.x]]
877 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]])
878 ; DARWIN-32-PIC-NEXT: ret
894 ; DARWIN-64-PIC: _qux00:
895 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
896 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
897 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]]
898 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
899 ; DARWIN-64-PIC-NEXT: ret
917 ; LINUX-32-PIC-LABEL: qxx00:
918 ; LINUX-32-PIC: movl xsrc+64, [[EAX:%e.x]]
919 ; LINUX-32-PIC-NEXT: movl [[EAX]], xdst+64
920 ; LINUX-32-PIC-NEXT: ret
922 ; LINUX-64-PIC-LABEL: qxx00:
923 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
924 ; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
925 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]]
926 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
927 ; LINUX-64-PIC-NEXT: ret
941 ; DARWIN-32-PIC: _qxx00:
942 ; DARWIN-32-PIC: calll L13$pb
943 ; DARWIN-32-PIC-NEXT: L13$pb:
944 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
945 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L13$pb([[EAX]]), [[ECX:%e.x]]
946 ; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]]
947 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L13$pb([[EAX]]), [[EAX:%e.x]]
948 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]])
949 ; DARWIN-32-PIC-NEXT: ret
965 ; DARWIN-64-PIC: _qxx00:
966 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
967 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
968 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]]
969 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
970 ; DARWIN-64-PIC-NEXT: ret
985 ; LINUX-32-PIC-LABEL: qux01:
986 ; LINUX-32-PIC: movl $dst+64, ptr
987 ; LINUX-32-PIC-NEXT: ret
989 ; LINUX-64-PIC-LABEL: qux01:
990 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]]
991 ; LINUX-64-PIC-NEXT: addq $64, [[RAX:%r.x]]
992 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
993 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
994 ; LINUX-64-PIC-NEXT: ret
1007 ; DARWIN-32-PIC: _qux01:
1008 ; DARWIN-32-PIC: calll L14$pb
1009 ; DARWIN-32-PIC-NEXT: L14$pb:
1010 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1011 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L14$pb([[EAX]]), [[ECX:%e.x]]
1012 ; DARWIN-32-PIC-NEXT: addl $64, [[ECX:%e.x]]
1013 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L14$pb([[EAX]]), [[EAX:%e.x]]
1014 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
1015 ; DARWIN-32-PIC-NEXT: ret
1031 ; DARWIN-64-PIC: _qux01:
1032 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
1033 ; DARWIN-64-PIC-NEXT: addq $64, [[RAX:%r.x]]
1034 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1035 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
1036 ; DARWIN-64-PIC-NEXT: ret
1051 ; LINUX-32-PIC-LABEL: qxx01:
1052 ; LINUX-32-PIC: movl $xdst+64, ptr
1053 ; LINUX-32-PIC-NEXT: ret
1055 ; LINUX-64-PIC-LABEL: qxx01:
1056 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]]
1057 ; LINUX-64-PIC-NEXT: addq $64, [[RAX:%r.x]]
1058 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1059 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
1060 ; LINUX-64-PIC-NEXT: ret
1073 ; DARWIN-32-PIC: _qxx01:
1074 ; DARWIN-32-PIC: calll L15$pb
1075 ; DARWIN-32-PIC-NEXT: L15$pb:
1076 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1077 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L15$pb([[EAX]]), [[ECX:%e.x]]
1078 ; DARWIN-32-PIC-NEXT: addl $64, [[ECX:%e.x]]
1079 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L15$pb([[EAX]]), [[EAX:%e.x]]
1080 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
1081 ; DARWIN-32-PIC-NEXT: ret
1097 ; DARWIN-64-PIC: _qxx01:
1098 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]]
1099 ; DARWIN-64-PIC-NEXT: addq $64, [[RAX:%r.x]]
1100 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1101 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
1102 ; DARWIN-64-PIC-NEXT: ret
1124 ; LINUX-32-PIC-LABEL: qux02:
1125 ; LINUX-32-PIC: movl src+64, [[EAX:%e.x]]
1126 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
1127 ; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]])
1128 ; LINUX-32-PIC-NEXT: ret
1130 ; LINUX-64-PIC-LABEL: qux02:
1131 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
1132 ; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
1133 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1134 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
1135 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1136 ; LINUX-64-PIC-NEXT: ret
1152 ; DARWIN-32-PIC: _qux02:
1153 ; DARWIN-32-PIC: calll L16$pb
1154 ; DARWIN-32-PIC-NEXT: L16$pb:
1155 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1156 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L16$pb([[EAX]]), [[ECX:%e.x]]
1157 ; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]]
1158 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L16$pb([[EAX]]), [[EAX:%e.x]]
1159 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
1160 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]])
1161 ; DARWIN-32-PIC-NEXT: ret
1179 ; DARWIN-64-PIC: _qux02:
1180 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
1181 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
1182 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1183 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
1184 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1185 ; DARWIN-64-PIC-NEXT: ret
1207 ; LINUX-32-PIC-LABEL: qxx02:
1208 ; LINUX-32-PIC: movl xsrc+64, [[EAX:%e.x]]
1209 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
1210 ; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]])
1211 ; LINUX-32-PIC-NEXT: ret
1213 ; LINUX-64-PIC-LABEL: qxx02:
1214 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
1215 ; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
1216 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1217 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
1218 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1219 ; LINUX-64-PIC-NEXT: ret
1235 ; DARWIN-32-PIC: _qxx02:
1236 ; DARWIN-32-PIC: calll L17$pb
1237 ; DARWIN-32-PIC-NEXT: L17$pb:
1238 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1239 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L17$pb([[EAX]]), [[ECX:%e.x]]
1240 ; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]]
1241 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L17$pb([[EAX]]), [[EAX:%e.x]]
1242 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
1243 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]])
1244 ; DARWIN-32-PIC-NEXT: ret
1262 ; DARWIN-64-PIC: _qxx02:
1263 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
1264 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
1265 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1266 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
1267 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1268 ; DARWIN-64-PIC-NEXT: ret
1286 ; LINUX-32-PIC-LABEL: qux03:
1287 ; LINUX-32-PIC: movl dsrc+64, [[EAX:%e.x]]
1288 ; LINUX-32-PIC-NEXT: movl [[EAX]], ddst+64
1289 ; LINUX-32-PIC-NEXT: ret
1291 ; LINUX-64-PIC-LABEL: qux03:
1292 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
1293 ; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
1294 ; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]]
1295 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1296 ; LINUX-64-PIC-NEXT: ret
1308 ; DARWIN-32-PIC: _qux03:
1309 ; DARWIN-32-PIC: calll L18$pb
1310 ; DARWIN-32-PIC-NEXT: L18$pb:
1311 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1312 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L18$pb)+64([[EAX]]), [[ECX:%e.x]]
1313 ; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ddst-L18$pb)+64([[EAX]])
1314 ; DARWIN-32-PIC-NEXT: ret
1326 ; DARWIN-64-PIC: _qux03:
1327 ; DARWIN-64-PIC: movl _dsrc+64(%rip), [[EAX:%e.x]]
1328 ; DARWIN-64-PIC-NEXT: movl [[EAX]], _ddst+64(%rip)
1329 ; DARWIN-64-PIC-NEXT: ret
1344 ; LINUX-32-PIC-LABEL: qux04:
1345 ; LINUX-32-PIC: movl $ddst+64, dptr
1346 ; LINUX-32-PIC-NEXT: ret
1348 ; LINUX-64-PIC-LABEL: qux04:
1349 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
1350 ; LINUX-64-PIC-NEXT: addq $64, [[RAX:%r.x]]
1351 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
1352 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
1353 ; LINUX-64-PIC-NEXT: ret
1363 ; DARWIN-32-PIC: _qux04:
1364 ; DARWIN-32-PIC: calll L19$pb
1365 ; DARWIN-32-PIC-NEXT: L19$pb:
1366 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1367 ; DARWIN-32-PIC-NEXT: leal (_ddst-L19$pb)+64([[EAX]]), [[ECX:%e.x]]
1368 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L19$pb([[EAX]])
1369 ; DARWIN-32-PIC-NEXT: ret
1381 ; DARWIN-64-PIC: _qux04:
1382 ; DARWIN-64-PIC: leaq _ddst+64(%rip), [[RAX:%r.x]]
1383 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip)
1384 ; DARWIN-64-PIC-NEXT: ret
1406 ; LINUX-32-PIC-LABEL: qux05:
1407 ; LINUX-32-PIC: movl dsrc+64, [[EAX:%e.x]]
1408 ; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]]
1409 ; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]])
1410 ; LINUX-32-PIC-NEXT: ret
1412 ; LINUX-64-PIC-LABEL: qux05:
1413 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
1414 ; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]]
1415 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
1416 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
1417 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1418 ; LINUX-64-PIC-NEXT: ret
1432 ; DARWIN-32-PIC: _qux05:
1433 ; DARWIN-32-PIC: calll L20$pb
1434 ; DARWIN-32-PIC-NEXT: L20$pb:
1435 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1436 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L20$pb)+64([[EAX]]), [[ECX:%e.x]]
1437 ; DARWIN-32-PIC-NEXT: movl _dptr-L20$pb([[EAX]]), [[EAX:%e.x]]
1438 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]])
1439 ; DARWIN-32-PIC-NEXT: ret
1453 ; DARWIN-64-PIC: _qux05:
1454 ; DARWIN-64-PIC: movl _dsrc+64(%rip), [[EAX:%e.x]]
1455 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]]
1456 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1457 ; DARWIN-64-PIC-NEXT: ret
1475 ; LINUX-32-PIC-LABEL: qux06:
1476 ; LINUX-32-PIC: movl lsrc+64, [[EAX:%e.x]]
1477 ; LINUX-32-PIC-NEXT: movl [[EAX]], ldst+64
1478 ; LINUX-32-PIC-NEXT: ret
1480 ; LINUX-64-PIC-LABEL: qux06:
1481 ; LINUX-64-PIC: movl lsrc+64(%rip), [[EAX:%e.x]]
1482 ; LINUX-64-PIC-NEXT: movl [[EAX]], ldst+64(%rip)
1483 ; LINUX-64-PIC-NEXT: ret
1495 ; DARWIN-32-PIC: _qux06:
1496 ; DARWIN-32-PIC: calll L21$pb
1497 ; DARWIN-32-PIC-NEXT: L21$pb:
1498 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1499 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L21$pb)+64([[EAX]]), [[ECX:%e.x]]
1500 ; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ldst-L21$pb)+64([[EAX]])
1501 ; DARWIN-32-PIC-NEXT: ret
1513 ; DARWIN-64-PIC: _qux06:
1514 ; DARWIN-64-PIC: movl _lsrc+64(%rip), [[EAX:%e.x]]
1515 ; DARWIN-64-PIC-NEXT: movl [[EAX]], _ldst+64(%rip)
1516 ; DARWIN-64-PIC-NEXT: ret
1531 ; LINUX-32-PIC-LABEL: qux07:
1532 ; LINUX-32-PIC: movl $ldst+64, lptr
1533 ; LINUX-32-PIC-NEXT: ret
1535 ; LINUX-64-PIC-LABEL: qux07:
1536 ; LINUX-64-PIC: leaq ldst+64(%rip), [[RAX:%r.x]]
1537 ; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip)
1538 ; LINUX-64-PIC-NEXT: ret
1548 ; DARWIN-32-PIC: _qux07:
1549 ; DARWIN-32-PIC: calll L22$pb
1550 ; DARWIN-32-PIC-NEXT: L22$pb:
1551 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1552 ; DARWIN-32-PIC-NEXT: leal (_ldst-L22$pb)+64([[EAX]]), [[ECX:%e.x]]
1553 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L22$pb([[EAX]])
1554 ; DARWIN-32-PIC-NEXT: ret
1566 ; DARWIN-64-PIC: _qux07:
1567 ; DARWIN-64-PIC: leaq _ldst+64(%rip), [[RAX:%r.x]]
1568 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip)
1569 ; DARWIN-64-PIC-NEXT: ret
1591 ; LINUX-32-PIC-LABEL: qux08:
1592 ; LINUX-32-PIC: movl lsrc+64, [[EAX:%e.x]]
1593 ; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]]
1594 ; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]])
1595 ; LINUX-32-PIC-NEXT: ret
1597 ; LINUX-64-PIC-LABEL: qux08:
1598 ; LINUX-64-PIC: movl lsrc+64(%rip), [[EAX:%e.x]]
1599 ; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]]
1600 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1601 ; LINUX-64-PIC-NEXT: ret
1615 ; DARWIN-32-PIC: _qux08:
1616 ; DARWIN-32-PIC: calll L23$pb
1617 ; DARWIN-32-PIC-NEXT: L23$pb:
1618 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1619 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L23$pb)+64([[EAX]]), [[ECX:%e.x]]
1620 ; DARWIN-32-PIC-NEXT: movl _lptr-L23$pb([[EAX]]), [[EAX:%e.x]]
1621 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]])
1622 ; DARWIN-32-PIC-NEXT: ret
1636 ; DARWIN-64-PIC: _qux08:
1637 ; DARWIN-64-PIC: movl _lsrc+64(%rip), [[EAX:%e.x]]
1638 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]]
1639 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]])
1640 ; DARWIN-64-PIC-NEXT: ret
1661 ; LINUX-32-PIC-LABEL: ind00:
1662 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
1663 ; LINUX-32-PIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]]
1664 ; LINUX-32-PIC-NEXT: movl [[ECX]], dst(,[[EAX]],4)
1665 ; LINUX-32-PIC-NEXT: ret
1667 ; LINUX-64-PIC-LABEL: ind00:
1668 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
1669 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
1670 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]]
1671 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
1672 ; LINUX-64-PIC-NEXT: ret
1688 ; DARWIN-32-PIC: _ind00:
1689 ; DARWIN-32-PIC: calll L24$pb
1690 ; DARWIN-32-PIC-NEXT: L24$pb:
1691 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1692 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
1693 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L24$pb([[EAX]]), [[EDX:%e.x]]
1694 ; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]]
1695 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L24$pb([[EAX]]), [[EAX:%e.x]]
1696 ; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4)
1697 ; DARWIN-32-PIC-NEXT: ret
1713 ; DARWIN-64-PIC: _ind00:
1714 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
1715 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
1716 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]]
1717 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
1718 ; DARWIN-64-PIC-NEXT: ret
1739 ; LINUX-32-PIC-LABEL: ixd00:
1740 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
1741 ; LINUX-32-PIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]]
1742 ; LINUX-32-PIC-NEXT: movl [[ECX]], xdst(,[[EAX]],4)
1743 ; LINUX-32-PIC-NEXT: ret
1745 ; LINUX-64-PIC-LABEL: ixd00:
1746 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
1747 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
1748 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]]
1749 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
1750 ; LINUX-64-PIC-NEXT: ret
1766 ; DARWIN-32-PIC: _ixd00:
1767 ; DARWIN-32-PIC: calll L25$pb
1768 ; DARWIN-32-PIC-NEXT: L25$pb:
1769 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1770 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
1771 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L25$pb([[EAX]]), [[EDX:%e.x]]
1772 ; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]]
1773 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L25$pb([[EAX]]), [[EAX:%e.x]]
1774 ; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4)
1775 ; DARWIN-32-PIC-NEXT: ret
1791 ; DARWIN-64-PIC: _ixd00:
1792 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
1793 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
1794 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]]
1795 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
1796 ; DARWIN-64-PIC-NEXT: ret
1815 ; LINUX-32-PIC-LABEL: ind01:
1816 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
1817 ; LINUX-32-PIC-NEXT: leal dst(,[[EAX]],4), [[EAX:%e.x]]
1818 ; LINUX-32-PIC-NEXT: movl [[EAX]], ptr
1819 ; LINUX-32-PIC-NEXT: ret
1821 ; LINUX-64-PIC-LABEL: ind01:
1822 ; LINUX-64-PIC: shlq $2, %rdi
1823 ; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rdi
1824 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]]
1825 ; LINUX-64-PIC-NEXT: movq %rdi, ([[RAX]])
1826 ; LINUX-64-PIC-NEXT: ret
1842 ; DARWIN-32-PIC: _ind01:
1843 ; DARWIN-32-PIC: calll L26$pb
1844 ; DARWIN-32-PIC-NEXT: L26$pb:
1845 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1846 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
1847 ; DARWIN-32-PIC-NEXT: shll $2, [[ECX:%e.x]]
1848 ; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L26$pb([[EAX]]), [[ECX:%e.x]]
1849 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L26$pb([[EAX]]), [[EAX:%e.x]]
1850 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
1851 ; DARWIN-32-PIC-NEXT: ret
1867 ; DARWIN-64-PIC: _ind01:
1868 ; DARWIN-64-PIC: shlq $2, %rdi
1869 ; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi
1870 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]]
1871 ; DARWIN-64-PIC-NEXT: movq %rdi, ([[RAX]])
1872 ; DARWIN-64-PIC-NEXT: ret
1891 ; LINUX-32-PIC-LABEL: ixd01:
1892 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
1893 ; LINUX-32-PIC-NEXT: leal xdst(,[[EAX]],4), [[EAX:%e.x]]
1894 ; LINUX-32-PIC-NEXT: movl [[EAX]], ptr
1895 ; LINUX-32-PIC-NEXT: ret
1897 ; LINUX-64-PIC-LABEL: ixd01:
1898 ; LINUX-64-PIC: shlq $2, %rdi
1899 ; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi
1900 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]]
1901 ; LINUX-64-PIC-NEXT: movq %rdi, ([[RAX]])
1902 ; LINUX-64-PIC-NEXT: ret
1918 ; DARWIN-32-PIC: _ixd01:
1919 ; DARWIN-32-PIC: calll L27$pb
1920 ; DARWIN-32-PIC-NEXT: L27$pb:
1921 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
1922 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
1923 ; DARWIN-32-PIC-NEXT: shll $2, [[ECX:%e.x]]
1924 ; DARWIN-32-PIC-NEXT: addl L_xdst$non_lazy_ptr-L27$pb([[EAX]]), [[ECX:%e.x]]
1925 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L27$pb([[EAX]]), [[EAX:%e.x]]
1926 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
1927 ; DARWIN-32-PIC-NEXT: ret
1943 ; DARWIN-64-PIC: _ixd01:
1944 ; DARWIN-64-PIC: shlq $2, %rdi
1945 ; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi
1946 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]]
1947 ; DARWIN-64-PIC-NEXT: movq %rdi, ([[RAX]])
1948 ; DARWIN-64-PIC-NEXT: ret
1972 ; LINUX-32-PIC-LABEL: ind02:
1973 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
1974 ; LINUX-32-PIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]]
1975 ; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]]
1976 ; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
1977 ; LINUX-32-PIC-NEXT: ret
1979 ; LINUX-64-PIC-LABEL: ind02:
1980 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
1981 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
1982 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
1983 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
1984 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
1985 ; LINUX-64-PIC-NEXT: ret
2003 ; DARWIN-32-PIC: _ind02:
2004 ; DARWIN-32-PIC: calll L28$pb
2005 ; DARWIN-32-PIC-NEXT: L28$pb:
2006 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2007 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2008 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L28$pb([[EAX]]), [[EDX:%e.x]]
2009 ; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]]
2010 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L28$pb([[EAX]]), [[EAX:%e.x]]
2011 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
2012 ; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4)
2013 ; DARWIN-32-PIC-NEXT: ret
2031 ; DARWIN-64-PIC: _ind02:
2032 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
2033 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2034 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2035 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
2036 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2037 ; DARWIN-64-PIC-NEXT: ret
2061 ; LINUX-32-PIC-LABEL: ixd02:
2062 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2063 ; LINUX-32-PIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]]
2064 ; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]]
2065 ; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
2066 ; LINUX-32-PIC-NEXT: ret
2068 ; LINUX-64-PIC-LABEL: ixd02:
2069 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
2070 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2071 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2072 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
2073 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2074 ; LINUX-64-PIC-NEXT: ret
2092 ; DARWIN-32-PIC: _ixd02:
2093 ; DARWIN-32-PIC: calll L29$pb
2094 ; DARWIN-32-PIC-NEXT: L29$pb:
2095 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2096 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2097 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L29$pb([[EAX]]), [[EDX:%e.x]]
2098 ; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]]
2099 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L29$pb([[EAX]]), [[EAX:%e.x]]
2100 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
2101 ; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4)
2102 ; DARWIN-32-PIC-NEXT: ret
2120 ; DARWIN-64-PIC: _ixd02:
2121 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
2122 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2123 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2124 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
2125 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2126 ; DARWIN-64-PIC-NEXT: ret
2147 ; LINUX-32-PIC-LABEL: ind03:
2148 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2149 ; LINUX-32-PIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]]
2150 ; LINUX-32-PIC-NEXT: movl [[ECX]], ddst(,[[EAX]],4)
2151 ; LINUX-32-PIC-NEXT: ret
2153 ; LINUX-64-PIC-LABEL: ind03:
2154 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
2155 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2156 ; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]]
2157 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2158 ; LINUX-64-PIC-NEXT: ret
2172 ; DARWIN-32-PIC: _ind03:
2173 ; DARWIN-32-PIC: calll L30$pb
2174 ; DARWIN-32-PIC-NEXT: L30$pb:
2175 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2176 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2177 ; DARWIN-32-PIC-NEXT: movl _dsrc-L30$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
2178 ; DARWIN-32-PIC-NEXT: movl [[EDX]], _ddst-L30$pb([[EAX]],[[ECX]],4)
2179 ; DARWIN-32-PIC-NEXT: ret
2195 ; DARWIN-64-PIC: _ind03:
2196 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
2197 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2198 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]]
2199 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2200 ; DARWIN-64-PIC-NEXT: ret
2219 ; LINUX-32-PIC-LABEL: ind04:
2220 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2221 ; LINUX-32-PIC-NEXT: leal ddst(,[[EAX]],4), [[EAX:%e.x]]
2222 ; LINUX-32-PIC-NEXT: movl [[EAX]], dptr
2223 ; LINUX-32-PIC-NEXT: ret
2225 ; LINUX-64-PIC-LABEL: ind04:
2226 ; LINUX-64-PIC: shlq $2, %rdi
2227 ; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rdi
2228 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]]
2229 ; LINUX-64-PIC-NEXT: movq %rdi, ([[RAX]])
2230 ; LINUX-64-PIC-NEXT: ret
2244 ; DARWIN-32-PIC: _ind04:
2245 ; DARWIN-32-PIC: calll L31$pb
2246 ; DARWIN-32-PIC-NEXT: L31$pb:
2247 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2248 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2249 ; DARWIN-32-PIC-NEXT: leal _ddst-L31$pb([[EAX]],[[ECX]],4), [[ECX:%e.x]]
2250 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L31$pb([[EAX]])
2251 ; DARWIN-32-PIC-NEXT: ret
2265 ; DARWIN-64-PIC: _ind04:
2266 ; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]]
2267 ; DARWIN-64-PIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]]
2268 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip)
2269 ; DARWIN-64-PIC-NEXT: ret
2293 ; LINUX-32-PIC-LABEL: ind05:
2294 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2295 ; LINUX-32-PIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]]
2296 ; LINUX-32-PIC-NEXT: movl dptr, [[EDX:%e.x]]
2297 ; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
2298 ; LINUX-32-PIC-NEXT: ret
2300 ; LINUX-64-PIC-LABEL: ind05:
2301 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
2302 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2303 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
2304 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
2305 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2306 ; LINUX-64-PIC-NEXT: ret
2322 ; DARWIN-32-PIC: _ind05:
2323 ; DARWIN-32-PIC: calll L32$pb
2324 ; DARWIN-32-PIC-NEXT: L32$pb:
2325 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2326 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2327 ; DARWIN-32-PIC-NEXT: movl _dsrc-L32$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
2328 ; DARWIN-32-PIC-NEXT: movl _dptr-L32$pb([[EAX]]), [[EAX:%e.x]]
2329 ; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4)
2330 ; DARWIN-32-PIC-NEXT: ret
2346 ; DARWIN-64-PIC: _ind05:
2347 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
2348 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2349 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]]
2350 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2351 ; DARWIN-64-PIC-NEXT: ret
2372 ; LINUX-32-PIC-LABEL: ind06:
2373 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2374 ; LINUX-32-PIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]]
2375 ; LINUX-32-PIC-NEXT: movl [[ECX]], ldst(,[[EAX]],4)
2376 ; LINUX-32-PIC-NEXT: ret
2378 ; LINUX-64-PIC-LABEL: ind06:
2379 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
2380 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2381 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), [[RCX:%r.x]]
2382 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2383 ; LINUX-64-PIC-NEXT: ret
2397 ; DARWIN-32-PIC: _ind06:
2398 ; DARWIN-32-PIC: calll L33$pb
2399 ; DARWIN-32-PIC-NEXT: L33$pb:
2400 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2401 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2402 ; DARWIN-32-PIC-NEXT: movl _lsrc-L33$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
2403 ; DARWIN-32-PIC-NEXT: movl [[EDX]], _ldst-L33$pb([[EAX]],[[ECX]],4)
2404 ; DARWIN-32-PIC-NEXT: ret
2420 ; DARWIN-64-PIC: _ind06:
2421 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
2422 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2423 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]]
2424 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2425 ; DARWIN-64-PIC-NEXT: ret
2444 ; LINUX-32-PIC-LABEL: ind07:
2445 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2446 ; LINUX-32-PIC-NEXT: leal ldst(,[[EAX]],4), [[EAX:%e.x]]
2447 ; LINUX-32-PIC-NEXT: movl [[EAX]], lptr
2448 ; LINUX-32-PIC-NEXT: ret
2450 ; LINUX-64-PIC-LABEL: ind07:
2451 ; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]]
2452 ; LINUX-64-PIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]]
2453 ; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip)
2454 ; LINUX-64-PIC-NEXT: ret
2468 ; DARWIN-32-PIC: _ind07:
2469 ; DARWIN-32-PIC: calll L34$pb
2470 ; DARWIN-32-PIC-NEXT: L34$pb:
2471 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2472 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2473 ; DARWIN-32-PIC-NEXT: leal _ldst-L34$pb([[EAX]],[[ECX]],4), [[ECX:%e.x]]
2474 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L34$pb([[EAX]])
2475 ; DARWIN-32-PIC-NEXT: ret
2489 ; DARWIN-64-PIC: _ind07:
2490 ; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]]
2491 ; DARWIN-64-PIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]]
2492 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip)
2493 ; DARWIN-64-PIC-NEXT: ret
2517 ; LINUX-32-PIC-LABEL: ind08:
2518 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2519 ; LINUX-32-PIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]]
2520 ; LINUX-32-PIC-NEXT: movl lptr, [[EDX:%e.x]]
2521 ; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
2522 ; LINUX-32-PIC-NEXT: ret
2524 ; LINUX-64-PIC-LABEL: ind08:
2525 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
2526 ; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2527 ; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]]
2528 ; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2529 ; LINUX-64-PIC-NEXT: ret
2545 ; DARWIN-32-PIC: _ind08:
2546 ; DARWIN-32-PIC: calll L35$pb
2547 ; DARWIN-32-PIC-NEXT: L35$pb:
2548 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2549 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2550 ; DARWIN-32-PIC-NEXT: movl _lsrc-L35$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
2551 ; DARWIN-32-PIC-NEXT: movl _lptr-L35$pb([[EAX]]), [[EAX:%e.x]]
2552 ; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4)
2553 ; DARWIN-32-PIC-NEXT: ret
2569 ; DARWIN-64-PIC: _ind08:
2570 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
2571 ; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]]
2572 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]]
2573 ; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4)
2574 ; DARWIN-64-PIC-NEXT: ret
2596 ; LINUX-32-PIC-LABEL: off00:
2597 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2598 ; LINUX-32-PIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]]
2599 ; LINUX-32-PIC-NEXT: movl [[ECX]], dst+64(,[[EAX]],4)
2600 ; LINUX-32-PIC-NEXT: ret
2602 ; LINUX-64-PIC-LABEL: off00:
2603 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
2604 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
2605 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]]
2606 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
2607 ; LINUX-64-PIC-NEXT: ret
2623 ; DARWIN-32-PIC: _off00:
2624 ; DARWIN-32-PIC: calll L36$pb
2625 ; DARWIN-32-PIC-NEXT: L36$pb:
2626 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2627 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2628 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L36$pb([[EAX]]), [[EDX:%e.x]]
2629 ; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
2630 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L36$pb([[EAX]]), [[EAX:%e.x]]
2631 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4)
2632 ; DARWIN-32-PIC-NEXT: ret
2648 ; DARWIN-64-PIC: _off00:
2649 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
2650 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
2651 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]]
2652 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
2653 ; DARWIN-64-PIC-NEXT: ret
2675 ; LINUX-32-PIC-LABEL: oxf00:
2676 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2677 ; LINUX-32-PIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
2678 ; LINUX-32-PIC-NEXT: movl [[ECX]], xdst+64(,[[EAX]],4)
2679 ; LINUX-32-PIC-NEXT: ret
2681 ; LINUX-64-PIC-LABEL: oxf00:
2682 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
2683 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
2684 ; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]]
2685 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
2686 ; LINUX-64-PIC-NEXT: ret
2702 ; DARWIN-32-PIC: _oxf00:
2703 ; DARWIN-32-PIC: calll L37$pb
2704 ; DARWIN-32-PIC-NEXT: L37$pb:
2705 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2706 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2707 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L37$pb([[EAX]]), [[EDX:%e.x]]
2708 ; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
2709 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L37$pb([[EAX]]), [[EAX:%e.x]]
2710 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4)
2711 ; DARWIN-32-PIC-NEXT: ret
2727 ; DARWIN-64-PIC: _oxf00:
2728 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
2729 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
2730 ; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]]
2731 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
2732 ; DARWIN-64-PIC-NEXT: ret
2752 ; LINUX-32-PIC-LABEL: off01:
2753 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2754 ; LINUX-32-PIC-NEXT: leal dst+64(,[[EAX]],4), [[EAX:%e.x]]
2755 ; LINUX-32-PIC-NEXT: movl [[EAX]], ptr
2756 ; LINUX-32-PIC-NEXT: ret
2758 ; LINUX-64-PIC-LABEL: off01:
2759 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]]
2760 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
2761 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2762 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
2763 ; LINUX-64-PIC-NEXT: ret
2779 ; DARWIN-32-PIC: _off01:
2780 ; DARWIN-32-PIC: calll L38$pb
2781 ; DARWIN-32-PIC-NEXT: L38$pb:
2782 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2783 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2784 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L38$pb([[EAX]]), [[EDX:%e.x]]
2785 ; DARWIN-32-PIC-NEXT: leal 64([[EDX]],[[ECX]],4), [[ECX:%e.x]]
2786 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L38$pb([[EAX]]), [[EAX:%e.x]]
2787 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
2788 ; DARWIN-32-PIC-NEXT: ret
2804 ; DARWIN-64-PIC: _off01:
2805 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
2806 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
2807 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2808 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
2809 ; DARWIN-64-PIC-NEXT: ret
2829 ; LINUX-32-PIC-LABEL: oxf01:
2830 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2831 ; LINUX-32-PIC-NEXT: leal xdst+64(,[[EAX]],4), [[EAX:%e.x]]
2832 ; LINUX-32-PIC-NEXT: movl [[EAX]], ptr
2833 ; LINUX-32-PIC-NEXT: ret
2835 ; LINUX-64-PIC-LABEL: oxf01:
2836 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]]
2837 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
2838 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2839 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
2840 ; LINUX-64-PIC-NEXT: ret
2856 ; DARWIN-32-PIC: _oxf01:
2857 ; DARWIN-32-PIC: calll L39$pb
2858 ; DARWIN-32-PIC-NEXT: L39$pb:
2859 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2860 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2861 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L39$pb([[EAX]]), [[EDX:%e.x]]
2862 ; DARWIN-32-PIC-NEXT: leal 64([[EDX]],[[ECX]],4), [[ECX:%e.x]]
2863 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L39$pb([[EAX]]), [[EAX:%e.x]]
2864 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
2865 ; DARWIN-32-PIC-NEXT: ret
2881 ; DARWIN-64-PIC: _oxf01:
2882 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]]
2883 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
2884 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2885 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
2886 ; DARWIN-64-PIC-NEXT: ret
2911 ; LINUX-32-PIC-LABEL: off02:
2912 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
2913 ; LINUX-32-PIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]]
2914 ; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]]
2915 ; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
2916 ; LINUX-32-PIC-NEXT: ret
2918 ; LINUX-64-PIC-LABEL: off02:
2919 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
2920 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
2921 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2922 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
2923 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
2924 ; LINUX-64-PIC-NEXT: ret
2942 ; DARWIN-32-PIC: _off02:
2943 ; DARWIN-32-PIC: calll L40$pb
2944 ; DARWIN-32-PIC-NEXT: L40$pb:
2945 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
2946 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
2947 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L40$pb([[EAX]]), [[EDX:%e.x]]
2948 ; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
2949 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L40$pb([[EAX]]), [[EAX:%e.x]]
2950 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
2951 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4)
2952 ; DARWIN-32-PIC-NEXT: ret
2970 ; DARWIN-64-PIC: _off02:
2971 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
2972 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
2973 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
2974 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
2975 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
2976 ; DARWIN-64-PIC-NEXT: ret
3001 ; LINUX-32-PIC-LABEL: oxf02:
3002 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3003 ; LINUX-32-PIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3004 ; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]]
3005 ; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
3006 ; LINUX-32-PIC-NEXT: ret
3008 ; LINUX-64-PIC-LABEL: oxf02:
3009 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
3010 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3011 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
3012 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
3013 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3014 ; LINUX-64-PIC-NEXT: ret
3032 ; DARWIN-32-PIC: _oxf02:
3033 ; DARWIN-32-PIC: calll L41$pb
3034 ; DARWIN-32-PIC-NEXT: L41$pb:
3035 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3036 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3037 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L41$pb([[EAX]]), [[EDX:%e.x]]
3038 ; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
3039 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L41$pb([[EAX]]), [[EAX:%e.x]]
3040 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
3041 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4)
3042 ; DARWIN-32-PIC-NEXT: ret
3060 ; DARWIN-64-PIC: _oxf02:
3061 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
3062 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3063 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
3064 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
3065 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3066 ; DARWIN-64-PIC-NEXT: ret
3088 ; LINUX-32-PIC-LABEL: off03:
3089 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3090 ; LINUX-32-PIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3091 ; LINUX-32-PIC-NEXT: movl [[ECX]], ddst+64(,[[EAX]],4)
3092 ; LINUX-32-PIC-NEXT: ret
3094 ; LINUX-64-PIC-LABEL: off03:
3095 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
3096 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3097 ; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]]
3098 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3099 ; LINUX-64-PIC-NEXT: ret
3113 ; DARWIN-32-PIC: _off03:
3114 ; DARWIN-32-PIC: calll L42$pb
3115 ; DARWIN-32-PIC-NEXT: L42$pb:
3116 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3117 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3118 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L42$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
3119 ; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ddst-L42$pb)+64([[EAX]],[[ECX]],4)
3120 ; DARWIN-32-PIC-NEXT: ret
3136 ; DARWIN-64-PIC: _off03:
3137 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
3138 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3139 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]]
3140 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3141 ; DARWIN-64-PIC-NEXT: ret
3161 ; LINUX-32-PIC-LABEL: off04:
3162 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3163 ; LINUX-32-PIC-NEXT: leal ddst+64(,[[EAX]],4), [[EAX:%e.x]]
3164 ; LINUX-32-PIC-NEXT: movl [[EAX]], dptr
3165 ; LINUX-32-PIC-NEXT: ret
3167 ; LINUX-64-PIC-LABEL: off04:
3168 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
3169 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
3170 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
3171 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
3172 ; LINUX-64-PIC-NEXT: ret
3186 ; DARWIN-32-PIC: _off04:
3187 ; DARWIN-32-PIC: calll L43$pb
3188 ; DARWIN-32-PIC-NEXT: L43$pb:
3189 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3190 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3191 ; DARWIN-32-PIC-NEXT: leal (_ddst-L43$pb)+64([[EAX]],[[ECX]],4), [[ECX:%e.x]]
3192 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L43$pb([[EAX]])
3193 ; DARWIN-32-PIC-NEXT: ret
3207 ; DARWIN-64-PIC: _off04:
3208 ; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]]
3209 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
3210 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip)
3211 ; DARWIN-64-PIC-NEXT: ret
3236 ; LINUX-32-PIC-LABEL: off05:
3237 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3238 ; LINUX-32-PIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3239 ; LINUX-32-PIC-NEXT: movl dptr, [[EDX:%e.x]]
3240 ; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
3241 ; LINUX-32-PIC-NEXT: ret
3243 ; LINUX-64-PIC-LABEL: off05:
3244 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
3245 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3246 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
3247 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
3248 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3249 ; LINUX-64-PIC-NEXT: ret
3265 ; DARWIN-32-PIC: _off05:
3266 ; DARWIN-32-PIC: calll L44$pb
3267 ; DARWIN-32-PIC-NEXT: L44$pb:
3268 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3269 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3270 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L44$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
3271 ; DARWIN-32-PIC-NEXT: movl _dptr-L44$pb([[EAX]]), [[EAX:%e.x]]
3272 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4)
3273 ; DARWIN-32-PIC-NEXT: ret
3289 ; DARWIN-64-PIC: _off05:
3290 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
3291 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3292 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]]
3293 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3294 ; DARWIN-64-PIC-NEXT: ret
3316 ; LINUX-32-PIC-LABEL: off06:
3317 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3318 ; LINUX-32-PIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3319 ; LINUX-32-PIC-NEXT: movl [[ECX]], ldst+64(,[[EAX]],4)
3320 ; LINUX-32-PIC-NEXT: ret
3322 ; LINUX-64-PIC-LABEL: off06:
3323 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
3324 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3325 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), [[RCX:%r.x]]
3326 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3327 ; LINUX-64-PIC-NEXT: ret
3341 ; DARWIN-32-PIC: _off06:
3342 ; DARWIN-32-PIC: calll L45$pb
3343 ; DARWIN-32-PIC-NEXT: L45$pb:
3344 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3345 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3346 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L45$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
3347 ; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ldst-L45$pb)+64([[EAX]],[[ECX]],4)
3348 ; DARWIN-32-PIC-NEXT: ret
3364 ; DARWIN-64-PIC: _off06:
3365 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
3366 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3367 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]]
3368 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3369 ; DARWIN-64-PIC-NEXT: ret
3389 ; LINUX-32-PIC-LABEL: off07:
3390 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3391 ; LINUX-32-PIC-NEXT: leal ldst+64(,[[EAX]],4), [[EAX:%e.x]]
3392 ; LINUX-32-PIC-NEXT: movl [[EAX]], lptr
3393 ; LINUX-32-PIC-NEXT: ret
3395 ; LINUX-64-PIC-LABEL: off07:
3396 ; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]]
3397 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
3398 ; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip)
3399 ; LINUX-64-PIC-NEXT: ret
3413 ; DARWIN-32-PIC: _off07:
3414 ; DARWIN-32-PIC: calll L46$pb
3415 ; DARWIN-32-PIC-NEXT: L46$pb:
3416 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3417 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3418 ; DARWIN-32-PIC-NEXT: leal (_ldst-L46$pb)+64([[EAX]],[[ECX]],4), [[ECX:%e.x]]
3419 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L46$pb([[EAX]])
3420 ; DARWIN-32-PIC-NEXT: ret
3434 ; DARWIN-64-PIC: _off07:
3435 ; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]]
3436 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]]
3437 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip)
3438 ; DARWIN-64-PIC-NEXT: ret
3463 ; LINUX-32-PIC-LABEL: off08:
3464 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
3465 ; LINUX-32-PIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3466 ; LINUX-32-PIC-NEXT: movl lptr, [[EDX:%e.x]]
3467 ; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
3468 ; LINUX-32-PIC-NEXT: ret
3470 ; LINUX-64-PIC-LABEL: off08:
3471 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
3472 ; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3473 ; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]]
3474 ; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3475 ; LINUX-64-PIC-NEXT: ret
3491 ; DARWIN-32-PIC: _off08:
3492 ; DARWIN-32-PIC: calll L47$pb
3493 ; DARWIN-32-PIC-NEXT: L47$pb:
3494 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3495 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
3496 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L47$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
3497 ; DARWIN-32-PIC-NEXT: movl _lptr-L47$pb([[EAX]]), [[EAX:%e.x]]
3498 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4)
3499 ; DARWIN-32-PIC-NEXT: ret
3515 ; DARWIN-64-PIC: _off08:
3516 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
3517 ; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]]
3518 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]]
3519 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4)
3520 ; DARWIN-64-PIC-NEXT: ret
3538 ; LINUX-32-PIC-LABEL: moo00:
3539 ; LINUX-32-PIC: movl src+262144, [[EAX:%e.x]]
3540 ; LINUX-32-PIC-NEXT: movl [[EAX]], dst+262144
3541 ; LINUX-32-PIC-NEXT: ret
3543 ; LINUX-64-PIC-LABEL: moo00:
3544 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
3545 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]]
3546 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]]
3547 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3548 ; LINUX-64-PIC-NEXT: ret
3562 ; DARWIN-32-PIC: _moo00:
3563 ; DARWIN-32-PIC: calll L48$pb
3564 ; DARWIN-32-PIC-NEXT: L48$pb:
3565 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3566 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L48$pb([[EAX]]), [[ECX:%e.x]]
3567 ; DARWIN-32-PIC-NEXT: movl 262144([[ECX]]), [[ECX:%e.x]]
3568 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L48$pb([[EAX]]), [[EAX:%e.x]]
3569 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]])
3570 ; DARWIN-32-PIC-NEXT: ret
3586 ; DARWIN-64-PIC: _moo00:
3587 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
3588 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]]
3589 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]]
3590 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3591 ; DARWIN-64-PIC-NEXT: ret
3606 ; LINUX-32-PIC-LABEL: moo01:
3607 ; LINUX-32-PIC: movl $dst+262144, ptr
3608 ; LINUX-32-PIC-NEXT: ret
3610 ; LINUX-64-PIC-LABEL: moo01:
3611 ; LINUX-64-PIC: movl $262144, [[EAX:%e.x]]
3612 ; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), [[RAX:%r.x]]
3613 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
3614 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
3615 ; LINUX-64-PIC-NEXT: ret
3628 ; DARWIN-32-PIC: _moo01:
3629 ; DARWIN-32-PIC: calll L49$pb
3630 ; DARWIN-32-PIC-NEXT: L49$pb:
3631 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3632 ; DARWIN-32-PIC-NEXT: movl $262144, [[ECX:%e.x]]
3633 ; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L49$pb([[EAX]]), [[ECX:%e.x]]
3634 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L49$pb([[EAX]]), [[EAX:%e.x]]
3635 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
3636 ; DARWIN-32-PIC-NEXT: ret
3652 ; DARWIN-64-PIC: _moo01:
3653 ; DARWIN-64-PIC: movl $262144, [[EAX:%e.x]]
3654 ; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
3655 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
3656 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
3657 ; DARWIN-64-PIC-NEXT: ret
3679 ; LINUX-32-PIC-LABEL: moo02:
3680 ; LINUX-32-PIC: movl src+262144, [[EAX:%e.x]]
3681 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
3682 ; LINUX-32-PIC-NEXT: movl [[EAX]], 262144([[ECX]])
3683 ; LINUX-32-PIC-NEXT: ret
3685 ; LINUX-64-PIC-LABEL: moo02:
3686 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
3687 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]]
3688 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
3689 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
3690 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3691 ; LINUX-64-PIC-NEXT: ret
3707 ; DARWIN-32-PIC: _moo02:
3708 ; DARWIN-32-PIC: calll L50$pb
3709 ; DARWIN-32-PIC-NEXT: L50$pb:
3710 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3711 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L50$pb([[EAX]]), [[ECX:%e.x]]
3712 ; DARWIN-32-PIC-NEXT: movl 262144([[ECX]]), [[ECX:%e.x]]
3713 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L50$pb([[EAX]]), [[EAX:%e.x]]
3714 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
3715 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]])
3716 ; DARWIN-32-PIC-NEXT: ret
3734 ; DARWIN-64-PIC: _moo02:
3735 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
3736 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]]
3737 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
3738 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
3739 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3740 ; DARWIN-64-PIC-NEXT: ret
3758 ; LINUX-32-PIC-LABEL: moo03:
3759 ; LINUX-32-PIC: movl dsrc+262144, [[EAX:%e.x]]
3760 ; LINUX-32-PIC-NEXT: movl [[EAX]], ddst+262144
3761 ; LINUX-32-PIC-NEXT: ret
3763 ; LINUX-64-PIC-LABEL: moo03:
3764 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
3765 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]]
3766 ; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]]
3767 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3768 ; LINUX-64-PIC-NEXT: ret
3780 ; DARWIN-32-PIC: _moo03:
3781 ; DARWIN-32-PIC: calll L51$pb
3782 ; DARWIN-32-PIC-NEXT: L51$pb:
3783 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3784 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L51$pb)+262144([[EAX]]), [[ECX:%e.x]]
3785 ; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ddst-L51$pb)+262144([[EAX]])
3786 ; DARWIN-32-PIC-NEXT: ret
3798 ; DARWIN-64-PIC: _moo03:
3799 ; DARWIN-64-PIC: movl _dsrc+262144(%rip), [[EAX:%e.x]]
3800 ; DARWIN-64-PIC-NEXT: movl [[EAX]], _ddst+262144(%rip)
3801 ; DARWIN-64-PIC-NEXT: ret
3816 ; LINUX-32-PIC-LABEL: moo04:
3817 ; LINUX-32-PIC: movl $ddst+262144, dptr
3818 ; LINUX-32-PIC-NEXT: ret
3820 ; LINUX-64-PIC-LABEL: moo04:
3821 ; LINUX-64-PIC: movl $262144, [[EAX:%e.x]]
3822 ; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
3823 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
3824 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
3825 ; LINUX-64-PIC-NEXT: ret
3835 ; DARWIN-32-PIC: _moo04:
3836 ; DARWIN-32-PIC: calll L52$pb
3837 ; DARWIN-32-PIC-NEXT: L52$pb:
3838 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3839 ; DARWIN-32-PIC-NEXT: leal (_ddst-L52$pb)+262144([[EAX]]), [[ECX:%e.x]]
3840 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L52$pb([[EAX]])
3841 ; DARWIN-32-PIC-NEXT: ret
3853 ; DARWIN-64-PIC: _moo04:
3854 ; DARWIN-64-PIC: leaq _ddst+262144(%rip), [[RAX:%r.x]]
3855 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip)
3856 ; DARWIN-64-PIC-NEXT: ret
3878 ; LINUX-32-PIC-LABEL: moo05:
3879 ; LINUX-32-PIC: movl dsrc+262144, [[EAX:%e.x]]
3880 ; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]]
3881 ; LINUX-32-PIC-NEXT: movl [[EAX]], 262144([[ECX]])
3882 ; LINUX-32-PIC-NEXT: ret
3884 ; LINUX-64-PIC-LABEL: moo05:
3885 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
3886 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]]
3887 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
3888 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
3889 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3890 ; LINUX-64-PIC-NEXT: ret
3904 ; DARWIN-32-PIC: _moo05:
3905 ; DARWIN-32-PIC: calll L53$pb
3906 ; DARWIN-32-PIC-NEXT: L53$pb:
3907 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3908 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L53$pb)+262144([[EAX]]), [[ECX:%e.x]]
3909 ; DARWIN-32-PIC-NEXT: movl _dptr-L53$pb([[EAX]]), [[EAX:%e.x]]
3910 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]])
3911 ; DARWIN-32-PIC-NEXT: ret
3925 ; DARWIN-64-PIC: _moo05:
3926 ; DARWIN-64-PIC: movl _dsrc+262144(%rip), [[EAX:%e.x]]
3927 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]]
3928 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
3929 ; DARWIN-64-PIC-NEXT: ret
3947 ; LINUX-32-PIC-LABEL: moo06:
3948 ; LINUX-32-PIC: movl lsrc+262144, [[EAX:%e.x]]
3949 ; LINUX-32-PIC-NEXT: movl [[EAX]], ldst+262144
3950 ; LINUX-32-PIC-NEXT: ret
3952 ; LINUX-64-PIC-LABEL: moo06:
3953 ; LINUX-64-PIC: movl lsrc+262144(%rip), [[EAX:%e.x]]
3954 ; LINUX-64-PIC-NEXT: movl [[EAX]], ldst+262144(%rip)
3955 ; LINUX-64-PIC-NEXT: ret
3967 ; DARWIN-32-PIC: _moo06:
3968 ; DARWIN-32-PIC: calll L54$pb
3969 ; DARWIN-32-PIC-NEXT: L54$pb:
3970 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
3971 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L54$pb)+262144([[EAX]]), [[ECX:%e.x]]
3972 ; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ldst-L54$pb)+262144([[EAX]])
3973 ; DARWIN-32-PIC-NEXT: ret
3985 ; DARWIN-64-PIC: _moo06:
3986 ; DARWIN-64-PIC: movl _lsrc+262144(%rip), [[EAX:%e.x]]
3987 ; DARWIN-64-PIC-NEXT: movl [[EAX]], _ldst+262144(%rip)
3988 ; DARWIN-64-PIC-NEXT: ret
4003 ; LINUX-32-PIC-LABEL: moo07:
4004 ; LINUX-32-PIC: movl $ldst+262144, lptr
4005 ; LINUX-32-PIC-NEXT: ret
4007 ; LINUX-64-PIC-LABEL: moo07:
4008 ; LINUX-64-PIC: leaq ldst+262144(%rip), [[RAX:%r.x]]
4009 ; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip)
4010 ; LINUX-64-PIC-NEXT: ret
4020 ; DARWIN-32-PIC: _moo07:
4021 ; DARWIN-32-PIC: calll L55$pb
4022 ; DARWIN-32-PIC-NEXT: L55$pb:
4023 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4024 ; DARWIN-32-PIC-NEXT: leal (_ldst-L55$pb)+262144([[EAX]]), [[ECX:%e.x]]
4025 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L55$pb([[EAX]])
4026 ; DARWIN-32-PIC-NEXT: ret
4038 ; DARWIN-64-PIC: _moo07:
4039 ; DARWIN-64-PIC: leaq _ldst+262144(%rip), [[RAX:%r.x]]
4040 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip)
4041 ; DARWIN-64-PIC-NEXT: ret
4063 ; LINUX-32-PIC-LABEL: moo08:
4064 ; LINUX-32-PIC: movl lsrc+262144, [[EAX:%e.x]]
4065 ; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]]
4066 ; LINUX-32-PIC-NEXT: movl [[EAX]], 262144([[ECX]])
4067 ; LINUX-32-PIC-NEXT: ret
4069 ; LINUX-64-PIC-LABEL: moo08:
4070 ; LINUX-64-PIC: movl lsrc+262144(%rip), [[EAX:%e.x]]
4071 ; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]]
4072 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
4073 ; LINUX-64-PIC-NEXT: ret
4087 ; DARWIN-32-PIC: _moo08:
4088 ; DARWIN-32-PIC: calll L56$pb
4089 ; DARWIN-32-PIC-NEXT: L56$pb:
4090 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4091 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L56$pb)+262144([[EAX]]), [[ECX:%e.x]]
4092 ; DARWIN-32-PIC-NEXT: movl _lptr-L56$pb([[EAX]]), [[EAX:%e.x]]
4093 ; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]])
4094 ; DARWIN-32-PIC-NEXT: ret
4108 ; DARWIN-64-PIC: _moo08:
4109 ; DARWIN-64-PIC: movl _lsrc+262144(%rip), [[EAX:%e.x]]
4110 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]]
4111 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]])
4112 ; DARWIN-64-PIC-NEXT: ret
4134 ; LINUX-32-PIC-LABEL: big00:
4135 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4136 ; LINUX-32-PIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]]
4137 ; LINUX-32-PIC-NEXT: movl [[ECX]], dst+262144(,[[EAX]],4)
4138 ; LINUX-32-PIC-NEXT: ret
4140 ; LINUX-64-PIC-LABEL: big00:
4141 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
4142 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4143 ; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]]
4144 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4145 ; LINUX-64-PIC-NEXT: ret
4161 ; DARWIN-32-PIC: _big00:
4162 ; DARWIN-32-PIC: calll L57$pb
4163 ; DARWIN-32-PIC-NEXT: L57$pb:
4164 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4165 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4166 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L57$pb([[EAX]]), [[EDX:%e.x]]
4167 ; DARWIN-32-PIC-NEXT: movl 262144([[EDX]],[[ECX]],4), [[EDX:%e.x]]
4168 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L57$pb([[EAX]]), [[EAX:%e.x]]
4169 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4)
4170 ; DARWIN-32-PIC-NEXT: ret
4186 ; DARWIN-64-PIC: _big00:
4187 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
4188 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4189 ; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]]
4190 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4191 ; DARWIN-64-PIC-NEXT: ret
4211 ; LINUX-32-PIC-LABEL: big01:
4212 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4213 ; LINUX-32-PIC-NEXT: leal dst+262144(,[[EAX]],4), [[EAX:%e.x]]
4214 ; LINUX-32-PIC-NEXT: movl [[EAX]], ptr
4215 ; LINUX-32-PIC-NEXT: ret
4217 ; LINUX-64-PIC-LABEL: big01:
4218 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]]
4219 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]]
4220 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
4221 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
4222 ; LINUX-64-PIC-NEXT: ret
4238 ; DARWIN-32-PIC: _big01:
4239 ; DARWIN-32-PIC: calll L58$pb
4240 ; DARWIN-32-PIC-NEXT: L58$pb:
4241 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4242 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4243 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L58$pb([[EAX]]), [[EDX:%e.x]]
4244 ; DARWIN-32-PIC-NEXT: leal 262144([[EDX]],[[ECX]],4), [[ECX:%e.x]]
4245 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L58$pb([[EAX]]), [[EAX:%e.x]]
4246 ; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]])
4247 ; DARWIN-32-PIC-NEXT: ret
4263 ; DARWIN-64-PIC: _big01:
4264 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
4265 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]]
4266 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
4267 ; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
4268 ; DARWIN-64-PIC-NEXT: ret
4293 ; LINUX-32-PIC-LABEL: big02:
4294 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4295 ; LINUX-32-PIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]]
4296 ; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]]
4297 ; LINUX-32-PIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4)
4298 ; LINUX-32-PIC-NEXT: ret
4300 ; LINUX-64-PIC-LABEL: big02:
4301 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
4302 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4303 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
4304 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
4305 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4306 ; LINUX-64-PIC-NEXT: ret
4324 ; DARWIN-32-PIC: _big02:
4325 ; DARWIN-32-PIC: calll L59$pb
4326 ; DARWIN-32-PIC-NEXT: L59$pb:
4327 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4328 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4329 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L59$pb([[EAX]]), [[EDX:%e.x]]
4330 ; DARWIN-32-PIC-NEXT: movl 262144([[EDX]],[[ECX]],4), [[EDX:%e.x]]
4331 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L59$pb([[EAX]]), [[EAX:%e.x]]
4332 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
4333 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4)
4334 ; DARWIN-32-PIC-NEXT: ret
4352 ; DARWIN-64-PIC: _big02:
4353 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
4354 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4355 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
4356 ; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
4357 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4358 ; DARWIN-64-PIC-NEXT: ret
4380 ; LINUX-32-PIC-LABEL: big03:
4381 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4382 ; LINUX-32-PIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4383 ; LINUX-32-PIC-NEXT: movl [[ECX]], ddst+262144(,[[EAX]],4)
4384 ; LINUX-32-PIC-NEXT: ret
4386 ; LINUX-64-PIC-LABEL: big03:
4387 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
4388 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4389 ; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]]
4390 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4391 ; LINUX-64-PIC-NEXT: ret
4405 ; DARWIN-32-PIC: _big03:
4406 ; DARWIN-32-PIC: calll L60$pb
4407 ; DARWIN-32-PIC-NEXT: L60$pb:
4408 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4409 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4410 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L60$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
4411 ; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ddst-L60$pb)+262144([[EAX]],[[ECX]],4)
4412 ; DARWIN-32-PIC-NEXT: ret
4428 ; DARWIN-64-PIC: _big03:
4429 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
4430 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4431 ; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]]
4432 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4433 ; DARWIN-64-PIC-NEXT: ret
4453 ; LINUX-32-PIC-LABEL: big04:
4454 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4455 ; LINUX-32-PIC-NEXT: leal ddst+262144(,[[EAX]],4), [[EAX:%e.x]]
4456 ; LINUX-32-PIC-NEXT: movl [[EAX]], dptr
4457 ; LINUX-32-PIC-NEXT: ret
4459 ; LINUX-64-PIC-LABEL: big04:
4460 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
4461 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]]
4462 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
4463 ; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]])
4464 ; LINUX-64-PIC-NEXT: ret
4478 ; DARWIN-32-PIC: _big04:
4479 ; DARWIN-32-PIC: calll L61$pb
4480 ; DARWIN-32-PIC-NEXT: L61$pb:
4481 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4482 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4483 ; DARWIN-32-PIC-NEXT: leal (_ddst-L61$pb)+262144([[EAX]],[[ECX]],4), [[ECX:%e.x]]
4484 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L61$pb([[EAX]])
4485 ; DARWIN-32-PIC-NEXT: ret
4499 ; DARWIN-64-PIC: _big04:
4500 ; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]]
4501 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]]
4502 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip)
4503 ; DARWIN-64-PIC-NEXT: ret
4528 ; LINUX-32-PIC-LABEL: big05:
4529 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4530 ; LINUX-32-PIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4531 ; LINUX-32-PIC-NEXT: movl dptr, [[EDX:%e.x]]
4532 ; LINUX-32-PIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4)
4533 ; LINUX-32-PIC-NEXT: ret
4535 ; LINUX-64-PIC-LABEL: big05:
4536 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
4537 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4538 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
4539 ; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]]
4540 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4541 ; LINUX-64-PIC-NEXT: ret
4557 ; DARWIN-32-PIC: _big05:
4558 ; DARWIN-32-PIC: calll L62$pb
4559 ; DARWIN-32-PIC-NEXT: L62$pb:
4560 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4561 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4562 ; DARWIN-32-PIC-NEXT: movl (_dsrc-L62$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
4563 ; DARWIN-32-PIC-NEXT: movl _dptr-L62$pb([[EAX]]), [[EAX:%e.x]]
4564 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4)
4565 ; DARWIN-32-PIC-NEXT: ret
4581 ; DARWIN-64-PIC: _big05:
4582 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
4583 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4584 ; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]]
4585 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4586 ; DARWIN-64-PIC-NEXT: ret
4608 ; LINUX-32-PIC-LABEL: big06:
4609 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4610 ; LINUX-32-PIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4611 ; LINUX-32-PIC-NEXT: movl [[ECX]], ldst+262144(,[[EAX]],4)
4612 ; LINUX-32-PIC-NEXT: ret
4614 ; LINUX-64-PIC-LABEL: big06:
4615 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
4616 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4617 ; LINUX-64-PIC-NEXT: leaq ldst(%rip), [[RCX:%r.x]]
4618 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4619 ; LINUX-64-PIC-NEXT: ret
4633 ; DARWIN-32-PIC: _big06:
4634 ; DARWIN-32-PIC: calll L63$pb
4635 ; DARWIN-32-PIC-NEXT: L63$pb:
4636 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4637 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4638 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L63$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
4639 ; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ldst-L63$pb)+262144([[EAX]],[[ECX]],4)
4640 ; DARWIN-32-PIC-NEXT: ret
4656 ; DARWIN-64-PIC: _big06:
4657 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
4658 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4659 ; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]]
4660 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4661 ; DARWIN-64-PIC-NEXT: ret
4681 ; LINUX-32-PIC-LABEL: big07:
4682 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4683 ; LINUX-32-PIC-NEXT: leal ldst+262144(,[[EAX]],4), [[EAX:%e.x]]
4684 ; LINUX-32-PIC-NEXT: movl [[EAX]], lptr
4685 ; LINUX-32-PIC-NEXT: ret
4687 ; LINUX-64-PIC-LABEL: big07:
4688 ; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]]
4689 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]]
4690 ; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip)
4691 ; LINUX-64-PIC-NEXT: ret
4705 ; DARWIN-32-PIC: _big07:
4706 ; DARWIN-32-PIC: calll L64$pb
4707 ; DARWIN-32-PIC-NEXT: L64$pb:
4708 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4709 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4710 ; DARWIN-32-PIC-NEXT: leal (_ldst-L64$pb)+262144([[EAX]],[[ECX]],4), [[ECX:%e.x]]
4711 ; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L64$pb([[EAX]])
4712 ; DARWIN-32-PIC-NEXT: ret
4726 ; DARWIN-64-PIC: _big07:
4727 ; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]]
4728 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]]
4729 ; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip)
4730 ; DARWIN-64-PIC-NEXT: ret
4755 ; LINUX-32-PIC-LABEL: big08:
4756 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
4757 ; LINUX-32-PIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4758 ; LINUX-32-PIC-NEXT: movl lptr, [[EDX:%e.x]]
4759 ; LINUX-32-PIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4)
4760 ; LINUX-32-PIC-NEXT: ret
4762 ; LINUX-64-PIC-LABEL: big08:
4763 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
4764 ; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4765 ; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]]
4766 ; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4767 ; LINUX-64-PIC-NEXT: ret
4783 ; DARWIN-32-PIC: _big08:
4784 ; DARWIN-32-PIC: calll L65$pb
4785 ; DARWIN-32-PIC-NEXT: L65$pb:
4786 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4787 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
4788 ; DARWIN-32-PIC-NEXT: movl (_lsrc-L65$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
4789 ; DARWIN-32-PIC-NEXT: movl _lptr-L65$pb([[EAX]]), [[EAX:%e.x]]
4790 ; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4)
4791 ; DARWIN-32-PIC-NEXT: ret
4807 ; DARWIN-64-PIC: _big08:
4808 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
4809 ; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]]
4810 ; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]]
4811 ; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4)
4812 ; DARWIN-64-PIC-NEXT: ret
4826 ; LINUX-32-PIC-LABEL: bar00:
4827 ; LINUX-32-PIC: movl $src, %eax
4828 ; LINUX-32-PIC-NEXT: ret
4830 ; LINUX-64-PIC-LABEL: bar00:
4831 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), %rax
4832 ; LINUX-64-PIC-NEXT: ret
4842 ; DARWIN-32-PIC: _bar00:
4843 ; DARWIN-32-PIC: calll L66$pb
4844 ; DARWIN-32-PIC-NEXT: L66$pb:
4845 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4846 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L66$pb([[EAX]]), %eax
4847 ; DARWIN-32-PIC-NEXT: ret
4857 ; DARWIN-64-PIC: _bar00:
4858 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), %rax
4859 ; DARWIN-64-PIC-NEXT: ret
4873 ; LINUX-32-PIC-LABEL: bxr00:
4874 ; LINUX-32-PIC: movl $xsrc, %eax
4875 ; LINUX-32-PIC-NEXT: ret
4877 ; LINUX-64-PIC-LABEL: bxr00:
4878 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), %rax
4879 ; LINUX-64-PIC-NEXT: ret
4889 ; DARWIN-32-PIC: _bxr00:
4890 ; DARWIN-32-PIC: calll L67$pb
4891 ; DARWIN-32-PIC-NEXT: L67$pb:
4892 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4893 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L67$pb([[EAX]]), %eax
4894 ; DARWIN-32-PIC-NEXT: ret
4904 ; DARWIN-64-PIC: _bxr00:
4905 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), %rax
4906 ; DARWIN-64-PIC-NEXT: ret
4920 ; LINUX-32-PIC-LABEL: bar01:
4921 ; LINUX-32-PIC: movl $dst, %eax
4922 ; LINUX-32-PIC-NEXT: ret
4924 ; LINUX-64-PIC-LABEL: bar01:
4925 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), %rax
4926 ; LINUX-64-PIC-NEXT: ret
4936 ; DARWIN-32-PIC: _bar01:
4937 ; DARWIN-32-PIC: calll L68$pb
4938 ; DARWIN-32-PIC-NEXT: L68$pb:
4939 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4940 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L68$pb([[EAX]]), %eax
4941 ; DARWIN-32-PIC-NEXT: ret
4951 ; DARWIN-64-PIC: _bar01:
4952 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), %rax
4953 ; DARWIN-64-PIC-NEXT: ret
4967 ; LINUX-32-PIC-LABEL: bxr01:
4968 ; LINUX-32-PIC: movl $xdst, %eax
4969 ; LINUX-32-PIC-NEXT: ret
4971 ; LINUX-64-PIC-LABEL: bxr01:
4972 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), %rax
4973 ; LINUX-64-PIC-NEXT: ret
4983 ; DARWIN-32-PIC: _bxr01:
4984 ; DARWIN-32-PIC: calll L69$pb
4985 ; DARWIN-32-PIC-NEXT: L69$pb:
4986 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
4987 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L69$pb([[EAX]]), %eax
4988 ; DARWIN-32-PIC-NEXT: ret
4998 ; DARWIN-64-PIC: _bxr01:
4999 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), %rax
5000 ; DARWIN-64-PIC-NEXT: ret
5014 ; LINUX-32-PIC-LABEL: bar02:
5015 ; LINUX-32-PIC: movl $ptr, %eax
5016 ; LINUX-32-PIC-NEXT: ret
5018 ; LINUX-64-PIC-LABEL: bar02:
5019 ; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), %rax
5020 ; LINUX-64-PIC-NEXT: ret
5030 ; DARWIN-32-PIC: _bar02:
5031 ; DARWIN-32-PIC: calll L70$pb
5032 ; DARWIN-32-PIC-NEXT: L70$pb:
5033 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5034 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L70$pb([[EAX]]), %eax
5035 ; DARWIN-32-PIC-NEXT: ret
5045 ; DARWIN-64-PIC: _bar02:
5046 ; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), %rax
5047 ; DARWIN-64-PIC-NEXT: ret
5061 ; LINUX-32-PIC-LABEL: bar03:
5062 ; LINUX-32-PIC: movl $dsrc, %eax
5063 ; LINUX-32-PIC-NEXT: ret
5065 ; LINUX-64-PIC-LABEL: bar03:
5066 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), %rax
5067 ; LINUX-64-PIC-NEXT: ret
5077 ; DARWIN-32-PIC: _bar03:
5078 ; DARWIN-32-PIC: calll L71$pb
5079 ; DARWIN-32-PIC-NEXT: L71$pb:
5080 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5081 ; DARWIN-32-PIC-NEXT: leal _dsrc-L71$pb([[EAX]]), %eax
5082 ; DARWIN-32-PIC-NEXT: ret
5092 ; DARWIN-64-PIC: _bar03:
5093 ; DARWIN-64-PIC: leaq _dsrc(%rip), %rax
5094 ; DARWIN-64-PIC-NEXT: ret
5108 ; LINUX-32-PIC-LABEL: bar04:
5109 ; LINUX-32-PIC: movl $ddst, %eax
5110 ; LINUX-32-PIC-NEXT: ret
5112 ; LINUX-64-PIC-LABEL: bar04:
5113 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), %rax
5114 ; LINUX-64-PIC-NEXT: ret
5124 ; DARWIN-32-PIC: _bar04:
5125 ; DARWIN-32-PIC: calll L72$pb
5126 ; DARWIN-32-PIC-NEXT: L72$pb:
5127 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5128 ; DARWIN-32-PIC-NEXT: leal _ddst-L72$pb([[EAX]]), %eax
5129 ; DARWIN-32-PIC-NEXT: ret
5139 ; DARWIN-64-PIC: _bar04:
5140 ; DARWIN-64-PIC: leaq _ddst(%rip), %rax
5141 ; DARWIN-64-PIC-NEXT: ret
5155 ; LINUX-32-PIC-LABEL: bar05:
5156 ; LINUX-32-PIC: movl $dptr, %eax
5157 ; LINUX-32-PIC-NEXT: ret
5159 ; LINUX-64-PIC-LABEL: bar05:
5160 ; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), %rax
5161 ; LINUX-64-PIC-NEXT: ret
5171 ; DARWIN-32-PIC: _bar05:
5172 ; DARWIN-32-PIC: calll L73$pb
5173 ; DARWIN-32-PIC-NEXT: L73$pb:
5174 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5175 ; DARWIN-32-PIC-NEXT: leal _dptr-L73$pb([[EAX]]), %eax
5176 ; DARWIN-32-PIC-NEXT: ret
5186 ; DARWIN-64-PIC: _bar05:
5187 ; DARWIN-64-PIC: leaq _dptr(%rip), %rax
5188 ; DARWIN-64-PIC-NEXT: ret
5202 ; LINUX-32-PIC-LABEL: bar06:
5203 ; LINUX-32-PIC: movl $lsrc, %eax
5204 ; LINUX-32-PIC-NEXT: ret
5206 ; LINUX-64-PIC-LABEL: bar06:
5207 ; LINUX-64-PIC: leaq lsrc(%rip), %rax
5208 ; LINUX-64-PIC-NEXT: ret
5218 ; DARWIN-32-PIC: _bar06:
5219 ; DARWIN-32-PIC: calll L74$pb
5220 ; DARWIN-32-PIC-NEXT: L74$pb:
5221 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5222 ; DARWIN-32-PIC-NEXT: leal _lsrc-L74$pb([[EAX]]), %eax
5223 ; DARWIN-32-PIC-NEXT: ret
5233 ; DARWIN-64-PIC: _bar06:
5234 ; DARWIN-64-PIC: leaq _lsrc(%rip), %rax
5235 ; DARWIN-64-PIC-NEXT: ret
5249 ; LINUX-32-PIC-LABEL: bar07:
5250 ; LINUX-32-PIC: movl $ldst, %eax
5251 ; LINUX-32-PIC-NEXT: ret
5253 ; LINUX-64-PIC-LABEL: bar07:
5254 ; LINUX-64-PIC: leaq ldst(%rip), %rax
5255 ; LINUX-64-PIC-NEXT: ret
5265 ; DARWIN-32-PIC: _bar07:
5266 ; DARWIN-32-PIC: calll L75$pb
5267 ; DARWIN-32-PIC-NEXT: L75$pb:
5268 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5269 ; DARWIN-32-PIC-NEXT: leal _ldst-L75$pb([[EAX]]), %eax
5270 ; DARWIN-32-PIC-NEXT: ret
5280 ; DARWIN-64-PIC: _bar07:
5281 ; DARWIN-64-PIC: leaq _ldst(%rip), %rax
5282 ; DARWIN-64-PIC-NEXT: ret
5296 ; LINUX-32-PIC-LABEL: bar08:
5297 ; LINUX-32-PIC: movl $lptr, %eax
5298 ; LINUX-32-PIC-NEXT: ret
5300 ; LINUX-64-PIC-LABEL: bar08:
5301 ; LINUX-64-PIC: leaq lptr(%rip), %rax
5302 ; LINUX-64-PIC-NEXT: ret
5312 ; DARWIN-32-PIC: _bar08:
5313 ; DARWIN-32-PIC: calll L76$pb
5314 ; DARWIN-32-PIC-NEXT: L76$pb:
5315 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5316 ; DARWIN-32-PIC-NEXT: leal _lptr-L76$pb([[EAX]]), %eax
5317 ; DARWIN-32-PIC-NEXT: ret
5327 ; DARWIN-64-PIC: _bar08:
5328 ; DARWIN-64-PIC: leaq _lptr(%rip), %rax
5329 ; DARWIN-64-PIC-NEXT: ret
5343 ; LINUX-32-PIC-LABEL: har00:
5344 ; LINUX-32-PIC: movl $src, %eax
5345 ; LINUX-32-PIC-NEXT: ret
5347 ; LINUX-64-PIC-LABEL: har00:
5348 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), %rax
5349 ; LINUX-64-PIC-NEXT: ret
5359 ; DARWIN-32-PIC: _har00:
5360 ; DARWIN-32-PIC: calll L77$pb
5361 ; DARWIN-32-PIC-NEXT: L77$pb:
5362 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5363 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L77$pb([[EAX]]), %eax
5364 ; DARWIN-32-PIC-NEXT: ret
5374 ; DARWIN-64-PIC: _har00:
5375 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), %rax
5376 ; DARWIN-64-PIC-NEXT: ret
5390 ; LINUX-32-PIC-LABEL: hxr00:
5391 ; LINUX-32-PIC: movl $xsrc, %eax
5392 ; LINUX-32-PIC-NEXT: ret
5394 ; LINUX-64-PIC-LABEL: hxr00:
5395 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), %rax
5396 ; LINUX-64-PIC-NEXT: ret
5406 ; DARWIN-32-PIC: _hxr00:
5407 ; DARWIN-32-PIC: calll L78$pb
5408 ; DARWIN-32-PIC-NEXT: L78$pb:
5409 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5410 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L78$pb([[EAX]]), %eax
5411 ; DARWIN-32-PIC-NEXT: ret
5421 ; DARWIN-64-PIC: _hxr00:
5422 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), %rax
5423 ; DARWIN-64-PIC-NEXT: ret
5437 ; LINUX-32-PIC-LABEL: har01:
5438 ; LINUX-32-PIC: movl $dst, %eax
5439 ; LINUX-32-PIC-NEXT: ret
5441 ; LINUX-64-PIC-LABEL: har01:
5442 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), %rax
5443 ; LINUX-64-PIC-NEXT: ret
5453 ; DARWIN-32-PIC: _har01:
5454 ; DARWIN-32-PIC: calll L79$pb
5455 ; DARWIN-32-PIC-NEXT: L79$pb:
5456 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5457 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L79$pb([[EAX]]), %eax
5458 ; DARWIN-32-PIC-NEXT: ret
5468 ; DARWIN-64-PIC: _har01:
5469 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), %rax
5470 ; DARWIN-64-PIC-NEXT: ret
5484 ; LINUX-32-PIC-LABEL: hxr01:
5485 ; LINUX-32-PIC: movl $xdst, %eax
5486 ; LINUX-32-PIC-NEXT: ret
5488 ; LINUX-64-PIC-LABEL: hxr01:
5489 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), %rax
5490 ; LINUX-64-PIC-NEXT: ret
5500 ; DARWIN-32-PIC: _hxr01:
5501 ; DARWIN-32-PIC: calll L80$pb
5502 ; DARWIN-32-PIC-NEXT: L80$pb:
5503 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5504 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L80$pb([[EAX]]), %eax
5505 ; DARWIN-32-PIC-NEXT: ret
5515 ; DARWIN-64-PIC: _hxr01:
5516 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), %rax
5517 ; DARWIN-64-PIC-NEXT: ret
5533 ; LINUX-32-PIC-LABEL: har02:
5534 ; LINUX-32-PIC: movl ptr, %eax
5535 ; LINUX-32-PIC-NEXT: ret
5537 ; LINUX-64-PIC-LABEL: har02:
5538 ; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]]
5539 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax
5540 ; LINUX-64-PIC-NEXT: ret
5551 ; DARWIN-32-PIC: _har02:
5552 ; DARWIN-32-PIC: calll L81$pb
5553 ; DARWIN-32-PIC-NEXT: L81$pb:
5554 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5555 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L81$pb([[EAX]]), [[EAX:%e.x]]
5556 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), %eax
5557 ; DARWIN-32-PIC-NEXT: ret
5569 ; DARWIN-64-PIC: _har02:
5570 ; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]]
5571 ; DARWIN-64-PIC-NEXT: movq ([[RAX]]), %rax
5572 ; DARWIN-64-PIC-NEXT: ret
5586 ; LINUX-32-PIC-LABEL: har03:
5587 ; LINUX-32-PIC: movl $dsrc, %eax
5588 ; LINUX-32-PIC-NEXT: ret
5590 ; LINUX-64-PIC-LABEL: har03:
5591 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), %rax
5592 ; LINUX-64-PIC-NEXT: ret
5602 ; DARWIN-32-PIC: _har03:
5603 ; DARWIN-32-PIC: calll L82$pb
5604 ; DARWIN-32-PIC-NEXT: L82$pb:
5605 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5606 ; DARWIN-32-PIC-NEXT: leal _dsrc-L82$pb([[EAX]]), %eax
5607 ; DARWIN-32-PIC-NEXT: ret
5617 ; DARWIN-64-PIC: _har03:
5618 ; DARWIN-64-PIC: leaq _dsrc(%rip), %rax
5619 ; DARWIN-64-PIC-NEXT: ret
5633 ; LINUX-32-PIC-LABEL: har04:
5634 ; LINUX-32-PIC: movl $ddst, %eax
5635 ; LINUX-32-PIC-NEXT: ret
5637 ; LINUX-64-PIC-LABEL: har04:
5638 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), %rax
5639 ; LINUX-64-PIC-NEXT: ret
5649 ; DARWIN-32-PIC: _har04:
5650 ; DARWIN-32-PIC: calll L83$pb
5651 ; DARWIN-32-PIC-NEXT: L83$pb:
5652 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5653 ; DARWIN-32-PIC-NEXT: leal _ddst-L83$pb([[EAX]]), %eax
5654 ; DARWIN-32-PIC-NEXT: ret
5664 ; DARWIN-64-PIC: _har04:
5665 ; DARWIN-64-PIC: leaq _ddst(%rip), %rax
5666 ; DARWIN-64-PIC-NEXT: ret
5682 ; LINUX-32-PIC-LABEL: har05:
5683 ; LINUX-32-PIC: movl dptr, %eax
5684 ; LINUX-32-PIC-NEXT: ret
5686 ; LINUX-64-PIC-LABEL: har05:
5687 ; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]]
5688 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax
5689 ; LINUX-64-PIC-NEXT: ret
5699 ; DARWIN-32-PIC: _har05:
5700 ; DARWIN-32-PIC: calll L84$pb
5701 ; DARWIN-32-PIC-NEXT: L84$pb:
5702 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5703 ; DARWIN-32-PIC-NEXT: movl _dptr-L84$pb([[EAX]]), %eax
5704 ; DARWIN-32-PIC-NEXT: ret
5714 ; DARWIN-64-PIC: _har05:
5715 ; DARWIN-64-PIC: movq _dptr(%rip), %rax
5716 ; DARWIN-64-PIC-NEXT: ret
5730 ; LINUX-32-PIC-LABEL: har06:
5731 ; LINUX-32-PIC: movl $lsrc, %eax
5732 ; LINUX-32-PIC-NEXT: ret
5734 ; LINUX-64-PIC-LABEL: har06:
5735 ; LINUX-64-PIC: leaq lsrc(%rip), %rax
5736 ; LINUX-64-PIC-NEXT: ret
5746 ; DARWIN-32-PIC: _har06:
5747 ; DARWIN-32-PIC: calll L85$pb
5748 ; DARWIN-32-PIC-NEXT: L85$pb:
5749 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5750 ; DARWIN-32-PIC-NEXT: leal _lsrc-L85$pb([[EAX]]), %eax
5751 ; DARWIN-32-PIC-NEXT: ret
5761 ; DARWIN-64-PIC: _har06:
5762 ; DARWIN-64-PIC: leaq _lsrc(%rip), %rax
5763 ; DARWIN-64-PIC-NEXT: ret
5777 ; LINUX-32-PIC-LABEL: har07:
5778 ; LINUX-32-PIC: movl $ldst, %eax
5779 ; LINUX-32-PIC-NEXT: ret
5781 ; LINUX-64-PIC-LABEL: har07:
5782 ; LINUX-64-PIC: leaq ldst(%rip), %rax
5783 ; LINUX-64-PIC-NEXT: ret
5793 ; DARWIN-32-PIC: _har07:
5794 ; DARWIN-32-PIC: calll L86$pb
5795 ; DARWIN-32-PIC-NEXT: L86$pb:
5796 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5797 ; DARWIN-32-PIC-NEXT: leal _ldst-L86$pb([[EAX]]), %eax
5798 ; DARWIN-32-PIC-NEXT: ret
5808 ; DARWIN-64-PIC: _har07:
5809 ; DARWIN-64-PIC: leaq _ldst(%rip), %rax
5810 ; DARWIN-64-PIC-NEXT: ret
5826 ; LINUX-32-PIC-LABEL: har08:
5827 ; LINUX-32-PIC: movl lptr, %eax
5828 ; LINUX-32-PIC-NEXT: ret
5830 ; LINUX-64-PIC-LABEL: har08:
5831 ; LINUX-64-PIC: movq lptr(%rip), %rax
5832 ; LINUX-64-PIC-NEXT: ret
5842 ; DARWIN-32-PIC: _har08:
5843 ; DARWIN-32-PIC: calll L87$pb
5844 ; DARWIN-32-PIC-NEXT: L87$pb:
5845 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5846 ; DARWIN-32-PIC-NEXT: movl _lptr-L87$pb([[EAX]]), %eax
5847 ; DARWIN-32-PIC-NEXT: ret
5857 ; DARWIN-64-PIC: _har08:
5858 ; DARWIN-64-PIC: movq _lptr(%rip), %rax
5859 ; DARWIN-64-PIC-NEXT: ret
5873 ; LINUX-32-PIC-LABEL: bat00:
5874 ; LINUX-32-PIC: movl $src+64, %eax
5875 ; LINUX-32-PIC-NEXT: ret
5877 ; LINUX-64-PIC-LABEL: bat00:
5878 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), %rax
5879 ; LINUX-64-PIC-NEXT: addq $64, %rax
5880 ; LINUX-64-PIC-NEXT: ret
5891 ; DARWIN-32-PIC: _bat00:
5892 ; DARWIN-32-PIC: calll L88$pb
5893 ; DARWIN-32-PIC-NEXT: L88$pb:
5894 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5895 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L88$pb([[EAX]]), %eax
5896 ; DARWIN-32-PIC-NEXT: addl $64, %eax
5897 ; DARWIN-32-PIC-NEXT: ret
5909 ; DARWIN-64-PIC: _bat00:
5910 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), %rax
5911 ; DARWIN-64-PIC-NEXT: addq $64, %rax
5912 ; DARWIN-64-PIC-NEXT: ret
5926 ; LINUX-32-PIC-LABEL: bxt00:
5927 ; LINUX-32-PIC: movl $xsrc+64, %eax
5928 ; LINUX-32-PIC-NEXT: ret
5930 ; LINUX-64-PIC-LABEL: bxt00:
5931 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), %rax
5932 ; LINUX-64-PIC-NEXT: addq $64, %rax
5933 ; LINUX-64-PIC-NEXT: ret
5944 ; DARWIN-32-PIC: _bxt00:
5945 ; DARWIN-32-PIC: calll L89$pb
5946 ; DARWIN-32-PIC-NEXT: L89$pb:
5947 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
5948 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L89$pb([[EAX]]), %eax
5949 ; DARWIN-32-PIC-NEXT: addl $64, %eax
5950 ; DARWIN-32-PIC-NEXT: ret
5962 ; DARWIN-64-PIC: _bxt00:
5963 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), %rax
5964 ; DARWIN-64-PIC-NEXT: addq $64, %rax
5965 ; DARWIN-64-PIC-NEXT: ret
5979 ; LINUX-32-PIC-LABEL: bat01:
5980 ; LINUX-32-PIC: movl $dst+64, %eax
5981 ; LINUX-32-PIC-NEXT: ret
5983 ; LINUX-64-PIC-LABEL: bat01:
5984 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), %rax
5985 ; LINUX-64-PIC-NEXT: addq $64, %rax
5986 ; LINUX-64-PIC-NEXT: ret
5997 ; DARWIN-32-PIC: _bat01:
5998 ; DARWIN-32-PIC: calll L90$pb
5999 ; DARWIN-32-PIC-NEXT: L90$pb:
6000 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6001 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L90$pb([[EAX]]), %eax
6002 ; DARWIN-32-PIC-NEXT: addl $64, %eax
6003 ; DARWIN-32-PIC-NEXT: ret
6015 ; DARWIN-64-PIC: _bat01:
6016 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), %rax
6017 ; DARWIN-64-PIC-NEXT: addq $64, %rax
6018 ; DARWIN-64-PIC-NEXT: ret
6032 ; LINUX-32-PIC-LABEL: bxt01:
6033 ; LINUX-32-PIC: movl $xdst+64, %eax
6034 ; LINUX-32-PIC-NEXT: ret
6036 ; LINUX-64-PIC-LABEL: bxt01:
6037 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), %rax
6038 ; LINUX-64-PIC-NEXT: addq $64, %rax
6039 ; LINUX-64-PIC-NEXT: ret
6050 ; DARWIN-32-PIC: _bxt01:
6051 ; DARWIN-32-PIC: calll L91$pb
6052 ; DARWIN-32-PIC-NEXT: L91$pb:
6053 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6054 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L91$pb([[EAX]]), %eax
6055 ; DARWIN-32-PIC-NEXT: addl $64, %eax
6056 ; DARWIN-32-PIC-NEXT: ret
6068 ; DARWIN-64-PIC: _bxt01:
6069 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), %rax
6070 ; DARWIN-64-PIC-NEXT: addq $64, %rax
6071 ; DARWIN-64-PIC-NEXT: ret
6090 ; LINUX-32-PIC-LABEL: bat02:
6091 ; LINUX-32-PIC: movl ptr, %eax
6092 ; LINUX-32-PIC-NEXT: addl $64, %eax
6093 ; LINUX-32-PIC-NEXT: ret
6095 ; LINUX-64-PIC-LABEL: bat02:
6096 ; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]]
6097 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax
6098 ; LINUX-64-PIC-NEXT: addq $64, %rax
6099 ; LINUX-64-PIC-NEXT: ret
6112 ; DARWIN-32-PIC: _bat02:
6113 ; DARWIN-32-PIC: calll L92$pb
6114 ; DARWIN-32-PIC-NEXT: L92$pb:
6115 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6116 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L92$pb([[EAX]]), [[EAX:%e.x]]
6117 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), %eax
6118 ; DARWIN-32-PIC-NEXT: addl $64, %eax
6119 ; DARWIN-32-PIC-NEXT: ret
6133 ; DARWIN-64-PIC: _bat02:
6134 ; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]]
6135 ; DARWIN-64-PIC-NEXT: movq ([[RAX]]), %rax
6136 ; DARWIN-64-PIC-NEXT: addq $64, %rax
6137 ; DARWIN-64-PIC-NEXT: ret
6151 ; LINUX-32-PIC-LABEL: bat03:
6152 ; LINUX-32-PIC: movl $dsrc+64, %eax
6153 ; LINUX-32-PIC-NEXT: ret
6155 ; LINUX-64-PIC-LABEL: bat03:
6156 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), %rax
6157 ; LINUX-64-PIC-NEXT: addq $64, %rax
6158 ; LINUX-64-PIC-NEXT: ret
6168 ; DARWIN-32-PIC: _bat03:
6169 ; DARWIN-32-PIC: calll L93$pb
6170 ; DARWIN-32-PIC-NEXT: L93$pb:
6171 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6172 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L93$pb)+64([[EAX]]), %eax
6173 ; DARWIN-32-PIC-NEXT: ret
6183 ; DARWIN-64-PIC: _bat03:
6184 ; DARWIN-64-PIC: leaq _dsrc+64(%rip), %rax
6185 ; DARWIN-64-PIC-NEXT: ret
6199 ; LINUX-32-PIC-LABEL: bat04:
6200 ; LINUX-32-PIC: movl $ddst+64, %eax
6201 ; LINUX-32-PIC-NEXT: ret
6203 ; LINUX-64-PIC-LABEL: bat04:
6204 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), %rax
6205 ; LINUX-64-PIC-NEXT: addq $64, %rax
6206 ; LINUX-64-PIC-NEXT: ret
6216 ; DARWIN-32-PIC: _bat04:
6217 ; DARWIN-32-PIC: calll L94$pb
6218 ; DARWIN-32-PIC-NEXT: L94$pb:
6219 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6220 ; DARWIN-32-PIC-NEXT: leal (_ddst-L94$pb)+64([[EAX]]), %eax
6221 ; DARWIN-32-PIC-NEXT: ret
6231 ; DARWIN-64-PIC: _bat04:
6232 ; DARWIN-64-PIC: leaq _ddst+64(%rip), %rax
6233 ; DARWIN-64-PIC-NEXT: ret
6252 ; LINUX-32-PIC-LABEL: bat05:
6253 ; LINUX-32-PIC: movl dptr, %eax
6254 ; LINUX-32-PIC-NEXT: addl $64, %eax
6255 ; LINUX-32-PIC-NEXT: ret
6257 ; LINUX-64-PIC-LABEL: bat05:
6258 ; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]]
6259 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax
6260 ; LINUX-64-PIC-NEXT: addq $64, %rax
6261 ; LINUX-64-PIC-NEXT: ret
6273 ; DARWIN-32-PIC: _bat05:
6274 ; DARWIN-32-PIC: calll L95$pb
6275 ; DARWIN-32-PIC-NEXT: L95$pb:
6276 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6277 ; DARWIN-32-PIC-NEXT: movl _dptr-L95$pb([[EAX]]), %eax
6278 ; DARWIN-32-PIC-NEXT: addl $64, %eax
6279 ; DARWIN-32-PIC-NEXT: ret
6291 ; DARWIN-64-PIC: _bat05:
6292 ; DARWIN-64-PIC: movq _dptr(%rip), %rax
6293 ; DARWIN-64-PIC-NEXT: addq $64, %rax
6294 ; DARWIN-64-PIC-NEXT: ret
6308 ; LINUX-32-PIC-LABEL: bat06:
6309 ; LINUX-32-PIC: movl $lsrc+64, %eax
6310 ; LINUX-32-PIC-NEXT: ret
6312 ; LINUX-64-PIC-LABEL: bat06:
6313 ; LINUX-64-PIC: leaq lsrc+64(%rip), %rax
6314 ; LINUX-64-PIC-NEXT: ret
6324 ; DARWIN-32-PIC: _bat06:
6325 ; DARWIN-32-PIC: calll L96$pb
6326 ; DARWIN-32-PIC-NEXT: L96$pb:
6327 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6328 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L96$pb)+64([[EAX]]), %eax
6329 ; DARWIN-32-PIC-NEXT: ret
6339 ; DARWIN-64-PIC: _bat06:
6340 ; DARWIN-64-PIC: leaq _lsrc+64(%rip), %rax
6341 ; DARWIN-64-PIC-NEXT: ret
6355 ; LINUX-32-PIC-LABEL: bat07:
6356 ; LINUX-32-PIC: movl $ldst+64, %eax
6357 ; LINUX-32-PIC-NEXT: ret
6359 ; LINUX-64-PIC-LABEL: bat07:
6360 ; LINUX-64-PIC: leaq ldst+64(%rip), %rax
6361 ; LINUX-64-PIC-NEXT: ret
6371 ; DARWIN-32-PIC: _bat07:
6372 ; DARWIN-32-PIC: calll L97$pb
6373 ; DARWIN-32-PIC-NEXT: L97$pb:
6374 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6375 ; DARWIN-32-PIC-NEXT: leal (_ldst-L97$pb)+64([[EAX]]), %eax
6376 ; DARWIN-32-PIC-NEXT: ret
6386 ; DARWIN-64-PIC: _bat07:
6387 ; DARWIN-64-PIC: leaq _ldst+64(%rip), %rax
6388 ; DARWIN-64-PIC-NEXT: ret
6407 ; LINUX-32-PIC-LABEL: bat08:
6408 ; LINUX-32-PIC: movl lptr, %eax
6409 ; LINUX-32-PIC-NEXT: addl $64, %eax
6410 ; LINUX-32-PIC-NEXT: ret
6412 ; LINUX-64-PIC-LABEL: bat08:
6413 ; LINUX-64-PIC: movq lptr(%rip), %rax
6414 ; LINUX-64-PIC-NEXT: addq $64, %rax
6415 ; LINUX-64-PIC-NEXT: ret
6427 ; DARWIN-32-PIC: _bat08:
6428 ; DARWIN-32-PIC: calll L98$pb
6429 ; DARWIN-32-PIC-NEXT: L98$pb:
6430 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6431 ; DARWIN-32-PIC-NEXT: movl _lptr-L98$pb([[EAX]]), %eax
6432 ; DARWIN-32-PIC-NEXT: addl $64, %eax
6433 ; DARWIN-32-PIC-NEXT: ret
6445 ; DARWIN-64-PIC: _bat08:
6446 ; DARWIN-64-PIC: movq _lptr(%rip), %rax
6447 ; DARWIN-64-PIC-NEXT: addq $64, %rax
6448 ; DARWIN-64-PIC-NEXT: ret
6462 ; LINUX-32-PIC-LABEL: bam00:
6463 ; LINUX-32-PIC: movl $src+262144, %eax
6464 ; LINUX-32-PIC-NEXT: ret
6466 ; LINUX-64-PIC-LABEL: bam00:
6467 ; LINUX-64-PIC: movl $262144, %eax
6468 ; LINUX-64-PIC-NEXT: addq src@GOTPCREL(%rip), %rax
6469 ; LINUX-64-PIC-NEXT: ret
6480 ; DARWIN-32-PIC: _bam00:
6481 ; DARWIN-32-PIC: calll L99$pb
6482 ; DARWIN-32-PIC-NEXT: L99$pb:
6483 ; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]]
6484 ; DARWIN-32-PIC-NEXT: movl $262144, %eax
6485 ; DARWIN-32-PIC-NEXT: addl L_src$non_lazy_ptr-L99$pb([[ECX]]), %eax
6486 ; DARWIN-32-PIC-NEXT: ret
6498 ; DARWIN-64-PIC: _bam00:
6499 ; DARWIN-64-PIC: movl $262144, %eax
6500 ; DARWIN-64-PIC-NEXT: addq _src@GOTPCREL(%rip), %rax
6501 ; DARWIN-64-PIC-NEXT: ret
6515 ; LINUX-32-PIC-LABEL: bam01:
6516 ; LINUX-32-PIC: movl $dst+262144, %eax
6517 ; LINUX-32-PIC-NEXT: ret
6519 ; LINUX-64-PIC-LABEL: bam01:
6520 ; LINUX-64-PIC: movl $262144, %eax
6521 ; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax
6522 ; LINUX-64-PIC-NEXT: ret
6533 ; DARWIN-32-PIC: _bam01:
6534 ; DARWIN-32-PIC: calll L100$pb
6535 ; DARWIN-32-PIC-NEXT: L100$pb:
6536 ; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]]
6537 ; DARWIN-32-PIC-NEXT: movl $262144, %eax
6538 ; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L100$pb([[ECX]]), %eax
6539 ; DARWIN-32-PIC-NEXT: ret
6551 ; DARWIN-64-PIC: _bam01:
6552 ; DARWIN-64-PIC: movl $262144, %eax
6553 ; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax
6554 ; DARWIN-64-PIC-NEXT: ret
6568 ; LINUX-32-PIC-LABEL: bxm01:
6569 ; LINUX-32-PIC: movl $xdst+262144, %eax
6570 ; LINUX-32-PIC-NEXT: ret
6572 ; LINUX-64-PIC-LABEL: bxm01:
6573 ; LINUX-64-PIC: movl $262144, %eax
6574 ; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rax
6575 ; LINUX-64-PIC-NEXT: ret
6586 ; DARWIN-32-PIC: _bxm01:
6587 ; DARWIN-32-PIC: calll L101$pb
6588 ; DARWIN-32-PIC-NEXT: L101$pb:
6589 ; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]]
6590 ; DARWIN-32-PIC-NEXT: movl $262144, %eax
6591 ; DARWIN-32-PIC-NEXT: addl L_xdst$non_lazy_ptr-L101$pb([[ECX]]), %eax
6592 ; DARWIN-32-PIC-NEXT: ret
6604 ; DARWIN-64-PIC: _bxm01:
6605 ; DARWIN-64-PIC: movl $262144, %eax
6606 ; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax
6607 ; DARWIN-64-PIC-NEXT: ret
6626 ; LINUX-32-PIC-LABEL: bam02:
6627 ; LINUX-32-PIC: movl $262144, %eax
6628 ; LINUX-32-PIC-NEXT: addl ptr, %eax
6629 ; LINUX-32-PIC-NEXT: ret
6631 ; LINUX-64-PIC-LABEL: bam02:
6632 ; LINUX-64-PIC: movl $262144, %eax
6633 ; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]]
6634 ; LINUX-64-PIC-NEXT: addq ([[RCX]]), %rax
6635 ; LINUX-64-PIC-NEXT: ret
6648 ; DARWIN-32-PIC: _bam02:
6649 ; DARWIN-32-PIC: calll L102$pb
6650 ; DARWIN-32-PIC-NEXT: L102$pb:
6651 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6652 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L102$pb([[EAX]]), [[ECX:%e.x]]
6653 ; DARWIN-32-PIC-NEXT: movl $262144, %eax
6654 ; DARWIN-32-PIC-NEXT: addl ([[ECX]]), %eax
6655 ; DARWIN-32-PIC-NEXT: ret
6669 ; DARWIN-64-PIC: _bam02:
6670 ; DARWIN-64-PIC: movl $262144, %eax
6671 ; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]]
6672 ; DARWIN-64-PIC-NEXT: addq ([[RCX]]), %rax
6673 ; DARWIN-64-PIC-NEXT: ret
6687 ; LINUX-32-PIC-LABEL: bam03:
6688 ; LINUX-32-PIC: movl $dsrc+262144, %eax
6689 ; LINUX-32-PIC-NEXT: ret
6691 ; LINUX-64-PIC-LABEL: bam03:
6692 ; LINUX-64-PIC: movl $262144, %eax
6693 ; LINUX-64-PIC-NEXT: addq dsrc@GOTPCREL(%rip), %rax
6694 ; LINUX-64-PIC-NEXT: ret
6704 ; DARWIN-32-PIC: _bam03:
6705 ; DARWIN-32-PIC: calll L103$pb
6706 ; DARWIN-32-PIC-NEXT: L103$pb:
6707 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6708 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L103$pb)+262144([[EAX]]), %eax
6709 ; DARWIN-32-PIC-NEXT: ret
6719 ; DARWIN-64-PIC: _bam03:
6720 ; DARWIN-64-PIC: leaq _dsrc+262144(%rip), %rax
6721 ; DARWIN-64-PIC-NEXT: ret
6735 ; LINUX-32-PIC-LABEL: bam04:
6736 ; LINUX-32-PIC: movl $ddst+262144, %eax
6737 ; LINUX-32-PIC-NEXT: ret
6739 ; LINUX-64-PIC-LABEL: bam04:
6740 ; LINUX-64-PIC: movl $262144, %eax
6741 ; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rax
6742 ; LINUX-64-PIC-NEXT: ret
6752 ; DARWIN-32-PIC: _bam04:
6753 ; DARWIN-32-PIC: calll L104$pb
6754 ; DARWIN-32-PIC-NEXT: L104$pb:
6755 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6756 ; DARWIN-32-PIC-NEXT: leal (_ddst-L104$pb)+262144([[EAX]]), %eax
6757 ; DARWIN-32-PIC-NEXT: ret
6767 ; DARWIN-64-PIC: _bam04:
6768 ; DARWIN-64-PIC: leaq _ddst+262144(%rip), %rax
6769 ; DARWIN-64-PIC-NEXT: ret
6788 ; LINUX-32-PIC-LABEL: bam05:
6789 ; LINUX-32-PIC: movl $262144, %eax
6790 ; LINUX-32-PIC-NEXT: addl dptr, %eax
6791 ; LINUX-32-PIC-NEXT: ret
6793 ; LINUX-64-PIC-LABEL: bam05:
6794 ; LINUX-64-PIC: movl $262144, %eax
6795 ; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]]
6796 ; LINUX-64-PIC-NEXT: addq ([[RCX]]), %rax
6797 ; LINUX-64-PIC-NEXT: ret
6809 ; DARWIN-32-PIC: _bam05:
6810 ; DARWIN-32-PIC: calll L105$pb
6811 ; DARWIN-32-PIC-NEXT: L105$pb:
6812 ; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]]
6813 ; DARWIN-32-PIC-NEXT: movl $262144, %eax
6814 ; DARWIN-32-PIC-NEXT: addl _dptr-L105$pb([[ECX]]), %eax
6815 ; DARWIN-32-PIC-NEXT: ret
6827 ; DARWIN-64-PIC: _bam05:
6828 ; DARWIN-64-PIC: movl $262144, %eax
6829 ; DARWIN-64-PIC-NEXT: addq _dptr(%rip), %rax
6830 ; DARWIN-64-PIC-NEXT: ret
6844 ; LINUX-32-PIC-LABEL: bam06:
6845 ; LINUX-32-PIC: movl $lsrc+262144, %eax
6846 ; LINUX-32-PIC-NEXT: ret
6848 ; LINUX-64-PIC-LABEL: bam06:
6849 ; LINUX-64-PIC: leaq lsrc+262144(%rip), %rax
6850 ; LINUX-64-PIC-NEXT: ret
6860 ; DARWIN-32-PIC: _bam06:
6861 ; DARWIN-32-PIC: calll L106$pb
6862 ; DARWIN-32-PIC-NEXT: L106$pb:
6863 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
6864 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L106$pb)+262144([[EAX]]), %eax
6865 ; DARWIN-32-PIC-NEXT: ret
6875 ; DARWIN-64-PIC: _bam06:
6876 ; DARWIN-64-PIC: leaq _lsrc+262144(%rip), %rax
6877 ; DARWIN-64-PIC-NEXT: ret
6891 ; LINUX-32-PIC-LABEL: bam07:
6892 ; LINUX-32-PIC: movl $ldst+262144, %eax
6893 ; LINUX-32-PIC-NEXT: ret
6895 ; LINUX-64-PIC-LABEL: bam07:
6896 ; LINUX-64-PIC: leaq ldst+262144(%rip), %rax
6897 ; LINUX-64-PIC-NEXT: ret
6907 ; DARWIN-32-PIC: _bam07:
6908 ; DARWIN-32-PIC: calll L107$pb
6909 ; DARWIN-32-PIC-NEXT: L107$pb:
6910 ; DARWIN-32-PIC-NEXT: popl %eax
6911 ; DARWIN-32-PIC-NEXT: leal (_ldst-L107$pb)+262144([[EAX]]), %eax
6912 ; DARWIN-32-PIC-NEXT: ret
6922 ; DARWIN-64-PIC: _bam07:
6923 ; DARWIN-64-PIC: leaq _ldst+262144(%rip), %rax
6924 ; DARWIN-64-PIC-NEXT: ret
6943 ; LINUX-32-PIC-LABEL: bam08:
6944 ; LINUX-32-PIC: movl $262144, %eax
6945 ; LINUX-32-PIC-NEXT: addl lptr, %eax
6946 ; LINUX-32-PIC-NEXT: ret
6948 ; LINUX-64-PIC-LABEL: bam08:
6949 ; LINUX-64-PIC: movl $262144, %eax
6950 ; LINUX-64-PIC-NEXT: addq lptr(%rip), %rax
6951 ; LINUX-64-PIC-NEXT: ret
6963 ; DARWIN-32-PIC: _bam08:
6964 ; DARWIN-32-PIC: calll L108$pb
6965 ; DARWIN-32-PIC-NEXT: L108$pb:
6966 ; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]]
6967 ; DARWIN-32-PIC-NEXT: movl $262144, %eax
6968 ; DARWIN-32-PIC-NEXT: addl _lptr-L108$pb([[ECX]]), %eax
6969 ; DARWIN-32-PIC-NEXT: ret
6981 ; DARWIN-64-PIC: _bam08:
6982 ; DARWIN-64-PIC: movl $262144, %eax
6983 ; DARWIN-64-PIC-NEXT: addq _lptr(%rip), %rax
6984 ; DARWIN-64-PIC-NEXT: ret
7002 ; LINUX-32-PIC-LABEL: cat00:
7003 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7004 ; LINUX-32-PIC-NEXT: leal src+64(,[[EAX]],4), %eax
7005 ; LINUX-32-PIC-NEXT: ret
7007 ; LINUX-64-PIC-LABEL: cat00:
7008 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
7009 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7010 ; LINUX-64-PIC-NEXT: ret
7023 ; DARWIN-32-PIC: _cat00:
7024 ; DARWIN-32-PIC: calll L109$pb
7025 ; DARWIN-32-PIC-NEXT: L109$pb:
7026 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7027 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7028 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L109$pb([[EAX]]), [[EAX:%e.x]]
7029 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7030 ; DARWIN-32-PIC-NEXT: ret
7042 ; DARWIN-64-PIC: _cat00:
7043 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
7044 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7045 ; DARWIN-64-PIC-NEXT: ret
7063 ; LINUX-32-PIC-LABEL: cxt00:
7064 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7065 ; LINUX-32-PIC-NEXT: leal xsrc+64(,[[EAX]],4), %eax
7066 ; LINUX-32-PIC-NEXT: ret
7068 ; LINUX-64-PIC-LABEL: cxt00:
7069 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
7070 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7071 ; LINUX-64-PIC-NEXT: ret
7084 ; DARWIN-32-PIC: _cxt00:
7085 ; DARWIN-32-PIC: calll L110$pb
7086 ; DARWIN-32-PIC-NEXT: L110$pb:
7087 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7088 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7089 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L110$pb([[EAX]]), [[EAX:%e.x]]
7090 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7091 ; DARWIN-32-PIC-NEXT: ret
7103 ; DARWIN-64-PIC: _cxt00:
7104 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
7105 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7106 ; DARWIN-64-PIC-NEXT: ret
7124 ; LINUX-32-PIC-LABEL: cat01:
7125 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7126 ; LINUX-32-PIC-NEXT: leal dst+64(,[[EAX]],4), %eax
7127 ; LINUX-32-PIC-NEXT: ret
7129 ; LINUX-64-PIC-LABEL: cat01:
7130 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]]
7131 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7132 ; LINUX-64-PIC-NEXT: ret
7145 ; DARWIN-32-PIC: _cat01:
7146 ; DARWIN-32-PIC: calll L111$pb
7147 ; DARWIN-32-PIC-NEXT: L111$pb:
7148 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7149 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7150 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L111$pb([[EAX]]), [[EAX:%e.x]]
7151 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7152 ; DARWIN-32-PIC-NEXT: ret
7164 ; DARWIN-64-PIC: _cat01:
7165 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
7166 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7167 ; DARWIN-64-PIC-NEXT: ret
7185 ; LINUX-32-PIC-LABEL: cxt01:
7186 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7187 ; LINUX-32-PIC-NEXT: leal xdst+64(,[[EAX]],4), %eax
7188 ; LINUX-32-PIC-NEXT: ret
7190 ; LINUX-64-PIC-LABEL: cxt01:
7191 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]]
7192 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7193 ; LINUX-64-PIC-NEXT: ret
7206 ; DARWIN-32-PIC: _cxt01:
7207 ; DARWIN-32-PIC: calll L112$pb
7208 ; DARWIN-32-PIC-NEXT: L112$pb:
7209 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7210 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7211 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L112$pb([[EAX]]), [[EAX:%e.x]]
7212 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7213 ; DARWIN-32-PIC-NEXT: ret
7225 ; DARWIN-64-PIC: _cxt01:
7226 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]]
7227 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7228 ; DARWIN-64-PIC-NEXT: ret
7249 ; LINUX-32-PIC-LABEL: cat02:
7250 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7251 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
7252 ; LINUX-32-PIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax
7253 ; LINUX-32-PIC-NEXT: ret
7255 ; LINUX-64-PIC-LABEL: cat02:
7256 ; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]]
7257 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]]
7258 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7259 ; LINUX-64-PIC-NEXT: ret
7274 ; DARWIN-32-PIC: _cat02:
7275 ; DARWIN-32-PIC: calll L113$pb
7276 ; DARWIN-32-PIC-NEXT: L113$pb:
7277 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7278 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L113$pb([[EAX]]), [[EAX:%e.x]]
7279 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
7280 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7281 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7282 ; DARWIN-32-PIC-NEXT: ret
7296 ; DARWIN-64-PIC: _cat02:
7297 ; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]]
7298 ; DARWIN-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]]
7299 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7300 ; DARWIN-64-PIC-NEXT: ret
7318 ; LINUX-32-PIC-LABEL: cat03:
7319 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7320 ; LINUX-32-PIC-NEXT: leal dsrc+64(,[[EAX]],4), %eax
7321 ; LINUX-32-PIC-NEXT: ret
7323 ; LINUX-64-PIC-LABEL: cat03:
7324 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
7325 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7326 ; LINUX-64-PIC-NEXT: ret
7338 ; DARWIN-32-PIC: _cat03:
7339 ; DARWIN-32-PIC: calll L114$pb
7340 ; DARWIN-32-PIC-NEXT: L114$pb:
7341 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7342 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7343 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L114$pb)+64([[EAX]],[[ECX]],4), %eax
7344 ; DARWIN-32-PIC-NEXT: ret
7356 ; DARWIN-64-PIC: _cat03:
7357 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
7358 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7359 ; DARWIN-64-PIC-NEXT: ret
7377 ; LINUX-32-PIC-LABEL: cat04:
7378 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7379 ; LINUX-32-PIC-NEXT: leal ddst+64(,[[EAX]],4), %eax
7380 ; LINUX-32-PIC-NEXT: ret
7382 ; LINUX-64-PIC-LABEL: cat04:
7383 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
7384 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7385 ; LINUX-64-PIC-NEXT: ret
7397 ; DARWIN-32-PIC: _cat04:
7398 ; DARWIN-32-PIC: calll L115$pb
7399 ; DARWIN-32-PIC-NEXT: L115$pb:
7400 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7401 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7402 ; DARWIN-32-PIC-NEXT: leal (_ddst-L115$pb)+64([[EAX]],[[ECX]],4), %eax
7403 ; DARWIN-32-PIC-NEXT: ret
7415 ; DARWIN-64-PIC: _cat04:
7416 ; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]]
7417 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7418 ; DARWIN-64-PIC-NEXT: ret
7439 ; LINUX-32-PIC-LABEL: cat05:
7440 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7441 ; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]]
7442 ; LINUX-32-PIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax
7443 ; LINUX-32-PIC-NEXT: ret
7445 ; LINUX-64-PIC-LABEL: cat05:
7446 ; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]]
7447 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]]
7448 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7449 ; LINUX-64-PIC-NEXT: ret
7463 ; DARWIN-32-PIC: _cat05:
7464 ; DARWIN-32-PIC: calll L116$pb
7465 ; DARWIN-32-PIC-NEXT: L116$pb:
7466 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7467 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7468 ; DARWIN-32-PIC-NEXT: movl _dptr-L116$pb([[EAX]]), [[EAX:%e.x]]
7469 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7470 ; DARWIN-32-PIC-NEXT: ret
7482 ; DARWIN-64-PIC: _cat05:
7483 ; DARWIN-64-PIC: movq _dptr(%rip), [[RAX:%r.x]]
7484 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7485 ; DARWIN-64-PIC-NEXT: ret
7503 ; LINUX-32-PIC-LABEL: cat06:
7504 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7505 ; LINUX-32-PIC-NEXT: leal lsrc+64(,[[EAX]],4), %eax
7506 ; LINUX-32-PIC-NEXT: ret
7508 ; LINUX-64-PIC-LABEL: cat06:
7509 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
7510 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7511 ; LINUX-64-PIC-NEXT: ret
7523 ; DARWIN-32-PIC: _cat06:
7524 ; DARWIN-32-PIC: calll L117$pb
7525 ; DARWIN-32-PIC-NEXT: L117$pb:
7526 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7527 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7528 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L117$pb)+64([[EAX]],[[ECX]],4), %eax
7529 ; DARWIN-32-PIC-NEXT: ret
7541 ; DARWIN-64-PIC: _cat06:
7542 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
7543 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7544 ; DARWIN-64-PIC-NEXT: ret
7562 ; LINUX-32-PIC-LABEL: cat07:
7563 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7564 ; LINUX-32-PIC-NEXT: leal ldst+64(,[[EAX]],4), %eax
7565 ; LINUX-32-PIC-NEXT: ret
7567 ; LINUX-64-PIC-LABEL: cat07:
7568 ; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]]
7569 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7570 ; LINUX-64-PIC-NEXT: ret
7582 ; DARWIN-32-PIC: _cat07:
7583 ; DARWIN-32-PIC: calll L118$pb
7584 ; DARWIN-32-PIC-NEXT: L118$pb:
7585 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7586 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7587 ; DARWIN-32-PIC-NEXT: leal (_ldst-L118$pb)+64([[EAX]],[[ECX]],4), %eax
7588 ; DARWIN-32-PIC-NEXT: ret
7600 ; DARWIN-64-PIC: _cat07:
7601 ; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]]
7602 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7603 ; DARWIN-64-PIC-NEXT: ret
7624 ; LINUX-32-PIC-LABEL: cat08:
7625 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7626 ; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]]
7627 ; LINUX-32-PIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax
7628 ; LINUX-32-PIC-NEXT: ret
7630 ; LINUX-64-PIC-LABEL: cat08:
7631 ; LINUX-64-PIC: movq lptr(%rip), [[RAX:%r.x]]
7632 ; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7633 ; LINUX-64-PIC-NEXT: ret
7647 ; DARWIN-32-PIC: _cat08:
7648 ; DARWIN-32-PIC: calll L119$pb
7649 ; DARWIN-32-PIC-NEXT: L119$pb:
7650 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7651 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7652 ; DARWIN-32-PIC-NEXT: movl _lptr-L119$pb([[EAX]]), [[EAX:%e.x]]
7653 ; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax
7654 ; DARWIN-32-PIC-NEXT: ret
7666 ; DARWIN-64-PIC: _cat08:
7667 ; DARWIN-64-PIC: movq _lptr(%rip), [[RAX:%r.x]]
7668 ; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax
7669 ; DARWIN-64-PIC-NEXT: ret
7687 ; LINUX-32-PIC-LABEL: cam00:
7688 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7689 ; LINUX-32-PIC-NEXT: leal src+262144(,[[EAX]],4), %eax
7690 ; LINUX-32-PIC-NEXT: ret
7692 ; LINUX-64-PIC-LABEL: cam00:
7693 ; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]]
7694 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7695 ; LINUX-64-PIC-NEXT: ret
7708 ; DARWIN-32-PIC: _cam00:
7709 ; DARWIN-32-PIC: calll L120$pb
7710 ; DARWIN-32-PIC-NEXT: L120$pb:
7711 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7712 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7713 ; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L120$pb([[EAX]]), [[EAX:%e.x]]
7714 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
7715 ; DARWIN-32-PIC-NEXT: ret
7727 ; DARWIN-64-PIC: _cam00:
7728 ; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]]
7729 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7730 ; DARWIN-64-PIC-NEXT: ret
7748 ; LINUX-32-PIC-LABEL: cxm00:
7749 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7750 ; LINUX-32-PIC-NEXT: leal xsrc+262144(,[[EAX]],4), %eax
7751 ; LINUX-32-PIC-NEXT: ret
7753 ; LINUX-64-PIC-LABEL: cxm00:
7754 ; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
7755 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7756 ; LINUX-64-PIC-NEXT: ret
7769 ; DARWIN-32-PIC: _cxm00:
7770 ; DARWIN-32-PIC: calll L121$pb
7771 ; DARWIN-32-PIC-NEXT: L121$pb:
7772 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7773 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7774 ; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L121$pb([[EAX]]), [[EAX:%e.x]]
7775 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
7776 ; DARWIN-32-PIC-NEXT: ret
7788 ; DARWIN-64-PIC: _cxm00:
7789 ; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]]
7790 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7791 ; DARWIN-64-PIC-NEXT: ret
7809 ; LINUX-32-PIC-LABEL: cam01:
7810 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7811 ; LINUX-32-PIC-NEXT: leal dst+262144(,[[EAX]],4), %eax
7812 ; LINUX-32-PIC-NEXT: ret
7814 ; LINUX-64-PIC-LABEL: cam01:
7815 ; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]]
7816 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7817 ; LINUX-64-PIC-NEXT: ret
7830 ; DARWIN-32-PIC: _cam01:
7831 ; DARWIN-32-PIC: calll L122$pb
7832 ; DARWIN-32-PIC-NEXT: L122$pb:
7833 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7834 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7835 ; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L122$pb([[EAX]]), [[EAX:%e.x]]
7836 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
7837 ; DARWIN-32-PIC-NEXT: ret
7849 ; DARWIN-64-PIC: _cam01:
7850 ; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]]
7851 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7852 ; DARWIN-64-PIC-NEXT: ret
7870 ; LINUX-32-PIC-LABEL: cxm01:
7871 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7872 ; LINUX-32-PIC-NEXT: leal xdst+262144(,[[EAX]],4), %eax
7873 ; LINUX-32-PIC-NEXT: ret
7875 ; LINUX-64-PIC-LABEL: cxm01:
7876 ; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]]
7877 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7878 ; LINUX-64-PIC-NEXT: ret
7891 ; DARWIN-32-PIC: _cxm01:
7892 ; DARWIN-32-PIC: calll L123$pb
7893 ; DARWIN-32-PIC-NEXT: L123$pb:
7894 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7895 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7896 ; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L123$pb([[EAX]]), [[EAX:%e.x]]
7897 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
7898 ; DARWIN-32-PIC-NEXT: ret
7910 ; DARWIN-64-PIC: _cxm01:
7911 ; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]]
7912 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7913 ; DARWIN-64-PIC-NEXT: ret
7934 ; LINUX-32-PIC-LABEL: cam02:
7935 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
7936 ; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]]
7937 ; LINUX-32-PIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax
7938 ; LINUX-32-PIC-NEXT: ret
7940 ; LINUX-64-PIC-LABEL: cam02:
7941 ; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]]
7942 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]]
7943 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7944 ; LINUX-64-PIC-NEXT: ret
7959 ; DARWIN-32-PIC: _cam02:
7960 ; DARWIN-32-PIC: calll L124$pb
7961 ; DARWIN-32-PIC-NEXT: L124$pb:
7962 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
7963 ; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L124$pb([[EAX]]), [[EAX:%e.x]]
7964 ; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]]
7965 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
7966 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
7967 ; DARWIN-32-PIC-NEXT: ret
7981 ; DARWIN-64-PIC: _cam02:
7982 ; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]]
7983 ; DARWIN-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]]
7984 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
7985 ; DARWIN-64-PIC-NEXT: ret
8003 ; LINUX-32-PIC-LABEL: cam03:
8004 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
8005 ; LINUX-32-PIC-NEXT: leal dsrc+262144(,[[EAX]],4), %eax
8006 ; LINUX-32-PIC-NEXT: ret
8008 ; LINUX-64-PIC-LABEL: cam03:
8009 ; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]]
8010 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8011 ; LINUX-64-PIC-NEXT: ret
8023 ; DARWIN-32-PIC: _cam03:
8024 ; DARWIN-32-PIC: calll L125$pb
8025 ; DARWIN-32-PIC-NEXT: L125$pb:
8026 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8027 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
8028 ; DARWIN-32-PIC-NEXT: leal (_dsrc-L125$pb)+262144([[EAX]],[[ECX]],4), %eax
8029 ; DARWIN-32-PIC-NEXT: ret
8041 ; DARWIN-64-PIC: _cam03:
8042 ; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]]
8043 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8044 ; DARWIN-64-PIC-NEXT: ret
8062 ; LINUX-32-PIC-LABEL: cam04:
8063 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
8064 ; LINUX-32-PIC-NEXT: leal ddst+262144(,[[EAX]],4), %eax
8065 ; LINUX-32-PIC-NEXT: ret
8067 ; LINUX-64-PIC-LABEL: cam04:
8068 ; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]]
8069 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8070 ; LINUX-64-PIC-NEXT: ret
8082 ; DARWIN-32-PIC: _cam04:
8083 ; DARWIN-32-PIC: calll L126$pb
8084 ; DARWIN-32-PIC-NEXT: L126$pb:
8085 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8086 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
8087 ; DARWIN-32-PIC-NEXT: leal (_ddst-L126$pb)+262144([[EAX]],[[ECX]],4), %eax
8088 ; DARWIN-32-PIC-NEXT: ret
8100 ; DARWIN-64-PIC: _cam04:
8101 ; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]]
8102 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8103 ; DARWIN-64-PIC-NEXT: ret
8124 ; LINUX-32-PIC-LABEL: cam05:
8125 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
8126 ; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]]
8127 ; LINUX-32-PIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax
8128 ; LINUX-32-PIC-NEXT: ret
8130 ; LINUX-64-PIC-LABEL: cam05:
8131 ; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]]
8132 ; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]]
8133 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8134 ; LINUX-64-PIC-NEXT: ret
8148 ; DARWIN-32-PIC: _cam05:
8149 ; DARWIN-32-PIC: calll L127$pb
8150 ; DARWIN-32-PIC-NEXT: L127$pb:
8151 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8152 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
8153 ; DARWIN-32-PIC-NEXT: movl _dptr-L127$pb([[EAX]]), [[EAX:%e.x]]
8154 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
8155 ; DARWIN-32-PIC-NEXT: ret
8167 ; DARWIN-64-PIC: _cam05:
8168 ; DARWIN-64-PIC: movq _dptr(%rip), [[RAX:%r.x]]
8169 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8170 ; DARWIN-64-PIC-NEXT: ret
8188 ; LINUX-32-PIC-LABEL: cam06:
8189 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
8190 ; LINUX-32-PIC-NEXT: leal lsrc+262144(,[[EAX]],4), %eax
8191 ; LINUX-32-PIC-NEXT: ret
8193 ; LINUX-64-PIC-LABEL: cam06:
8194 ; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]]
8195 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8196 ; LINUX-64-PIC-NEXT: ret
8208 ; DARWIN-32-PIC: _cam06:
8209 ; DARWIN-32-PIC: calll L128$pb
8210 ; DARWIN-32-PIC-NEXT: L128$pb:
8211 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8212 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
8213 ; DARWIN-32-PIC-NEXT: leal (_lsrc-L128$pb)+262144([[EAX]],[[ECX]],4), %eax
8214 ; DARWIN-32-PIC-NEXT: ret
8226 ; DARWIN-64-PIC: _cam06:
8227 ; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]]
8228 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8229 ; DARWIN-64-PIC-NEXT: ret
8247 ; LINUX-32-PIC-LABEL: cam07:
8248 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
8249 ; LINUX-32-PIC-NEXT: leal ldst+262144(,[[EAX]],4), %eax
8250 ; LINUX-32-PIC-NEXT: ret
8252 ; LINUX-64-PIC-LABEL: cam07:
8253 ; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]]
8254 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8255 ; LINUX-64-PIC-NEXT: ret
8267 ; DARWIN-32-PIC: _cam07:
8268 ; DARWIN-32-PIC: calll L129$pb
8269 ; DARWIN-32-PIC-NEXT: L129$pb:
8270 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8271 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
8272 ; DARWIN-32-PIC-NEXT: leal (_ldst-L129$pb)+262144([[EAX]],[[ECX]],4), %eax
8273 ; DARWIN-32-PIC-NEXT: ret
8285 ; DARWIN-64-PIC: _cam07:
8286 ; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]]
8287 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8288 ; DARWIN-64-PIC-NEXT: ret
8309 ; LINUX-32-PIC-LABEL: cam08:
8310 ; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]]
8311 ; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]]
8312 ; LINUX-32-PIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax
8313 ; LINUX-32-PIC-NEXT: ret
8315 ; LINUX-64-PIC-LABEL: cam08:
8316 ; LINUX-64-PIC: movq lptr(%rip), [[RAX:%r.x]]
8317 ; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8318 ; LINUX-64-PIC-NEXT: ret
8332 ; DARWIN-32-PIC: _cam08:
8333 ; DARWIN-32-PIC: calll L130$pb
8334 ; DARWIN-32-PIC-NEXT: L130$pb:
8335 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8336 ; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]]
8337 ; DARWIN-32-PIC-NEXT: movl _lptr-L130$pb([[EAX]]), [[EAX:%e.x]]
8338 ; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax
8339 ; DARWIN-32-PIC-NEXT: ret
8351 ; DARWIN-64-PIC: _cam08:
8352 ; DARWIN-64-PIC: movq _lptr(%rip), [[RAX:%r.x]]
8353 ; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax
8354 ; DARWIN-64-PIC-NEXT: ret
8389 ; LINUX-32-PIC-LABEL: lcallee:
8390 ; LINUX-32-PIC: subl
8391 ; LINUX-32-PIC-NEXT: calll x
8392 ; LINUX-32-PIC-NEXT: calll x
8393 ; LINUX-32-PIC-NEXT: calll x
8394 ; LINUX-32-PIC-NEXT: calll x
8395 ; LINUX-32-PIC-NEXT: calll x
8396 ; LINUX-32-PIC-NEXT: calll x
8397 ; LINUX-32-PIC-NEXT: calll x
8398 ; LINUX-32-PIC-NEXT: addl
8400 ; LINUX-32-PIC-NEXT: ret
8402 ; LINUX-64-PIC-LABEL: lcallee:
8403 ; LINUX-64-PIC: pushq
8404 ; LINUX-64-PIC-NEXT: callq x@PLT
8405 ; LINUX-64-PIC-NEXT: callq x@PLT
8406 ; LINUX-64-PIC-NEXT: callq x@PLT
8407 ; LINUX-64-PIC-NEXT: callq x@PLT
8408 ; LINUX-64-PIC-NEXT: callq x@PLT
8409 ; LINUX-64-PIC-NEXT: callq x@PLT
8410 ; LINUX-64-PIC-NEXT: callq x@PLT
8411 ; LINUX-64-PIC-NEXT: popq
8412 ; LINUX-64-PIC-NEXT: ret
8438 ; DARWIN-32-PIC: _lcallee:
8439 ; DARWIN-32-PIC: subl $12, %esp
8440 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8441 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8442 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8443 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8444 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8445 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8446 ; DARWIN-32-PIC-NEXT: calll L_x$stub
8447 ; DARWIN-32-PIC-NEXT: addl $12, %esp
8448 ; DARWIN-32-PIC-NEXT: ret
8474 ; DARWIN-64-PIC: _lcallee:
8475 ; DARWIN-64-PIC: pushq
8476 ; DARWIN-64-PIC-NEXT: callq _x
8477 ; DARWIN-64-PIC-NEXT: callq _x
8478 ; DARWIN-64-PIC-NEXT: callq _x
8479 ; DARWIN-64-PIC-NEXT: callq _x
8480 ; DARWIN-64-PIC-NEXT: callq _x
8481 ; DARWIN-64-PIC-NEXT: callq _x
8482 ; DARWIN-64-PIC-NEXT: callq _x
8483 ; DARWIN-64-PIC-NEXT: popq
8484 ; DARWIN-64-PIC-NEXT: ret
8521 ; LINUX-32-PIC-LABEL: dcallee:
8522 ; LINUX-32-PIC: subl
8523 ; LINUX-32-PIC-NEXT: calll y
8524 ; LINUX-32-PIC-NEXT: calll y
8525 ; LINUX-32-PIC-NEXT: calll y
8526 ; LINUX-32-PIC-NEXT: calll y
8527 ; LINUX-32-PIC-NEXT: calll y
8528 ; LINUX-32-PIC-NEXT: calll y
8529 ; LINUX-32-PIC-NEXT: calll y
8530 ; LINUX-32-PIC-NEXT: addl
8532 ; LINUX-32-PIC-NEXT: ret
8534 ; LINUX-64-PIC-LABEL: dcallee:
8535 ; LINUX-64-PIC: pushq
8536 ; LINUX-64-PIC-NEXT: callq y@PLT
8537 ; LINUX-64-PIC-NEXT: callq y@PLT
8538 ; LINUX-64-PIC-NEXT: callq y@PLT
8539 ; LINUX-64-PIC-NEXT: callq y@PLT
8540 ; LINUX-64-PIC-NEXT: callq y@PLT
8541 ; LINUX-64-PIC-NEXT: callq y@PLT
8542 ; LINUX-64-PIC-NEXT: callq y@PLT
8543 ; LINUX-64-PIC-NEXT: popq
8544 ; LINUX-64-PIC-NEXT: ret
8570 ; DARWIN-32-PIC: _dcallee:
8571 ; DARWIN-32-PIC: subl $12, %esp
8572 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8573 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8574 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8575 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8576 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8577 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8578 ; DARWIN-32-PIC-NEXT: calll L_y$stub
8579 ; DARWIN-32-PIC-NEXT: addl $12, %esp
8580 ; DARWIN-32-PIC-NEXT: ret
8606 ; DARWIN-64-PIC: _dcallee:
8607 ; DARWIN-64-PIC: pushq
8608 ; DARWIN-64-PIC-NEXT: callq _y
8609 ; DARWIN-64-PIC-NEXT: callq _y
8610 ; DARWIN-64-PIC-NEXT: callq _y
8611 ; DARWIN-64-PIC-NEXT: callq _y
8612 ; DARWIN-64-PIC-NEXT: callq _y
8613 ; DARWIN-64-PIC-NEXT: callq _y
8614 ; DARWIN-64-PIC-NEXT: callq _y
8615 ; DARWIN-64-PIC-NEXT: popq
8616 ; DARWIN-64-PIC-NEXT: ret
8632 ; LINUX-32-PIC-LABEL: address:
8633 ; LINUX-32-PIC: movl $callee, %eax
8634 ; LINUX-32-PIC-NEXT: ret
8636 ; LINUX-64-PIC-LABEL: address:
8637 ; LINUX-64-PIC: movq callee@GOTPCREL(%rip), %rax
8638 ; LINUX-64-PIC-NEXT: ret
8648 ; DARWIN-32-PIC: _address:
8649 ; DARWIN-32-PIC: calll L133$pb
8650 ; DARWIN-32-PIC-NEXT: L133$pb:
8651 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8652 ; DARWIN-32-PIC-NEXT: movl L_callee$non_lazy_ptr-L133$pb([[EAX]]), %eax
8653 ; DARWIN-32-PIC-NEXT: ret
8663 ; DARWIN-64-PIC: _address:
8664 ; DARWIN-64-PIC: movq _callee@GOTPCREL(%rip), %rax
8665 ; DARWIN-64-PIC-NEXT: ret
8681 ; LINUX-32-PIC-LABEL: laddress:
8682 ; LINUX-32-PIC: movl $lcallee, %eax
8683 ; LINUX-32-PIC-NEXT: ret
8685 ; LINUX-64-PIC-LABEL: laddress:
8686 ; LINUX-64-PIC: movq lcallee@GOTPCREL(%rip), %rax
8687 ; LINUX-64-PIC-NEXT: ret
8697 ; DARWIN-32-PIC: _laddress:
8698 ; DARWIN-32-PIC: calll L134$pb
8699 ; DARWIN-32-PIC-NEXT: L134$pb:
8700 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8701 ; DARWIN-32-PIC-NEXT: leal _lcallee-L134$pb([[EAX]]), %eax
8702 ; DARWIN-32-PIC-NEXT: ret
8712 ; DARWIN-64-PIC: _laddress:
8713 ; DARWIN-64-PIC: leaq _lcallee(%rip), %rax
8714 ; DARWIN-64-PIC-NEXT: ret
8728 ; LINUX-32-PIC-LABEL: daddress:
8729 ; LINUX-32-PIC: movl $dcallee, %eax
8730 ; LINUX-32-PIC-NEXT: ret
8732 ; LINUX-64-PIC-LABEL: daddress:
8733 ; LINUX-64-PIC: leaq dcallee(%rip), %rax
8734 ; LINUX-64-PIC-NEXT: ret
8744 ; DARWIN-32-PIC: _daddress:
8745 ; DARWIN-32-PIC: calll L135$pb
8746 ; DARWIN-32-PIC-NEXT: L135$pb:
8747 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
8748 ; DARWIN-32-PIC-NEXT: leal _dcallee-L135$pb([[EAX]]), %eax
8749 ; DARWIN-32-PIC-NEXT: ret
8759 ; DARWIN-64-PIC: _daddress:
8760 ; DARWIN-64-PIC: leaq _dcallee(%rip), %rax
8761 ; DARWIN-64-PIC-NEXT: ret
8781 ; LINUX-32-PIC-LABEL: caller:
8782 ; LINUX-32-PIC: subl
8783 ; LINUX-32-PIC-NEXT: calll callee
8784 ; LINUX-32-PIC-NEXT: calll callee
8785 ; LINUX-32-PIC-NEXT: addl
8787 ; LINUX-32-PIC-NEXT: ret
8789 ; LINUX-64-PIC-LABEL: caller:
8790 ; LINUX-64-PIC: pushq
8791 ; LINUX-64-PIC-NEXT: callq callee@PLT
8792 ; LINUX-64-PIC-NEXT: callq callee@PLT
8793 ; LINUX-64-PIC-NEXT: popq
8794 ; LINUX-64-PIC-NEXT: ret
8810 ; DARWIN-32-PIC: _caller:
8811 ; DARWIN-32-PIC: subl $12, %esp
8812 ; DARWIN-32-PIC-NEXT: calll L_callee$stub
8813 ; DARWIN-32-PIC-NEXT: calll L_callee$stub
8814 ; DARWIN-32-PIC-NEXT: addl $12, %esp
8815 ; DARWIN-32-PIC-NEXT: ret
8831 ; DARWIN-64-PIC: _caller:
8832 ; DARWIN-64-PIC: pushq
8833 ; DARWIN-64-PIC-NEXT: callq _callee
8834 ; DARWIN-64-PIC-NEXT: callq _callee
8835 ; DARWIN-64-PIC-NEXT: popq
8836 ; DARWIN-64-PIC-NEXT: ret
8856 ; LINUX-32-PIC-LABEL: dcaller:
8857 ; LINUX-32-PIC: subl
8858 ; LINUX-32-PIC-NEXT: calll dcallee
8859 ; LINUX-32-PIC-NEXT: calll dcallee
8860 ; LINUX-32-PIC-NEXT: addl
8862 ; LINUX-32-PIC-NEXT: ret
8864 ; LINUX-64-PIC-LABEL: dcaller:
8865 ; LINUX-64-PIC: pushq
8866 ; LINUX-64-PIC-NEXT: callq dcallee
8867 ; LINUX-64-PIC-NEXT: callq dcallee
8868 ; LINUX-64-PIC-NEXT: popq
8869 ; LINUX-64-PIC-NEXT: ret
8885 ; DARWIN-32-PIC: _dcaller:
8886 ; DARWIN-32-PIC: subl $12, %esp
8887 ; DARWIN-32-PIC-NEXT: calll _dcallee
8888 ; DARWIN-32-PIC-NEXT: calll _dcallee
8889 ; DARWIN-32-PIC-NEXT: addl $12, %esp
8890 ; DARWIN-32-PIC-NEXT: ret
8906 ; DARWIN-64-PIC: _dcaller:
8907 ; DARWIN-64-PIC: pushq
8908 ; DARWIN-64-PIC-NEXT: callq _dcallee
8909 ; DARWIN-64-PIC-NEXT: callq _dcallee
8910 ; DARWIN-64-PIC-NEXT: popq
8911 ; DARWIN-64-PIC-NEXT: ret
8931 ; LINUX-32-PIC-LABEL: lcaller:
8932 ; LINUX-32-PIC: subl
8933 ; LINUX-32-PIC-NEXT: calll lcallee
8934 ; LINUX-32-PIC-NEXT: calll lcallee
8935 ; LINUX-32-PIC-NEXT: addl
8937 ; LINUX-32-PIC-NEXT: ret
8939 ; LINUX-64-PIC-LABEL: lcaller:
8940 ; LINUX-64-PIC: pushq
8941 ; LINUX-64-PIC-NEXT: callq lcallee@PLT
8942 ; LINUX-64-PIC-NEXT: callq lcallee@PLT
8943 ; LINUX-64-PIC-NEXT: popq
8944 ; LINUX-64-PIC-NEXT: ret
8960 ; DARWIN-32-PIC: _lcaller:
8961 ; DARWIN-32-PIC: subl $12, %esp
8962 ; DARWIN-32-PIC-NEXT: calll _lcallee
8963 ; DARWIN-32-PIC-NEXT: calll _lcallee
8964 ; DARWIN-32-PIC-NEXT: addl $12, %esp
8965 ; DARWIN-32-PIC-NEXT: ret
8981 ; DARWIN-64-PIC: _lcaller:
8982 ; DARWIN-64-PIC: pushq
8983 ; DARWIN-64-PIC-NEXT: callq _lcallee
8984 ; DARWIN-64-PIC-NEXT: callq _lcallee
8985 ; DARWIN-64-PIC-NEXT: popq
8986 ; DARWIN-64-PIC-NEXT: ret
9003 ; LINUX-32-PIC-LABEL: tailcaller:
9004 ; LINUX-32-PIC: subl
9005 ; LINUX-32-PIC-NEXT: calll callee
9006 ; LINUX-32-PIC-NEXT: addl
9008 ; LINUX-32-PIC-NEXT: ret
9010 ; LINUX-64-PIC-LABEL: tailcaller:
9011 ; LINUX-64-PIC: pushq
9012 ; LINUX-64-PIC-NEXT: callq callee@PLT
9013 ; LINUX-64-PIC-NEXT: popq
9014 ; LINUX-64-PIC-NEXT: ret
9028 ; DARWIN-32-PIC: _tailcaller:
9029 ; DARWIN-32-PIC: subl $12, %esp
9030 ; DARWIN-32-PIC-NEXT: calll L_callee$stub
9031 ; DARWIN-32-PIC-NEXT: addl $12, %esp
9032 ; DARWIN-32-PIC-NEXT: ret
9046 ; DARWIN-64-PIC: _tailcaller:
9047 ; DARWIN-64-PIC: pushq
9048 ; DARWIN-64-PIC-NEXT: callq _callee
9049 ; DARWIN-64-PIC-NEXT: popq
9050 ; DARWIN-64-PIC-NEXT: ret
9067 ; LINUX-32-PIC-LABEL: dtailcaller:
9068 ; LINUX-32-PIC: subl
9069 ; LINUX-32-PIC-NEXT: calll dcallee
9070 ; LINUX-32-PIC-NEXT: addl
9072 ; LINUX-32-PIC-NEXT: ret
9074 ; LINUX-64-PIC-LABEL: dtailcaller:
9075 ; LINUX-64-PIC: pushq
9076 ; LINUX-64-PIC-NEXT: callq dcallee
9077 ; LINUX-64-PIC-NEXT: popq
9078 ; LINUX-64-PIC-NEXT: ret
9092 ; DARWIN-32-PIC: _dtailcaller:
9093 ; DARWIN-32-PIC: subl $12, %esp
9094 ; DARWIN-32-PIC-NEXT: calll _dcallee
9095 ; DARWIN-32-PIC-NEXT: addl $12, %esp
9096 ; DARWIN-32-PIC-NEXT: ret
9110 ; DARWIN-64-PIC: _dtailcaller:
9111 ; DARWIN-64-PIC: pushq
9112 ; DARWIN-64-PIC-NEXT: callq _dcallee
9113 ; DARWIN-64-PIC-NEXT: popq
9114 ; DARWIN-64-PIC-NEXT: ret
9131 ; LINUX-32-PIC-LABEL: ltailcaller:
9132 ; LINUX-32-PIC: subl
9133 ; LINUX-32-PIC-NEXT: calll lcallee
9134 ; LINUX-32-PIC-NEXT: addl
9136 ; LINUX-32-PIC-NEXT: ret
9138 ; LINUX-64-PIC-LABEL: ltailcaller:
9139 ; LINUX-64-PIC: pushq
9140 ; LINUX-64-PIC-NEXT: callq lcallee@PLT
9141 ; LINUX-64-PIC-NEXT: popq
9142 ; LINUX-64-PIC-NEXT: ret
9156 ; DARWIN-32-PIC: _ltailcaller:
9157 ; DARWIN-32-PIC: subl $12, %esp
9158 ; DARWIN-32-PIC-NEXT: calll _lcallee
9159 ; DARWIN-32-PIC-NEXT: addl $12, %esp
9160 ; DARWIN-32-PIC-NEXT: ret
9174 ; DARWIN-64-PIC: _ltailcaller:
9175 ; DARWIN-64-PIC: pushq
9176 ; DARWIN-64-PIC-NEXT: callq _lcallee
9177 ; DARWIN-64-PIC-NEXT: popq
9178 ; DARWIN-64-PIC-NEXT: ret
9200 ; LINUX-32-PIC-LABEL: icaller:
9201 ; LINUX-32-PIC: subl
9202 ; LINUX-32-PIC-NEXT: calll *ifunc
9203 ; LINUX-32-PIC-NEXT: calll *ifunc
9204 ; LINUX-32-PIC-NEXT: addl
9206 ; LINUX-32-PIC-NEXT: ret
9208 ; LINUX-64-PIC-LABEL: icaller:
9209 ; LINUX-64-PIC: pushq [[RBX:%r.x]]
9210 ; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), [[RBX:%r.x]]
9211 ; LINUX-64-PIC-NEXT: callq *([[RBX]])
9212 ; LINUX-64-PIC-NEXT: callq *([[RBX]])
9213 ; LINUX-64-PIC-NEXT: popq [[RBX:%r.x]]
9214 ; LINUX-64-PIC-NEXT: ret
9233 ; DARWIN-32-PIC: _icaller:
9234 ; DARWIN-32-PIC: pushl %esi
9235 ; DARWIN-32-PIC-NEXT: subl $8, %esp
9236 ; DARWIN-32-PIC-NEXT: calll L142$pb
9237 ; DARWIN-32-PIC-NEXT: L142$pb:
9238 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
9239 ; DARWIN-32-PIC-NEXT: movl L_ifunc$non_lazy_ptr-L142$pb([[EAX]]), %esi
9240 ; DARWIN-32-PIC-NEXT: calll *(%esi)
9241 ; DARWIN-32-PIC-NEXT: calll *(%esi)
9242 ; DARWIN-32-PIC-NEXT: addl $8, %esp
9243 ; DARWIN-32-PIC-NEXT: popl %esi
9244 ; DARWIN-32-PIC-NEXT: ret
9262 ; DARWIN-64-PIC: _icaller:
9263 ; DARWIN-64-PIC: pushq [[RBX:%r.x]]
9264 ; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]]
9265 ; DARWIN-64-PIC-NEXT: callq *([[RBX]])
9266 ; DARWIN-64-PIC-NEXT: callq *([[RBX]])
9267 ; DARWIN-64-PIC-NEXT: popq [[RBX:%r.x]]
9268 ; DARWIN-64-PIC-NEXT: ret
9290 ; LINUX-32-PIC-LABEL: dicaller:
9291 ; LINUX-32-PIC: subl
9292 ; LINUX-32-PIC-NEXT: calll *difunc
9293 ; LINUX-32-PIC-NEXT: calll *difunc
9294 ; LINUX-32-PIC-NEXT: addl
9296 ; LINUX-32-PIC-NEXT: ret
9298 ; LINUX-64-PIC-LABEL: dicaller:
9299 ; LINUX-64-PIC: pushq [[RBX:%r.x]]
9300 ; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), [[RBX:%r.x]]
9301 ; LINUX-64-PIC-NEXT: callq *([[RBX]])
9302 ; LINUX-64-PIC-NEXT: callq *([[RBX]])
9303 ; LINUX-64-PIC-NEXT: popq [[RBX:%r.x]]
9304 ; LINUX-64-PIC-NEXT: ret
9320 ; DARWIN-32-PIC: _dicaller:
9321 ; DARWIN-32-PIC: pushl %esi
9322 ; DARWIN-32-PIC-NEXT: subl $8, %esp
9323 ; DARWIN-32-PIC-NEXT: calll L143$pb
9324 ; DARWIN-32-PIC-NEXT: L143$pb:
9325 ; DARWIN-32-PIC-NEXT: popl %esi
9326 ; DARWIN-32-PIC-NEXT: calll *_difunc-L143$pb(%esi)
9327 ; DARWIN-32-PIC-NEXT: calll *_difunc-L143$pb(%esi)
9328 ; DARWIN-32-PIC-NEXT: addl $8, %esp
9329 ; DARWIN-32-PIC-NEXT: popl %esi
9330 ; DARWIN-32-PIC-NEXT: ret
9346 ; DARWIN-64-PIC: _dicaller:
9347 ; DARWIN-64-PIC: pushq
9348 ; DARWIN-64-PIC-NEXT: callq *_difunc(%rip)
9349 ; DARWIN-64-PIC-NEXT: callq *_difunc(%rip)
9350 ; DARWIN-64-PIC-NEXT: popq
9351 ; DARWIN-64-PIC-NEXT: ret
9373 ; LINUX-32-PIC-LABEL: licaller:
9374 ; LINUX-32-PIC: subl
9375 ; LINUX-32-PIC-NEXT: calll *lifunc
9376 ; LINUX-32-PIC-NEXT: calll *lifunc
9377 ; LINUX-32-PIC-NEXT: addl
9379 ; LINUX-32-PIC-NEXT: ret
9381 ; LINUX-64-PIC-LABEL: licaller:
9382 ; LINUX-64-PIC: pushq
9383 ; LINUX-64-PIC-NEXT: callq *lifunc(%rip)
9384 ; LINUX-64-PIC-NEXT: callq *lifunc(%rip)
9385 ; LINUX-64-PIC-NEXT: popq
9386 ; LINUX-64-PIC-NEXT: ret
9402 ; DARWIN-32-PIC: _licaller:
9403 ; DARWIN-32-PIC: pushl %esi
9404 ; DARWIN-32-PIC-NEXT: subl $8, %esp
9405 ; DARWIN-32-PIC-NEXT: calll L144$pb
9406 ; DARWIN-32-PIC-NEXT: L144$pb:
9407 ; DARWIN-32-PIC-NEXT: popl %esi
9408 ; DARWIN-32-PIC-NEXT: calll *_lifunc-L144$pb(%esi)
9409 ; DARWIN-32-PIC-NEXT: calll *_lifunc-L144$pb(%esi)
9410 ; DARWIN-32-PIC-NEXT: addl $8, %esp
9411 ; DARWIN-32-PIC-NEXT: popl %esi
9412 ; DARWIN-32-PIC-NEXT: ret
9428 ; DARWIN-64-PIC: _licaller:
9429 ; DARWIN-64-PIC: pushq
9430 ; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip)
9431 ; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip)
9432 ; DARWIN-64-PIC-NEXT: popq
9433 ; DARWIN-64-PIC-NEXT: ret
9455 ; LINUX-32-PIC-LABEL: itailcaller:
9456 ; LINUX-32-PIC: subl
9457 ; LINUX-32-PIC-NEXT: calll *ifunc
9458 ; LINUX-32-PIC-NEXT: calll *ifunc
9459 ; LINUX-32-PIC-NEXT: addl
9461 ; LINUX-32-PIC-NEXT: ret
9463 ; LINUX-64-PIC-LABEL: itailcaller:
9464 ; LINUX-64-PIC: pushq [[RBX:%r.x]]
9465 ; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), [[RBX:%r.x]]
9466 ; LINUX-64-PIC-NEXT: callq *([[RBX]])
9467 ; LINUX-64-PIC-NEXT: callq *([[RBX]])
9468 ; LINUX-64-PIC-NEXT: popq [[RBX:%r.x]]
9469 ; LINUX-64-PIC-NEXT: ret
9488 ; DARWIN-32-PIC: _itailcaller:
9489 ; DARWIN-32-PIC: pushl %esi
9490 ; DARWIN-32-PIC-NEXT: subl $8, %esp
9491 ; DARWIN-32-PIC-NEXT: calll L145$pb
9492 ; DARWIN-32-PIC-NEXT: L145$pb:
9493 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
9494 ; DARWIN-32-PIC-NEXT: movl L_ifunc$non_lazy_ptr-L145$pb([[EAX]]), %esi
9495 ; DARWIN-32-PIC-NEXT: calll *(%esi)
9496 ; DARWIN-32-PIC-NEXT: calll *(%esi)
9497 ; DARWIN-32-PIC-NEXT: addl $8, %esp
9498 ; DARWIN-32-PIC-NEXT: popl %esi
9499 ; DARWIN-32-PIC-NEXT: ret
9517 ; DARWIN-64-PIC: _itailcaller:
9518 ; DARWIN-64-PIC: pushq [[RBX:%r.x]]
9519 ; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]]
9520 ; DARWIN-64-PIC-NEXT: callq *([[RBX]])
9521 ; DARWIN-64-PIC-NEXT: callq *([[RBX]])
9522 ; DARWIN-64-PIC-NEXT: popq [[RBX:%r.x]]
9523 ; DARWIN-64-PIC-NEXT: ret
9541 ; LINUX-32-PIC-LABEL: ditailcaller:
9542 ; LINUX-32-PIC: subl
9543 ; LINUX-32-PIC-NEXT: calll *difunc
9544 ; LINUX-32-PIC-NEXT: addl
9546 ; LINUX-32-PIC-NEXT: ret
9548 ; LINUX-64-PIC-LABEL: ditailcaller:
9549 ; LINUX-64-PIC: pushq
9550 ; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), [[RAX:%r.x]]
9551 ; LINUX-64-PIC-NEXT: callq *([[RAX]])
9552 ; LINUX-64-PIC-NEXT: popq
9553 ; LINUX-64-PIC-NEXT: ret
9567 ; DARWIN-32-PIC: _ditailcaller:
9568 ; DARWIN-32-PIC: subl $12, %esp
9569 ; DARWIN-32-PIC-NEXT: calll L146$pb
9570 ; DARWIN-32-PIC-NEXT: L146$pb:
9571 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
9572 ; DARWIN-32-PIC-NEXT: calll *_difunc-L146$pb([[EAX]])
9573 ; DARWIN-32-PIC-NEXT: addl $12, %esp
9574 ; DARWIN-32-PIC-NEXT: ret
9588 ; DARWIN-64-PIC: _ditailcaller:
9589 ; DARWIN-64-PIC: callq *_difunc(%rip)
9590 ; DARWIN-64-PIC-NEXT: popq
9591 ; DARWIN-64-PIC-NEXT: ret
9609 ; LINUX-32-PIC-LABEL: litailcaller:
9610 ; LINUX-32-PIC: subl
9611 ; LINUX-32-PIC-NEXT: calll *lifunc
9612 ; LINUX-32-PIC-NEXT: addl
9614 ; LINUX-32-PIC-NEXT: ret
9616 ; LINUX-64-PIC-LABEL: litailcaller:
9617 ; LINUX-64-PIC: pushq
9618 ; LINUX-64-PIC-NEXT: callq *lifunc(%rip)
9619 ; LINUX-64-PIC-NEXT: popq
9620 ; LINUX-64-PIC-NEXT: ret
9634 ; DARWIN-32-PIC: _litailcaller:
9635 ; DARWIN-32-PIC: subl $12, %esp
9636 ; DARWIN-32-PIC-NEXT: calll L147$pb
9637 ; DARWIN-32-PIC-NEXT: L147$pb:
9638 ; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]]
9639 ; DARWIN-32-PIC-NEXT: calll *_lifunc-L147$pb([[EAX]])
9640 ; DARWIN-32-PIC-NEXT: addl $12, %esp
9641 ; DARWIN-32-PIC-NEXT: ret
9655 ; DARWIN-64-PIC: _litailcaller:
9656 ; DARWIN-64-PIC: pushq
9657 ; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip)
9658 ; DARWIN-64-PIC-NEXT: popq
9659 ; DARWIN-64-PIC-NEXT: ret