xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/disable-simplify-libcalls.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; Test that -disable-simplify-libcalls is wired up correctly.
2*9880d681SAndroid Build Coastguard Worker;
3*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -disable-simplify-libcalls -S | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker@.str  = constant [1 x i8] zeroinitializer, align 1
8*9880d681SAndroid Build Coastguard Worker@.str1 = constant [13 x i8] c"hello, world\00", align 1
9*9880d681SAndroid Build Coastguard Worker@.str2 = constant [4 x i8] c"foo\00", align 1
10*9880d681SAndroid Build Coastguard Worker@.str3 = constant [4 x i8] c"bar\00", align 1
11*9880d681SAndroid Build Coastguard Worker@.str4 = constant [6 x i8] c"123.4\00", align 1
12*9880d681SAndroid Build Coastguard Worker@.str5 = constant [5 x i8] c"1234\00", align 1
13*9880d681SAndroid Build Coastguard Worker@empty = constant [1 x i8] c"\00", align 1
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdeclare double @ceil(double)
16*9880d681SAndroid Build Coastguard Workerdeclare double @copysign(double, double)
17*9880d681SAndroid Build Coastguard Workerdeclare double @cos(double)
18*9880d681SAndroid Build Coastguard Workerdeclare double @fabs(double)
19*9880d681SAndroid Build Coastguard Workerdeclare double @floor(double)
20*9880d681SAndroid Build Coastguard Workerdeclare i8* @strcat(i8*, i8*)
21*9880d681SAndroid Build Coastguard Workerdeclare i8* @strncat(i8*, i8*, i32)
22*9880d681SAndroid Build Coastguard Workerdeclare i8* @strchr(i8*, i32)
23*9880d681SAndroid Build Coastguard Workerdeclare i8* @strrchr(i8*, i32)
24*9880d681SAndroid Build Coastguard Workerdeclare i32 @strcmp(i8*, i8*)
25*9880d681SAndroid Build Coastguard Workerdeclare i32 @strncmp(i8*, i8*, i64)
26*9880d681SAndroid Build Coastguard Workerdeclare i8* @strcpy(i8*, i8*)
27*9880d681SAndroid Build Coastguard Workerdeclare i8* @stpcpy(i8*, i8*)
28*9880d681SAndroid Build Coastguard Workerdeclare i8* @strncpy(i8*, i8*, i64)
29*9880d681SAndroid Build Coastguard Workerdeclare i64 @strlen(i8*)
30*9880d681SAndroid Build Coastguard Workerdeclare i8* @strpbrk(i8*, i8*)
31*9880d681SAndroid Build Coastguard Workerdeclare i64 @strspn(i8*, i8*)
32*9880d681SAndroid Build Coastguard Workerdeclare double @strtod(i8*, i8**)
33*9880d681SAndroid Build Coastguard Workerdeclare float @strtof(i8*, i8**)
34*9880d681SAndroid Build Coastguard Workerdeclare x86_fp80 @strtold(i8*, i8**)
35*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtol(i8*, i8**, i32)
36*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtoll(i8*, i8**, i32)
37*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtoul(i8*, i8**, i32)
38*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtoull(i8*, i8**, i32)
39*9880d681SAndroid Build Coastguard Workerdeclare i64 @strcspn(i8*, i8*)
40*9880d681SAndroid Build Coastguard Workerdeclare i32 @abs(i32)
41*9880d681SAndroid Build Coastguard Workerdeclare i32 @ffs(i32)
42*9880d681SAndroid Build Coastguard Workerdeclare i32 @ffsl(i64)
43*9880d681SAndroid Build Coastguard Workerdeclare i32 @ffsll(i64)
44*9880d681SAndroid Build Coastguard Workerdeclare i32 @fprintf(i8*, i8*)
45*9880d681SAndroid Build Coastguard Workerdeclare i32 @isascii(i32)
46*9880d681SAndroid Build Coastguard Workerdeclare i32 @isdigit(i32)
47*9880d681SAndroid Build Coastguard Workerdeclare i32 @toascii(i32)
48*9880d681SAndroid Build Coastguard Workerdeclare i64 @labs(i64)
49*9880d681SAndroid Build Coastguard Workerdeclare i64 @llabs(i64)
50*9880d681SAndroid Build Coastguard Workerdeclare i32 @printf(i8*)
51*9880d681SAndroid Build Coastguard Workerdeclare i32 @sprintf(i8*, i8*)
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Workerdefine double @t1(double %x) {
54*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t1(
55*9880d681SAndroid Build Coastguard Worker  %ret = call double @ceil(double %x)
56*9880d681SAndroid Build Coastguard Worker  ret double %ret
57*9880d681SAndroid Build Coastguard Worker; CHECK: call double @ceil
58*9880d681SAndroid Build Coastguard Worker}
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Workerdefine double @t2(double %x, double %y) {
61*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t2(
62*9880d681SAndroid Build Coastguard Worker  %ret = call double @copysign(double %x, double %y)
63*9880d681SAndroid Build Coastguard Worker  ret double %ret
64*9880d681SAndroid Build Coastguard Worker; CHECK: call double @copysign
65*9880d681SAndroid Build Coastguard Worker}
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Workerdefine double @t3(double %x) {
68*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t3(
69*9880d681SAndroid Build Coastguard Worker  %call = call double @cos(double %x)
70*9880d681SAndroid Build Coastguard Worker  ret double %call
71*9880d681SAndroid Build Coastguard Worker; CHECK: call double @cos
72*9880d681SAndroid Build Coastguard Worker}
73*9880d681SAndroid Build Coastguard Worker
74*9880d681SAndroid Build Coastguard Workerdefine double @t4(double %x) {
75*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t4(
76*9880d681SAndroid Build Coastguard Worker  %ret = call double @fabs(double %x)
77*9880d681SAndroid Build Coastguard Worker  ret double %ret
78*9880d681SAndroid Build Coastguard Worker; CHECK: call double @fabs
79*9880d681SAndroid Build Coastguard Worker}
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Workerdefine double @t5(double %x) {
82*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t5(
83*9880d681SAndroid Build Coastguard Worker  %ret = call double @floor(double %x)
84*9880d681SAndroid Build Coastguard Worker  ret double %ret
85*9880d681SAndroid Build Coastguard Worker; CHECK: call double @floor
86*9880d681SAndroid Build Coastguard Worker}
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Workerdefine i8* @t6(i8* %x) {
89*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t6(
90*9880d681SAndroid Build Coastguard Worker  %empty = getelementptr [1 x i8], [1 x i8]* @empty, i32 0, i32 0
91*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strcat(i8* %x, i8* %empty)
92*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
93*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strcat
94*9880d681SAndroid Build Coastguard Worker}
95*9880d681SAndroid Build Coastguard Worker
96*9880d681SAndroid Build Coastguard Workerdefine i8* @t7(i8* %x) {
97*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t7(
98*9880d681SAndroid Build Coastguard Worker  %empty = getelementptr [1 x i8], [1 x i8]* @empty, i32 0, i32 0
99*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strncat(i8* %x, i8* %empty, i32 1)
100*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
101*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strncat
102*9880d681SAndroid Build Coastguard Worker}
103*9880d681SAndroid Build Coastguard Worker
104*9880d681SAndroid Build Coastguard Workerdefine i8* @t8() {
105*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t8(
106*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0
107*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strchr(i8* %x, i32 119)
108*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
109*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strchr
110*9880d681SAndroid Build Coastguard Worker}
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Workerdefine i8* @t9() {
113*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t9(
114*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0
115*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strrchr(i8* %x, i32 119)
116*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
117*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strrchr
118*9880d681SAndroid Build Coastguard Worker}
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Workerdefine i32 @t10() {
121*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t10(
122*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0
123*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str3, i32 0, i32 0
124*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @strcmp(i8* %x, i8* %y)
125*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
126*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @strcmp
127*9880d681SAndroid Build Coastguard Worker}
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Workerdefine i32 @t11() {
130*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t11(
131*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0
132*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str3, i32 0, i32 0
133*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @strncmp(i8* %x, i8* %y, i64 3)
134*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
135*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @strncmp
136*9880d681SAndroid Build Coastguard Worker}
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Workerdefine i8* @t12(i8* %x) {
139*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t12(
140*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0
141*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strcpy(i8* %x, i8* %y)
142*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
143*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strcpy
144*9880d681SAndroid Build Coastguard Worker}
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Workerdefine i8* @t13(i8* %x) {
147*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t13(
148*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0
149*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @stpcpy(i8* %x, i8* %y)
150*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
151*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @stpcpy
152*9880d681SAndroid Build Coastguard Worker}
153*9880d681SAndroid Build Coastguard Worker
154*9880d681SAndroid Build Coastguard Workerdefine i8* @t14(i8* %x) {
155*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t14(
156*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0
157*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strncpy(i8* %x, i8* %y, i64 3)
158*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
159*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strncpy
160*9880d681SAndroid Build Coastguard Worker}
161*9880d681SAndroid Build Coastguard Worker
162*9880d681SAndroid Build Coastguard Workerdefine i64 @t15() {
163*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t15(
164*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0
165*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strlen(i8* %x)
166*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
167*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strlen
168*9880d681SAndroid Build Coastguard Worker}
169*9880d681SAndroid Build Coastguard Worker
170*9880d681SAndroid Build Coastguard Workerdefine i8* @t16(i8* %x) {
171*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t16(
172*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [1 x i8], [1 x i8]* @.str, i32 0, i32 0
173*9880d681SAndroid Build Coastguard Worker  %ret = call i8* @strpbrk(i8* %x, i8* %y)
174*9880d681SAndroid Build Coastguard Worker  ret i8* %ret
175*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strpbrk
176*9880d681SAndroid Build Coastguard Worker}
177*9880d681SAndroid Build Coastguard Worker
178*9880d681SAndroid Build Coastguard Workerdefine i64 @t17(i8* %x) {
179*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t17(
180*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [1 x i8], [1 x i8]* @.str, i32 0, i32 0
181*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strspn(i8* %x, i8* %y)
182*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
183*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strspn
184*9880d681SAndroid Build Coastguard Worker}
185*9880d681SAndroid Build Coastguard Worker
186*9880d681SAndroid Build Coastguard Workerdefine double @t18(i8** %y) {
187*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t18(
188*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [6 x i8], [6 x i8]* @.str4, i64 0, i64 0
189*9880d681SAndroid Build Coastguard Worker  %ret = call double @strtod(i8* %x, i8** %y)
190*9880d681SAndroid Build Coastguard Worker  ret double %ret
191*9880d681SAndroid Build Coastguard Worker; CHECK: call double @strtod
192*9880d681SAndroid Build Coastguard Worker}
193*9880d681SAndroid Build Coastguard Worker
194*9880d681SAndroid Build Coastguard Workerdefine float @t19(i8** %y) {
195*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t19(
196*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [6 x i8], [6 x i8]* @.str4, i64 0, i64 0
197*9880d681SAndroid Build Coastguard Worker  %ret = call float @strtof(i8* %x, i8** %y)
198*9880d681SAndroid Build Coastguard Worker  ret float %ret
199*9880d681SAndroid Build Coastguard Worker; CHECK: call float @strtof
200*9880d681SAndroid Build Coastguard Worker}
201*9880d681SAndroid Build Coastguard Worker
202*9880d681SAndroid Build Coastguard Workerdefine x86_fp80 @t20(i8** %y) {
203*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t20(
204*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [6 x i8], [6 x i8]* @.str4, i64 0, i64 0
205*9880d681SAndroid Build Coastguard Worker  %ret = call x86_fp80 @strtold(i8* %x, i8** %y)
206*9880d681SAndroid Build Coastguard Worker  ret x86_fp80 %ret
207*9880d681SAndroid Build Coastguard Worker; CHECK: call x86_fp80 @strtold
208*9880d681SAndroid Build Coastguard Worker}
209*9880d681SAndroid Build Coastguard Worker
210*9880d681SAndroid Build Coastguard Workerdefine i64 @t21(i8** %y) {
211*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t21(
212*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0
213*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strtol(i8* %x, i8** %y, i32 10)
214*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
215*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtol
216*9880d681SAndroid Build Coastguard Worker}
217*9880d681SAndroid Build Coastguard Worker
218*9880d681SAndroid Build Coastguard Workerdefine i64 @t22(i8** %y) {
219*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t22(
220*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0
221*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strtoll(i8* %x, i8** %y, i32 10)
222*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
223*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtoll
224*9880d681SAndroid Build Coastguard Worker}
225*9880d681SAndroid Build Coastguard Worker
226*9880d681SAndroid Build Coastguard Workerdefine i64 @t23(i8** %y) {
227*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t23(
228*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0
229*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strtoul(i8* %x, i8** %y, i32 10)
230*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
231*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtoul
232*9880d681SAndroid Build Coastguard Worker}
233*9880d681SAndroid Build Coastguard Worker
234*9880d681SAndroid Build Coastguard Workerdefine i64 @t24(i8** %y) {
235*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t24(
236*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0
237*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strtoull(i8* %x, i8** %y, i32 10)
238*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
239*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtoull
240*9880d681SAndroid Build Coastguard Worker}
241*9880d681SAndroid Build Coastguard Worker
242*9880d681SAndroid Build Coastguard Workerdefine i64 @t25(i8* %y) {
243*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t25(
244*9880d681SAndroid Build Coastguard Worker  %x = getelementptr [1 x i8], [1 x i8]* @empty, i32 0, i32 0
245*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @strcspn(i8* %x, i8* %y)
246*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
247*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strcspn
248*9880d681SAndroid Build Coastguard Worker}
249*9880d681SAndroid Build Coastguard Worker
250*9880d681SAndroid Build Coastguard Workerdefine i32 @t26(i32 %y) {
251*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t26(
252*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @abs(i32 %y)
253*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
254*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @abs
255*9880d681SAndroid Build Coastguard Worker}
256*9880d681SAndroid Build Coastguard Worker
257*9880d681SAndroid Build Coastguard Workerdefine i32 @t27(i32 %y) {
258*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t27(
259*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @ffs(i32 %y)
260*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
261*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @ffs
262*9880d681SAndroid Build Coastguard Worker}
263*9880d681SAndroid Build Coastguard Worker
264*9880d681SAndroid Build Coastguard Workerdefine i32 @t28(i64 %y) {
265*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t28(
266*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @ffsl(i64 %y)
267*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
268*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @ffsl
269*9880d681SAndroid Build Coastguard Worker}
270*9880d681SAndroid Build Coastguard Worker
271*9880d681SAndroid Build Coastguard Workerdefine i32 @t29(i64 %y) {
272*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t29(
273*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @ffsll(i64 %y)
274*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
275*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @ffsll
276*9880d681SAndroid Build Coastguard Worker}
277*9880d681SAndroid Build Coastguard Worker
278*9880d681SAndroid Build Coastguard Workerdefine void @t30() {
279*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t30(
280*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0
281*9880d681SAndroid Build Coastguard Worker  call i32 @fprintf(i8* null, i8* %x)
282*9880d681SAndroid Build Coastguard Worker  ret void
283*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @fprintf
284*9880d681SAndroid Build Coastguard Worker}
285*9880d681SAndroid Build Coastguard Worker
286*9880d681SAndroid Build Coastguard Workerdefine i32 @t31(i32 %y) {
287*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t31(
288*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @isascii(i32 %y)
289*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
290*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @isascii
291*9880d681SAndroid Build Coastguard Worker}
292*9880d681SAndroid Build Coastguard Worker
293*9880d681SAndroid Build Coastguard Workerdefine i32 @t32(i32 %y) {
294*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t32(
295*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @isdigit(i32 %y)
296*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
297*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @isdigit
298*9880d681SAndroid Build Coastguard Worker}
299*9880d681SAndroid Build Coastguard Worker
300*9880d681SAndroid Build Coastguard Workerdefine i32 @t33(i32 %y) {
301*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t33(
302*9880d681SAndroid Build Coastguard Worker  %ret = call i32 @toascii(i32 %y)
303*9880d681SAndroid Build Coastguard Worker  ret i32 %ret
304*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @toascii
305*9880d681SAndroid Build Coastguard Worker}
306*9880d681SAndroid Build Coastguard Worker
307*9880d681SAndroid Build Coastguard Workerdefine i64 @t34(i64 %y) {
308*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t34(
309*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @labs(i64 %y)
310*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
311*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @labs
312*9880d681SAndroid Build Coastguard Worker}
313*9880d681SAndroid Build Coastguard Worker
314*9880d681SAndroid Build Coastguard Workerdefine i64 @t35(i64 %y) {
315*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t35(
316*9880d681SAndroid Build Coastguard Worker  %ret = call i64 @llabs(i64 %y)
317*9880d681SAndroid Build Coastguard Worker  ret i64 %ret
318*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @llabs
319*9880d681SAndroid Build Coastguard Worker}
320*9880d681SAndroid Build Coastguard Worker
321*9880d681SAndroid Build Coastguard Workerdefine void @t36() {
322*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t36(
323*9880d681SAndroid Build Coastguard Worker  %x = getelementptr inbounds [1 x i8], [1 x i8]* @empty, i32 0, i32 0
324*9880d681SAndroid Build Coastguard Worker  call i32 @printf(i8* %x)
325*9880d681SAndroid Build Coastguard Worker  ret void
326*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @printf
327*9880d681SAndroid Build Coastguard Worker}
328*9880d681SAndroid Build Coastguard Worker
329*9880d681SAndroid Build Coastguard Workerdefine void @t37(i8* %x) {
330*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t37(
331*9880d681SAndroid Build Coastguard Worker  %y = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0
332*9880d681SAndroid Build Coastguard Worker  call i32 @sprintf(i8* %x, i8* %y)
333*9880d681SAndroid Build Coastguard Worker  ret void
334*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @sprintf
335*9880d681SAndroid Build Coastguard Worker}
336