197 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes=early-cse -earlycse-debug-hash -S -o - %s | FileCheck %s3 4declare double @acos(double) #05define double @f_acos() {6; CHECK-LABEL: @f_acos(7; CHECK-NEXT: ret double 0.000000e+008;9 %res = tail call fast double @acos(double 1.0)10 ret double %res11}12 13declare float @asinf(float) #014define float @f_asinf() {15; CHECK-LABEL: @f_asinf(16; CHECK-NEXT: ret float 0x3FF921FB{{.+}}17;18 %res = tail call fast float @asinf(float 1.0)19 ret float %res20}21 22declare double @atan(double) #023define double @f_atan() {24; CHECK-LABEL: @f_atan(25; CHECK-NEXT: ret double 0x3FE921FB26;27 %res = tail call fast double @atan(double 1.0)28 ret double %res29}30 31declare float @cosf(float) #032define float @f_cosf() {33; CHECK-LABEL: @f_cosf(34; CHECK-NEXT: ret float 0x3FE14A2{{.+}}35;36 %res = tail call fast float @cosf(float 1.0)37 ret float %res38}39 40declare float @llvm.cos.f32(float)41define float @i_cosf() {42; CHECK-LABEL: @i_cosf(43; CHECK-NEXT: ret float 0x3FE14A244;45 %res = tail call fast float @llvm.cos.f32(float 1.0)46 ret float %res47}48 49declare double @cosh(double) #050define double @f_cosh() {51; CHECK-LABEL: @f_cosh(52; CHECK-NEXT: ret double 0x3FF8B075{{.+}}53;54 %res = tail call fast double @cosh(double 1.0)55 ret double %res56}57 58declare float @expf(float) #059define float @f_expf() {60; CHECK-LABEL: @f_expf(61; CHECK-NEXT: ret float 0x4005BF0A{{.+}}62;63 %res = tail call fast float @expf(float 1.0)64 ret float %res65}66 67declare float @llvm.exp.f32(float)68define float @i_expf() {69; CHECK-LABEL: @i_expf(70; CHECK-NEXT: ret float 0x4005BF0A{{.+}}71;72 %res = tail call fast float @llvm.exp.f32(float 1.0)73 ret float %res74}75 76declare double @exp2(double) #077define double @f_exp2() {78; CHECK-LABEL: @f_exp2(79; CHECK-NEXT: ret double 2.000000e+0080;81 %res = tail call fast double @exp2(double 1.0)82 ret double %res83}84 85declare double @llvm.exp2.f64(double)86define double @i_exp2() {87; CHECK-LABEL: @i_exp2(88; CHECK-NEXT: ret double 2.000000e+0089;90 %res = tail call fast double @llvm.exp2.f64(double 1.0)91 ret double %res92}93 94; FIXME: exp10() is not widely supported.95declare float @exp10f(float) #096define float @f_exp10f() {97; CHECK-LABEL: @f_exp10f(98; CHECK-NEXT: [[RES:%.*]] = tail call float @exp10f(float 1.000000e+00)99; CHECK-NEXT: ret float [[RES]]100;101 %res = tail call float @exp10f(float 1.0)102 ret float %res103}104 105declare double @log(double) #0106define double @f_log() {107; CHECK-LABEL: @f_log(108; CHECK-NEXT: ret double 0.000000e+00109;110 %res = tail call fast double @log(double 1.0)111 ret double %res112}113 114declare double @llvm.log.f64(double)115define double @i_log() {116; CHECK-LABEL: @i_log(117; CHECK-NEXT: ret double 0.000000e+00118;119 %res = tail call fast double @llvm.log.f64(double 1.0)120 ret double %res121}122 123declare float @log2f(float) #0124define float @f_log2f() {125; CHECK-LABEL: @f_log2f(126; CHECK-NEXT: ret float 0.000000e+00127;128 %res = tail call fast float @log2f(float 1.0)129 ret float %res130}131 132declare float @llvm.log2.f32(float)133define float @i_log2f() {134; CHECK-LABEL: @i_log2f(135; CHECK-NEXT: ret float 0.000000e+00136;137 %res = tail call fast float @llvm.log2.f32(float 1.0)138 ret float %res139}140 141declare double @log10(double) #0142define double @f_log10() {143; CHECK-LABEL: @f_log10(144; CHECK-NEXT: ret double 0.000000e+00145;146 %res = tail call fast double @log10(double 1.0)147 ret double %res148}149 150declare float @sinf(float) #0151define float @f_sinf() {152; CHECK-LABEL: @f_sinf(153; CHECK-NEXT: ret float 0x3FEAED54{{.+}}154;155 %res = tail call fast float @sinf(float 1.0)156 ret float %res157}158 159declare double @sinh(double) #0160define double @f_sinh() {161; CHECK-LABEL: @f_sinh(162; CHECK-NEXT: ret double 0x3FF2CD9F{{.+}}163;164 %res = tail call fast double @sinh(double 1.0)165 ret double %res166}167 168declare float @sqrtf(float) #0169define float @f_sqrtf() {170; CHECK-LABEL: @f_sqrtf(171; CHECK-NEXT: ret float 1.000000e+00172;173 %res = tail call fast float @sqrtf(float 1.0)174 ret float %res175}176 177declare double @tan(double) #0178define double @f_tan() {179; CHECK-LABEL: @f_tan(180; CHECK-NEXT: ret double 0x3FF8EB24{{.+}}181;182 %res = tail call fast double @tan(double 1.0)183 ret double %res184}185 186declare float @tanhf(float) #0187define float @f_tanhf() {188; CHECK-LABEL: @f_tanhf(189; CHECK-NEXT: [[RES:%.*]] = tail call fast float @tanhf(float 1.000000e+00)190; CHECK-NEXT: ret float 0x3FE85EFA{{.+}}191;192 %res = tail call fast float @tanhf(float 1.0)193 ret float %res194}195 196attributes #0 = { nofree nounwind willreturn }197