25 lines · plain
1! RUN: bbc -emit-fir -hlfir=false -o - %s | FileCheck %s2 3! CHECK-LABEL: c.func @_QQmain4use ieee_arithmetic5! CHECK: %[[V_0:[0-9]+]] = fir.alloca f32 {bindc_name = "x", uniq_name = "_QFEx"}6! CHECK: %cst = arith.constant -2.000000e+00 : f327! CHECK: fir.store %cst to %[[V_0]] : !fir.ref<f32>8x = -2.09 10! CHECK: %[[V_4:[0-9]+]] = fir.load %[[V_0]] : !fir.ref<f32>11! CHECK: %[[V_5:[0-9]+]] = arith.bitcast %[[V_4]] : f32 to i3212! CHECK: %[[V_6:[0-9]+]] = arith.shrui %[[V_5]], %c31{{.*}} : i3213! CHECK: %[[V_7:[0-9]+]] = fir.convert %[[V_6]] : (i32) -> !fir.logical<4>14! CHECK: %[[V_8:[0-9]+]] = fir.convert %[[V_7]] : (!fir.logical<4>) -> i115! CHECK: %[[V_9:[0-9]+]] = fir.call @_FortranAioOutputLogical(%{{.*}}, %[[V_8]]) {{.*}} : (!fir.ref<i8>, i1) -> i116 17! CHECK: %cst_0 = arith.constant 1.700000e+01 : f3218! CHECK: %[[V_10:[0-9]+]] = arith.bitcast %cst_0 : f32 to i3219! CHECK: %[[V_11:[0-9]+]] = arith.shrui %[[V_10]], %c31{{.*}} : i3220! CHECK: %[[V_12:[0-9]+]] = fir.convert %[[V_11]] : (i32) -> !fir.logical<4>21! CHECK: %[[V_13:[0-9]+]] = fir.convert %[[V_12]] : (!fir.logical<4>) -> i122! CHECK: %[[V_14:[0-9]+]] = fir.call @_FortranAioOutputLogical(%{{.*}}, %[[V_13]]) {{.*}} : (!fir.ref<i8>, i1) -> i123print*, ieee_signbit(x), ieee_signbit(17.0)24end25