blob: 9e7d0f828b5cd441d2d99c77fd82a17f1cd409ce [file] [log] [blame]
! RUN: bbc -emit-fir %s -o - | FileCheck %s --check-prefix=CHECK-FAST
! RUN: bbc --math-runtime=precise -emit-fir %s -o - | FileCheck %s --check-prefix=CHECK-PRECISE
! RUN: %flang_fc1 -emit-fir %s -o - | FileCheck %s --check-prefix=CHECK-FAST
! CHECK-PRECISE: fir.call @_FortranAFPow16i({{.*}}){{.*}}: (f128, i32) -> f128
! CHECK-PRECISE: fir.call @_FortranAFPow16i({{.*}}){{.*}}: (f128, i32) -> f128
! CHECK-PRECISE: fir.call @_FortranAFPow16i({{.*}}){{.*}}: (f128, i32) -> f128
! CHECK-PRECISE: fir.call @_FortranAFPow16k({{.*}}){{.*}}: (f128, i64) -> f128
! CHECK-FAST: math.fpowi {{.*}} : f128, i32
! CHECK-FAST: math.fpowi {{.*}} : f128, i32
! CHECK-FAST: math.fpowi {{.*}} : f128, i32
! CHECK-FAST: math.fpowi {{.*}} : f128, i64
real(16) :: a
integer(1) :: e1
integer(2) :: e2
integer(4) :: e3
integer(8) :: e4
a = a ** e1
a = a ** e2
a = a ** e3
a = a ** e4
end