brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.4 KiB · 8c22d43 Raw
794 lines · plain
1; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s2; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc-ibm-aix-xcoff < %s | FileCheck %s3 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_f3286; CHECK: __xl_acosf_finite87; CHECK: blr88entry:89  %call = tail call nnan ninf afn nsz float @acosf(float %a)90  ret float %call91}92 93define float @acoshf_f32(float %a) {94; CHECK-LABEL: acoshf_f3295; CHECK: __xl_acoshf_finite96; CHECK: blr97entry:98  %call = tail call nnan ninf afn nsz float @acoshf(float %a)99  ret float %call100}101 102define float @asinf_f32(float %a) {103; CHECK-LABEL: asinf_f32104; CHECK: __xl_asinf_finite105; CHECK: blr106entry:107  %call = tail call nnan ninf afn nsz float @asinf(float %a)108  ret float %call109}110 111define float @asinhf_f32(float %a) {112; CHECK-LABEL: asinhf_f32113; CHECK: __xl_asinhf_finite114; CHECK: blr115entry:116  %call = tail call nnan ninf afn nsz float @asinhf(float %a)117  ret float %call118}119 120define float @atan2f_f32(float %a, float %b) {121; CHECK-LABEL: atan2f_f32122; CHECK: __xl_atan2f_finite123; CHECK: blr124entry:125  %call = tail call nnan ninf afn nsz float @atan2f(float %a, float %b)126  ret float %call127}128 129define float @atanf_f32(float %a) {130; CHECK-LABEL: atanf_f32131; CHECK: __xl_atanf_finite132; CHECK: blr133entry:134  %call = tail call nnan ninf afn nsz float @atanf(float %a)135  ret float %call136}137 138define float @atanhf_f32(float %a) {139; CHECK-LABEL: atanhf_f32140; CHECK: __xl_atanhf_finite141; CHECK: blr142entry:143  %call = tail call nnan ninf afn nsz float @atanhf(float %a)144  ret float %call145}146 147define float @cbrtf_f32(float %a) {148; CHECK-LABEL: cbrtf_f32149; CHECK: __xl_cbrtf_finite150; CHECK: blr151entry:152  %call = tail call nnan ninf afn nsz float @cbrtf(float %a)153  ret float %call154}155 156define float @copysignf_f32(float %a, float %b) {157; CHECK-LABEL: copysignf_f32158; CHECK: copysignf159; CHECK: blr160entry:161  %call = tail call nnan ninf afn nsz float @copysignf(float %a, float %b)162  ret float %call163}164 165define float @cosf_f32(float %a) {166; CHECK-LABEL: cosf_f32167; CHECK: __xl_cosf_finite168; CHECK: blr169entry:170  %call = tail call nnan ninf afn nsz float @cosf(float %a)171  ret float %call172}173 174define float @coshf_f32(float %a) {175; CHECK-LABEL: coshf_f32176; CHECK: __xl_coshf_finite177; CHECK: blr178entry:179  %call = tail call nnan ninf afn nsz float @coshf(float %a)180  ret float %call181}182 183define float @erfcf_f32(float %a) {184; CHECK-LABEL: erfcf_f32185; CHECK: __xl_erfcf_finite186; CHECK: blr187entry:188  %call = tail call nnan ninf afn nsz float @erfcf(float %a)189  ret float %call190}191 192define float @erff_f32(float %a) {193; CHECK-LABEL: erff_f32194; CHECK: __xl_erff_finite195; CHECK: blr196entry:197  %call = tail call nnan ninf afn nsz float @erff(float %a)198  ret float %call199}200 201define float @expf_f32(float %a) {202; CHECK-LABEL: expf_f32203; CHECK: __xl_expf_finite204; CHECK: blr205entry:206  %call = tail call nnan ninf afn nsz float @expf(float %a)207  ret float %call208}209 210define float @expm1f_f32(float %a) {211; CHECK-LABEL: expm1f_f32212; CHECK: __xl_expm1f_finite213; CHECK: blr214entry:215  %call = tail call nnan ninf afn nsz float @expm1f(float %a)216  ret float %call217}218 219define float @hypotf_f32(float %a, float %b) {220; CHECK-LABEL: hypotf_f32221; CHECK: __xl_hypotf_finite222; CHECK: blr223entry:224  %call = tail call nnan ninf afn nsz float @hypotf(float %a, float %b)225  ret float %call226}227 228define float @lgammaf_f32(float %a) {229; CHECK-LABEL: lgammaf_f32230; CHECK: __xl_lgammaf_finite231; CHECK: blr232entry:233  %call = tail call nnan ninf afn nsz float @lgammaf(float %a)234  ret float %call235}236 237define float @log10f_f32(float %a) {238; CHECK-LABEL: log10f_f32239; CHECK: __xl_log10f_finite240; CHECK: blr241entry:242  %call = tail call nnan ninf afn nsz float @log10f(float %a)243  ret float %call244}245 246define float @log1pf_f32(float %a) {247; CHECK-LABEL: log1pf_f32248; CHECK: __xl_log1pf_finite249; CHECK: blr250entry:251  %call = tail call nnan ninf afn nsz float @log1pf(float %a)252  ret float %call253}254 255define float @logf_f32(float %a) {256; CHECK-LABEL: logf_f32257; CHECK: __xl_logf_finite258; CHECK: blr259entry:260  %call = tail call nnan ninf afn nsz float @logf(float %a)261  ret float %call262}263 264define float @powf_f32(float %a, float %b) {265; CHECK-LABEL: powf_f32266; CHECK: __xl_powf_finite267; CHECK: blr268entry:269  %call = tail call nnan ninf afn nsz float @powf(float %a, float %b)270  ret float %call271}272 273define float @rintf_f32(float %a) {274; CHECK-LABEL: rintf_f32275; CHECK-NOT: __xl_rintf_finite276; CHECK: blr277entry:278  %call = tail call nnan ninf afn nsz float @rintf(float %a)279  ret float %call280}281 282define float @sinf_f32(float %a) {283; CHECK-LABEL: sinf_f32284; CHECK: __xl_sinf_finite285; CHECK: blr286entry:287  %call = tail call nnan ninf afn nsz float @sinf(float %a)288  ret float %call289}290 291define float @sinhf_f32(float %a) {292; CHECK-LABEL: sinhf_f32293; CHECK: __xl_sinhf_finite294; CHECK: blr295entry:296  %call = tail call nnan ninf afn nsz float @sinhf(float %a)297  ret float %call298}299 300define float @tanf_f32(float %a) {301; CHECK-LABEL: tanf_f32302; CHECK: __xl_tanf_finite303; CHECK: blr304entry:305  %call = tail call nnan ninf afn nsz float @tanf(float %a)306  ret float %call307}308 309define float @tanhf_f32(float %a) {310; CHECK-LABEL: tanhf_f32311; CHECK: __xl_tanhf_finite312; CHECK: blr313entry:314  %call = tail call nnan ninf afn nsz float @tanhf(float %a)315  ret float %call316}317 318define double @acos_f64(double %a) {319; CHECK-LABEL: acos_f64320; CHECK: __xl_acos_finite321; CHECK: blr322entry:323  %call = tail call nnan ninf afn nsz double @acos(double %a)324  ret double %call325}326 327define double @acosh_f64(double %a) {328; CHECK-LABEL: acosh_f64329; CHECK: __xl_acosh_finite330; CHECK: blr331entry:332  %call = tail call nnan ninf afn nsz double @acosh(double %a)333  ret double %call334}335 336define double @anint_f64(double %a) {337; CHECK-LABEL: anint_f64338; CHECK-NOT: __xl_anint_finite339; CHECK: blr340entry:341  %call = tail call nnan ninf afn nsz double @anint(double %a)342  ret double %call343}344 345define double @asin_f64(double %a) {346; CHECK-LABEL: asin_f64347; CHECK: __xl_asin_finite348; CHECK: blr349entry:350  %call = tail call nnan ninf afn nsz double @asin(double %a)351  ret double %call352}353 354define double @asinh_f64(double %a) {355; CHECK-LABEL: asinh_f64356; CHECK: __xl_asinh_finite357; CHECK: blr358entry:359  %call = tail call nnan ninf afn nsz double @asinh(double %a)360  ret double %call361}362 363define double @atan_f64(double %a) {364; CHECK-LABEL: atan_f64365; CHECK: __xl_atan_finite366; CHECK: blr367entry:368  %call = tail call nnan ninf afn nsz double @atan(double %a)369  ret double %call370}371 372define double @atan2_f64(double %a) {373; CHECK-LABEL: atan2_f64374; CHECK: __xl_atan2_finite375; CHECK: blr376entry:377  %call = tail call nnan ninf afn nsz double @atan2(double %a)378  ret double %call379}380 381define double @atanh_f64(double %a) {382; CHECK-LABEL: atanh_f64383; CHECK: __xl_atanh_finite384; CHECK: blr385entry:386  %call = tail call nnan ninf afn nsz double @atanh(double %a)387  ret double %call388}389 390define double @cbrt_f64(double %a) {391; CHECK-LABEL: cbrt_f64392; CHECK: __xl_cbrt_finite393; CHECK: blr394entry:395  %call = tail call nnan ninf afn nsz double @cbrt(double %a)396  ret double %call397}398 399define double @copysign_f64(double %a, double %b) {400; CHECK-LABEL: copysign_f64401; CHECK: copysign402; CHECK: blr403entry:404  %call = tail call nnan ninf afn nsz double @copysign(double %a, double %b)405  ret double %call406}407 408define double @cos_f64(double %a) {409; CHECK-LABEL: cos_f64410; CHECK: __xl_cos_finite411; CHECK: blr412entry:413  %call = tail call nnan ninf afn nsz double @cos(double %a)414  ret double %call415}416 417define double @cosh_f64(double %a) {418; CHECK-LABEL: cosh_f64419; CHECK: __xl_cosh_finite420; CHECK: blr421entry:422  %call = tail call nnan ninf afn nsz double @cosh(double %a)423  ret double %call424}425 426define double @cosisin_f64(double %a) {427; CHECK-LABEL: cosisin_f64428; CHECK-NOT: __xl_cosisin_finite429; CHECK: blr430entry:431  %call = tail call nnan ninf afn nsz double @cosisin(double %a)432  ret double %call433}434 435define double @dnint_f64(double %a) {436; CHECK-LABEL: dnint_f64437; CHECK-NOT: __xl_dnint_finite438; CHECK: blr439entry:440  %call = tail call nnan ninf afn nsz double @dnint(double %a)441  ret double %call442}443 444define double @erf_f64(double %a) {445; CHECK-LABEL: erf_f64446; CHECK: __xl_erf_finite447; CHECK: blr448entry:449  %call = tail call nnan ninf afn nsz double @erf(double %a)450  ret double %call451}452 453define double @erfc_f64(double %a) {454; CHECK-LABEL: erfc_f64455; CHECK: __xl_erfc_finite456; CHECK: blr457entry:458  %call = tail call nnan ninf afn nsz double @erfc(double %a)459  ret double %call460}461 462define double @exp_f64(double %a) {463; CHECK-LABEL: exp_f64464; CHECK: __xl_exp_finite465; CHECK: blr466entry:467  %call = tail call nnan ninf afn nsz double @exp(double %a)468  ret double %call469}470 471define double @expm1_f64(double %a) {472; CHECK-LABEL: expm1_f64473; CHECK: __xl_expm1_finite474; CHECK: blr475entry:476  %call = tail call nnan ninf afn nsz double @expm1(double %a)477  ret double %call478}479 480define double @hypot_f64(double %a, double %b) {481; CHECK-LABEL: hypot_f64482; CHECK: __xl_hypot_finite483; CHECK: blr484entry:485  %call = tail call nnan ninf afn nsz double @hypot(double %a, double %b)486  ret double %call487}488 489define double @lgamma_f64(double %a) {490; CHECK-LABEL: lgamma_f64491; CHECK: __xl_lgamma_finite492; CHECK: blr493entry:494  %call = tail call nnan ninf afn nsz double @lgamma(double %a)495  ret double %call496}497 498define double @log_f64(double %a) {499; CHECK-LABEL: log_f64500; CHECK: __xl_log_finite501; CHECK: blr502entry:503  %call = tail call nnan ninf afn nsz double @log(double %a)504  ret double %call505}506 507define double @log10_f64(double %a) {508; CHECK-LABEL: log10_f64509; CHECK: __xl_log10_finite510; CHECK: blr511entry:512  %call = tail call nnan ninf afn nsz double @log10(double %a)513  ret double %call514}515 516define double @log1p_f64(double %a) {517; CHECK-LABEL: log1p_f64518; CHECK: __xl_log1p_finite519; CHECK: blr520entry:521  %call = tail call nnan ninf afn nsz double @log1p(double %a)522  ret double %call523}524 525define double @pow_f64(double %a, double %b) {526; CHECK-LABEL: pow_f64527; CHECK: __xl_pow_finite528; CHECK: blr529entry:530  %call = tail call nnan ninf afn nsz double @pow(double %a, double %b)531  ret double %call532}533 534define double @rsqrt_f64(double %a) {535; CHECK-LABEL: rsqrt_f64536; CHECK: __xl_rsqrt_finite537; CHECK: blr538entry:539  %call = tail call nnan ninf afn nsz double @rsqrt(double %a)540  ret double %call541}542 543define double @sin_f64(double %a) {544; CHECK-LABEL: sin_f64545; CHECK: __xl_sin_finite546; CHECK: blr547entry:548  %call = tail call nnan ninf afn nsz double @sin(double %a)549  ret double %call550}551 552define double @sincos_f64(double %a) {553; CHECK-LABEL: sincos_f64554; CHECK-NOT: __xl_sincos_finite555; CHECK: blr556entry:557  %call = tail call nnan ninf afn nsz double @sincos(double %a)558  ret double %call559}560 561define double @sinh_f64(double %a) {562; CHECK-LABEL: sinh_f64563; CHECK: __xl_sinh_finite564; CHECK: blr565entry:566  %call = tail call nnan ninf afn nsz double @sinh(double %a)567  ret double %call568}569 570define double @sqrt_f64(double %a) {571; CHECK-LABEL: sqrt_f64572; CHECK: __xl_sqrt_finite573; CHECK: blr574entry:575  %call = tail call nnan ninf afn nsz double @sqrt(double %a)576  ret double %call577}578 579define double @tan_f64(double %a) {580; CHECK-LABEL: tan_f64581; CHECK: __xl_tan_finite582; CHECK: blr583entry:584  %call = tail call nnan ninf afn nsz double @tan(double %a)585  ret double %call586}587 588define double @tanh_f64(double %a) {589; CHECK-LABEL: tanh_f64590; CHECK: __xl_tanh_finite591; CHECK: blr592entry:593  %call = tail call nnan ninf afn nsz double @tanh(double %a)594  ret double %call595}596 597define float @__acosf_finite_f32(float %a) {598; CHECK-LABEL: __acosf_finite_f32599; CHECK: __xl_acosf_finite600; CHECK: blr601entry:602  %call = tail call nnan ninf afn nsz float @__acosf_finite(float %a)603  ret float %call604}605 606define float @__acoshf_finite_f32(float %a) {607; CHECK-LABEL: __acoshf_finite_f32608; CHECK: __xl_acoshf_finite609; CHECK: blr610entry:611  %call = tail call nnan ninf afn nsz float @__acoshf_finite(float %a)612  ret float %call613}614 615define float @__asinf_finite_f32(float %a) {616; CHECK-LABEL: __asinf_finite_f32617; CHECK: __xl_asinf_finite618; CHECK: blr619entry:620  %call = tail call nnan ninf afn nsz float @__asinf_finite(float %a)621  ret float %call622}623 624define float @__atan2f_finite_f32(float %a, float %b) {625; CHECK-LABEL: __atan2f_finite_f32626; CHECK: __xl_atan2f_finite627; CHECK: blr628entry:629  %call = tail call nnan ninf afn nsz float @__atan2f_finite(float %a, float %b)630  ret float %call631}632 633define float @__atanhf_finite_f32(float %a) {634; CHECK-LABEL: __atanhf_finite_f32635; CHECK: __xl_atanhf_finite636; CHECK: blr637entry:638  %call = tail call nnan ninf afn nsz float @__atanhf_finite(float %a)639  ret float %call640}641 642define float @__coshf_finite_f32(float %a) {643; CHECK-LABEL: __coshf_finite_f32644; CHECK: __xl_coshf_finite645; CHECK: blr646entry:647  %call = tail call nnan ninf afn nsz float @__coshf_finite(float %a)648  ret float %call649}650 651define float @__expf_finite_f32(float %a) {652; CHECK-LABEL: __expf_finite_f32653; CHECK: __xl_expf_finite654; CHECK: blr655entry:656  %call = tail call nnan ninf afn nsz float @__expf_finite(float %a)657  ret float %call658}659 660define float @__logf_finite_f32(float %a) {661; CHECK-LABEL: __logf_finite_f32662; CHECK: __xl_logf_finite663; CHECK: blr664entry:665  %call = tail call nnan ninf afn nsz float @__logf_finite(float %a)666  ret float %call667}668 669define float @__log10f_finite_f32(float %a) {670; CHECK-LABEL: __log10f_finite_f32671; CHECK: __xl_log10f_finite672; CHECK: blr673entry:674  %call = tail call nnan ninf afn nsz float @__log10f_finite(float %a)675  ret float %call676}677 678define float @__powf_finite_f32(float %a, float %b) {679; CHECK-LABEL: __powf_finite_f32680; CHECK: __xl_powf_finite681; CHECK: blr682entry:683  %call = tail call nnan ninf afn nsz float @__powf_finite(float %a, float %b)684  ret float %call685}686 687define float @__sinhf_finite_f32(float %a) {688; CHECK-LABEL: __sinhf_finite_f32689; CHECK: __xl_sinhf_finite690; CHECK: blr691entry:692  %call = tail call nnan ninf afn nsz float @__sinhf_finite(float %a)693  ret float %call694}695 696define double @__acos_finite_f64(double %a) {697; CHECK-LABEL: __acos_finite_f64698; CHECK: __xl_acos_finite699; CHECK: blr700entry:701  %call = tail call nnan ninf afn nsz double @__acos_finite(double %a)702  ret double %call703}704 705define double @__acosh_finite_f64(double %a) {706; CHECK-LABEL: __acosh_finite_f64707; CHECK: __xl_acosh_finite708; CHECK: blr709entry:710  %call = tail call nnan ninf afn nsz double @__acosh_finite(double %a)711  ret double %call712}713 714define double @__asin_finite_f64(double %a) {715; CHECK-LABEL: __asin_finite_f64716; CHECK: __xl_asin_finite717; CHECK: blr718entry:719  %call = tail call nnan ninf afn nsz double @__asin_finite(double %a)720  ret double %call721}722 723define double @__atan2_finite_f64(double %a, double %b) {724; CHECK-LABEL: __atan2_finite_f64725; CHECK: __xl_atan2_finite726; CHECK: blr727entry:728  %call = tail call nnan ninf afn nsz double @__atan2_finite(double %a, double %b)729  ret double %call730}731 732define double @__atanh_finite_f64(double %a) {733; CHECK-LABEL: __atanh_finite_f64734; CHECK: __xl_atanh_finite735; CHECK: blr736entry:737  %call = tail call nnan ninf afn nsz double @__atanh_finite(double %a)738  ret double %call739}740 741define double @__cosh_finite_f64(double %a) {742; CHECK-LABEL: __cosh_finite_f64743; CHECK: __xl_cosh_finite744; CHECK: blr745entry:746  %call = tail call nnan ninf afn nsz double @__cosh_finite(double %a)747  ret double %call748}749 750define double @__exp_finite_f64(double %a) {751; CHECK-LABEL: __exp_finite_f64752; CHECK: __xl_exp_finite753; CHECK: blr754entry:755  %call = tail call nnan ninf afn nsz double @__exp_finite(double %a)756  ret double %call757}758 759define double @__log_finite_f64(double %a) {760; CHECK-LABEL: __log_finite_f64761; CHECK: __xl_log_finite762; CHECK: blr763entry:764  %call = tail call nnan ninf afn nsz double @__log_finite(double %a)765  ret double %call766}767 768define double @__log10_finite_f64(double %a) {769; CHECK-LABEL: __log10_finite_f64770; CHECK: __xl_log10_finite771; CHECK: blr772entry:773  %call = tail call nnan ninf afn nsz double @__log10_finite(double %a)774  ret double %call775}776 777define double @__pow_finite_f64(double %a, double %b) {778; CHECK-LABEL: __pow_finite_f64779; CHECK: __xl_pow_finite780; CHECK: blr781entry:782  %call = tail call nnan ninf afn nsz double @__pow_finite(double %a, double %b)783  ret double %call784}785 786define double @__sinh_finite_f64(double %a) {787; CHECK-LABEL: __sinh_finite_f64788; CHECK: __xl_sinh_finite789; CHECK: blr790entry:791  %call = tail call nnan ninf afn nsz double @__sinh_finite(double %a)792  ret double %call793}794