2
2
; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s -check-prefix=X64
3
3
; RUN: llc < %s -mtriple=x86_64-windows-msvc | FileCheck %s -check-prefix=UEFI64
4
4
; RUN: llc < %s -mtriple=x86_64-uefi | FileCheck %s -check-prefix=UEFI64
5
- ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s -check-prefix=X32
5
+ ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s -check-prefix=X86
6
6
7
7
; With -tailcallopt, CodeGen guarantees a tail call optimization
8
8
; for all of these.
@@ -26,15 +26,15 @@ define dso_local tailcc i32 @tailcaller(i32 %in1, i32 %in2) nounwind {
26
26
; UEFI64-NEXT: addq $40, %rsp
27
27
; UEFI64-NEXT: jmp tailcallee # TAILCALL
28
28
;
29
- ; X32 -LABEL: tailcaller:
30
- ; X32 : # %bb.0: # %entry
31
- ; X32 -NEXT: subl $16, %esp
32
- ; X32 -NEXT: movl %ecx, {{[0-9]+}}(%esp)
33
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
34
- ; X32 -NEXT: movl %edx, {{[0-9]+}}(%esp)
35
- ; X32 -NEXT: movl %eax, {{[0-9]+}}(%esp)
36
- ; X32 -NEXT: addl $8, %esp
37
- ; X32 -NEXT: jmp tailcallee # TAILCALL
29
+ ; X86 -LABEL: tailcaller:
30
+ ; X86 : # %bb.0: # %entry
31
+ ; X86 -NEXT: subl $16, %esp
32
+ ; X86 -NEXT: movl %ecx, {{[0-9]+}}(%esp)
33
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
34
+ ; X86 -NEXT: movl %edx, {{[0-9]+}}(%esp)
35
+ ; X86 -NEXT: movl %eax, {{[0-9]+}}(%esp)
36
+ ; X86 -NEXT: addl $8, %esp
37
+ ; X86 -NEXT: jmp tailcallee # TAILCALL
38
38
entry:
39
39
%tmp11 = tail call tailcc i32 @tailcallee (i32 %in1 , i32 %in2 , i32 %in1 , i32 %in2 )
40
40
ret i32 %tmp11
@@ -53,9 +53,9 @@ define tailcc noalias ptr @noalias_caller() nounwind {
53
53
; UEFI64: # %bb.0:
54
54
; UEFI64-NEXT: jmp alias_callee # TAILCALL
55
55
;
56
- ; X32 -LABEL: noalias_caller:
57
- ; X32 : # %bb.0:
58
- ; X32 -NEXT: jmp alias_callee # TAILCALL
56
+ ; X86 -LABEL: noalias_caller:
57
+ ; X86 : # %bb.0:
58
+ ; X86 -NEXT: jmp alias_callee # TAILCALL
59
59
%p = tail call tailcc ptr @alias_callee ()
60
60
ret ptr %p
61
61
}
@@ -73,9 +73,9 @@ define dso_local tailcc ptr @alias_caller() nounwind {
73
73
; UEFI64: # %bb.0:
74
74
; UEFI64-NEXT: jmp noalias_callee # TAILCALL
75
75
;
76
- ; X32 -LABEL: alias_caller:
77
- ; X32 : # %bb.0:
78
- ; X32 -NEXT: jmp noalias_callee # TAILCALL
76
+ ; X86 -LABEL: alias_caller:
77
+ ; X86 : # %bb.0:
78
+ ; X86 -NEXT: jmp noalias_callee # TAILCALL
79
79
%p = tail call tailcc noalias ptr @noalias_callee ()
80
80
ret ptr %p
81
81
}
@@ -93,9 +93,9 @@ define dso_local tailcc i32 @ret_undef() nounwind {
93
93
; UEFI64: # %bb.0:
94
94
; UEFI64-NEXT: jmp i32_callee # TAILCALL
95
95
;
96
- ; X32 -LABEL: ret_undef:
97
- ; X32 : # %bb.0:
98
- ; X32 -NEXT: jmp i32_callee # TAILCALL
96
+ ; X86 -LABEL: ret_undef:
97
+ ; X86 : # %bb.0:
98
+ ; X86 -NEXT: jmp i32_callee # TAILCALL
99
99
%p = tail call tailcc i32 @i32_callee ()
100
100
ret i32 undef
101
101
}
@@ -113,9 +113,9 @@ define dso_local tailcc i32 @noret() nounwind {
113
113
; UEFI64: # %bb.0:
114
114
; UEFI64-NEXT: jmp does_not_return # TAILCALL
115
115
;
116
- ; X32 -LABEL: noret:
117
- ; X32 : # %bb.0:
118
- ; X32 -NEXT: jmp does_not_return # TAILCALL
116
+ ; X86 -LABEL: noret:
117
+ ; X86 : # %bb.0:
118
+ ; X86 -NEXT: jmp does_not_return # TAILCALL
119
119
tail call tailcc void @does_not_return ()
120
120
unreachable
121
121
}
@@ -139,22 +139,22 @@ define dso_local tailcc void @void_test(i32, i32, i32, i32) {
139
139
; UEFI64-NEXT: .seh_endepilogue
140
140
; UEFI64-NEXT: jmp void_test # TAILCALL
141
141
;
142
- ; X32 -LABEL: void_test:
143
- ; X32 : # %bb.0: # %entry
144
- ; X32 -NEXT: pushl %esi
145
- ; X32 -NEXT: .cfi_def_cfa_offset 8
146
- ; X32 -NEXT: subl $8, %esp
147
- ; X32 -NEXT: .cfi_def_cfa_offset 16
148
- ; X32 -NEXT: .cfi_offset %esi, -8
149
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
150
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %esi
151
- ; X32 -NEXT: movl %esi, {{[0-9]+}}(%esp)
152
- ; X32 -NEXT: movl %eax, {{[0-9]+}}(%esp)
153
- ; X32 -NEXT: addl $8, %esp
154
- ; X32 -NEXT: .cfi_def_cfa_offset 8
155
- ; X32 -NEXT: popl %esi
156
- ; X32 -NEXT: .cfi_def_cfa_offset 4
157
- ; X32 -NEXT: jmp void_test # TAILCALL
142
+ ; X86 -LABEL: void_test:
143
+ ; X86 : # %bb.0: # %entry
144
+ ; X86 -NEXT: pushl %esi
145
+ ; X86 -NEXT: .cfi_def_cfa_offset 8
146
+ ; X86 -NEXT: subl $8, %esp
147
+ ; X86 -NEXT: .cfi_def_cfa_offset 16
148
+ ; X86 -NEXT: .cfi_offset %esi, -8
149
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
150
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %esi
151
+ ; X86 -NEXT: movl %esi, {{[0-9]+}}(%esp)
152
+ ; X86 -NEXT: movl %eax, {{[0-9]+}}(%esp)
153
+ ; X86 -NEXT: addl $8, %esp
154
+ ; X86 -NEXT: .cfi_def_cfa_offset 8
155
+ ; X86 -NEXT: popl %esi
156
+ ; X86 -NEXT: .cfi_def_cfa_offset 4
157
+ ; X86 -NEXT: jmp void_test # TAILCALL
158
158
entry:
159
159
tail call tailcc void @void_test ( i32 %0 , i32 %1 , i32 %2 , i32 %3 )
160
160
ret void
@@ -179,22 +179,22 @@ define dso_local tailcc i1 @i1test(i32, i32, i32, i32) {
179
179
; UEFI64-NEXT: .seh_endepilogue
180
180
; UEFI64-NEXT: jmp i1test # TAILCALL
181
181
;
182
- ; X32 -LABEL: i1test:
183
- ; X32 : # %bb.0: # %entry
184
- ; X32 -NEXT: pushl %esi
185
- ; X32 -NEXT: .cfi_def_cfa_offset 8
186
- ; X32 -NEXT: subl $8, %esp
187
- ; X32 -NEXT: .cfi_def_cfa_offset 16
188
- ; X32 -NEXT: .cfi_offset %esi, -8
189
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %eax
190
- ; X32 -NEXT: movl {{[0-9]+}}(%esp), %esi
191
- ; X32 -NEXT: movl %esi, {{[0-9]+}}(%esp)
192
- ; X32 -NEXT: movl %eax, {{[0-9]+}}(%esp)
193
- ; X32 -NEXT: addl $8, %esp
194
- ; X32 -NEXT: .cfi_def_cfa_offset 8
195
- ; X32 -NEXT: popl %esi
196
- ; X32 -NEXT: .cfi_def_cfa_offset 4
197
- ; X32 -NEXT: jmp i1test # TAILCALL
182
+ ; X86 -LABEL: i1test:
183
+ ; X86 : # %bb.0: # %entry
184
+ ; X86 -NEXT: pushl %esi
185
+ ; X86 -NEXT: .cfi_def_cfa_offset 8
186
+ ; X86 -NEXT: subl $8, %esp
187
+ ; X86 -NEXT: .cfi_def_cfa_offset 16
188
+ ; X86 -NEXT: .cfi_offset %esi, -8
189
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %eax
190
+ ; X86 -NEXT: movl {{[0-9]+}}(%esp), %esi
191
+ ; X86 -NEXT: movl %esi, {{[0-9]+}}(%esp)
192
+ ; X86 -NEXT: movl %eax, {{[0-9]+}}(%esp)
193
+ ; X86 -NEXT: addl $8, %esp
194
+ ; X86 -NEXT: .cfi_def_cfa_offset 8
195
+ ; X86 -NEXT: popl %esi
196
+ ; X86 -NEXT: .cfi_def_cfa_offset 4
197
+ ; X86 -NEXT: jmp i1test # TAILCALL
198
198
entry:
199
199
%4 = tail call tailcc i1 @i1test ( i32 %0 , i32 %1 , i32 %2 , i32 %3 )
200
200
ret i1 %4
0 commit comments