xref: /llvm-project/llvm/test/CodeGen/PowerPC/lower-scalar-mass-fast.ll (revision 8ce13bc93be423d2a368f804ed18edf21b489c2e)
1; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s
2; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc-ibm-aix-xcoff < %s | FileCheck %s
3
4declare float @acosf (float);
5declare float @acoshf (float);
6declare float @asinf (float);
7declare float @asinhf (float);
8declare float @atan2f (float, float);
9declare float @atanf (float);
10declare float @atanhf (float);
11declare float @cbrtf (float);
12declare float @copysignf (float, float);
13declare float @cosf (float);
14declare float @coshf (float);
15declare float @erfcf (float);
16declare float @erff (float);
17declare float @expf (float);
18declare float @expm1f (float);
19declare float @hypotf (float, float);
20declare float @lgammaf (float);
21declare float @log10f (float);
22declare float @log1pf (float);
23declare float @logf (float);
24declare float @powf (float, float);
25declare float @rintf (float);
26declare float @sinf (float);
27declare float @sinhf (float);
28declare float @tanf (float);
29declare float @tanhf (float);
30declare double @acos (double);
31declare double @acosh (double);
32declare double @anint (double);
33declare double @asin (double);
34declare double @asinh (double);
35declare double @atan (double);
36declare double @atan2 (double);
37declare double @atanh (double);
38declare double @cbrt (double);
39declare double @copysign (double, double);
40declare double @cos (double);
41declare double @cosh (double);
42declare double @cosisin (double);
43declare double @dnint (double);
44declare double @erf (double);
45declare double @erfc (double);
46declare double @exp (double);
47declare double @expm1 (double);
48declare double @hypot (double, double);
49declare double @lgamma (double);
50declare double @log (double);
51declare double @log10 (double);
52declare double @log1p (double);
53declare double @pow (double, double);
54declare double @rsqrt (double);
55declare double @sin (double);
56declare double @sincos (double);
57declare double @sinh (double);
58declare double @sqrt (double);
59declare double @tan (double);
60declare double @tanh (double);
61declare float @__acosf_finite (float);
62declare float @__acoshf_finite (float);
63declare float @__asinf_finite (float);
64declare float @__atan2f_finite (float, float);
65declare float @__atanhf_finite (float);
66declare float @__coshf_finite (float);
67declare float @__expf_finite (float);
68declare float @__logf_finite (float);
69declare float @__log10f_finite (float);
70declare float @__powf_finite (float, float);
71declare float @__sinhf_finite (float);
72declare double @__acos_finite (double);
73declare double @__acosh_finite (double);
74declare double @__asin_finite (double);
75declare double @__atan2_finite (double, double);
76declare double @__atanh_finite (double);
77declare double @__cosh_finite (double);
78declare double @__exp_finite (double);
79declare double @__log_finite (double);
80declare double @__log10_finite (double);
81declare double @__pow_finite (double, double);
82declare double @__sinh_finite (double);
83
84define float @acosf_f32(float %a) {
85; CHECK-LABEL: acosf_f32
86; CHECK: __xl_acosf_finite
87; CHECK: blr
88entry:
89  %call = tail call nnan ninf afn nsz float @acosf(float %a)
90  ret float %call
91}
92
93define float @acoshf_f32(float %a) {
94; CHECK-LABEL: acoshf_f32
95; CHECK: __xl_acoshf_finite
96; CHECK: blr
97entry:
98  %call = tail call nnan ninf afn nsz float @acoshf(float %a)
99  ret float %call
100}
101
102define float @asinf_f32(float %a) {
103; CHECK-LABEL: asinf_f32
104; CHECK: __xl_asinf_finite
105; CHECK: blr
106entry:
107  %call = tail call nnan ninf afn nsz float @asinf(float %a)
108  ret float %call
109}
110
111define float @asinhf_f32(float %a) {
112; CHECK-LABEL: asinhf_f32
113; CHECK: __xl_asinhf_finite
114; CHECK: blr
115entry:
116  %call = tail call nnan ninf afn nsz float @asinhf(float %a)
117  ret float %call
118}
119
120define float @atan2f_f32(float %a, float %b) {
121; CHECK-LABEL: atan2f_f32
122; CHECK: __xl_atan2f_finite
123; CHECK: blr
124entry:
125  %call = tail call nnan ninf afn nsz float @atan2f(float %a, float %b)
126  ret float %call
127}
128
129define float @atanf_f32(float %a) {
130; CHECK-LABEL: atanf_f32
131; CHECK: __xl_atanf_finite
132; CHECK: blr
133entry:
134  %call = tail call nnan ninf afn nsz float @atanf(float %a)
135  ret float %call
136}
137
138define float @atanhf_f32(float %a) {
139; CHECK-LABEL: atanhf_f32
140; CHECK: __xl_atanhf_finite
141; CHECK: blr
142entry:
143  %call = tail call nnan ninf afn nsz float @atanhf(float %a)
144  ret float %call
145}
146
147define float @cbrtf_f32(float %a) {
148; CHECK-LABEL: cbrtf_f32
149; CHECK: __xl_cbrtf_finite
150; CHECK: blr
151entry:
152  %call = tail call nnan ninf afn nsz float @cbrtf(float %a)
153  ret float %call
154}
155
156define float @copysignf_f32(float %a, float %b) {
157; CHECK-LABEL: copysignf_f32
158; CHECK: copysignf
159; CHECK: blr
160entry:
161  %call = tail call nnan ninf afn nsz float @copysignf(float %a, float %b)
162  ret float %call
163}
164
165define float @cosf_f32(float %a) {
166; CHECK-LABEL: cosf_f32
167; CHECK: __xl_cosf_finite
168; CHECK: blr
169entry:
170  %call = tail call nnan ninf afn nsz float @cosf(float %a)
171  ret float %call
172}
173
174define float @coshf_f32(float %a) {
175; CHECK-LABEL: coshf_f32
176; CHECK: __xl_coshf_finite
177; CHECK: blr
178entry:
179  %call = tail call nnan ninf afn nsz float @coshf(float %a)
180  ret float %call
181}
182
183define float @erfcf_f32(float %a) {
184; CHECK-LABEL: erfcf_f32
185; CHECK: __xl_erfcf_finite
186; CHECK: blr
187entry:
188  %call = tail call nnan ninf afn nsz float @erfcf(float %a)
189  ret float %call
190}
191
192define float @erff_f32(float %a) {
193; CHECK-LABEL: erff_f32
194; CHECK: __xl_erff_finite
195; CHECK: blr
196entry:
197  %call = tail call nnan ninf afn nsz float @erff(float %a)
198  ret float %call
199}
200
201define float @expf_f32(float %a) {
202; CHECK-LABEL: expf_f32
203; CHECK: __xl_expf_finite
204; CHECK: blr
205entry:
206  %call = tail call nnan ninf afn nsz float @expf(float %a)
207  ret float %call
208}
209
210define float @expm1f_f32(float %a) {
211; CHECK-LABEL: expm1f_f32
212; CHECK: __xl_expm1f_finite
213; CHECK: blr
214entry:
215  %call = tail call nnan ninf afn nsz float @expm1f(float %a)
216  ret float %call
217}
218
219define float @hypotf_f32(float %a, float %b) {
220; CHECK-LABEL: hypotf_f32
221; CHECK: __xl_hypotf_finite
222; CHECK: blr
223entry:
224  %call = tail call nnan ninf afn nsz float @hypotf(float %a, float %b)
225  ret float %call
226}
227
228define float @lgammaf_f32(float %a) {
229; CHECK-LABEL: lgammaf_f32
230; CHECK: __xl_lgammaf_finite
231; CHECK: blr
232entry:
233  %call = tail call nnan ninf afn nsz float @lgammaf(float %a)
234  ret float %call
235}
236
237define float @log10f_f32(float %a) {
238; CHECK-LABEL: log10f_f32
239; CHECK: __xl_log10f_finite
240; CHECK: blr
241entry:
242  %call = tail call nnan ninf afn nsz float @log10f(float %a)
243  ret float %call
244}
245
246define float @log1pf_f32(float %a) {
247; CHECK-LABEL: log1pf_f32
248; CHECK: __xl_log1pf_finite
249; CHECK: blr
250entry:
251  %call = tail call nnan ninf afn nsz float @log1pf(float %a)
252  ret float %call
253}
254
255define float @logf_f32(float %a) {
256; CHECK-LABEL: logf_f32
257; CHECK: __xl_logf_finite
258; CHECK: blr
259entry:
260  %call = tail call nnan ninf afn nsz float @logf(float %a)
261  ret float %call
262}
263
264define float @powf_f32(float %a, float %b) {
265; CHECK-LABEL: powf_f32
266; CHECK: __xl_powf_finite
267; CHECK: blr
268entry:
269  %call = tail call nnan ninf afn nsz float @powf(float %a, float %b)
270  ret float %call
271}
272
273define float @rintf_f32(float %a) {
274; CHECK-LABEL: rintf_f32
275; CHECK-NOT: __xl_rintf_finite
276; CHECK: blr
277entry:
278  %call = tail call nnan ninf afn nsz float @rintf(float %a)
279  ret float %call
280}
281
282define float @sinf_f32(float %a) {
283; CHECK-LABEL: sinf_f32
284; CHECK: __xl_sinf_finite
285; CHECK: blr
286entry:
287  %call = tail call nnan ninf afn nsz float @sinf(float %a)
288  ret float %call
289}
290
291define float @sinhf_f32(float %a) {
292; CHECK-LABEL: sinhf_f32
293; CHECK: __xl_sinhf_finite
294; CHECK: blr
295entry:
296  %call = tail call nnan ninf afn nsz float @sinhf(float %a)
297  ret float %call
298}
299
300define float @tanf_f32(float %a) {
301; CHECK-LABEL: tanf_f32
302; CHECK: __xl_tanf_finite
303; CHECK: blr
304entry:
305  %call = tail call nnan ninf afn nsz float @tanf(float %a)
306  ret float %call
307}
308
309define float @tanhf_f32(float %a) {
310; CHECK-LABEL: tanhf_f32
311; CHECK: __xl_tanhf_finite
312; CHECK: blr
313entry:
314  %call = tail call nnan ninf afn nsz float @tanhf(float %a)
315  ret float %call
316}
317
318define double @acos_f64(double %a) {
319; CHECK-LABEL: acos_f64
320; CHECK: __xl_acos_finite
321; CHECK: blr
322entry:
323  %call = tail call nnan ninf afn nsz double @acos(double %a)
324  ret double %call
325}
326
327define double @acosh_f64(double %a) {
328; CHECK-LABEL: acosh_f64
329; CHECK: __xl_acosh_finite
330; CHECK: blr
331entry:
332  %call = tail call nnan ninf afn nsz double @acosh(double %a)
333  ret double %call
334}
335
336define double @anint_f64(double %a) {
337; CHECK-LABEL: anint_f64
338; CHECK-NOT: __xl_anint_finite
339; CHECK: blr
340entry:
341  %call = tail call nnan ninf afn nsz double @anint(double %a)
342  ret double %call
343}
344
345define double @asin_f64(double %a) {
346; CHECK-LABEL: asin_f64
347; CHECK: __xl_asin_finite
348; CHECK: blr
349entry:
350  %call = tail call nnan ninf afn nsz double @asin(double %a)
351  ret double %call
352}
353
354define double @asinh_f64(double %a) {
355; CHECK-LABEL: asinh_f64
356; CHECK: __xl_asinh_finite
357; CHECK: blr
358entry:
359  %call = tail call nnan ninf afn nsz double @asinh(double %a)
360  ret double %call
361}
362
363define double @atan_f64(double %a) {
364; CHECK-LABEL: atan_f64
365; CHECK: __xl_atan_finite
366; CHECK: blr
367entry:
368  %call = tail call nnan ninf afn nsz double @atan(double %a)
369  ret double %call
370}
371
372define double @atan2_f64(double %a) {
373; CHECK-LABEL: atan2_f64
374; CHECK: __xl_atan2_finite
375; CHECK: blr
376entry:
377  %call = tail call nnan ninf afn nsz double @atan2(double %a)
378  ret double %call
379}
380
381define double @atanh_f64(double %a) {
382; CHECK-LABEL: atanh_f64
383; CHECK: __xl_atanh_finite
384; CHECK: blr
385entry:
386  %call = tail call nnan ninf afn nsz double @atanh(double %a)
387  ret double %call
388}
389
390define double @cbrt_f64(double %a) {
391; CHECK-LABEL: cbrt_f64
392; CHECK: __xl_cbrt_finite
393; CHECK: blr
394entry:
395  %call = tail call nnan ninf afn nsz double @cbrt(double %a)
396  ret double %call
397}
398
399define double @copysign_f64(double %a, double %b) {
400; CHECK-LABEL: copysign_f64
401; CHECK: copysign
402; CHECK: blr
403entry:
404  %call = tail call nnan ninf afn nsz double @copysign(double %a, double %b)
405  ret double %call
406}
407
408define double @cos_f64(double %a) {
409; CHECK-LABEL: cos_f64
410; CHECK: __xl_cos_finite
411; CHECK: blr
412entry:
413  %call = tail call nnan ninf afn nsz double @cos(double %a)
414  ret double %call
415}
416
417define double @cosh_f64(double %a) {
418; CHECK-LABEL: cosh_f64
419; CHECK: __xl_cosh_finite
420; CHECK: blr
421entry:
422  %call = tail call nnan ninf afn nsz double @cosh(double %a)
423  ret double %call
424}
425
426define double @cosisin_f64(double %a) {
427; CHECK-LABEL: cosisin_f64
428; CHECK-NOT: __xl_cosisin_finite
429; CHECK: blr
430entry:
431  %call = tail call nnan ninf afn nsz double @cosisin(double %a)
432  ret double %call
433}
434
435define double @dnint_f64(double %a) {
436; CHECK-LABEL: dnint_f64
437; CHECK-NOT: __xl_dnint_finite
438; CHECK: blr
439entry:
440  %call = tail call nnan ninf afn nsz double @dnint(double %a)
441  ret double %call
442}
443
444define double @erf_f64(double %a) {
445; CHECK-LABEL: erf_f64
446; CHECK: __xl_erf_finite
447; CHECK: blr
448entry:
449  %call = tail call nnan ninf afn nsz double @erf(double %a)
450  ret double %call
451}
452
453define double @erfc_f64(double %a) {
454; CHECK-LABEL: erfc_f64
455; CHECK: __xl_erfc_finite
456; CHECK: blr
457entry:
458  %call = tail call nnan ninf afn nsz double @erfc(double %a)
459  ret double %call
460}
461
462define double @exp_f64(double %a) {
463; CHECK-LABEL: exp_f64
464; CHECK: __xl_exp_finite
465; CHECK: blr
466entry:
467  %call = tail call nnan ninf afn nsz double @exp(double %a)
468  ret double %call
469}
470
471define double @expm1_f64(double %a) {
472; CHECK-LABEL: expm1_f64
473; CHECK: __xl_expm1_finite
474; CHECK: blr
475entry:
476  %call = tail call nnan ninf afn nsz double @expm1(double %a)
477  ret double %call
478}
479
480define double @hypot_f64(double %a, double %b) {
481; CHECK-LABEL: hypot_f64
482; CHECK: __xl_hypot_finite
483; CHECK: blr
484entry:
485  %call = tail call nnan ninf afn nsz double @hypot(double %a, double %b)
486  ret double %call
487}
488
489define double @lgamma_f64(double %a) {
490; CHECK-LABEL: lgamma_f64
491; CHECK: __xl_lgamma_finite
492; CHECK: blr
493entry:
494  %call = tail call nnan ninf afn nsz double @lgamma(double %a)
495  ret double %call
496}
497
498define double @log_f64(double %a) {
499; CHECK-LABEL: log_f64
500; CHECK: __xl_log_finite
501; CHECK: blr
502entry:
503  %call = tail call nnan ninf afn nsz double @log(double %a)
504  ret double %call
505}
506
507define double @log10_f64(double %a) {
508; CHECK-LABEL: log10_f64
509; CHECK: __xl_log10_finite
510; CHECK: blr
511entry:
512  %call = tail call nnan ninf afn nsz double @log10(double %a)
513  ret double %call
514}
515
516define double @log1p_f64(double %a) {
517; CHECK-LABEL: log1p_f64
518; CHECK: __xl_log1p_finite
519; CHECK: blr
520entry:
521  %call = tail call nnan ninf afn nsz double @log1p(double %a)
522  ret double %call
523}
524
525define double @pow_f64(double %a, double %b) {
526; CHECK-LABEL: pow_f64
527; CHECK: __xl_pow_finite
528; CHECK: blr
529entry:
530  %call = tail call nnan ninf afn nsz double @pow(double %a, double %b)
531  ret double %call
532}
533
534define double @rsqrt_f64(double %a) {
535; CHECK-LABEL: rsqrt_f64
536; CHECK: __xl_rsqrt_finite
537; CHECK: blr
538entry:
539  %call = tail call nnan ninf afn nsz double @rsqrt(double %a)
540  ret double %call
541}
542
543define double @sin_f64(double %a) {
544; CHECK-LABEL: sin_f64
545; CHECK: __xl_sin_finite
546; CHECK: blr
547entry:
548  %call = tail call nnan ninf afn nsz double @sin(double %a)
549  ret double %call
550}
551
552define double @sincos_f64(double %a) {
553; CHECK-LABEL: sincos_f64
554; CHECK-NOT: __xl_sincos_finite
555; CHECK: blr
556entry:
557  %call = tail call nnan ninf afn nsz double @sincos(double %a)
558  ret double %call
559}
560
561define double @sinh_f64(double %a) {
562; CHECK-LABEL: sinh_f64
563; CHECK: __xl_sinh_finite
564; CHECK: blr
565entry:
566  %call = tail call nnan ninf afn nsz double @sinh(double %a)
567  ret double %call
568}
569
570define double @sqrt_f64(double %a) {
571; CHECK-LABEL: sqrt_f64
572; CHECK: __xl_sqrt_finite
573; CHECK: blr
574entry:
575  %call = tail call nnan ninf afn nsz double @sqrt(double %a)
576  ret double %call
577}
578
579define double @tan_f64(double %a) {
580; CHECK-LABEL: tan_f64
581; CHECK: __xl_tan_finite
582; CHECK: blr
583entry:
584  %call = tail call nnan ninf afn nsz double @tan(double %a)
585  ret double %call
586}
587
588define double @tanh_f64(double %a) {
589; CHECK-LABEL: tanh_f64
590; CHECK: __xl_tanh_finite
591; CHECK: blr
592entry:
593  %call = tail call nnan ninf afn nsz double @tanh(double %a)
594  ret double %call
595}
596
597define float @__acosf_finite_f32(float %a) {
598; CHECK-LABEL: __acosf_finite_f32
599; CHECK: __xl_acosf_finite
600; CHECK: blr
601entry:
602  %call = tail call nnan ninf afn nsz float @__acosf_finite(float %a)
603  ret float %call
604}
605
606define float @__acoshf_finite_f32(float %a) {
607; CHECK-LABEL: __acoshf_finite_f32
608; CHECK: __xl_acoshf_finite
609; CHECK: blr
610entry:
611  %call = tail call nnan ninf afn nsz float @__acoshf_finite(float %a)
612  ret float %call
613}
614
615define float @__asinf_finite_f32(float %a) {
616; CHECK-LABEL: __asinf_finite_f32
617; CHECK: __xl_asinf_finite
618; CHECK: blr
619entry:
620  %call = tail call nnan ninf afn nsz float @__asinf_finite(float %a)
621  ret float %call
622}
623
624define float @__atan2f_finite_f32(float %a, float %b) {
625; CHECK-LABEL: __atan2f_finite_f32
626; CHECK: __xl_atan2f_finite
627; CHECK: blr
628entry:
629  %call = tail call nnan ninf afn nsz float @__atan2f_finite(float %a, float %b)
630  ret float %call
631}
632
633define float @__atanhf_finite_f32(float %a) {
634; CHECK-LABEL: __atanhf_finite_f32
635; CHECK: __xl_atanhf_finite
636; CHECK: blr
637entry:
638  %call = tail call nnan ninf afn nsz float @__atanhf_finite(float %a)
639  ret float %call
640}
641
642define float @__coshf_finite_f32(float %a) {
643; CHECK-LABEL: __coshf_finite_f32
644; CHECK: __xl_coshf_finite
645; CHECK: blr
646entry:
647  %call = tail call nnan ninf afn nsz float @__coshf_finite(float %a)
648  ret float %call
649}
650
651define float @__expf_finite_f32(float %a) {
652; CHECK-LABEL: __expf_finite_f32
653; CHECK: __xl_expf_finite
654; CHECK: blr
655entry:
656  %call = tail call nnan ninf afn nsz float @__expf_finite(float %a)
657  ret float %call
658}
659
660define float @__logf_finite_f32(float %a) {
661; CHECK-LABEL: __logf_finite_f32
662; CHECK: __xl_logf_finite
663; CHECK: blr
664entry:
665  %call = tail call nnan ninf afn nsz float @__logf_finite(float %a)
666  ret float %call
667}
668
669define float @__log10f_finite_f32(float %a) {
670; CHECK-LABEL: __log10f_finite_f32
671; CHECK: __xl_log10f_finite
672; CHECK: blr
673entry:
674  %call = tail call nnan ninf afn nsz float @__log10f_finite(float %a)
675  ret float %call
676}
677
678define float @__powf_finite_f32(float %a, float %b) {
679; CHECK-LABEL: __powf_finite_f32
680; CHECK: __xl_powf_finite
681; CHECK: blr
682entry:
683  %call = tail call nnan ninf afn nsz float @__powf_finite(float %a, float %b)
684  ret float %call
685}
686
687define float @__sinhf_finite_f32(float %a) {
688; CHECK-LABEL: __sinhf_finite_f32
689; CHECK: __xl_sinhf_finite
690; CHECK: blr
691entry:
692  %call = tail call nnan ninf afn nsz float @__sinhf_finite(float %a)
693  ret float %call
694}
695
696define double @__acos_finite_f64(double %a) {
697; CHECK-LABEL: __acos_finite_f64
698; CHECK: __xl_acos_finite
699; CHECK: blr
700entry:
701  %call = tail call nnan ninf afn nsz double @__acos_finite(double %a)
702  ret double %call
703}
704
705define double @__acosh_finite_f64(double %a) {
706; CHECK-LABEL: __acosh_finite_f64
707; CHECK: __xl_acosh_finite
708; CHECK: blr
709entry:
710  %call = tail call nnan ninf afn nsz double @__acosh_finite(double %a)
711  ret double %call
712}
713
714define double @__asin_finite_f64(double %a) {
715; CHECK-LABEL: __asin_finite_f64
716; CHECK: __xl_asin_finite
717; CHECK: blr
718entry:
719  %call = tail call nnan ninf afn nsz double @__asin_finite(double %a)
720  ret double %call
721}
722
723define double @__atan2_finite_f64(double %a, double %b) {
724; CHECK-LABEL: __atan2_finite_f64
725; CHECK: __xl_atan2_finite
726; CHECK: blr
727entry:
728  %call = tail call nnan ninf afn nsz double @__atan2_finite(double %a, double %b)
729  ret double %call
730}
731
732define double @__atanh_finite_f64(double %a) {
733; CHECK-LABEL: __atanh_finite_f64
734; CHECK: __xl_atanh_finite
735; CHECK: blr
736entry:
737  %call = tail call nnan ninf afn nsz double @__atanh_finite(double %a)
738  ret double %call
739}
740
741define double @__cosh_finite_f64(double %a) {
742; CHECK-LABEL: __cosh_finite_f64
743; CHECK: __xl_cosh_finite
744; CHECK: blr
745entry:
746  %call = tail call nnan ninf afn nsz double @__cosh_finite(double %a)
747  ret double %call
748}
749
750define double @__exp_finite_f64(double %a) {
751; CHECK-LABEL: __exp_finite_f64
752; CHECK: __xl_exp_finite
753; CHECK: blr
754entry:
755  %call = tail call nnan ninf afn nsz double @__exp_finite(double %a)
756  ret double %call
757}
758
759define double @__log_finite_f64(double %a) {
760; CHECK-LABEL: __log_finite_f64
761; CHECK: __xl_log_finite
762; CHECK: blr
763entry:
764  %call = tail call nnan ninf afn nsz double @__log_finite(double %a)
765  ret double %call
766}
767
768define double @__log10_finite_f64(double %a) {
769; CHECK-LABEL: __log10_finite_f64
770; CHECK: __xl_log10_finite
771; CHECK: blr
772entry:
773  %call = tail call nnan ninf afn nsz double @__log10_finite(double %a)
774  ret double %call
775}
776
777define double @__pow_finite_f64(double %a, double %b) {
778; CHECK-LABEL: __pow_finite_f64
779; CHECK: __xl_pow_finite
780; CHECK: blr
781entry:
782  %call = tail call nnan ninf afn nsz double @__pow_finite(double %a, double %b)
783  ret double %call
784}
785
786define double @__sinh_finite_f64(double %a) {
787; CHECK-LABEL: __sinh_finite_f64
788; CHECK: __xl_sinh_finite
789; CHECK: blr
790entry:
791  %call = tail call nnan ninf afn nsz double @__sinh_finite(double %a)
792  ret double %call
793}
794