Lines Matching +full:0 +full:x32

4 …nstrs < %s -mtriple=x86_64-linux-gnux32 -mcpu=core2 -mattr=+sse2  | FileCheck %s --check-prefix=X32
8 ; X86: # %bb.0:
12 ; X64: # %bb.0:
15 ; X32-LABEL: t1:
16 ; X32: # %bb.0:
17 ; X32-NEXT: jmp foo # TAILCALL
26 ; X86: # %bb.0:
30 ; X64: # %bb.0:
33 ; X32-LABEL: t2:
34 ; X32: # %bb.0:
35 ; X32-NEXT: jmp foo2 # TAILCALL
44 ; X86: # %bb.0:
48 ; X64: # %bb.0:
51 ; X32-LABEL: t3:
52 ; X32: # %bb.0:
53 ; X32-NEXT: jmp foo3 # TAILCALL
62 ; X86: # %bb.0:
64 ; X86-NEXT: movl $0, (%esp)
65 ; X86-NEXT: calll *{{[0-9]+}}(%esp)
70 ; X64: # %bb.0:
75 ; X32-LABEL: t4:
76 ; X32: # %bb.0:
77 ; X32-NEXT: movq %rdi, %rax
78 ; X32-NEXT: xorl %edi, %edi
79 ; X32-NEXT: jmpq *%rax # TAILCALL
80 tail call void %x(i32 0) nounwind
86 ; X86: # %bb.0:
87 ; X86-NEXT: jmpl *{{[0-9]+}}(%esp) # TAILCALL
90 ; X64: # %bb.0:
93 ; X32-LABEL: t5:
94 ; X32: # %bb.0:
95 ; X32-NEXT: jmpq *%rdi # TAILCALL
105 ; X86: # %bb.0:
106 ; X86-NEXT: jmpl *{{[0-9]+}}(%esp) # TAILCALL
109 ; X64: # %bb.0:
110 ; X64-NEXT: jmpq *{{[0-9]+}}(%rsp) # TAILCALL
112 ; X32-LABEL: t5_x64:
113 ; X32: # %bb.0:
114 ; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
115 ; X32-NEXT: jmpq *%rax # TAILCALL
123 ; X86: # %bb.0:
125 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
139 ; X64: # %bb.0:
146 ; X32-LABEL: t6:
147 ; X32: # %bb.0:
148 ; X32-NEXT: cmpl $9, %edi
149 ; X32-NEXT: jg bar # TAILCALL
150 ; X32-NEXT: # %bb.1: # %bb
151 ; X32-NEXT: decl %edi
152 ; X32-NEXT: jmp t6 # TAILCALL
170 ; X86: # %bb.0:
174 ; X64: # %bb.0:
177 ; X32-LABEL: t7:
178 ; X32: # %bb.0:
179 ; X32-NEXT: jmp bar2 # TAILCALL
188 ; X86: # %bb.0: # %entry
192 ; X64: # %bb.0: # %entry
195 ; X32-LABEL: t8:
196 ; X32: # %bb.0: # %entry
197 ; X32-NEXT: jmp bar3 # TAILCALL
199 %0 = tail call signext i16 @bar3() nounwind ; <i16> [#uses=1]
200 ret i16 %0
207 ; X86: # %bb.0: # %entry
209 ; X86-NEXT: movl $0, (%esp)
210 ; X86-NEXT: calll *{{[0-9]+}}(%esp)
215 ; X64: # %bb.0: # %entry
220 ; X32-LABEL: t9:
221 ; X32: # %bb.0: # %entry
222 ; X32-NEXT: movq %rdi, %rax
223 ; X32-NEXT: xorl %edi, %edi
224 ; X32-NEXT: jmpq *%rax # TAILCALL
226 %0 = tail call signext i16 %x(i32 0) nounwind
227 ret i16 %0
232 ; X86: # %bb.0: # %entry
237 ; X64: # %bb.0: # %entry
241 ; X32-LABEL: t10:
242 ; X32: # %bb.0: # %entry
243 ; X32-NEXT: pushq %rax
244 ; X32-NEXT: callq foo4
246 %0 = tail call i32 @foo4() noreturn nounwind
255 define dso_local i32 @t11(i32 %x, i32 %y, i32 %z.0, i32 %z.1, i32 %z.2) nounwind ssp {
257 ; X86: # %bb.0: # %entry
258 ; X86-NEXT: cmpl $0, {{[0-9]+}}(%esp)
265 ; X64: # %bb.0: # %entry
272 ; X32-LABEL: t11:
273 ; X32: # %bb.0: # %entry
274 ; X32-NEXT: testl %edi, %edi
275 ; X32-NEXT: jne foo5 # TAILCALL
276 ; X32-NEXT: # %bb.1: # %bb6
277 ; X32-NEXT: xorl %eax, %eax
278 ; X32-NEXT: retq
280 %0 = icmp eq i32 %x, 0
281 br i1 %0, label %bb6, label %bb
284 %1 = tail call i32 @foo5(i32 %x, i32 %y, i32 %z.0, i32 %z.1, i32 %z.2) nounwind
288 ret i32 0
297 ; X86: # %bb.0: # %entry
298 ; X86-NEXT: cmpl $0, {{[0-9]+}}(%esp)
305 ; X64: # %bb.0: # %entry
312 ; X32-LABEL: t12:
313 ; X32: # %bb.0: # %entry
314 ; X32-NEXT: testl %edi, %edi
315 ; X32-NEXT: jne foo6 # TAILCALL
316 ; X32-NEXT: # %bb.1: # %bb2
317 ; X32-NEXT: xorl %eax, %eax
318 ; X32-NEXT: retq
320 %0 = icmp eq i32 %x, 0
321 br i1 %0, label %bb2, label %bb
328 ret i32 0
339 ; X86: # %bb.0: # %entry
341 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
343 ; X86-NEXT: movl %ecx, {{[0-9]+}}(%esp)
344 ; X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
345 ; X86-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
346 ; X86-NEXT: movsd %xmm1, {{[0-9]+}}(%esp)
354 ; X64: # %bb.0: # %entry
369 ; X32-LABEL: t13:
370 ; X32: # %bb.0: # %entry
371 ; X32-NEXT: pushq %rax
372 ; X32-NEXT: subl $8, %esp
373 ; X32-NEXT: movl 16(%edi), %eax
374 ; X32-NEXT: movq (%edi), %rcx
375 ; X32-NEXT: movq 8(%edi), %rdx
376 ; X32-NEXT: xorl %edi, %edi
377 ; X32-NEXT: pushq %rax
378 ; X32-NEXT: pushq %rdx
379 ; X32-NEXT: pushq %rcx
380 ; X32-NEXT: callq foo7
381 ; X32-NEXT: addl $32, %esp
382 ; X32-NEXT: movl %eax, %eax
383 ; X32-NEXT: popq %rcx
384 ; X32-NEXT: retq
386 %0 = tail call fastcc ptr @foo7(ptr byval(%struct.cp) align 4 %yy, i8 signext 0) nounwind
387 ret ptr %0
401 ; X86: # %bb.0: # %entry
403 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
411 ; X64: # %bb.0: # %entry
415 ; X32-LABEL: t14:
416 ; X32: # %bb.0: # %entry
417 ; X32-NEXT: movl 20(%edi), %edi
418 ; X32-NEXT: movl 12(%edi), %eax
419 ; X32-NEXT: jmpq *%rax # TAILCALL
421 …%0 = getelementptr inbounds %struct.__block_literal_2, ptr %.block_descriptor, i64 0, i32 5 ; <ptr…
422 %1 = load ptr, ptr %0, align 8 ; <ptr> [#uses=2]
423 %2 = getelementptr inbounds %struct.__block_literal_1, ptr %1, i64 0, i32 3 ; <ptr> [#uses=1]
434 ; X86: # %bb.0:
437 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
446 ; X64: # %bb.0:
454 ; X32-LABEL: t15:
455 ; X32: # %bb.0:
456 ; X32-NEXT: pushq %rbx
457 ; X32-NEXT: movq %rdi, %rbx
458 ; X32-NEXT: callq f
459 ; X32-NEXT: movl %ebx, %eax
460 ; X32-NEXT: popq %rbx
461 ; X32-NEXT: retq
470 ; X86: # %bb.0: # %entry
473 ; X86-NEXT: fstp %st(0)
478 ; X64: # %bb.0: # %entry
481 ; X32-LABEL: t16:
482 ; X32: # %bb.0: # %entry
483 ; X32-NEXT: jmp bar4 # TAILCALL
485 %0 = tail call double @bar4() nounwind
494 ; X86: # %bb.0: # %entry
498 ; X64: # %bb.0: # %entry
502 ; X32-LABEL: t17:
503 ; X32: # %bb.0: # %entry
504 ; X32-NEXT: xorl %eax, %eax
505 ; X32-NEXT: jmp bar5 # TAILCALL
516 ; X86: # %bb.0: # %entry
519 ; X86-NEXT: fstp %st(0)
524 ; X64: # %bb.0: # %entry
528 ; X32-LABEL: t18:
529 ; X32: # %bb.0: # %entry
530 ; X32-NEXT: xorl %eax, %eax
531 ; X32-NEXT: jmp bar6 # TAILCALL
533 %0 = tail call double (...) @bar6() nounwind
541 ; X86: # %bb.0: # %entry
552 ; X64: # %bb.0: # %entry
562 ; X32-LABEL: t19:
563 ; X32: # %bb.0: # %entry
564 ; X32-NEXT: pushq %rbp
565 ; X32-NEXT: movl %esp, %ebp
566 ; X32-NEXT: andl $-32, %esp
567 ; X32-NEXT: subl $32, %esp
568 ; X32-NEXT: callq foo
569 ; X32-NEXT: movl %ebp, %esp
570 ; X32-NEXT: popq %rbp
571 ; X32-NEXT: retq
583 ; X86: # %bb.0: # %entry
585 ; X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
593 ; X64: # %bb.0: # %entry
596 ; X32-LABEL: t20:
597 ; X32: # %bb.0: # %entry
598 ; X32-NEXT: jmp foo20 # TAILCALL
600 %0 = tail call fastcc double @foo20(double %x) nounwind
601 ret double %0
609 ; X86: # %bb.0:
620 ; X64: # %bb.0:
628 ; X32-LABEL: t21_sret_to_sret:
629 ; X32: # %bb.0:
630 ; X32-NEXT: pushq %rbx
631 ; X32-NEXT: movq %rdi, %rbx
632 ; X32-NEXT: callq t21_f_sret
633 ; X32-NEXT: movl %ebx, %eax
634 ; X32-NEXT: popq %rbx
635 ; X32-NEXT: retq
642 ; X86: # %bb.0:
646 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
655 ; X64: # %bb.0:
663 ; X32-LABEL: t21_sret_to_sret_more_args:
664 ; X32: # %bb.0:
665 ; X32-NEXT: pushq %rbx
666 ; X32-NEXT: movq %rdi, %rbx
667 ; X32-NEXT: callq f_sret@PLT
668 ; X32-NEXT: movl %ebx, %eax
669 ; X32-NEXT: popq %rbx
670 ; X32-NEXT: retq
677 ; X86: # %bb.0:
689 ; X64: # %bb.0:
698 ; X32-LABEL: t21_sret_to_sret_second_arg_sret:
699 ; X32: # %bb.0:
700 ; X32-NEXT: pushq %rbx
701 ; X32-NEXT: movq %rsi, %rbx
702 ; X32-NEXT: movq %rsi, %rdi
703 ; X32-NEXT: callq t21_f_sret
704 ; X32-NEXT: movl %ebx, %eax
705 ; X32-NEXT: popq %rbx
706 ; X32-NEXT: retq
713 ; X86: # %bb.0:
717 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
727 ; X64: # %bb.0:
738 ; X32-LABEL: t21_sret_to_sret_more_args2:
739 ; X32: # %bb.0:
740 ; X32-NEXT: pushq %rbx
741 ; X32-NEXT: movl %esi, %eax
742 ; X32-NEXT: movq %rdi, %rbx
743 ; X32-NEXT: movl %edx, %esi
744 ; X32-NEXT: movl %eax, %edx
745 ; X32-NEXT: callq f_sret@PLT
746 ; X32-NEXT: movl %ebx, %eax
747 ; X32-NEXT: popq %rbx
748 ; X32-NEXT: retq
756 ; X86: # %bb.0:
768 ; X64: # %bb.0:
777 ; X32-LABEL: t21_sret_to_sret_args_mismatch:
778 ; X32: # %bb.0:
779 ; X32-NEXT: pushq %rbx
780 ; X32-NEXT: movq %rdi, %rbx
781 ; X32-NEXT: movq %rsi, %rdi
782 ; X32-NEXT: callq t21_f_sret
783 ; X32-NEXT: movl %ebx, %eax
784 ; X32-NEXT: popq %rbx
785 ; X32-NEXT: retq
792 ; X86: # %bb.0:
804 ; X64: # %bb.0:
813 ; X32-LABEL: t21_sret_to_sret_args_mismatch2:
814 ; X32: # %bb.0:
815 ; X32-NEXT: pushq %rbx
816 ; X32-NEXT: movq %rdi, %rbx
817 ; X32-NEXT: movq %rsi, %rdi
818 ; X32-NEXT: callq t21_f_sret
819 ; X32-NEXT: movl %ebx, %eax
820 ; X32-NEXT: popq %rbx
821 ; X32-NEXT: retq
828 ; X86: # %bb.0:
841 ; X64: # %bb.0:
851 ; X32-LABEL: t21_sret_to_sret_arg_mismatch:
852 ; X32: # %bb.0:
853 ; X32-NEXT: pushq %rbx
854 ; X32-NEXT: movq %rdi, %rbx
855 ; X32-NEXT: callq ret_struct@PLT
856 ; X32-NEXT: movl %eax, %edi
857 ; X32-NEXT: callq t21_f_sret
858 ; X32-NEXT: movl %ebx, %eax
859 ; X32-NEXT: popq %rbx
860 ; X32-NEXT: retq
868 ; X86: # %bb.0:
885 ; X64: # %bb.0:
901 ; X32-LABEL: t21_sret_to_sret_structs_mismatch:
902 ; X32: # %bb.0:
903 ; X32-NEXT: pushq %r14
904 ; X32-NEXT: pushq %rbx
905 ; X32-NEXT: pushq %rax
906 ; X32-NEXT: movq %rsi, %rbx
907 ; X32-NEXT: movq %rdi, %r14
908 ; X32-NEXT: callq ret_struct@PLT
909 ; X32-NEXT: movl %eax, %esi
910 ; X32-NEXT: movq %rbx, %rdi
911 ; X32-NEXT: callq t21_f_sret2
912 ; X32-NEXT: movl %r14d, %eax
913 ; X32-NEXT: addl $8, %esp
914 ; X32-NEXT: popq %rbx
915 ; X32-NEXT: popq %r14
916 ; X32-NEXT: retq
927 ; X86: # %bb.0:
938 ; X64: # %bb.0:
946 ; X32-LABEL: t21_sret_to_non_sret:
947 ; X32: # %bb.0:
948 ; X32-NEXT: pushq %rbx
949 ; X32-NEXT: movq %rdi, %rbx
950 ; X32-NEXT: callq t21_f_non_sret
951 ; X32-NEXT: movl %ebx, %eax
952 ; X32-NEXT: popq %rbx
953 ; X32-NEXT: retq
961 ; X86: # %bb.0:
963 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
970 ; X64: # %bb.0:
973 ; X32-LABEL: t22_non_sret_to_sret:
974 ; X32: # %bb.0:
975 ; X32-NEXT: jmp t22_f_sret@PLT # TAILCALL