brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 8d20ff8 Raw
50 lines · plain
1! REQUIRES: flang-supports-f128-math2! REQUIRES: x86-registered-target3! RUN: bbc -target x86_64-unknown-linux-gnu -emit-fir -o - %s | FileCheck %s4 5  ! CHECK-LABEL: func @_QQmain6  use ieee_arithmetic, only: ieee_is_finite, ieee_is_nan, ieee_is_negative, &7                             ieee_is_normal8  real(2) :: x2 = -2.09  real(3) :: x3 = -3.010  real(4) :: x4 = -4.011  real(8) :: x8 = -8.012  real(16) :: x16 = -16.013 14  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 504 : i32}> : (f16) -> i115  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 60 : i32}> : (f16) -> i116  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f16) -> i117  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 3 : i32}> : (f16) -> i118  print*, ieee_is_finite(x2), ieee_is_negative(x2), ieee_is_normal(x2), &19          ieee_is_nan(x2)20 21  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 504 : i32}> : (bf16) -> i122  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 60 : i32}> : (bf16) -> i123  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (bf16) -> i124  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 3 : i32}> : (bf16) -> i125  print*, ieee_is_finite(x3), ieee_is_negative(x3), ieee_is_normal(x3), &26          ieee_is_nan(x3)27 28  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 504 : i32}> : (f32) -> i129  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 60 : i32}> : (f32) -> i130  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f32) -> i131  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 3 : i32}> : (f32) -> i132  print*, ieee_is_finite(x4), ieee_is_negative(x4), ieee_is_normal(x4), &33          ieee_is_nan(x4)34 35  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 504 : i32}> : (f64) -> i136  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 60 : i32}> : (f64) -> i137  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f64) -> i138  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 3 : i32}> : (f64) -> i139  print*, ieee_is_finite(x8), ieee_is_negative(x8), ieee_is_normal(x8), &40          ieee_is_nan(x8)41 42  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 504 : i32}> : (f128) -> i143  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 60 : i32}> : (f128) -> i144  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 360 : i32}> : (f128) -> i145  ! CHECK:     "llvm.intr.is.fpclass"(%{{.*}}) <{bit = 3 : i32}> : (f128) -> i146  print*, ieee_is_finite(x16), ieee_is_negative(x16), ieee_is_normal(x16), &47          ieee_is_nan(x16)48 49  end50