; NOTE: Assertions have been autogenerated by utils/update_llubi_test_checks.py UTC_ARGS: --version 6 ; RUN: llubi --verbose < %s 2>&1 | FileCheck %s define void @main() { entry: %nan = fdiv float 0.0, 0.0 %inf = fdiv float 1.0, 0.0 %safe_sel = select i1 true, float %nan, float 1.0 %bad_sel_nan = select nnan i1 true, float %nan, float 1.0 %bad_sel_inf = select ninf i1 false, float 1.0, float %inf br label %phi.test phi.test: %safe_phi = phi float [ %nan, %entry ] %bad_phi_nan = phi nnan float [ %nan, %entry ] %bad_phi_inf = phi ninf float [ %inf, %entry ] ret void } ; CHECK: Entering function: main ; CHECK-NEXT: %nan = fdiv float 0.000000e+00, 0.000000e+00 => float NaN ; CHECK-NEXT: %inf = fdiv float 1.000000e+00, 0.000000e+00 => float +Inf ; CHECK-NEXT: %safe_sel = select i1 true, float %nan, float 1.000000e+00 => float NaN ; CHECK-NEXT: %bad_sel_nan = select nnan i1 true, float %nan, float 1.000000e+00 => poison ; CHECK-NEXT: %bad_sel_inf = select ninf i1 false, float 1.000000e+00, float %inf => poison ; CHECK-NEXT: br label %phi.test jump to %phi.test ; CHECK-NEXT: %safe_phi = phi float [ %nan, %entry ] => float NaN ; CHECK-NEXT: %bad_phi_nan = phi nnan float [ %nan, %entry ] => poison ; CHECK-NEXT: %bad_phi_inf = phi ninf float [ %inf, %entry ] => poison ; CHECK-NEXT: ret void ; CHECK-NEXT: Exiting function: main