Skip to content

Commit a2b3daf

Browse files
[X86][NFC] Updated POW/EXP*/LOG* functions testcases (#129677)
- Added GlobalISel runs as precommit testcase for G_POW/G_EXP*/G_LOG*. - Removed unused tag MISSED.
1 parent ce9e1d3 commit a2b3daf

File tree

2 files changed

+341
-9
lines changed

2 files changed

+341
-9
lines changed

llvm/test/CodeGen/X86/exp10-libcall-names.ll

Lines changed: 67 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
; RUN: llc -mtriple=x86_64-apple-xros8.0 < %s | FileCheck -check-prefix=APPLE %s
1111
; RUN: llc -mtriple=x86_64-apple-driverkit < %s | FileCheck -check-prefix=APPLE %s
1212
; RUN: llc -mtriple=x86_64-apple-driverkit24.0 < %s | FileCheck -check-prefix=APPLE %s
13+
; RUN: llc < %s -mtriple=i686-linux-gnu -global-isel -global-isel-abort=2 | FileCheck %s --check-prefix=GISEL-X86
14+
; RUN: llc < %s -mtriple=x86_64-linux-gnu -global-isel -global-isel-abort=2 | FileCheck %s --check-prefix=GISEL-X64
1315

1416
; RUN: not llc -mtriple=x86_64-apple-macos10.8 -filetype=null %s 2>&1 | FileCheck -check-prefix=ERR %s
1517
; Check exp10/exp10f is emitted as __exp10/__exp10f on assorted systems.
1618

1719
; ERR: no libcall available for fexp10
1820

19-
define float @test_exp10_f32(float %x) {
21+
define float @test_exp10_f32(float %x) nounwind {
2022
; LINUX-LABEL: test_exp10_f32:
2123
; LINUX: # %bb.0:
2224
; LINUX-NEXT: jmp exp10f@PLT # TAILCALL
@@ -25,15 +27,23 @@ define float @test_exp10_f32(float %x) {
2527
; APPLE: ## %bb.0:
2628
; APPLE-NEXT: jmp ___exp10f ## TAILCALL
2729
;
28-
; MISSED-LABEL: test_exp10_f32:
29-
; MISSED: ## %bb.0:
30-
; MISSED-NEXT: jmp _exp10f ## TAILCALL
31-
30+
; GISEL-X86-LABEL: test_exp10_f32:
31+
; GISEL-X86: # %bb.0:
32+
; GISEL-X86-NEXT: subl $12, %esp
33+
; GISEL-X86-NEXT: flds {{[0-9]+}}(%esp)
34+
; GISEL-X86-NEXT: fstps (%esp)
35+
; GISEL-X86-NEXT: calll exp10f
36+
; GISEL-X86-NEXT: addl $12, %esp
37+
; GISEL-X86-NEXT: retl
38+
;
39+
; GISEL-X64-LABEL: test_exp10_f32:
40+
; GISEL-X64: # %bb.0:
41+
; GISEL-X64-NEXT: jmp exp10f@PLT # TAILCALL
3242
%ret = call float @llvm.exp10.f32(float %x)
3343
ret float %ret
3444
}
3545

36-
define double @test_exp10_f64(double %x) {
46+
define double @test_exp10_f64(double %x) nounwind {
3747
; LINUX-LABEL: test_exp10_f64:
3848
; LINUX: # %bb.0:
3949
; LINUX-NEXT: jmp exp10@PLT # TAILCALL
@@ -42,10 +52,58 @@ define double @test_exp10_f64(double %x) {
4252
; APPLE: ## %bb.0:
4353
; APPLE-NEXT: jmp ___exp10 ## TAILCALL
4454
;
45-
; MISSED-LABEL: test_exp10_f64:
46-
; MISSED: ## %bb.0:
47-
; MISSED-NEXT: jmp _exp10 ## TAILCALL
55+
; GISEL-X86-LABEL: test_exp10_f64:
56+
; GISEL-X86: # %bb.0:
57+
; GISEL-X86-NEXT: subl $12, %esp
58+
; GISEL-X86-NEXT: fldl {{[0-9]+}}(%esp)
59+
; GISEL-X86-NEXT: fstpl (%esp)
60+
; GISEL-X86-NEXT: calll exp10
61+
; GISEL-X86-NEXT: addl $12, %esp
62+
; GISEL-X86-NEXT: retl
4863
;
64+
; GISEL-X64-LABEL: test_exp10_f64:
65+
; GISEL-X64: # %bb.0:
66+
; GISEL-X64-NEXT: jmp exp10@PLT # TAILCALL
4967
%ret = call double @llvm.exp10.f64(double %x)
5068
ret double %ret
5169
}
70+
71+
define x86_fp80 @test_exp10_f80(x86_fp80 %x) nounwind {
72+
; LINUX-LABEL: test_exp10_f80:
73+
; LINUX: # %bb.0:
74+
; LINUX-NEXT: subq $24, %rsp
75+
; LINUX-NEXT: fldt {{[0-9]+}}(%rsp)
76+
; LINUX-NEXT: fstpt (%rsp)
77+
; LINUX-NEXT: callq exp10l@PLT
78+
; LINUX-NEXT: addq $24, %rsp
79+
; LINUX-NEXT: retq
80+
;
81+
; APPLE-LABEL: test_exp10_f80:
82+
; APPLE: ## %bb.0:
83+
; APPLE-NEXT: subq $24, %rsp
84+
; APPLE-NEXT: fldt {{[0-9]+}}(%rsp)
85+
; APPLE-NEXT: fstpt (%rsp)
86+
; APPLE-NEXT: callq _exp10l
87+
; APPLE-NEXT: addq $24, %rsp
88+
; APPLE-NEXT: retq
89+
;
90+
; GISEL-X86-LABEL: test_exp10_f80:
91+
; GISEL-X86: # %bb.0:
92+
; GISEL-X86-NEXT: subl $12, %esp
93+
; GISEL-X86-NEXT: fldt {{[0-9]+}}(%esp)
94+
; GISEL-X86-NEXT: fstpt (%esp)
95+
; GISEL-X86-NEXT: calll exp10l
96+
; GISEL-X86-NEXT: addl $12, %esp
97+
; GISEL-X86-NEXT: retl
98+
;
99+
; GISEL-X64-LABEL: test_exp10_f80:
100+
; GISEL-X64: # %bb.0:
101+
; GISEL-X64-NEXT: subq $24, %rsp
102+
; GISEL-X64-NEXT: fldt {{[0-9]+}}(%rsp)
103+
; GISEL-X64-NEXT: fstpt (%rsp)
104+
; GISEL-X64-NEXT: callq exp10l@PLT
105+
; GISEL-X64-NEXT: addq $24, %rsp
106+
; GISEL-X64-NEXT: retq
107+
%ret = call x86_fp80 @llvm.exp10.f80(x86_fp80 %x)
108+
ret x86_fp80 %ret
109+
}

0 commit comments

Comments
 (0)