1 ; RUN: llc -O3 < %s -mtriple=arm64 | FileCheck %s
6 define float @test1(float %a) #0 {
8 %call = tail call float @floorf(float %a) nounwind readnone
12 declare float @floorf(float) nounwind readnone
17 define double @test2(double %a) #0 {
19 %call = tail call double @floor(double %a) nounwind readnone
23 declare double @floor(double) nounwind readnone
27 define float @test3(float %a) #0 {
29 %call = tail call float @nearbyintf(float %a) nounwind readnone
33 declare float @nearbyintf(float) nounwind readnone
37 define double @test4(double %a) #0 {
39 %call = tail call double @nearbyint(double %a) nounwind readnone
43 declare double @nearbyint(double) nounwind readnone
48 define float @test5(float %a) #0 {
50 %call = tail call float @ceilf(float %a) nounwind readnone
54 declare float @ceilf(float) nounwind readnone
59 define double @test6(double %a) #0 {
61 %call = tail call double @ceil(double %a) nounwind readnone
65 declare double @ceil(double) nounwind readnone
69 define float @test7(float %a) #0 {
71 %call = tail call float @rintf(float %a) nounwind readnone
75 declare float @rintf(float) nounwind readnone
79 define double @test8(double %a) #0 {
81 %call = tail call double @rint(double %a) nounwind readnone
85 declare double @rint(double) nounwind readnone
90 define float @test9(float %a) #0 {
92 %call = tail call float @truncf(float %a) nounwind readnone
96 declare float @truncf(float) nounwind readnone
98 ; CHECK-LABEL: test10:
101 define double @test10(double %a) #0 {
103 %call = tail call double @trunc(double %a) nounwind readnone
107 declare double @trunc(double) nounwind readnone
109 ; CHECK-LABEL: test11:
112 define float @test11(float %a) #0 {
114 %call = tail call float @roundf(float %a) nounwind readnone
118 declare float @roundf(float %a) nounwind readnone
120 ; CHECK-LABEL: test12:
123 define double @test12(double %a) #0 {
125 %call = tail call double @round(double %a) nounwind readnone
129 declare double @round(double %a) nounwind readnone
131 ; CHECK-LABEL: test13:
134 define float @test13(float %a) #1 {
136 %call = tail call float @floorf(float %a) nounwind readnone
140 ; CHECK-LABEL: test14:
143 define double @test14(double %a) #1 {
145 %call = tail call double @floor(double %a) nounwind readnone
149 ; CHECK-LABEL: test15:
152 define float @test15(float %a) #1 {
154 %call = tail call float @ceilf(float %a) nounwind readnone
158 ; CHECK-LABEL: test16:
161 define double @test16(double %a) #1 {
163 %call = tail call double @ceil(double %a) nounwind readnone
167 ; CHECK-LABEL: test17:
170 define float @test17(float %a) #1 {
172 %call = tail call float @truncf(float %a) nounwind readnone
176 ; CHECK-LABEL: test18:
179 define double @test18(double %a) #1 {
181 %call = tail call double @trunc(double %a) nounwind readnone
185 ; CHECK-LABEL: test19:
188 define float @test19(float %a) #1 {
190 %call = tail call float @roundf(float %a) nounwind readnone
194 ; CHECK-LABEL: test20:
197 define double @test20(double %a) #1 {
199 %call = tail call double @round(double %a) nounwind readnone
203 attributes #0 = { nounwind }
204 attributes #1 = { nounwind "unsafe-fp-math"="true" }