Lines Matching refs:LINUX

1 …-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-STATIC
2 …ion-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-PIC
4 …-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-STATIC
5 …cation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-PIC
40 ; LINUX-64-STATIC-LABEL: foo00:
41 ; LINUX-64-STATIC: movl src(%rip), [[EAX:%e.x]]
42 ; LINUX-64-STATIC: movl [[EAX]], dst
43 ; LINUX-64-STATIC: ret
45 ; LINUX-32-STATIC-LABEL: foo00:
46 ; LINUX-32-STATIC: movl src, [[EAX:%e.x]]
47 ; LINUX-32-STATIC-NEXT: movl [[EAX]], dst
48 ; LINUX-32-STATIC-NEXT: ret
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
112 ; LINUX-64-STATIC-LABEL: fxo00:
113 ; LINUX-64-STATIC: movl xsrc(%rip), [[EAX:%e.x]]
114 ; LINUX-64-STATIC: movl [[EAX]], xdst
115 ; LINUX-64-STATIC: ret
117 ; LINUX-32-STATIC-LABEL: fxo00:
118 ; LINUX-32-STATIC: movl xsrc, [[EAX:%e.x]]
119 ; LINUX-32-STATIC-NEXT: movl [[EAX]], xdst
120 ; LINUX-32-STATIC-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
182 ; LINUX-64-STATIC-LABEL: foo01:
183 ; LINUX-64-STATIC: movq $dst, ptr
184 ; LINUX-64-STATIC: ret
186 ; LINUX-32-STATIC-LABEL: foo01:
187 ; LINUX-32-STATIC: movl $dst, ptr
188 ; LINUX-32-STATIC-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
242 ; LINUX-64-STATIC-LABEL: fxo01:
243 ; LINUX-64-STATIC: movq $xdst, ptr
244 ; LINUX-64-STATIC: ret
246 ; LINUX-32-STATIC-LABEL: fxo01:
247 ; LINUX-32-STATIC: movl $xdst, ptr
248 ; LINUX-32-STATIC-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
304 ; LINUX-64-STATIC-LABEL: foo02:
305 ; LINUX-64-STATIC: movl src(%rip), %
306 ; LINUX-64-STATIC: movq ptr(%rip), %
307 ; LINUX-64-STATIC: movl
308 ; LINUX-64-STATIC: ret
310 ; LINUX-32-STATIC-LABEL: foo02:
311 ; LINUX-32-STATIC: movl src, [[EAX:%e.x]]
312 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
313 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]])
314 ; LINUX-32-STATIC-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
385 ; LINUX-64-STATIC-LABEL: fxo02:
386 ; LINUX-64-STATIC: movl xsrc(%rip), %
387 ; LINUX-64-STATIC: movq ptr(%rip), %
388 ; LINUX-64-STATIC: movl
389 ; LINUX-64-STATIC: ret
391 ; LINUX-32-STATIC-LABEL: fxo02:
392 ; LINUX-32-STATIC: movl xsrc, [[EAX:%e.x]]
393 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
394 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]])
395 ; LINUX-32-STATIC-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
467 ; LINUX-64-STATIC-LABEL: foo03:
468 ; LINUX-64-STATIC: movl dsrc(%rip), [[EAX:%e.x]]
469 ; LINUX-64-STATIC: movl [[EAX]], ddst
470 ; LINUX-64-STATIC: ret
472 ; LINUX-32-STATIC-LABEL: foo03:
473 ; LINUX-32-STATIC: movl dsrc, [[EAX:%e.x]]
474 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ddst
475 ; LINUX-32-STATIC-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
527 ; LINUX-64-STATIC-LABEL: foo04:
528 ; LINUX-64-STATIC: movq $ddst, dptr
529 ; LINUX-64-STATIC: ret
531 ; LINUX-32-STATIC-LABEL: foo04:
532 ; LINUX-32-STATIC: movl $ddst, dptr
533 ; LINUX-32-STATIC-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
583 ; LINUX-64-STATIC-LABEL: foo05:
584 ; LINUX-64-STATIC: movl dsrc(%rip), %
585 ; LINUX-64-STATIC: movq dptr(%rip), %
586 ; LINUX-64-STATIC: movl
587 ; LINUX-64-STATIC: ret
589 ; LINUX-32-STATIC-LABEL: foo05:
590 ; LINUX-32-STATIC: movl dsrc, [[EAX:%e.x]]
591 ; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]]
592 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]])
593 ; LINUX-32-STATIC-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
654 ; LINUX-64-STATIC-LABEL: foo06:
655 ; LINUX-64-STATIC: movl lsrc(%rip), [[EAX:%e.x]]
656 ; LINUX-64-STATIC: movl [[EAX]], ldst(%rip)
657 ; LINUX-64-STATIC: ret
659 ; LINUX-32-STATIC-LABEL: foo06:
660 ; LINUX-32-STATIC: movl lsrc, [[EAX:%e.x]]
661 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ldst
662 ; LINUX-32-STATIC-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
712 ; LINUX-64-STATIC-LABEL: foo07:
713 ; LINUX-64-STATIC: movq $ldst, lptr
714 ; LINUX-64-STATIC: ret
716 ; LINUX-32-STATIC-LABEL: foo07:
717 ; LINUX-32-STATIC: movl $ldst, lptr
718 ; LINUX-32-STATIC-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
767 ; LINUX-64-STATIC-LABEL: foo08:
768 ; LINUX-64-STATIC: movl lsrc(%rip), %
769 ; LINUX-64-STATIC: movq lptr(%rip), %
770 ; LINUX-64-STATIC: movl
771 ; LINUX-64-STATIC: ret
773 ; LINUX-32-STATIC-LABEL: foo08:
774 ; LINUX-32-STATIC: movl lsrc, [[EAX:%e.x]]
775 ; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]]
776 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]])
777 ; LINUX-32-STATIC-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
836 ; LINUX-64-STATIC-LABEL: qux00:
837 ; LINUX-64-STATIC: movl src+64(%rip), [[EAX:%e.x]]
838 ; LINUX-64-STATIC: movl [[EAX]], dst+64(%rip)
839 ; LINUX-64-STATIC: ret
841 ; LINUX-32-STATIC-LABEL: qux00:
842 ; LINUX-32-STATIC: movl src+64, [[EAX:%e.x]]
843 ; LINUX-32-STATIC-NEXT: movl [[EAX]], dst+64
844 ; LINUX-32-STATIC-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
907 ; LINUX-64-STATIC-LABEL: qxx00:
908 ; LINUX-64-STATIC: movl xsrc+64(%rip), [[EAX:%e.x]]
909 ; LINUX-64-STATIC: movl [[EAX]], xdst+64(%rip)
910 ; LINUX-64-STATIC: ret
912 ; LINUX-32-STATIC-LABEL: qxx00:
913 ; LINUX-32-STATIC: movl xsrc+64, [[EAX:%e.x]]
914 ; LINUX-32-STATIC-NEXT: movl [[EAX]], xdst+64
915 ; LINUX-32-STATIC-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
977 ; LINUX-64-STATIC-LABEL: qux01:
978 ; LINUX-64-STATIC: movq $dst+64, ptr
979 ; LINUX-64-STATIC: ret
981 ; LINUX-32-STATIC-LABEL: qux01:
982 ; LINUX-32-STATIC: movl $dst+64, ptr
983 ; LINUX-32-STATIC-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
1043 ; LINUX-64-STATIC-LABEL: qxx01:
1044 ; LINUX-64-STATIC: movq $xdst+64, ptr
1045 ; LINUX-64-STATIC: ret
1047 ; LINUX-32-STATIC-LABEL: qxx01:
1048 ; LINUX-32-STATIC: movl $xdst+64, ptr
1049 ; LINUX-32-STATIC-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
1111 ; LINUX-64-STATIC-LABEL: qux02:
1112 ; LINUX-64-STATIC: movl src+64(%rip), [[EAX:%e.x]]
1113 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
1114 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]])
1115 ; LINUX-64-STATIC: ret
1117 ; LINUX-32-STATIC-LABEL: qux02:
1118 ; LINUX-32-STATIC: movl src+64, [[EAX:%e.x]]
1119 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
1120 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]])
1121 ; LINUX-32-STATIC-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
1194 ; LINUX-64-STATIC-LABEL: qxx02:
1195 ; LINUX-64-STATIC: movl xsrc+64(%rip), [[EAX:%e.x]]
1196 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
1197 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]])
1198 ; LINUX-64-STATIC: ret
1200 ; LINUX-32-STATIC-LABEL: qxx02:
1201 ; LINUX-32-STATIC: movl xsrc+64, [[EAX:%e.x]]
1202 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
1203 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]])
1204 ; LINUX-32-STATIC-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
1276 ; LINUX-64-STATIC-LABEL: qux03:
1277 ; LINUX-64-STATIC: movl dsrc+64(%rip), [[EAX:%e.x]]
1278 ; LINUX-64-STATIC: movl [[EAX]], ddst+64(%rip)
1279 ; LINUX-64-STATIC: ret
1281 ; LINUX-32-STATIC-LABEL: qux03:
1282 ; LINUX-32-STATIC: movl dsrc+64, [[EAX:%e.x]]
1283 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ddst+64
1284 ; LINUX-32-STATIC-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
1336 ; LINUX-64-STATIC-LABEL: qux04:
1337 ; LINUX-64-STATIC: movq $ddst+64, dptr(%rip)
1338 ; LINUX-64-STATIC: ret
1340 ; LINUX-32-STATIC-LABEL: qux04:
1341 ; LINUX-32-STATIC: movl $ddst+64, dptr
1342 ; LINUX-32-STATIC-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
1393 ; LINUX-64-STATIC-LABEL: qux05:
1394 ; LINUX-64-STATIC: movl dsrc+64(%rip), [[EAX:%e.x]]
1395 ; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]]
1396 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]])
1397 ; LINUX-64-STATIC: ret
1399 ; LINUX-32-STATIC-LABEL: qux05:
1400 ; LINUX-32-STATIC: movl dsrc+64, [[EAX:%e.x]]
1401 ; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]]
1402 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]])
1403 ; LINUX-32-STATIC-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
1465 ; LINUX-64-STATIC-LABEL: qux06:
1466 ; LINUX-64-STATIC: movl lsrc+64(%rip), [[EAX:%e.x]]
1467 ; LINUX-64-STATIC: movl [[EAX]], ldst+64
1468 ; LINUX-64-STATIC: ret
1470 ; LINUX-32-STATIC-LABEL: qux06:
1471 ; LINUX-32-STATIC: movl lsrc+64, [[EAX:%e.x]]
1472 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ldst+64
1473 ; LINUX-32-STATIC-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
1523 ; LINUX-64-STATIC-LABEL: qux07:
1524 ; LINUX-64-STATIC: movq $ldst+64, lptr
1525 ; LINUX-64-STATIC: ret
1527 ; LINUX-32-STATIC-LABEL: qux07:
1528 ; LINUX-32-STATIC: movl $ldst+64, lptr
1529 ; LINUX-32-STATIC-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
1578 ; LINUX-64-STATIC-LABEL: qux08:
1579 ; LINUX-64-STATIC: movl lsrc+64(%rip), [[EAX:%e.x]]
1580 ; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]]
1581 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]])
1582 ; LINUX-64-STATIC: ret
1584 ; LINUX-32-STATIC-LABEL: qux08:
1585 ; LINUX-32-STATIC: movl lsrc+64, [[EAX:%e.x]]
1586 ; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]]
1587 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]])
1588 ; LINUX-32-STATIC-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
1650 ; LINUX-64-STATIC-LABEL: ind00:
1651 ; LINUX-64-STATIC: movl src(,%rdi,4), [[EAX:%e.x]]
1652 ; LINUX-64-STATIC: movl [[EAX]], dst(,%rdi,4)
1653 ; LINUX-64-STATIC: ret
1655 ; LINUX-32-STATIC-LABEL: ind00:
1656 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
1657 ; LINUX-32-STATIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]]
1658 ; LINUX-32-STATIC-NEXT: movl [[ECX]], dst(,[[EAX]],4)
1659 ; LINUX-32-STATIC-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
1728 ; LINUX-64-STATIC-LABEL: ixd00:
1729 ; LINUX-64-STATIC: movl xsrc(,%rdi,4), [[EAX:%e.x]]
1730 ; LINUX-64-STATIC: movl [[EAX]], xdst(,%rdi,4)
1731 ; LINUX-64-STATIC: ret
1733 ; LINUX-32-STATIC-LABEL: ixd00:
1734 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
1735 ; LINUX-32-STATIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]]
1736 ; LINUX-32-STATIC-NEXT: movl [[ECX]], xdst(,[[EAX]],4)
1737 ; LINUX-32-STATIC-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
1804 ; LINUX-64-STATIC-LABEL: ind01:
1805 ; LINUX-64-STATIC: leaq dst(,%rdi,4), [[RAX:%r.x]]
1806 ; LINUX-64-STATIC: movq [[RAX]], ptr
1807 ; LINUX-64-STATIC: ret
1809 ; LINUX-32-STATIC-LABEL: ind01:
1810 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
1811 ; LINUX-32-STATIC-NEXT: leal dst(,[[EAX]],4), [[EAX:%e.x]]
1812 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr
1813 ; LINUX-32-STATIC-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
1880 ; LINUX-64-STATIC-LABEL: ixd01:
1881 ; LINUX-64-STATIC: leaq xdst(,%rdi,4), [[RAX:%r.x]]
1882 ; LINUX-64-STATIC: movq [[RAX]], ptr
1883 ; LINUX-64-STATIC: ret
1885 ; LINUX-32-STATIC-LABEL: ixd01:
1886 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
1887 ; LINUX-32-STATIC-NEXT: leal xdst(,[[EAX]],4), [[EAX:%e.x]]
1888 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr
1889 ; LINUX-32-STATIC-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
1959 ; LINUX-64-STATIC-LABEL: ind02:
1960 ; LINUX-64-STATIC: movl src(,%rdi,4), [[EAX:%e.x]]
1961 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
1962 ; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4)
1963 ; LINUX-64-STATIC: ret
1965 ; LINUX-32-STATIC-LABEL: ind02:
1966 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
1967 ; LINUX-32-STATIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]]
1968 ; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]]
1969 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
1970 ; LINUX-32-STATIC-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
2048 ; LINUX-64-STATIC-LABEL: ixd02:
2049 ; LINUX-64-STATIC: movl xsrc(,%rdi,4), [[EAX:%e.x]]
2050 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
2051 ; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4)
2052 ; LINUX-64-STATIC: ret
2054 ; LINUX-32-STATIC-LABEL: ixd02:
2055 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2056 ; LINUX-32-STATIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]]
2057 ; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]]
2058 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
2059 ; LINUX-32-STATIC-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
2136 ; LINUX-64-STATIC-LABEL: ind03:
2137 ; LINUX-64-STATIC: movl dsrc(,%rdi,4), [[EAX:%e.x]]
2138 ; LINUX-64-STATIC: movl [[EAX]], ddst(,%rdi,4)
2139 ; LINUX-64-STATIC: ret
2141 ; LINUX-32-STATIC-LABEL: ind03:
2142 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2143 ; LINUX-32-STATIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]]
2144 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ddst(,[[EAX]],4)
2145 ; LINUX-32-STATIC-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
2208 ; LINUX-64-STATIC-LABEL: ind04:
2209 ; LINUX-64-STATIC: leaq ddst(,%rdi,4), [[RAX:%r.x]]
2210 ; LINUX-64-STATIC: movq [[RAX]], dptr
2211 ; LINUX-64-STATIC: ret
2213 ; LINUX-32-STATIC-LABEL: ind04:
2214 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2215 ; LINUX-32-STATIC-NEXT: leal ddst(,[[EAX]],4), [[EAX:%e.x]]
2216 ; LINUX-32-STATIC-NEXT: movl [[EAX]], dptr
2217 ; LINUX-32-STATIC-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
2280 ; LINUX-64-STATIC-LABEL: ind05:
2281 ; LINUX-64-STATIC: movl dsrc(,%rdi,4), [[EAX:%e.x]]
2282 ; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]]
2283 ; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4)
2284 ; LINUX-64-STATIC: ret
2286 ; LINUX-32-STATIC-LABEL: ind05:
2287 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2288 ; LINUX-32-STATIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]]
2289 ; LINUX-32-STATIC-NEXT: movl dptr, [[EDX:%e.x]]
2290 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
2291 ; LINUX-32-STATIC-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
2361 ; LINUX-64-STATIC-LABEL: ind06:
2362 ; LINUX-64-STATIC: movl lsrc(,%rdi,4), [[EAX:%e.x]]
2363 ; LINUX-64-STATIC: movl [[EAX]], ldst(,%rdi,4)
2364 ; LINUX-64-STATIC: ret
2366 ; LINUX-32-STATIC-LABEL: ind06:
2367 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2368 ; LINUX-32-STATIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]]
2369 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ldst(,[[EAX]],4)
2370 ; LINUX-32-STATIC-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
2433 ; LINUX-64-STATIC-LABEL: ind07:
2434 ; LINUX-64-STATIC: leaq ldst(,%rdi,4), [[RAX:%r.x]]
2435 ; LINUX-64-STATIC: movq [[RAX]], lptr
2436 ; LINUX-64-STATIC: ret
2438 ; LINUX-32-STATIC-LABEL: ind07:
2439 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2440 ; LINUX-32-STATIC-NEXT: leal ldst(,[[EAX]],4), [[EAX:%e.x]]
2441 ; LINUX-32-STATIC-NEXT: movl [[EAX]], lptr
2442 ; LINUX-32-STATIC-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
2504 ; LINUX-64-STATIC-LABEL: ind08:
2505 ; LINUX-64-STATIC: movl lsrc(,%rdi,4), [[EAX:%e.x]]
2506 ; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]]
2507 ; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4)
2508 ; LINUX-64-STATIC: ret
2510 ; LINUX-32-STATIC-LABEL: ind08:
2511 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2512 ; LINUX-32-STATIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]]
2513 ; LINUX-32-STATIC-NEXT: movl lptr, [[EDX:%e.x]]
2514 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4)
2515 ; LINUX-32-STATIC-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
2585 ; LINUX-64-STATIC-LABEL: off00:
2586 ; LINUX-64-STATIC: movl src+64(,%rdi,4), [[EAX:%e.x]]
2587 ; LINUX-64-STATIC: movl [[EAX]], dst+64(,%rdi,4)
2588 ; LINUX-64-STATIC: ret
2590 ; LINUX-32-STATIC-LABEL: off00:
2591 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2592 ; LINUX-32-STATIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]]
2593 ; LINUX-32-STATIC-NEXT: movl [[ECX]], dst+64(,[[EAX]],4)
2594 ; LINUX-32-STATIC-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
2664 ; LINUX-64-STATIC-LABEL: oxf00:
2665 ; LINUX-64-STATIC: movl xsrc+64(,%rdi,4), [[EAX:%e.x]]
2666 ; LINUX-64-STATIC: movl [[EAX]], xdst+64(,%rdi,4)
2667 ; LINUX-64-STATIC: ret
2669 ; LINUX-32-STATIC-LABEL: oxf00:
2670 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2671 ; LINUX-32-STATIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
2672 ; LINUX-32-STATIC-NEXT: movl [[ECX]], xdst+64(,[[EAX]],4)
2673 ; LINUX-32-STATIC-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
2741 ; LINUX-64-STATIC-LABEL: off01:
2742 ; LINUX-64-STATIC: leaq dst+64(,%rdi,4), [[RAX:%r.x]]
2743 ; LINUX-64-STATIC: movq [[RAX]], ptr
2744 ; LINUX-64-STATIC: ret
2746 ; LINUX-32-STATIC-LABEL: off01:
2747 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2748 ; LINUX-32-STATIC-NEXT: leal dst+64(,[[EAX]],4), [[EAX:%e.x]]
2749 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr
2750 ; LINUX-32-STATIC-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
2818 ; LINUX-64-STATIC-LABEL: oxf01:
2819 ; LINUX-64-STATIC: leaq xdst+64(,%rdi,4), [[RAX:%r.x]]
2820 ; LINUX-64-STATIC: movq [[RAX]], ptr
2821 ; LINUX-64-STATIC: ret
2823 ; LINUX-32-STATIC-LABEL: oxf01:
2824 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2825 ; LINUX-32-STATIC-NEXT: leal xdst+64(,[[EAX]],4), [[EAX:%e.x]]
2826 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr
2827 ; LINUX-32-STATIC-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
2898 ; LINUX-64-STATIC-LABEL: off02:
2899 ; LINUX-64-STATIC: movl src+64(,%rdi,4), [[EAX:%e.x]]
2900 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
2901 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4)
2902 ; LINUX-64-STATIC: ret
2904 ; LINUX-32-STATIC-LABEL: off02:
2905 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2906 ; LINUX-32-STATIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]]
2907 ; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]]
2908 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
2909 ; LINUX-32-STATIC-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
2988 ; LINUX-64-STATIC-LABEL: oxf02:
2989 ; LINUX-64-STATIC: movl xsrc+64(,%rdi,4), [[EAX:%e.x]]
2990 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
2991 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4)
2992 ; LINUX-64-STATIC: ret
2994 ; LINUX-32-STATIC-LABEL: oxf02:
2995 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
2996 ; LINUX-32-STATIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
2997 ; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]]
2998 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
2999 ; LINUX-32-STATIC-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
3077 ; LINUX-64-STATIC-LABEL: off03:
3078 ; LINUX-64-STATIC: movl dsrc+64(,%rdi,4), [[EAX:%e.x]]
3079 ; LINUX-64-STATIC: movl [[EAX]], ddst+64(,%rdi,4)
3080 ; LINUX-64-STATIC: ret
3082 ; LINUX-32-STATIC-LABEL: off03:
3083 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
3084 ; LINUX-32-STATIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3085 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ddst+64(,[[EAX]],4)
3086 ; LINUX-32-STATIC-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
3150 ; LINUX-64-STATIC-LABEL: off04:
3151 ; LINUX-64-STATIC: leaq ddst+64(,%rdi,4), [[RAX:%r.x]]
3152 ; LINUX-64-STATIC: movq [[RAX]], dptr
3153 ; LINUX-64-STATIC: ret
3155 ; LINUX-32-STATIC-LABEL: off04:
3156 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
3157 ; LINUX-32-STATIC-NEXT: leal ddst+64(,[[EAX]],4), [[EAX:%e.x]]
3158 ; LINUX-32-STATIC-NEXT: movl [[EAX]], dptr
3159 ; LINUX-32-STATIC-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
3223 ; LINUX-64-STATIC-LABEL: off05:
3224 ; LINUX-64-STATIC: movl dsrc+64(,%rdi,4), [[EAX:%e.x]]
3225 ; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]]
3226 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4)
3227 ; LINUX-64-STATIC: ret
3229 ; LINUX-32-STATIC-LABEL: off05:
3230 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
3231 ; LINUX-32-STATIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3232 ; LINUX-32-STATIC-NEXT: movl dptr, [[EDX:%e.x]]
3233 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
3234 ; LINUX-32-STATIC-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
3305 ; LINUX-64-STATIC-LABEL: off06:
3306 ; LINUX-64-STATIC: movl lsrc+64(,%rdi,4), [[EAX:%e.x]]
3307 ; LINUX-64-STATIC: movl [[EAX]], ldst+64(,%rdi,4)
3308 ; LINUX-64-STATIC: ret
3310 ; LINUX-32-STATIC-LABEL: off06:
3311 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
3312 ; LINUX-32-STATIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3313 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ldst+64(,[[EAX]],4)
3314 ; LINUX-32-STATIC-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
3378 ; LINUX-64-STATIC-LABEL: off07:
3379 ; LINUX-64-STATIC: leaq ldst+64(,%rdi,4), [[RAX:%r.x]]
3380 ; LINUX-64-STATIC: movq [[RAX]], lptr
3381 ; LINUX-64-STATIC: ret
3383 ; LINUX-32-STATIC-LABEL: off07:
3384 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
3385 ; LINUX-32-STATIC-NEXT: leal ldst+64(,[[EAX]],4), [[EAX:%e.x]]
3386 ; LINUX-32-STATIC-NEXT: movl [[EAX]], lptr
3387 ; LINUX-32-STATIC-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
3450 ; LINUX-64-STATIC-LABEL: off08:
3451 ; LINUX-64-STATIC: movl lsrc+64(,%rdi,4), [[EAX:%e.x]]
3452 ; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]]
3453 ; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4)
3454 ; LINUX-64-STATIC: ret
3456 ; LINUX-32-STATIC-LABEL: off08:
3457 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
3458 ; LINUX-32-STATIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
3459 ; LINUX-32-STATIC-NEXT: movl lptr, [[EDX:%e.x]]
3460 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4)
3461 ; LINUX-32-STATIC-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
3528 ; LINUX-64-STATIC-LABEL: moo00:
3529 ; LINUX-64-STATIC: movl src+262144(%rip), [[EAX:%e.x]]
3530 ; LINUX-64-STATIC: movl [[EAX]], dst+262144(%rip)
3531 ; LINUX-64-STATIC: ret
3533 ; LINUX-32-STATIC-LABEL: moo00:
3534 ; LINUX-32-STATIC: movl src+262144, [[EAX:%e.x]]
3535 ; LINUX-32-STATIC-NEXT: movl [[EAX]], dst+262144
3536 ; LINUX-32-STATIC-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
3598 ; LINUX-64-STATIC-LABEL: moo01:
3599 ; LINUX-64-STATIC: movq $dst+262144, ptr(%rip)
3600 ; LINUX-64-STATIC: ret
3602 ; LINUX-32-STATIC-LABEL: moo01:
3603 ; LINUX-32-STATIC: movl $dst+262144, ptr
3604 ; LINUX-32-STATIC-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
3667 ; LINUX-64-STATIC-LABEL: moo02:
3668 ; LINUX-64-STATIC: movl src+262144(%rip), [[EAX:%e.x]]
3669 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
3670 ; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]])
3671 ; LINUX-64-STATIC: ret
3673 ; LINUX-32-STATIC-LABEL: moo02:
3674 ; LINUX-32-STATIC: movl src+262144, [[EAX:%e.x]]
3675 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
3676 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]])
3677 ; LINUX-32-STATIC-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
3748 ; LINUX-64-STATIC-LABEL: moo03:
3749 ; LINUX-64-STATIC: movl dsrc+262144(%rip), [[EAX:%e.x]]
3750 ; LINUX-64-STATIC: movl [[EAX]], ddst+262144(%rip)
3751 ; LINUX-64-STATIC: ret
3753 ; LINUX-32-STATIC-LABEL: moo03:
3754 ; LINUX-32-STATIC: movl dsrc+262144, [[EAX:%e.x]]
3755 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ddst+262144
3756 ; LINUX-32-STATIC-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
3808 ; LINUX-64-STATIC-LABEL: moo04:
3809 ; LINUX-64-STATIC: movq $ddst+262144, dptr
3810 ; LINUX-64-STATIC: ret
3812 ; LINUX-32-STATIC-LABEL: moo04:
3813 ; LINUX-32-STATIC: movl $ddst+262144, dptr
3814 ; LINUX-32-STATIC-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
3866 ; LINUX-64-STATIC-LABEL: moo05:
3867 ; LINUX-64-STATIC: movl dsrc+262144(%rip), [[EAX:%e.x]]
3868 ; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]]
3869 ; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]])
3870 ; LINUX-64-STATIC: ret
3872 ; LINUX-32-STATIC-LABEL: moo05:
3873 ; LINUX-32-STATIC: movl dsrc+262144, [[EAX:%e.x]]
3874 ; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]]
3875 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]])
3876 ; LINUX-32-STATIC-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
3937 ; LINUX-64-STATIC-LABEL: moo06:
3938 ; LINUX-64-STATIC: movl lsrc+262144(%rip), [[EAX:%e.x]]
3939 ; LINUX-64-STATIC: movl [[EAX]], ldst+262144(%rip)
3940 ; LINUX-64-STATIC: ret
3942 ; LINUX-32-STATIC-LABEL: moo06:
3943 ; LINUX-32-STATIC: movl lsrc+262144, [[EAX:%e.x]]
3944 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ldst+262144
3945 ; LINUX-32-STATIC-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
3995 ; LINUX-64-STATIC-LABEL: moo07:
3996 ; LINUX-64-STATIC: movq $ldst+262144, lptr
3997 ; LINUX-64-STATIC: ret
3999 ; LINUX-32-STATIC-LABEL: moo07:
4000 ; LINUX-32-STATIC: movl $ldst+262144, lptr
4001 ; LINUX-32-STATIC-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
4051 ; LINUX-64-STATIC-LABEL: moo08:
4052 ; LINUX-64-STATIC: movl lsrc+262144(%rip), [[EAX:%e.x]]
4053 ; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]]
4054 ; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]])
4055 ; LINUX-64-STATIC: ret
4057 ; LINUX-32-STATIC-LABEL: moo08:
4058 ; LINUX-32-STATIC: movl lsrc+262144, [[EAX:%e.x]]
4059 ; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]]
4060 ; LINUX-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]])
4061 ; LINUX-32-STATIC-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
4123 ; LINUX-64-STATIC-LABEL: big00:
4124 ; LINUX-64-STATIC: movl src+262144(,%rdi,4), [[EAX:%e.x]]
4125 ; LINUX-64-STATIC: movl [[EAX]], dst+262144(,%rdi,4)
4126 ; LINUX-64-STATIC: ret
4128 ; LINUX-32-STATIC-LABEL: big00:
4129 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4130 ; LINUX-32-STATIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]]
4131 ; LINUX-32-STATIC-NEXT: movl [[ECX]], dst+262144(,[[EAX]],4)
4132 ; LINUX-32-STATIC-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
4200 ; LINUX-64-STATIC-LABEL: big01:
4201 ; LINUX-64-STATIC: leaq dst+262144(,%rdi,4), [[RAX:%r.x]]
4202 ; LINUX-64-STATIC: movq [[RAX]], ptr(%rip)
4203 ; LINUX-64-STATIC: ret
4205 ; LINUX-32-STATIC-LABEL: big01:
4206 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4207 ; LINUX-32-STATIC-NEXT: leal dst+262144(,[[EAX]],4), [[EAX:%e.x]]
4208 ; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr
4209 ; LINUX-32-STATIC-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
4280 ; LINUX-64-STATIC-LABEL: big02:
4281 ; LINUX-64-STATIC: movl src+262144(,%rdi,4), [[EAX:%e.x]]
4282 ; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]]
4283 ; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]],%rdi,4)
4284 ; LINUX-64-STATIC: ret
4286 ; LINUX-32-STATIC-LABEL: big02:
4287 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4288 ; LINUX-32-STATIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]]
4289 ; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]]
4290 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4)
4291 ; LINUX-32-STATIC-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
4369 ; LINUX-64-STATIC-LABEL: big03:
4370 ; LINUX-64-STATIC: movl dsrc+262144(,%rdi,4), [[EAX:%e.x]]
4371 ; LINUX-64-STATIC: movl [[EAX]], ddst+262144(,%rdi,4)
4372 ; LINUX-64-STATIC: ret
4374 ; LINUX-32-STATIC-LABEL: big03:
4375 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4376 ; LINUX-32-STATIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4377 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ddst+262144(,[[EAX]],4)
4378 ; LINUX-32-STATIC-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
4442 ; LINUX-64-STATIC-LABEL: big04:
4443 ; LINUX-64-STATIC: leaq ddst+262144(,%rdi,4), [[RAX:%r.x]]
4444 ; LINUX-64-STATIC: movq [[RAX]], dptr
4445 ; LINUX-64-STATIC: ret
4447 ; LINUX-32-STATIC-LABEL: big04:
4448 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4449 ; LINUX-32-STATIC-NEXT: leal ddst+262144(,[[EAX]],4), [[EAX:%e.x]]
4450 ; LINUX-32-STATIC-NEXT: movl [[EAX]], dptr
4451 ; LINUX-32-STATIC-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
4515 ; LINUX-64-STATIC-LABEL: big05:
4516 ; LINUX-64-STATIC: movl dsrc+262144(,%rdi,4), [[EAX:%e.x]]
4517 ; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]]
4518 ; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]],%rdi,4)
4519 ; LINUX-64-STATIC: ret
4521 ; LINUX-32-STATIC-LABEL: big05:
4522 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4523 ; LINUX-32-STATIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4524 ; LINUX-32-STATIC-NEXT: movl dptr, [[EDX:%e.x]]
4525 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4)
4526 ; LINUX-32-STATIC-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
4597 ; LINUX-64-STATIC-LABEL: big06:
4598 ; LINUX-64-STATIC: movl lsrc+262144(,%rdi,4), [[EAX:%e.x]]
4599 ; LINUX-64-STATIC: movl [[EAX]], ldst+262144(,%rdi,4)
4600 ; LINUX-64-STATIC: ret
4602 ; LINUX-32-STATIC-LABEL: big06:
4603 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4604 ; LINUX-32-STATIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4605 ; LINUX-32-STATIC-NEXT: movl [[ECX]], ldst+262144(,[[EAX]],4)
4606 ; LINUX-32-STATIC-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
4670 ; LINUX-64-STATIC-LABEL: big07:
4671 ; LINUX-64-STATIC: leaq ldst+262144(,%rdi,4), [[RAX:%r.x]]
4672 ; LINUX-64-STATIC: movq [[RAX]], lptr
4673 ; LINUX-64-STATIC: ret
4675 ; LINUX-32-STATIC-LABEL: big07:
4676 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4677 ; LINUX-32-STATIC-NEXT: leal ldst+262144(,[[EAX]],4), [[EAX:%e.x]]
4678 ; LINUX-32-STATIC-NEXT: movl [[EAX]], lptr
4679 ; LINUX-32-STATIC-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
4742 ; LINUX-64-STATIC-LABEL: big08:
4743 ; LINUX-64-STATIC: movl lsrc+262144(,%rdi,4), [[EAX:%e.x]]
4744 ; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]]
4745 ; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]],%rdi,4)
4746 ; LINUX-64-STATIC: ret
4748 ; LINUX-32-STATIC-LABEL: big08:
4749 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
4750 ; LINUX-32-STATIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
4751 ; LINUX-32-STATIC-NEXT: movl lptr, [[EDX:%e.x]]
4752 ; LINUX-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4)
4753 ; LINUX-32-STATIC-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
4818 ; LINUX-64-STATIC-LABEL: bar00:
4819 ; LINUX-64-STATIC: movl $src, %eax
4820 ; LINUX-64-STATIC: ret
4822 ; LINUX-32-STATIC-LABEL: bar00:
4823 ; LINUX-32-STATIC: movl $src, %eax
4824 ; LINUX-32-STATIC-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
4865 ; LINUX-64-STATIC-LABEL: bxr00:
4866 ; LINUX-64-STATIC: movl $xsrc, %eax
4867 ; LINUX-64-STATIC: ret
4869 ; LINUX-32-STATIC-LABEL: bxr00:
4870 ; LINUX-32-STATIC: movl $xsrc, %eax
4871 ; LINUX-32-STATIC-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
4912 ; LINUX-64-STATIC-LABEL: bar01:
4913 ; LINUX-64-STATIC: movl $dst, %eax
4914 ; LINUX-64-STATIC: ret
4916 ; LINUX-32-STATIC-LABEL: bar01:
4917 ; LINUX-32-STATIC: movl $dst, %eax
4918 ; LINUX-32-STATIC-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
4959 ; LINUX-64-STATIC-LABEL: bxr01:
4960 ; LINUX-64-STATIC: movl $xdst, %eax
4961 ; LINUX-64-STATIC: ret
4963 ; LINUX-32-STATIC-LABEL: bxr01:
4964 ; LINUX-32-STATIC: movl $xdst, %eax
4965 ; LINUX-32-STATIC-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
5006 ; LINUX-64-STATIC-LABEL: bar02:
5007 ; LINUX-64-STATIC: movl $ptr, %eax
5008 ; LINUX-64-STATIC: ret
5010 ; LINUX-32-STATIC-LABEL: bar02:
5011 ; LINUX-32-STATIC: movl $ptr, %eax
5012 ; LINUX-32-STATIC-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
5053 ; LINUX-64-STATIC-LABEL: bar03:
5054 ; LINUX-64-STATIC: movl $dsrc, %eax
5055 ; LINUX-64-STATIC: ret
5057 ; LINUX-32-STATIC-LABEL: bar03:
5058 ; LINUX-32-STATIC: movl $dsrc, %eax
5059 ; LINUX-32-STATIC-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
5100 ; LINUX-64-STATIC-LABEL: bar04:
5101 ; LINUX-64-STATIC: movl $ddst, %eax
5102 ; LINUX-64-STATIC: ret
5104 ; LINUX-32-STATIC-LABEL: bar04:
5105 ; LINUX-32-STATIC: movl $ddst, %eax
5106 ; LINUX-32-STATIC-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
5147 ; LINUX-64-STATIC-LABEL: bar05:
5148 ; LINUX-64-STATIC: movl $dptr, %eax
5149 ; LINUX-64-STATIC: ret
5151 ; LINUX-32-STATIC-LABEL: bar05:
5152 ; LINUX-32-STATIC: movl $dptr, %eax
5153 ; LINUX-32-STATIC-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
5194 ; LINUX-64-STATIC-LABEL: bar06:
5195 ; LINUX-64-STATIC: movl $lsrc, %eax
5196 ; LINUX-64-STATIC: ret
5198 ; LINUX-32-STATIC-LABEL: bar06:
5199 ; LINUX-32-STATIC: movl $lsrc, %eax
5200 ; LINUX-32-STATIC-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
5241 ; LINUX-64-STATIC-LABEL: bar07:
5242 ; LINUX-64-STATIC: movl $ldst, %eax
5243 ; LINUX-64-STATIC: ret
5245 ; LINUX-32-STATIC-LABEL: bar07:
5246 ; LINUX-32-STATIC: movl $ldst, %eax
5247 ; LINUX-32-STATIC-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
5288 ; LINUX-64-STATIC-LABEL: bar08:
5289 ; LINUX-64-STATIC: movl $lptr, %eax
5290 ; LINUX-64-STATIC: ret
5292 ; LINUX-32-STATIC-LABEL: bar08:
5293 ; LINUX-32-STATIC: movl $lptr, %eax
5294 ; LINUX-32-STATIC-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
5335 ; LINUX-64-STATIC-LABEL: har00:
5336 ; LINUX-64-STATIC: movl $src, %eax
5337 ; LINUX-64-STATIC: ret
5339 ; LINUX-32-STATIC-LABEL: har00:
5340 ; LINUX-32-STATIC: movl $src, %eax
5341 ; LINUX-32-STATIC-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
5382 ; LINUX-64-STATIC-LABEL: hxr00:
5383 ; LINUX-64-STATIC: movl $xsrc, %eax
5384 ; LINUX-64-STATIC: ret
5386 ; LINUX-32-STATIC-LABEL: hxr00:
5387 ; LINUX-32-STATIC: movl $xsrc, %eax
5388 ; LINUX-32-STATIC-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
5429 ; LINUX-64-STATIC-LABEL: har01:
5430 ; LINUX-64-STATIC: movl $dst, %eax
5431 ; LINUX-64-STATIC: ret
5433 ; LINUX-32-STATIC-LABEL: har01:
5434 ; LINUX-32-STATIC: movl $dst, %eax
5435 ; LINUX-32-STATIC-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
5476 ; LINUX-64-STATIC-LABEL: hxr01:
5477 ; LINUX-64-STATIC: movl $xdst, %eax
5478 ; LINUX-64-STATIC: ret
5480 ; LINUX-32-STATIC-LABEL: hxr01:
5481 ; LINUX-32-STATIC: movl $xdst, %eax
5482 ; LINUX-32-STATIC-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
5525 ; LINUX-64-STATIC-LABEL: har02:
5526 ; LINUX-64-STATIC: movq ptr(%rip), %rax
5527 ; LINUX-64-STATIC: ret
5529 ; LINUX-32-STATIC-LABEL: har02:
5530 ; LINUX-32-STATIC: movl ptr, %eax
5531 ; LINUX-32-STATIC-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
5578 ; LINUX-64-STATIC-LABEL: har03:
5579 ; LINUX-64-STATIC: movl $dsrc, %eax
5580 ; LINUX-64-STATIC: ret
5582 ; LINUX-32-STATIC-LABEL: har03:
5583 ; LINUX-32-STATIC: movl $dsrc, %eax
5584 ; LINUX-32-STATIC-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
5625 ; LINUX-64-STATIC-LABEL: har04:
5626 ; LINUX-64-STATIC: movl $ddst, %eax
5627 ; LINUX-64-STATIC: ret
5629 ; LINUX-32-STATIC-LABEL: har04:
5630 ; LINUX-32-STATIC: movl $ddst, %eax
5631 ; LINUX-32-STATIC-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
5674 ; LINUX-64-STATIC-LABEL: har05:
5675 ; LINUX-64-STATIC: movq dptr(%rip), %rax
5676 ; LINUX-64-STATIC: ret
5678 ; LINUX-32-STATIC-LABEL: har05:
5679 ; LINUX-32-STATIC: movl dptr, %eax
5680 ; LINUX-32-STATIC-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
5722 ; LINUX-64-STATIC-LABEL: har06:
5723 ; LINUX-64-STATIC: movl $lsrc, %eax
5724 ; LINUX-64-STATIC: ret
5726 ; LINUX-32-STATIC-LABEL: har06:
5727 ; LINUX-32-STATIC: movl $lsrc, %eax
5728 ; LINUX-32-STATIC-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
5769 ; LINUX-64-STATIC-LABEL: har07:
5770 ; LINUX-64-STATIC: movl $ldst, %eax
5771 ; LINUX-64-STATIC: ret
5773 ; LINUX-32-STATIC-LABEL: har07:
5774 ; LINUX-32-STATIC: movl $ldst, %eax
5775 ; LINUX-32-STATIC-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
5818 ; LINUX-64-STATIC-LABEL: har08:
5819 ; LINUX-64-STATIC: movq lptr(%rip), %rax
5820 ; LINUX-64-STATIC: ret
5822 ; LINUX-32-STATIC-LABEL: har08:
5823 ; LINUX-32-STATIC: movl lptr, %eax
5824 ; LINUX-32-STATIC-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
5865 ; LINUX-64-STATIC-LABEL: bat00:
5866 ; LINUX-64-STATIC: movl $src+64, %eax
5867 ; LINUX-64-STATIC: ret
5869 ; LINUX-32-STATIC-LABEL: bat00:
5870 ; LINUX-32-STATIC: movl $src+64, %eax
5871 ; LINUX-32-STATIC-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
5918 ; LINUX-64-STATIC-LABEL: bxt00:
5919 ; LINUX-64-STATIC: movl $xsrc+64, %eax
5920 ; LINUX-64-STATIC: ret
5922 ; LINUX-32-STATIC-LABEL: bxt00:
5923 ; LINUX-32-STATIC: movl $xsrc+64, %eax
5924 ; LINUX-32-STATIC-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
5971 ; LINUX-64-STATIC-LABEL: bat01:
5972 ; LINUX-64-STATIC: movl $dst+64, %eax
5973 ; LINUX-64-STATIC: ret
5975 ; LINUX-32-STATIC-LABEL: bat01:
5976 ; LINUX-32-STATIC: movl $dst+64, %eax
5977 ; LINUX-32-STATIC-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
6024 ; LINUX-64-STATIC-LABEL: bxt01:
6025 ; LINUX-64-STATIC: movl $xdst+64, %eax
6026 ; LINUX-64-STATIC: ret
6028 ; LINUX-32-STATIC-LABEL: bxt01:
6029 ; LINUX-32-STATIC: movl $xdst+64, %eax
6030 ; LINUX-32-STATIC-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
6080 ; LINUX-64-STATIC-LABEL: bat02:
6081 ; LINUX-64-STATIC: movq ptr(%rip), %rax
6082 ; LINUX-64-STATIC: addq $64, %rax
6083 ; LINUX-64-STATIC: ret
6085 ; LINUX-32-STATIC-LABEL: bat02:
6086 ; LINUX-32-STATIC: movl ptr, %eax
6087 ; LINUX-32-STATIC-NEXT: addl $64, %eax
6088 ; LINUX-32-STATIC-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
6143 ; LINUX-64-STATIC-LABEL: bat03:
6144 ; LINUX-64-STATIC: movl $dsrc+64, %eax
6145 ; LINUX-64-STATIC: ret
6147 ; LINUX-32-STATIC-LABEL: bat03:
6148 ; LINUX-32-STATIC: movl $dsrc+64, %eax
6149 ; LINUX-32-STATIC-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
6191 ; LINUX-64-STATIC-LABEL: bat04:
6192 ; LINUX-64-STATIC: movl $ddst+64, %eax
6193 ; LINUX-64-STATIC: ret
6195 ; LINUX-32-STATIC-LABEL: bat04:
6196 ; LINUX-32-STATIC: movl $ddst+64, %eax
6197 ; LINUX-32-STATIC-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
6242 ; LINUX-64-STATIC-LABEL: bat05:
6243 ; LINUX-64-STATIC: movq dptr(%rip), %rax
6244 ; LINUX-64-STATIC: addq $64, %rax
6245 ; LINUX-64-STATIC: ret
6247 ; LINUX-32-STATIC-LABEL: bat05:
6248 ; LINUX-32-STATIC: movl dptr, %eax
6249 ; LINUX-32-STATIC-NEXT: addl $64, %eax
6250 ; LINUX-32-STATIC-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
6300 ; LINUX-64-STATIC-LABEL: bat06:
6301 ; LINUX-64-STATIC: movl $lsrc+64, %eax
6302 ; LINUX-64-STATIC: ret
6304 ; LINUX-32-STATIC-LABEL: bat06:
6305 ; LINUX-32-STATIC: movl $lsrc+64, %eax
6306 ; LINUX-32-STATIC-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
6347 ; LINUX-64-STATIC-LABEL: bat07:
6348 ; LINUX-64-STATIC: movl $ldst+64, %eax
6349 ; LINUX-64-STATIC: ret
6351 ; LINUX-32-STATIC-LABEL: bat07:
6352 ; LINUX-32-STATIC: movl $ldst+64, %eax
6353 ; LINUX-32-STATIC-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
6397 ; LINUX-64-STATIC-LABEL: bat08:
6398 ; LINUX-64-STATIC: movq lptr(%rip), %rax
6399 ; LINUX-64-STATIC: addq $64, %rax
6400 ; LINUX-64-STATIC: ret
6402 ; LINUX-32-STATIC-LABEL: bat08:
6403 ; LINUX-32-STATIC: movl lptr, %eax
6404 ; LINUX-32-STATIC-NEXT: addl $64, %eax
6405 ; LINUX-32-STATIC-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
6454 ; LINUX-64-STATIC-LABEL: bam00:
6455 ; LINUX-64-STATIC: movl $src+262144, %eax
6456 ; LINUX-64-STATIC: ret
6458 ; LINUX-32-STATIC-LABEL: bam00:
6459 ; LINUX-32-STATIC: movl $src+262144, %eax
6460 ; LINUX-32-STATIC-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
6507 ; LINUX-64-STATIC-LABEL: bam01:
6508 ; LINUX-64-STATIC: movl $dst+262144, %eax
6509 ; LINUX-64-STATIC: ret
6511 ; LINUX-32-STATIC-LABEL: bam01:
6512 ; LINUX-32-STATIC: movl $dst+262144, %eax
6513 ; LINUX-32-STATIC-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
6560 ; LINUX-64-STATIC-LABEL: bxm01:
6561 ; LINUX-64-STATIC: movl $xdst+262144, %eax
6562 ; LINUX-64-STATIC: ret
6564 ; LINUX-32-STATIC-LABEL: bxm01:
6565 ; LINUX-32-STATIC: movl $xdst+262144, %eax
6566 ; LINUX-32-STATIC-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
6616 ; LINUX-64-STATIC-LABEL: bam02:
6617 ; LINUX-64-STATIC: movl $262144, %eax
6618 ; LINUX-64-STATIC: addq ptr(%rip), %rax
6619 ; LINUX-64-STATIC: ret
6621 ; LINUX-32-STATIC-LABEL: bam02:
6622 ; LINUX-32-STATIC: movl $262144, %eax
6623 ; LINUX-32-STATIC-NEXT: addl ptr, %eax
6624 ; LINUX-32-STATIC-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
6679 ; LINUX-64-STATIC-LABEL: bam03:
6680 ; LINUX-64-STATIC: movl $dsrc+262144, %eax
6681 ; LINUX-64-STATIC: ret
6683 ; LINUX-32-STATIC-LABEL: bam03:
6684 ; LINUX-32-STATIC: movl $dsrc+262144, %eax
6685 ; LINUX-32-STATIC-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
6727 ; LINUX-64-STATIC-LABEL: bam04:
6728 ; LINUX-64-STATIC: movl $ddst+262144, %eax
6729 ; LINUX-64-STATIC: ret
6731 ; LINUX-32-STATIC-LABEL: bam04:
6732 ; LINUX-32-STATIC: movl $ddst+262144, %eax
6733 ; LINUX-32-STATIC-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
6778 ; LINUX-64-STATIC-LABEL: bam05:
6779 ; LINUX-64-STATIC: movl $262144, %eax
6780 ; LINUX-64-STATIC: addq dptr(%rip), %rax
6781 ; LINUX-64-STATIC: ret
6783 ; LINUX-32-STATIC-LABEL: bam05:
6784 ; LINUX-32-STATIC: movl $262144, %eax
6785 ; LINUX-32-STATIC-NEXT: addl dptr, %eax
6786 ; LINUX-32-STATIC-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
6836 ; LINUX-64-STATIC-LABEL: bam06:
6837 ; LINUX-64-STATIC: movl $lsrc+262144, %eax
6838 ; LINUX-64-STATIC: ret
6840 ; LINUX-32-STATIC-LABEL: bam06:
6841 ; LINUX-32-STATIC: movl $lsrc+262144, %eax
6842 ; LINUX-32-STATIC-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
6883 ; LINUX-64-STATIC-LABEL: bam07:
6884 ; LINUX-64-STATIC: movl $ldst+262144, %eax
6885 ; LINUX-64-STATIC: ret
6887 ; LINUX-32-STATIC-LABEL: bam07:
6888 ; LINUX-32-STATIC: movl $ldst+262144, %eax
6889 ; LINUX-32-STATIC-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
6933 ; LINUX-64-STATIC-LABEL: bam08:
6934 ; LINUX-64-STATIC: movl $262144, %eax
6935 ; LINUX-64-STATIC: addq lptr(%rip), %rax
6936 ; LINUX-64-STATIC: ret
6938 ; LINUX-32-STATIC-LABEL: bam08:
6939 ; LINUX-32-STATIC: movl $262144, %eax
6940 ; LINUX-32-STATIC-NEXT: addl lptr, %eax
6941 ; LINUX-32-STATIC-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
6993 ; LINUX-64-STATIC-LABEL: cat00:
6994 ; LINUX-64-STATIC: leaq src+64(,%rdi,4), %rax
6995 ; LINUX-64-STATIC: ret
6997 ; LINUX-32-STATIC-LABEL: cat00:
6998 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
6999 ; LINUX-32-STATIC-NEXT: leal src+64(,[[EAX]],4), %eax
7000 ; LINUX-32-STATIC-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
7054 ; LINUX-64-STATIC-LABEL: cxt00:
7055 ; LINUX-64-STATIC: leaq xsrc+64(,%rdi,4), %rax
7056 ; LINUX-64-STATIC: ret
7058 ; LINUX-32-STATIC-LABEL: cxt00:
7059 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7060 ; LINUX-32-STATIC-NEXT: leal xsrc+64(,[[EAX]],4), %eax
7061 ; LINUX-32-STATIC-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
7115 ; LINUX-64-STATIC-LABEL: cat01:
7116 ; LINUX-64-STATIC: leaq dst+64(,%rdi,4), %rax
7117 ; LINUX-64-STATIC: ret
7119 ; LINUX-32-STATIC-LABEL: cat01:
7120 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7121 ; LINUX-32-STATIC-NEXT: leal dst+64(,[[EAX]],4), %eax
7122 ; LINUX-32-STATIC-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
7176 ; LINUX-64-STATIC-LABEL: cxt01:
7177 ; LINUX-64-STATIC: leaq xdst+64(,%rdi,4), %rax
7178 ; LINUX-64-STATIC: ret
7180 ; LINUX-32-STATIC-LABEL: cxt01:
7181 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7182 ; LINUX-32-STATIC-NEXT: leal xdst+64(,[[EAX]],4), %eax
7183 ; LINUX-32-STATIC-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
7238 ; LINUX-64-STATIC-LABEL: cat02:
7239 ; LINUX-64-STATIC: movq ptr(%rip), [[RAX:%r.x]]
7240 ; LINUX-64-STATIC: leaq 64([[RAX]],%rdi,4), %rax
7241 ; LINUX-64-STATIC: ret
7243 ; LINUX-32-STATIC-LABEL: cat02:
7244 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7245 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
7246 ; LINUX-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax
7247 ; LINUX-32-STATIC-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
7309 ; LINUX-64-STATIC-LABEL: cat03:
7310 ; LINUX-64-STATIC: leaq dsrc+64(,%rdi,4), %rax
7311 ; LINUX-64-STATIC: ret
7313 ; LINUX-32-STATIC-LABEL: cat03:
7314 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7315 ; LINUX-32-STATIC-NEXT: leal dsrc+64(,[[EAX]],4), %eax
7316 ; LINUX-32-STATIC-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
7368 ; LINUX-64-STATIC-LABEL: cat04:
7369 ; LINUX-64-STATIC: leaq ddst+64(,%rdi,4), %rax
7370 ; LINUX-64-STATIC: ret
7372 ; LINUX-32-STATIC-LABEL: cat04:
7373 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7374 ; LINUX-32-STATIC-NEXT: leal ddst+64(,[[EAX]],4), %eax
7375 ; LINUX-32-STATIC-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
7428 ; LINUX-64-STATIC-LABEL: cat05:
7429 ; LINUX-64-STATIC: movq dptr(%rip), [[RAX:%r.x]]
7430 ; LINUX-64-STATIC: leaq 64([[RAX]],%rdi,4), %rax
7431 ; LINUX-64-STATIC: ret
7433 ; LINUX-32-STATIC-LABEL: cat05:
7434 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7435 ; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]]
7436 ; LINUX-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax
7437 ; LINUX-32-STATIC-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
7494 ; LINUX-64-STATIC-LABEL: cat06:
7495 ; LINUX-64-STATIC: leaq lsrc+64(,%rdi,4), %rax
7496 ; LINUX-64-STATIC: ret
7498 ; LINUX-32-STATIC-LABEL: cat06:
7499 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7500 ; LINUX-32-STATIC-NEXT: leal lsrc+64(,[[EAX]],4), %eax
7501 ; LINUX-32-STATIC-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
7553 ; LINUX-64-STATIC-LABEL: cat07:
7554 ; LINUX-64-STATIC: leaq ldst+64(,%rdi,4), %rax
7555 ; LINUX-64-STATIC: ret
7557 ; LINUX-32-STATIC-LABEL: cat07:
7558 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7559 ; LINUX-32-STATIC-NEXT: leal ldst+64(,[[EAX]],4), %eax
7560 ; LINUX-32-STATIC-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
7613 ; LINUX-64-STATIC-LABEL: cat08:
7614 ; LINUX-64-STATIC: movq lptr(%rip), [[RAX:%r.x]]
7615 ; LINUX-64-STATIC: leaq 64([[RAX]],%rdi,4), %rax
7616 ; LINUX-64-STATIC: ret
7618 ; LINUX-32-STATIC-LABEL: cat08:
7619 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7620 ; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]]
7621 ; LINUX-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax
7622 ; LINUX-32-STATIC-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
7678 ; LINUX-64-STATIC-LABEL: cam00:
7679 ; LINUX-64-STATIC: leaq src+262144(,%rdi,4), %rax
7680 ; LINUX-64-STATIC: ret
7682 ; LINUX-32-STATIC-LABEL: cam00:
7683 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7684 ; LINUX-32-STATIC-NEXT: leal src+262144(,[[EAX]],4), %eax
7685 ; LINUX-32-STATIC-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
7739 ; LINUX-64-STATIC-LABEL: cxm00:
7740 ; LINUX-64-STATIC: leaq xsrc+262144(,%rdi,4), %rax
7741 ; LINUX-64-STATIC: ret
7743 ; LINUX-32-STATIC-LABEL: cxm00:
7744 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7745 ; LINUX-32-STATIC-NEXT: leal xsrc+262144(,[[EAX]],4), %eax
7746 ; LINUX-32-STATIC-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
7800 ; LINUX-64-STATIC-LABEL: cam01:
7801 ; LINUX-64-STATIC: leaq dst+262144(,%rdi,4), %rax
7802 ; LINUX-64-STATIC: ret
7804 ; LINUX-32-STATIC-LABEL: cam01:
7805 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7806 ; LINUX-32-STATIC-NEXT: leal dst+262144(,[[EAX]],4), %eax
7807 ; LINUX-32-STATIC-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
7861 ; LINUX-64-STATIC-LABEL: cxm01:
7862 ; LINUX-64-STATIC: leaq xdst+262144(,%rdi,4), %rax
7863 ; LINUX-64-STATIC: ret
7865 ; LINUX-32-STATIC-LABEL: cxm01:
7866 ; LINUX-32-STATIC: movl 4(%esp), %eax
7867 ; LINUX-32-STATIC-NEXT: leal xdst+262144(,[[EAX]],4), %eax
7868 ; LINUX-32-STATIC-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
7923 ; LINUX-64-STATIC-LABEL: cam02:
7924 ; LINUX-64-STATIC: movq ptr(%rip), [[RAX:%r.x]]
7925 ; LINUX-64-STATIC: leaq 262144([[RAX]],%rdi,4), %rax
7926 ; LINUX-64-STATIC: ret
7928 ; LINUX-32-STATIC-LABEL: cam02:
7929 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
7930 ; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]]
7931 ; LINUX-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax
7932 ; LINUX-32-STATIC-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
7994 ; LINUX-64-STATIC-LABEL: cam03:
7995 ; LINUX-64-STATIC: leaq dsrc+262144(,%rdi,4), %rax
7996 ; LINUX-64-STATIC: ret
7998 ; LINUX-32-STATIC-LABEL: cam03:
7999 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
8000 ; LINUX-32-STATIC-NEXT: leal dsrc+262144(,[[EAX]],4), %eax
8001 ; LINUX-32-STATIC-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
8053 ; LINUX-64-STATIC-LABEL: cam04:
8054 ; LINUX-64-STATIC: leaq ddst+262144(,%rdi,4), %rax
8055 ; LINUX-64-STATIC: ret
8057 ; LINUX-32-STATIC-LABEL: cam04:
8058 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
8059 ; LINUX-32-STATIC-NEXT: leal ddst+262144(,[[EAX]],4), %eax
8060 ; LINUX-32-STATIC-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
8113 ; LINUX-64-STATIC-LABEL: cam05:
8114 ; LINUX-64-STATIC: movq dptr(%rip), [[RAX:%r.x]]
8115 ; LINUX-64-STATIC: leaq 262144([[RAX]],%rdi,4), %rax
8116 ; LINUX-64-STATIC: ret
8118 ; LINUX-32-STATIC-LABEL: cam05:
8119 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
8120 ; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]]
8121 ; LINUX-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax
8122 ; LINUX-32-STATIC-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
8179 ; LINUX-64-STATIC-LABEL: cam06:
8180 ; LINUX-64-STATIC: leaq lsrc+262144(,%rdi,4), %rax
8181 ; LINUX-64-STATIC: ret
8183 ; LINUX-32-STATIC-LABEL: cam06:
8184 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
8185 ; LINUX-32-STATIC-NEXT: leal lsrc+262144(,[[EAX]],4), %eax
8186 ; LINUX-32-STATIC-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
8238 ; LINUX-64-STATIC-LABEL: cam07:
8239 ; LINUX-64-STATIC: leaq ldst+262144(,%rdi,4), %rax
8240 ; LINUX-64-STATIC: ret
8242 ; LINUX-32-STATIC-LABEL: cam07:
8243 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
8244 ; LINUX-32-STATIC-NEXT: leal ldst+262144(,[[EAX]],4), %eax
8245 ; LINUX-32-STATIC-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
8298 ; LINUX-64-STATIC-LABEL: cam08:
8299 ; LINUX-64-STATIC: movq lptr(%rip), [[RAX:%r.x]]
8300 ; LINUX-64-STATIC: leaq 262144([[RAX]],%rdi,4), %rax
8301 ; LINUX-64-STATIC: ret
8303 ; LINUX-32-STATIC-LABEL: cam08:
8304 ; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]]
8305 ; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]]
8306 ; LINUX-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax
8307 ; LINUX-32-STATIC-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
8367 ; LINUX-64-STATIC-LABEL: lcallee:
8368 ; LINUX-64-STATIC: callq x
8369 ; LINUX-64-STATIC: callq x
8370 ; LINUX-64-STATIC: callq x
8371 ; LINUX-64-STATIC: callq x
8372 ; LINUX-64-STATIC: callq x
8373 ; LINUX-64-STATIC: callq x
8374 ; LINUX-64-STATIC: callq x
8375 ; LINUX-64-STATIC: ret
8377 ; LINUX-32-STATIC-LABEL: lcallee:
8378 ; LINUX-32-STATIC: subl
8379 ; LINUX-32-STATIC-NEXT: calll x
8380 ; LINUX-32-STATIC-NEXT: calll x
8381 ; LINUX-32-STATIC-NEXT: calll x
8382 ; LINUX-32-STATIC-NEXT: calll x
8383 ; LINUX-32-STATIC-NEXT: calll x
8384 ; LINUX-32-STATIC-NEXT: calll x
8385 ; LINUX-32-STATIC-NEXT: calll x
8386 ; LINUX-32-STATIC-NEXT: addl
8387 ; LINUX-32-STATIC-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
8499 ; LINUX-64-STATIC-LABEL: dcallee:
8500 ; LINUX-64-STATIC: callq y
8501 ; LINUX-64-STATIC: callq y
8502 ; LINUX-64-STATIC: callq y
8503 ; LINUX-64-STATIC: callq y
8504 ; LINUX-64-STATIC: callq y
8505 ; LINUX-64-STATIC: callq y
8506 ; LINUX-64-STATIC: callq y
8507 ; LINUX-64-STATIC: ret
8509 ; LINUX-32-STATIC-LABEL: dcallee:
8510 ; LINUX-32-STATIC: subl
8511 ; LINUX-32-STATIC-NEXT: calll y
8512 ; LINUX-32-STATIC-NEXT: calll y
8513 ; LINUX-32-STATIC-NEXT: calll y
8514 ; LINUX-32-STATIC-NEXT: calll y
8515 ; LINUX-32-STATIC-NEXT: calll y
8516 ; LINUX-32-STATIC-NEXT: calll y
8517 ; LINUX-32-STATIC-NEXT: calll y
8518 ; LINUX-32-STATIC-NEXT: addl
8519 ; LINUX-32-STATIC-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
8624 ; LINUX-64-STATIC-LABEL: address:
8625 ; LINUX-64-STATIC: movl $callee, %eax
8626 ; LINUX-64-STATIC: ret
8628 ; LINUX-32-STATIC-LABEL: address:
8629 ; LINUX-32-STATIC: movl $callee, %eax
8630 ; LINUX-32-STATIC-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
8673 ; LINUX-64-STATIC-LABEL: laddress:
8674 ; LINUX-64-STATIC: movl $lcallee, %eax
8675 ; LINUX-64-STATIC: ret
8677 ; LINUX-32-STATIC-LABEL: laddress:
8678 ; LINUX-32-STATIC: movl $lcallee, %eax
8679 ; LINUX-32-STATIC-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
8720 ; LINUX-64-STATIC-LABEL: daddress:
8721 ; LINUX-64-STATIC: movl $dcallee, %eax
8722 ; LINUX-64-STATIC: ret
8724 ; LINUX-32-STATIC-LABEL: daddress:
8725 ; LINUX-32-STATIC: movl $dcallee, %eax
8726 ; LINUX-32-STATIC-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
8769 ; LINUX-64-STATIC-LABEL: caller:
8770 ; LINUX-64-STATIC: callq callee
8771 ; LINUX-64-STATIC: callq callee
8772 ; LINUX-64-STATIC: ret
8774 ; LINUX-32-STATIC-LABEL: caller:
8775 ; LINUX-32-STATIC: subl
8776 ; LINUX-32-STATIC-NEXT: calll callee
8777 ; LINUX-32-STATIC-NEXT: calll callee
8778 ; LINUX-32-STATIC-NEXT: addl
8779 ; LINUX-32-STATIC-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
8844 ; LINUX-64-STATIC-LABEL: dcaller:
8845 ; LINUX-64-STATIC: callq dcallee
8846 ; LINUX-64-STATIC: callq dcallee
8847 ; LINUX-64-STATIC: ret
8849 ; LINUX-32-STATIC-LABEL: dcaller:
8850 ; LINUX-32-STATIC: subl
8851 ; LINUX-32-STATIC-NEXT: calll dcallee
8852 ; LINUX-32-STATIC-NEXT: calll dcallee
8853 ; LINUX-32-STATIC-NEXT: addl
8854 ; LINUX-32-STATIC-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
8919 ; LINUX-64-STATIC-LABEL: lcaller:
8920 ; LINUX-64-STATIC: callq lcallee
8921 ; LINUX-64-STATIC: callq lcallee
8922 ; LINUX-64-STATIC: ret
8924 ; LINUX-32-STATIC-LABEL: lcaller:
8925 ; LINUX-32-STATIC: subl
8926 ; LINUX-32-STATIC-NEXT: calll lcallee
8927 ; LINUX-32-STATIC-NEXT: calll lcallee
8928 ; LINUX-32-STATIC-NEXT: addl
8929 ; LINUX-32-STATIC-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
8993 ; LINUX-64-STATIC-LABEL: tailcaller:
8994 ; LINUX-64-STATIC: callq callee
8995 ; LINUX-64-STATIC: ret
8997 ; LINUX-32-STATIC-LABEL: tailcaller:
8998 ; LINUX-32-STATIC: subl
8999 ; LINUX-32-STATIC-NEXT: calll callee
9000 ; LINUX-32-STATIC-NEXT: addl
9001 ; LINUX-32-STATIC-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
9057 ; LINUX-64-STATIC-LABEL: dtailcaller:
9058 ; LINUX-64-STATIC: callq dcallee
9059 ; LINUX-64-STATIC: ret
9061 ; LINUX-32-STATIC-LABEL: dtailcaller:
9062 ; LINUX-32-STATIC: subl
9063 ; LINUX-32-STATIC-NEXT: calll dcallee
9064 ; LINUX-32-STATIC-NEXT: addl
9065 ; LINUX-32-STATIC-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
9121 ; LINUX-64-STATIC-LABEL: ltailcaller:
9122 ; LINUX-64-STATIC: callq lcallee
9123 ; LINUX-64-STATIC: ret
9125 ; LINUX-32-STATIC-LABEL: ltailcaller:
9126 ; LINUX-32-STATIC: subl
9127 ; LINUX-32-STATIC-NEXT: calll lcallee
9128 ; LINUX-32-STATIC-NEXT: addl
9129 ; LINUX-32-STATIC-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
9188 ; LINUX-64-STATIC-LABEL: icaller:
9189 ; LINUX-64-STATIC: callq *ifunc
9190 ; LINUX-64-STATIC: callq *ifunc
9191 ; LINUX-64-STATIC: ret
9193 ; LINUX-32-STATIC-LABEL: icaller:
9194 ; LINUX-32-STATIC: subl
9195 ; LINUX-32-STATIC-NEXT: calll *ifunc
9196 ; LINUX-32-STATIC-NEXT: calll *ifunc
9197 ; LINUX-32-STATIC-NEXT: addl
9198 ; LINUX-32-STATIC-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
9278 ; LINUX-64-STATIC-LABEL: dicaller:
9279 ; LINUX-64-STATIC: callq *difunc
9280 ; LINUX-64-STATIC: callq *difunc
9281 ; LINUX-64-STATIC: ret
9283 ; LINUX-32-STATIC-LABEL: dicaller:
9284 ; LINUX-32-STATIC: subl
9285 ; LINUX-32-STATIC-NEXT: calll *difunc
9286 ; LINUX-32-STATIC-NEXT: calll *difunc
9287 ; LINUX-32-STATIC-NEXT: addl
9288 ; LINUX-32-STATIC-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
9361 ; LINUX-64-STATIC-LABEL: licaller:
9362 ; LINUX-64-STATIC: callq *lifunc
9363 ; LINUX-64-STATIC: callq *lifunc
9364 ; LINUX-64-STATIC: ret
9366 ; LINUX-32-STATIC-LABEL: licaller:
9367 ; LINUX-32-STATIC: subl
9368 ; LINUX-32-STATIC-NEXT: calll *lifunc
9369 ; LINUX-32-STATIC-NEXT: calll *lifunc
9370 ; LINUX-32-STATIC-NEXT: addl
9371 ; LINUX-32-STATIC-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
9443 ; LINUX-64-STATIC-LABEL: itailcaller:
9444 ; LINUX-64-STATIC: callq *ifunc
9445 ; LINUX-64-STATIC: callq *ifunc
9446 ; LINUX-64-STATIC: ret
9448 ; LINUX-32-STATIC-LABEL: itailcaller:
9449 ; LINUX-32-STATIC: subl
9450 ; LINUX-32-STATIC-NEXT: calll *ifunc
9451 ; LINUX-32-STATIC-NEXT: calll *ifunc
9452 ; LINUX-32-STATIC-NEXT: addl
9453 ; LINUX-32-STATIC-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
9531 ; LINUX-64-STATIC-LABEL: ditailcaller:
9532 ; LINUX-64-STATIC: callq *difunc
9533 ; LINUX-64-STATIC: ret
9535 ; LINUX-32-STATIC-LABEL: ditailcaller:
9536 ; LINUX-32-STATIC: subl
9537 ; LINUX-32-STATIC-NEXT: calll *difunc
9538 ; LINUX-32-STATIC-NEXT: addl
9539 ; LINUX-32-STATIC-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
9599 ; LINUX-64-STATIC-LABEL: litailcaller:
9600 ; LINUX-64-STATIC: callq *lifunc
9601 ; LINUX-64-STATIC: ret
9603 ; LINUX-32-STATIC-LABEL: litailcaller:
9604 ; LINUX-32-STATIC: subl
9605 ; LINUX-32-STATIC-NEXT: calll *lifunc
9606 ; LINUX-32-STATIC-NEXT: addl
9607 ; LINUX-32-STATIC-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