24 lines · plain
1! REQUIRES: flang-supports-f128-math2! RUN: bbc -emit-fir %s -o - | FileCheck %s --check-prefix=CHECK-FAST3! RUN: bbc --math-runtime=precise -emit-fir %s -o - | FileCheck %s --check-prefix=CHECK-PRECISE4! RUN: %flang_fc1 -emit-fir %s -o - | FileCheck %s --check-prefix=CHECK-FAST5 6! CHECK-PRECISE: fir.call @_FortranAFPow16i({{.*}}){{.*}}: (f128, i32) -> f1287! CHECK-PRECISE: fir.call @_FortranAFPow16i({{.*}}){{.*}}: (f128, i32) -> f1288! CHECK-PRECISE: fir.call @_FortranAFPow16i({{.*}}){{.*}}: (f128, i32) -> f1289! CHECK-PRECISE: fir.call @_FortranAFPow16k({{.*}}){{.*}}: (f128, i64) -> f12810! CHECK-FAST: math.fpowi {{.*}} : f128, i3211! CHECK-FAST: math.fpowi {{.*}} : f128, i3212! CHECK-FAST: math.fpowi {{.*}} : f128, i3213! CHECK-FAST: math.fpowi {{.*}} : f128, i6414 real(16) :: a15 integer(1) :: e116 integer(2) :: e217 integer(4) :: e318 integer(8) :: e419 a = a ** e120 a = a ** e221 a = a ** e322 a = a ** e423end24