1! RUN: bbc -emit-fir %s -o - | FileCheck %s 2! RUN: flang -fc1 -emit-fir %s -o - | FileCheck %s 3 4! CHECK-LABEL: ieee_is_normal_f16 5subroutine ieee_is_normal_f16(r) 6 use ieee_arithmetic 7 real(KIND=2) :: r 8 i = ieee_is_normal(r) 9 ! CHECK: %[[l:.*]] = "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f16) -> i1 10 ! CHECK: fir.convert %[[l]] : (i1) -> !fir.logical<4> 11end subroutine ieee_is_normal_f16 12 13! CHECK-LABEL: ieee_is_normal_bf16 14subroutine ieee_is_normal_bf16(r) 15 use ieee_arithmetic 16 real(KIND=3) :: r 17 i = ieee_is_normal(r) 18 ! CHECK: %[[l:.*]] = "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (bf16) -> i1 19 ! CHECK: fir.convert %[[l]] : (i1) -> !fir.logical<4> 20end subroutine ieee_is_normal_bf16 21 22 23 24! CHECK-LABEL: ieee_is_normal_f32 25subroutine ieee_is_normal_f32(r) 26 use ieee_arithmetic 27 real :: r 28 i = ieee_is_normal(r) 29 ! CHECK: %[[l:.*]] = "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f32) -> i1 30 ! CHECK: fir.convert %[[l]] : (i1) -> !fir.logical<4> 31end subroutine ieee_is_normal_f32 32 33! CHECK-LABEL: ieee_is_normal_f64 34subroutine ieee_is_normal_f64(r) 35 use ieee_arithmetic 36 real(KIND=8) :: r 37 i = ieee_is_normal(r) 38 ! CHECK: %[[l:.*]] = "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f64) -> i1 39 ! CHECK: fir.convert %[[l]] : (i1) -> !fir.logical<4> 40end subroutine ieee_is_normal_f64 41 42! CHECK-LABEL: ieee_is_normal_f80 43subroutine ieee_is_normal_f80(r) 44 use ieee_arithmetic 45 real(KIND=10) :: r 46 i = ieee_is_normal(r) 47 ! CHECK: %[[l:.*]] = "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f80) -> i1 48 ! CHECK: fir.convert %[[l]] : (i1) -> !fir.logical<4> 49end subroutine ieee_is_normal_f80 50 51! CHECK-LABEL: ieee_is_normal_f128 52subroutine ieee_is_normal_f128(r) 53 use ieee_arithmetic 54 real(KIND=16) :: r 55 i = ieee_is_normal(r) 56 ! CHECK: %[[l:.*]] = "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f128) -> i1 57 ! CHECK: fir.convert %[[l]] : (i1) -> !fir.logical<4> 58end subroutine ieee_is_normal_f128 59