Skip to content

Commit 3ffca6b

Browse files
committed
Move test
1 parent 794f434 commit 3ffca6b

File tree

2 files changed

+44
-45
lines changed

2 files changed

+44
-45
lines changed

llvm/test/CodeGen/X86/llvm.sincos.ll

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,47 @@ define void @test_sincos_v2f64(<2 x double> %x, ptr noalias %out_sin, ptr noalia
116116
store <2 x double> %result.1, ptr %out_cos, align 8
117117
ret void
118118
}
119+
120+
declare void @foo(ptr, ptr)
121+
122+
define void @can_fold_with_call_in_chain(float %x, ptr noalias %a, ptr noalias %b) {
123+
; CHECK-LABEL: can_fold_with_call_in_chain:
124+
; CHECK: # %bb.0: # %entry
125+
; CHECK-NEXT: pushl %edi
126+
; CHECK-NEXT: .cfi_def_cfa_offset 8
127+
; CHECK-NEXT: pushl %esi
128+
; CHECK-NEXT: .cfi_def_cfa_offset 12
129+
; CHECK-NEXT: subl $20, %esp
130+
; CHECK-NEXT: .cfi_def_cfa_offset 32
131+
; CHECK-NEXT: .cfi_offset %esi, -12
132+
; CHECK-NEXT: .cfi_offset %edi, -8
133+
; CHECK-NEXT: flds 32(%esp)
134+
; CHECK-NEXT: fstps {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
135+
; CHECK-NEXT: movl 36(%esp), %edi
136+
; CHECK-NEXT: movl 40(%esp), %esi
137+
; CHECK-NEXT: movl %esi, 4(%esp)
138+
; CHECK-NEXT: movl %edi, (%esp)
139+
; CHECK-NEXT: calll foo@PLT
140+
; CHECK-NEXT: leal 16(%esp), %eax
141+
; CHECK-NEXT: movl %eax, 8(%esp)
142+
; CHECK-NEXT: movl %edi, 4(%esp)
143+
; CHECK-NEXT: flds {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
144+
; CHECK-NEXT: fstps (%esp)
145+
; CHECK-NEXT: calll sincosf
146+
; CHECK-NEXT: flds 16(%esp)
147+
; CHECK-NEXT: fstps (%esi)
148+
; CHECK-NEXT: addl $20, %esp
149+
; CHECK-NEXT: .cfi_def_cfa_offset 12
150+
; CHECK-NEXT: popl %esi
151+
; CHECK-NEXT: .cfi_def_cfa_offset 8
152+
; CHECK-NEXT: popl %edi
153+
; CHECK-NEXT: .cfi_def_cfa_offset 4
154+
; CHECK-NEXT: retl
155+
entry:
156+
%sin = tail call float @llvm.sin.f32(float %x)
157+
%cos = tail call float @llvm.cos.f32(float %x)
158+
call void @foo(ptr %a, ptr %b)
159+
store float %sin, ptr %a, align 4
160+
store float %cos, ptr %b, align 4
161+
ret void
162+
}

llvm/test/CodeGen/X86/sincos-stack-args.ll

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -33,48 +33,3 @@ entry:
3333
%call = tail call double @g(double %add, double %0)
3434
ret double %call
3535
}
36-
37-
declare void @foo(ptr, ptr)
38-
39-
define void @can_fold_with_call_in_chain(float %x, ptr noalias %a, ptr noalias %b) {
40-
; CHECK-LABEL: can_fold_with_call_in_chain:
41-
; CHECK: # %bb.0: # %entry
42-
; CHECK-NEXT: pushl %edi
43-
; CHECK-NEXT: .cfi_def_cfa_offset 8
44-
; CHECK-NEXT: pushl %esi
45-
; CHECK-NEXT: .cfi_def_cfa_offset 12
46-
; CHECK-NEXT: subl $20, %esp
47-
; CHECK-NEXT: .cfi_def_cfa_offset 32
48-
; CHECK-NEXT: .cfi_offset %esi, -12
49-
; CHECK-NEXT: .cfi_offset %edi, -8
50-
; CHECK-NEXT: flds 32(%esp)
51-
; CHECK-NEXT: fstps {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
52-
; CHECK-NEXT: movl 36(%esp), %edi
53-
; CHECK-NEXT: movl 40(%esp), %esi
54-
; CHECK-NEXT: movl %esi, 4(%esp)
55-
; CHECK-NEXT: movl %edi, (%esp)
56-
; CHECK-NEXT: calll foo@PLT
57-
; CHECK-NEXT: leal 16(%esp), %eax
58-
; CHECK-NEXT: movl %eax, 8(%esp)
59-
; CHECK-NEXT: movl %edi, 4(%esp)
60-
; CHECK-NEXT: flds {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
61-
; CHECK-NEXT: fstps (%esp)
62-
; CHECK-NEXT: calll sincosf
63-
; CHECK-NEXT: flds 16(%esp)
64-
; CHECK-NEXT: fstps (%esi)
65-
; CHECK-NEXT: addl $20, %esp
66-
; CHECK-NEXT: .cfi_def_cfa_offset 12
67-
; CHECK-NEXT: popl %esi
68-
; CHECK-NEXT: .cfi_def_cfa_offset 8
69-
; CHECK-NEXT: popl %edi
70-
; CHECK-NEXT: .cfi_def_cfa_offset 4
71-
; CHECK-NEXT: retl
72-
entry:
73-
%sin = tail call float @llvm.sin.f32(float %x)
74-
%cos = tail call float @llvm.cos.f32(float %x)
75-
call void @foo(ptr %a, ptr %b)
76-
store float %sin, ptr %a, align 4
77-
store float %cos, ptr %b, align 4
78-
ret void
79-
}
80-

0 commit comments

Comments
 (0)