Lines Matching full:linux
2 … RUN: llc < %s -mcpu=generic -mtriple=i686-linux -verify-machineinstrs | FileCheck %s -check-prefi…
3 …UN: llc < %s -mcpu=generic -mtriple=x86_64-linux -verify-machineinstrs | FileCheck %s -check-pref…
4 … %s -mcpu=generic -mtriple=x86_64-linux -code-model=large -verify-machineinstrs | FileCheck %s -ch…
5 ; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux-gnux32 -verify-machineinstrs | FileCheck %s -ch…
15 ; RUN: llc < %s -mcpu=generic -mtriple=i686-linux -filetype=obj -o /dev/null
16 ; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux -filetype=obj -o /dev/null
17 ; RUN: llc < %s -mcpu=generic -mtriple=x86_64-linux-gnux32 -filetype=obj -o /dev/null
38 ; X86-Linux-LABEL: test_basic:
39 ; X86-Linux: # %bb.0:
40 ; X86-Linux-NEXT: cmpl %gs:48, %esp
41 ; X86-Linux-NEXT: jbe .LBB0_1
42 ; X86-Linux-NEXT: .LBB0_2:
43 ; X86-Linux-NEXT: subl $52, %esp
44 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 52
45 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
46 ; X86-Linux-NEXT: pushl $10
47 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
48 ; X86-Linux-NEXT: pushl %eax
49 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
50 ; X86-Linux-NEXT: calll dummy_use@PLT
51 ; X86-Linux-NEXT: addl $60, %esp
52 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -60
53 ; X86-Linux-NEXT: retl
54 ; X86-Linux-NEXT: .LBB0_1:
55 ; X86-Linux-NEXT: pushl $0
56 ; X86-Linux-NEXT: pushl $44
57 ; X86-Linux-NEXT: calll __morestack
58 ; X86-Linux-NEXT: retl
59 ; X86-Linux-NEXT: jmp .LBB0_2
61 ; X64-Linux-LABEL: test_basic:
62 ; X64-Linux: # %bb.0:
63 ; X64-Linux-NEXT: cmpq %fs:112, %rsp
64 ; X64-Linux-NEXT: jbe .LBB0_1
65 ; X64-Linux-NEXT: .LBB0_2:
66 ; X64-Linux-NEXT: subq $40, %rsp
67 ; X64-Linux-NEXT: .cfi_def_cfa_offset 48
68 ; X64-Linux-NEXT: movq %rsp, %rdi
69 ; X64-Linux-NEXT: movl $10, %esi
70 ; X64-Linux-NEXT: callq dummy_use@PLT
71 ; X64-Linux-NEXT: addq $40, %rsp
72 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
73 ; X64-Linux-NEXT: retq
74 ; X64-Linux-NEXT: .LBB0_1:
75 ; X64-Linux-NEXT: movl $40, %r10d
76 ; X64-Linux-NEXT: movl $0, %r11d
77 ; X64-Linux-NEXT: callq __morestack
78 ; X64-Linux-NEXT: retq
79 ; X64-Linux-NEXT: jmp .LBB0_2
81 ; X64-Linux-Large-LABEL: test_basic:
82 ; X64-Linux-Large: # %bb.0:
83 ; X64-Linux-Large-NEXT: cmpq %fs:112, %rsp
84 ; X64-Linux-Large-NEXT: jbe .LBB0_1
85 ; X64-Linux-Large-NEXT: .LBB0_2:
86 ; X64-Linux-Large-NEXT: subq $40, %rsp
87 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 48
88 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
89 ; X64-Linux-Large-NEXT: movq %rsp, %rdi
90 ; X64-Linux-Large-NEXT: movl $10, %esi
91 ; X64-Linux-Large-NEXT: callq *%rax
92 ; X64-Linux-Large-NEXT: addq $40, %rsp
93 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
94 ; X64-Linux-Large-NEXT: retq
95 ; X64-Linux-Large-NEXT: .LBB0_1:
96 ; X64-Linux-Large-NEXT: movl $40, %r10d
97 ; X64-Linux-Large-NEXT: movl $0, %r11d
98 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
99 ; X64-Linux-Large-NEXT: retq
100 ; X64-Linux-Large-NEXT: jmp .LBB0_2
275 ; X86-Linux-LABEL: test_nested:
276 ; X86-Linux: # %bb.0:
277 ; X86-Linux-NEXT: cmpl %gs:48, %esp
278 ; X86-Linux-NEXT: jbe .LBB1_1
279 ; X86-Linux-NEXT: .LBB1_2:
280 ; X86-Linux-NEXT: pushl %esi
281 ; X86-Linux-NEXT: .cfi_def_cfa_offset 8
282 ; X86-Linux-NEXT: subl $40, %esp
283 ; X86-Linux-NEXT: .cfi_def_cfa_offset 48
284 ; X86-Linux-NEXT: .cfi_offset %esi, -8
285 ; X86-Linux-NEXT: movl {{[0-9]+}}(%esp), %esi
286 ; X86-Linux-NEXT: addl (%ecx), %esi
287 ; X86-Linux-NEXT: subl $8, %esp
288 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 8
289 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
290 ; X86-Linux-NEXT: pushl $10
291 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
292 ; X86-Linux-NEXT: pushl %eax
293 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
294 ; X86-Linux-NEXT: calll dummy_use@PLT
295 ; X86-Linux-NEXT: addl $16, %esp
296 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -16
297 ; X86-Linux-NEXT: movl %esi, %eax
298 ; X86-Linux-NEXT: addl $40, %esp
299 ; X86-Linux-NEXT: .cfi_def_cfa_offset 8
300 ; X86-Linux-NEXT: popl %esi
301 ; X86-Linux-NEXT: .cfi_def_cfa_offset 4
302 ; X86-Linux-NEXT: retl
303 ; X86-Linux-NEXT: .LBB1_1:
304 ; X86-Linux-NEXT: .cfi_restore %esi
305 ; X86-Linux-NEXT: pushl $4
306 ; X86-Linux-NEXT: pushl $44
307 ; X86-Linux-NEXT: calll __morestack
308 ; X86-Linux-NEXT: retl
309 ; X86-Linux-NEXT: jmp .LBB1_2
311 ; X64-Linux-LABEL: test_nested:
312 ; X64-Linux: # %bb.0:
313 ; X64-Linux-NEXT: cmpq %fs:112, %rsp
314 ; X64-Linux-NEXT: jbe .LBB1_1
315 ; X64-Linux-NEXT: .LBB1_2:
316 ; X64-Linux-NEXT: pushq %rbx
317 ; X64-Linux-NEXT: .cfi_def_cfa_offset 16
318 ; X64-Linux-NEXT: subq $48, %rsp
319 ; X64-Linux-NEXT: .cfi_def_cfa_offset 64
320 ; X64-Linux-NEXT: .cfi_offset %rbx, -16
321 ; X64-Linux-NEXT: movl %edi, %ebx
322 ; X64-Linux-NEXT: addl (%r10), %ebx
323 ; X64-Linux-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
324 ; X64-Linux-NEXT: movl $10, %esi
325 ; X64-Linux-NEXT: callq dummy_use@PLT
326 ; X64-Linux-NEXT: movl %ebx, %eax
327 ; X64-Linux-NEXT: addq $48, %rsp
328 ; X64-Linux-NEXT: .cfi_def_cfa_offset 16
329 ; X64-Linux-NEXT: popq %rbx
330 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
331 ; X64-Linux-NEXT: retq
332 ; X64-Linux-NEXT: .LBB1_1:
333 ; X64-Linux-NEXT: .cfi_restore %rbx
334 ; X64-Linux-NEXT: movq %r10, %rax
335 ; X64-Linux-NEXT: movl $56, %r10d
336 ; X64-Linux-NEXT: movl $0, %r11d
337 ; X64-Linux-NEXT: callq __morestack
338 ; X64-Linux-NEXT: retq
339 ; X64-Linux-NEXT: movq %rax, %r10
340 ; X64-Linux-NEXT: jmp .LBB1_2
342 ; X64-Linux-Large-LABEL: test_nested:
343 ; X64-Linux-Large: # %bb.0:
344 ; X64-Linux-Large-NEXT: cmpq %fs:112, %rsp
345 ; X64-Linux-Large-NEXT: jbe .LBB1_1
346 ; X64-Linux-Large-NEXT: .LBB1_2:
347 ; X64-Linux-Large-NEXT: pushq %rbx
348 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 16
349 ; X64-Linux-Large-NEXT: subq $48, %rsp
350 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 64
351 ; X64-Linux-Large-NEXT: .cfi_offset %rbx, -16
352 ; X64-Linux-Large-NEXT: movl %edi, %ebx
353 ; X64-Linux-Large-NEXT: addl (%r10), %ebx
354 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
355 ; X64-Linux-Large-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
356 ; X64-Linux-Large-NEXT: movl $10, %esi
357 ; X64-Linux-Large-NEXT: callq *%rax
358 ; X64-Linux-Large-NEXT: movl %ebx, %eax
359 ; X64-Linux-Large-NEXT: addq $48, %rsp
360 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 16
361 ; X64-Linux-Large-NEXT: popq %rbx
362 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
363 ; X64-Linux-Large-NEXT: retq
364 ; X64-Linux-Large-NEXT: .LBB1_1:
365 ; X64-Linux-Large-NEXT: .cfi_restore %rbx
366 ; X64-Linux-Large-NEXT: movq %r10, %rax
367 ; X64-Linux-Large-NEXT: movl $56, %r10d
368 ; X64-Linux-Large-NEXT: movl $0, %r11d
369 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
370 ; X64-Linux-Large-NEXT: retq
371 ; X64-Linux-Large-NEXT: movq %rax, %r10
372 ; X64-Linux-Large-NEXT: jmp .LBB1_2
626 ; X86-Linux-LABEL: test_large:
627 ; X86-Linux: # %bb.0:
628 ; X86-Linux-NEXT: leal -{{[0-9]+}}(%esp), %ecx
629 ; X86-Linux-NEXT: cmpl %gs:48, %ecx
630 ; X86-Linux-NEXT: jbe .LBB2_1
631 ; X86-Linux-NEXT: .LBB2_2:
632 ; X86-Linux-NEXT: subl $40020, %esp # imm = 0x9C54
633 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 40020
634 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
635 ; X86-Linux-NEXT: pushl $3
636 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
637 ; X86-Linux-NEXT: pushl %eax
638 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
639 ; X86-Linux-NEXT: calll dummy_use@PLT
640 ; X86-Linux-NEXT: addl $40028, %esp # imm = 0x9C5C
641 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -40028
642 ; X86-Linux-NEXT: retl
643 ; X86-Linux-NEXT: .LBB2_1:
644 ; X86-Linux-NEXT: pushl $0
645 ; X86-Linux-NEXT: pushl $40012 # imm = 0x9C4C
646 ; X86-Linux-NEXT: calll __morestack
647 ; X86-Linux-NEXT: retl
648 ; X86-Linux-NEXT: jmp .LBB2_2
650 ; X64-Linux-LABEL: test_large:
651 ; X64-Linux: # %bb.0:
652 ; X64-Linux-NEXT: leaq -{{[0-9]+}}(%rsp), %r11
653 ; X64-Linux-NEXT: cmpq %fs:112, %r11
654 ; X64-Linux-NEXT: jbe .LBB2_1
655 ; X64-Linux-NEXT: .LBB2_2:
656 ; X64-Linux-NEXT: subq $40008, %rsp # imm = 0x9C48
657 ; X64-Linux-NEXT: .cfi_def_cfa_offset 40016
658 ; X64-Linux-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
659 ; X64-Linux-NEXT: movl $3, %esi
660 ; X64-Linux-NEXT: callq dummy_use@PLT
661 ; X64-Linux-NEXT: addq $40008, %rsp # imm = 0x9C48
662 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
663 ; X64-Linux-NEXT: retq
664 ; X64-Linux-NEXT: .LBB2_1:
665 ; X64-Linux-NEXT: movl $40008, %r10d # imm = 0x9C48
666 ; X64-Linux-NEXT: movl $0, %r11d
667 ; X64-Linux-NEXT: callq __morestack
668 ; X64-Linux-NEXT: retq
669 ; X64-Linux-NEXT: jmp .LBB2_2
671 ; X64-Linux-Large-LABEL: test_large:
672 ; X64-Linux-Large: # %bb.0:
673 ; X64-Linux-Large-NEXT: leaq -{{[0-9]+}}(%rsp), %r11
674 ; X64-Linux-Large-NEXT: cmpq %fs:112, %r11
675 ; X64-Linux-Large-NEXT: jbe .LBB2_1
676 ; X64-Linux-Large-NEXT: .LBB2_2:
677 ; X64-Linux-Large-NEXT: subq $40008, %rsp # imm = 0x9C48
678 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 40016
679 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
680 ; X64-Linux-Large-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
681 ; X64-Linux-Large-NEXT: movl $3, %esi
682 ; X64-Linux-Large-NEXT: callq *%rax
683 ; X64-Linux-Large-NEXT: addq $40008, %rsp # imm = 0x9C48
684 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
685 ; X64-Linux-Large-NEXT: retq
686 ; X64-Linux-Large-NEXT: .LBB2_1:
687 ; X64-Linux-Large-NEXT: movl $40008, %r10d # imm = 0x9C48
688 ; X64-Linux-Large-NEXT: movl $0, %r11d
689 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
690 ; X64-Linux-Large-NEXT: retq
691 ; X64-Linux-Large-NEXT: jmp .LBB2_2
877 ; X86-Linux-LABEL: test_fastcc:
878 ; X86-Linux: # %bb.0:
879 ; X86-Linux-NEXT: cmpl %gs:48, %esp
880 ; X86-Linux-NEXT: jbe .LBB3_1
881 ; X86-Linux-NEXT: .LBB3_2:
882 ; X86-Linux-NEXT: subl $52, %esp
883 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 52
884 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
885 ; X86-Linux-NEXT: pushl $10
886 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
887 ; X86-Linux-NEXT: pushl %eax
888 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
889 ; X86-Linux-NEXT: calll dummy_use@PLT
890 ; X86-Linux-NEXT: addl $60, %esp
891 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -60
892 ; X86-Linux-NEXT: retl
893 ; X86-Linux-NEXT: .LBB3_1:
894 ; X86-Linux-NEXT: pushl $0
895 ; X86-Linux-NEXT: pushl $44
896 ; X86-Linux-NEXT: calll __morestack
897 ; X86-Linux-NEXT: retl
898 ; X86-Linux-NEXT: jmp .LBB3_2
900 ; X64-Linux-LABEL: test_fastcc:
901 ; X64-Linux: # %bb.0:
902 ; X64-Linux-NEXT: cmpq %fs:112, %rsp
903 ; X64-Linux-NEXT: jbe .LBB3_1
904 ; X64-Linux-NEXT: .LBB3_2:
905 ; X64-Linux-NEXT: subq $40, %rsp
906 ; X64-Linux-NEXT: .cfi_def_cfa_offset 48
907 ; X64-Linux-NEXT: movq %rsp, %rdi
908 ; X64-Linux-NEXT: movl $10, %esi
909 ; X64-Linux-NEXT: callq dummy_use@PLT
910 ; X64-Linux-NEXT: addq $40, %rsp
911 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
912 ; X64-Linux-NEXT: retq
913 ; X64-Linux-NEXT: .LBB3_1:
914 ; X64-Linux-NEXT: movl $40, %r10d
915 ; X64-Linux-NEXT: movl $0, %r11d
916 ; X64-Linux-NEXT: callq __morestack
917 ; X64-Linux-NEXT: retq
918 ; X64-Linux-NEXT: jmp .LBB3_2
920 ; X64-Linux-Large-LABEL: test_fastcc:
921 ; X64-Linux-Large: # %bb.0:
922 ; X64-Linux-Large-NEXT: cmpq %fs:112, %rsp
923 ; X64-Linux-Large-NEXT: jbe .LBB3_1
924 ; X64-Linux-Large-NEXT: .LBB3_2:
925 ; X64-Linux-Large-NEXT: subq $40, %rsp
926 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 48
927 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
928 ; X64-Linux-Large-NEXT: movq %rsp, %rdi
929 ; X64-Linux-Large-NEXT: movl $10, %esi
930 ; X64-Linux-Large-NEXT: callq *%rax
931 ; X64-Linux-Large-NEXT: addq $40, %rsp
932 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
933 ; X64-Linux-Large-NEXT: retq
934 ; X64-Linux-Large-NEXT: .LBB3_1:
935 ; X64-Linux-Large-NEXT: movl $40, %r10d
936 ; X64-Linux-Large-NEXT: movl $0, %r11d
937 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
938 ; X64-Linux-Large-NEXT: retq
939 ; X64-Linux-Large-NEXT: jmp .LBB3_2
1114 ; X86-Linux-LABEL: test_fastcc_large:
1115 ; X86-Linux: # %bb.0:
1116 ; X86-Linux-NEXT: leal -{{[0-9]+}}(%esp), %eax
1117 ; X86-Linux-NEXT: cmpl %gs:48, %eax
1118 ; X86-Linux-NEXT: jbe .LBB4_1
1119 ; X86-Linux-NEXT: .LBB4_2:
1120 ; X86-Linux-NEXT: subl $40020, %esp # imm = 0x9C54
1121 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 40020
1122 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
1123 ; X86-Linux-NEXT: pushl $3
1124 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
1125 ; X86-Linux-NEXT: pushl %eax
1126 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
1127 ; X86-Linux-NEXT: calll dummy_use@PLT
1128 ; X86-Linux-NEXT: addl $40028, %esp # imm = 0x9C5C
1129 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -40028
1130 ; X86-Linux-NEXT: retl
1131 ; X86-Linux-NEXT: .LBB4_1:
1132 ; X86-Linux-NEXT: pushl $0
1133 ; X86-Linux-NEXT: pushl $40012 # imm = 0x9C4C
1134 ; X86-Linux-NEXT: calll __morestack
1135 ; X86-Linux-NEXT: retl
1136 ; X86-Linux-NEXT: jmp .LBB4_2
1138 ; X64-Linux-LABEL: test_fastcc_large:
1139 ; X64-Linux: # %bb.0:
1140 ; X64-Linux-NEXT: leaq -{{[0-9]+}}(%rsp), %r11
1141 ; X64-Linux-NEXT: cmpq %fs:112, %r11
1142 ; X64-Linux-NEXT: jbe .LBB4_1
1143 ; X64-Linux-NEXT: .LBB4_2:
1144 ; X64-Linux-NEXT: subq $40008, %rsp # imm = 0x9C48
1145 ; X64-Linux-NEXT: .cfi_def_cfa_offset 40016
1146 ; X64-Linux-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1147 ; X64-Linux-NEXT: movl $3, %esi
1148 ; X64-Linux-NEXT: callq dummy_use@PLT
1149 ; X64-Linux-NEXT: addq $40008, %rsp # imm = 0x9C48
1150 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
1151 ; X64-Linux-NEXT: retq
1152 ; X64-Linux-NEXT: .LBB4_1:
1153 ; X64-Linux-NEXT: movl $40008, %r10d # imm = 0x9C48
1154 ; X64-Linux-NEXT: movl $0, %r11d
1155 ; X64-Linux-NEXT: callq __morestack
1156 ; X64-Linux-NEXT: retq
1157 ; X64-Linux-NEXT: jmp .LBB4_2
1159 ; X64-Linux-Large-LABEL: test_fastcc_large:
1160 ; X64-Linux-Large: # %bb.0:
1161 ; X64-Linux-Large-NEXT: leaq -{{[0-9]+}}(%rsp), %r11
1162 ; X64-Linux-Large-NEXT: cmpq %fs:112, %r11
1163 ; X64-Linux-Large-NEXT: jbe .LBB4_1
1164 ; X64-Linux-Large-NEXT: .LBB4_2:
1165 ; X64-Linux-Large-NEXT: subq $40008, %rsp # imm = 0x9C48
1166 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 40016
1167 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
1168 ; X64-Linux-Large-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1169 ; X64-Linux-Large-NEXT: movl $3, %esi
1170 ; X64-Linux-Large-NEXT: callq *%rax
1171 ; X64-Linux-Large-NEXT: addq $40008, %rsp # imm = 0x9C48
1172 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
1173 ; X64-Linux-Large-NEXT: retq
1174 ; X64-Linux-Large-NEXT: .LBB4_1:
1175 ; X64-Linux-Large-NEXT: movl $40008, %r10d # imm = 0x9C48
1176 ; X64-Linux-Large-NEXT: movl $0, %r11d
1177 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
1178 ; X64-Linux-Large-NEXT: retq
1179 ; X64-Linux-Large-NEXT: jmp .LBB4_2
1367 ; X86-Linux-LABEL: test_fastcc_large_with_ecx_arg:
1368 ; X86-Linux: # %bb.0:
1369 ; X86-Linux-NEXT: leal -{{[0-9]+}}(%esp), %eax
1370 ; X86-Linux-NEXT: cmpl %gs:48, %eax
1371 ; X86-Linux-NEXT: jbe .LBB5_1
1372 ; X86-Linux-NEXT: .LBB5_2:
1373 ; X86-Linux-NEXT: subl $40020, %esp # imm = 0x9C54
1374 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 40020
1375 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
1376 ; X86-Linux-NEXT: pushl %ecx
1377 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
1378 ; X86-Linux-NEXT: pushl %eax
1379 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
1380 ; X86-Linux-NEXT: calll dummy_use@PLT
1381 ; X86-Linux-NEXT: addl $40028, %esp # imm = 0x9C5C
1382 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -40028
1383 ; X86-Linux-NEXT: retl
1384 ; X86-Linux-NEXT: .LBB5_1:
1385 ; X86-Linux-NEXT: pushl $0
1386 ; X86-Linux-NEXT: pushl $40012 # imm = 0x9C4C
1387 ; X86-Linux-NEXT: calll __morestack
1388 ; X86-Linux-NEXT: retl
1389 ; X86-Linux-NEXT: jmp .LBB5_2
1391 ; X64-Linux-LABEL: test_fastcc_large_with_ecx_arg:
1392 ; X64-Linux: # %bb.0:
1393 ; X64-Linux-NEXT: leaq -{{[0-9]+}}(%rsp), %r11
1394 ; X64-Linux-NEXT: cmpq %fs:112, %r11
1395 ; X64-Linux-NEXT: jbe .LBB5_1
1396 ; X64-Linux-NEXT: .LBB5_2:
1397 ; X64-Linux-NEXT: subq $40008, %rsp # imm = 0x9C48
1398 ; X64-Linux-NEXT: .cfi_def_cfa_offset 40016
1399 ; X64-Linux-NEXT: movl %edi, %esi
1400 ; X64-Linux-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1401 ; X64-Linux-NEXT: callq dummy_use@PLT
1402 ; X64-Linux-NEXT: addq $40008, %rsp # imm = 0x9C48
1403 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
1404 ; X64-Linux-NEXT: retq
1405 ; X64-Linux-NEXT: .LBB5_1:
1406 ; X64-Linux-NEXT: movl $40008, %r10d # imm = 0x9C48
1407 ; X64-Linux-NEXT: movl $0, %r11d
1408 ; X64-Linux-NEXT: callq __morestack
1409 ; X64-Linux-NEXT: retq
1410 ; X64-Linux-NEXT: jmp .LBB5_2
1412 ; X64-Linux-Large-LABEL: test_fastcc_large_with_ecx_arg:
1413 ; X64-Linux-Large: # %bb.0:
1414 ; X64-Linux-Large-NEXT: leaq -{{[0-9]+}}(%rsp), %r11
1415 ; X64-Linux-Large-NEXT: cmpq %fs:112, %r11
1416 ; X64-Linux-Large-NEXT: jbe .LBB5_1
1417 ; X64-Linux-Large-NEXT: .LBB5_2:
1418 ; X64-Linux-Large-NEXT: subq $40008, %rsp # imm = 0x9C48
1419 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 40016
1420 ; X64-Linux-Large-NEXT: movl %edi, %esi
1421 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
1422 ; X64-Linux-Large-NEXT: leaq {{[0-9]+}}(%rsp), %rdi
1423 ; X64-Linux-Large-NEXT: callq *%rax
1424 ; X64-Linux-Large-NEXT: addq $40008, %rsp # imm = 0x9C48
1425 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
1426 ; X64-Linux-Large-NEXT: retq
1427 ; X64-Linux-Large-NEXT: .LBB5_1:
1428 ; X64-Linux-Large-NEXT: movl $40008, %r10d # imm = 0x9C48
1429 ; X64-Linux-Large-NEXT: movl $0, %r11d
1430 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
1431 ; X64-Linux-Large-NEXT: retq
1432 ; X64-Linux-Large-NEXT: jmp .LBB5_2
1620 ; X86-Linux-LABEL: test_nostack:
1621 ; X86-Linux: # %bb.0:
1622 ; X86-Linux-NEXT: retl
1624 ; X64-Linux-LABEL: test_nostack:
1625 ; X64-Linux: # %bb.0:
1626 ; X64-Linux-NEXT: retq
1628 ; X64-Linux-Large-LABEL: test_nostack:
1629 ; X64-Linux-Large: # %bb.0:
1630 ; X64-Linux-Large-NEXT: retq
1667 ; X86-Linux-LABEL: test_nosplitstck:
1668 ; X86-Linux: # %bb.0:
1669 ; X86-Linux-NEXT: retl
1671 ; X64-Linux-LABEL: test_nosplitstck:
1672 ; X64-Linux: # %bb.0:
1673 ; X64-Linux-NEXT: retq
1675 ; X64-Linux-Large-LABEL: test_nosplitstck:
1676 ; X64-Linux-Large: # %bb.0:
1677 ; X64-Linux-Large-NEXT: retq
1720 ; X86-Linux-LABEL: test_sibling_call_empty_frame:
1721 ; X86-Linux: # %bb.0:
1722 ; X86-Linux-NEXT: cmpl %gs:48, %esp
1723 ; X86-Linux-NEXT: ja callee@PLT # TAILCALL
1724 ; X86-Linux-NEXT: # %bb.1:
1725 ; X86-Linux-NEXT: pushl $4
1726 ; X86-Linux-NEXT: pushl $0
1727 ; X86-Linux-NEXT: calll __morestack
1728 ; X86-Linux-NEXT: retl
1729 ; X86-Linux-NEXT: jmp callee@PLT # TAILCALL
1731 ; X64-Linux-LABEL: test_sibling_call_empty_frame:
1732 ; X64-Linux: # %bb.0:
1733 ; X64-Linux-NEXT: cmpq %fs:112, %rsp
1734 ; X64-Linux-NEXT: ja callee@PLT # TAILCALL
1735 ; X64-Linux-NEXT: # %bb.1:
1736 ; X64-Linux-NEXT: movl $0, %r10d
1737 ; X64-Linux-NEXT: movl $0, %r11d
1738 ; X64-Linux-NEXT: callq __morestack
1739 ; X64-Linux-NEXT: retq
1740 ; X64-Linux-NEXT: jmp callee@PLT # TAILCALL
1742 ; X64-Linux-Large-LABEL: test_sibling_call_empty_frame:
1743 ; X64-Linux-Large: # %bb.0:
1744 ; X64-Linux-Large-NEXT: cmpq %fs:112, %rsp
1745 ; X64-Linux-Large-NEXT: jbe .LBB8_1
1746 ; X64-Linux-Large-NEXT: # %bb.2:
1747 ; X64-Linux-Large-NEXT: movabsq $callee, %rax
1748 ; X64-Linux-Large-NEXT: jmpq *%rax # TAILCALL
1749 ; X64-Linux-Large-NEXT: .LBB8_1:
1750 ; X64-Linux-Large-NEXT: movl $0, %r10d
1751 ; X64-Linux-Large-NEXT: movl $0, %r11d
1752 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
1753 ; X64-Linux-Large-NEXT: retq
1754 ; X64-Linux-Large-NEXT: movabsq $callee, %rax
1755 ; X64-Linux-Large-NEXT: jmpq *%rax # TAILCALL
1852 ; X86-Linux-LABEL: test_nested_unused:
1853 ; X86-Linux: # %bb.0:
1854 ; X86-Linux-NEXT: cmpl %gs:48, %esp
1855 ; X86-Linux-NEXT: jbe .LBB9_1
1856 ; X86-Linux-NEXT: .LBB9_2:
1857 ; X86-Linux-NEXT: subl $52, %esp
1858 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 52
1859 ; X86-Linux-NEXT: leal {{[0-9]+}}(%esp), %eax
1860 ; X86-Linux-NEXT: pushl $10
1861 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
1862 ; X86-Linux-NEXT: pushl %eax
1863 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset 4
1864 ; X86-Linux-NEXT: calll dummy_use@PLT
1865 ; X86-Linux-NEXT: addl $16, %esp
1866 ; X86-Linux-NEXT: .cfi_adjust_cfa_offset -16
1867 ; X86-Linux-NEXT: movl $123, %eax
1868 ; X86-Linux-NEXT: addl $44, %esp
1869 ; X86-Linux-NEXT: .cfi_def_cfa_offset 4
1870 ; X86-Linux-NEXT: retl
1871 ; X86-Linux-NEXT: .LBB9_1:
1872 ; X86-Linux-NEXT: pushl $0
1873 ; X86-Linux-NEXT: pushl $44
1874 ; X86-Linux-NEXT: calll __morestack
1875 ; X86-Linux-NEXT: retl
1876 ; X86-Linux-NEXT: jmp .LBB9_2
1878 ; X64-Linux-LABEL: test_nested_unused:
1879 ; X64-Linux: # %bb.0:
1880 ; X64-Linux-NEXT: cmpq %fs:112, %rsp
1881 ; X64-Linux-NEXT: jbe .LBB9_1
1882 ; X64-Linux-NEXT: .LBB9_2:
1883 ; X64-Linux-NEXT: subq $40, %rsp
1884 ; X64-Linux-NEXT: .cfi_def_cfa_offset 48
1885 ; X64-Linux-NEXT: movq %rsp, %rdi
1886 ; X64-Linux-NEXT: movl $10, %esi
1887 ; X64-Linux-NEXT: callq dummy_use@PLT
1888 ; X64-Linux-NEXT: movl $123, %eax
1889 ; X64-Linux-NEXT: addq $40, %rsp
1890 ; X64-Linux-NEXT: .cfi_def_cfa_offset 8
1891 ; X64-Linux-NEXT: retq
1892 ; X64-Linux-NEXT: .LBB9_1:
1893 ; X64-Linux-NEXT: movl $40, %r10d
1894 ; X64-Linux-NEXT: movl $0, %r11d
1895 ; X64-Linux-NEXT: callq __morestack
1896 ; X64-Linux-NEXT: retq
1897 ; X64-Linux-NEXT: jmp .LBB9_2
1899 ; X64-Linux-Large-LABEL: test_nested_unused:
1900 ; X64-Linux-Large: # %bb.0:
1901 ; X64-Linux-Large-NEXT: cmpq %fs:112, %rsp
1902 ; X64-Linux-Large-NEXT: jbe .LBB9_1
1903 ; X64-Linux-Large-NEXT: .LBB9_2:
1904 ; X64-Linux-Large-NEXT: subq $40, %rsp
1905 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 48
1906 ; X64-Linux-Large-NEXT: movabsq $dummy_use, %rax
1907 ; X64-Linux-Large-NEXT: movq %rsp, %rdi
1908 ; X64-Linux-Large-NEXT: movl $10, %esi
1909 ; X64-Linux-Large-NEXT: callq *%rax
1910 ; X64-Linux-Large-NEXT: movl $123, %eax
1911 ; X64-Linux-Large-NEXT: addq $40, %rsp
1912 ; X64-Linux-Large-NEXT: .cfi_def_cfa_offset 8
1913 ; X64-Linux-Large-NEXT: retq
1914 ; X64-Linux-Large-NEXT: .LBB9_1:
1915 ; X64-Linux-Large-NEXT: movl $40, %r10d
1916 ; X64-Linux-Large-NEXT: movl $0, %r11d
1917 ; X64-Linux-Large-NEXT: callq *__morestack_addr(%rip)
1918 ; X64-Linux-Large-NEXT: retq
1919 ; X64-Linux-Large-NEXT: jmp .LBB9_2
2106 ; X64-Linux-Large: .section ".note.GNU-split-stack","",@progbits
2107 ; X64-Linux-Large-NEXT: .section ".note.GNU-no-split-stack","",@progbits
2108 ; X64-Linux-Large-NEXT: .section ".note.GNU-stack","",@progbits
2109 ; X64-Linux-Large-NEXT: .rodata
2110 ; X64-Linux-Large-NEXT: __morestack_addr:
2111 ; X64-Linux-Large-NEXT: .quad __morestack
2113 ; X86-Linux: .section ".note.GNU-split-stack","",@progbits
2114 ; X86-Linux: .section ".note.GNU-no-split-stack","",@progbits
2116 ; X64-Linux: .section ".note.GNU-split-stack","",@progbits
2117 ; X64-Linux: .section ".note.GNU-no-split-stack","",@progbits