diff --git a/.pick_status.json b/.pick_status.json index ff10adc9a90..27caceab241 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5664,7 +5664,7 @@ "description": "nir/lower_fp16_casts: Fix SSA dominance", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "01dfd65a2d407dd95ac472e7e80e736bc7a8fc57", "notes": null diff --git a/src/compiler/nir/nir_lower_fp16_conv.c b/src/compiler/nir/nir_lower_fp16_conv.c index 2f6862731a3..60252e77469 100644 --- a/src/compiler/nir/nir_lower_fp16_conv.c +++ b/src/compiler/nir/nir_lower_fp16_conv.c @@ -126,10 +126,11 @@ float_to_half_impl(nir_builder *b, nir_ssa_def *src, nir_rounding_mode mode) nir_push_else(b, NULL); } + nir_ssa_def *zero = nir_imm_int(b, 0); + nir_push_if(b, nir_ige(b, abs, nir_imm_int(b, 113 << 23))); /* FP16 will be normal */ - nir_ssa_def *zero = nir_imm_int(b, 0); nir_ssa_def *value = nir_ior(b, nir_ishl(b, nir_isub(b,