diff --git a/.pick_status.json b/.pick_status.json index 406eb063dff..a267826a5f3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -784,7 +784,7 @@ "description": "intel/nir: Don't needlessly split u2f16 for nir_type_uint32", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "f695a9fed2b0eac39acdaca132f5fc8c43c9f7d7", "notes": null diff --git a/src/intel/compiler/intel_nir_lower_conversions.c b/src/intel/compiler/intel_nir_lower_conversions.c index e0dde853349..ba8af15babb 100644 --- a/src/intel/compiler/intel_nir_lower_conversions.c +++ b/src/intel/compiler/intel_nir_lower_conversions.c @@ -60,9 +60,8 @@ lower_alu_instr(nir_builder *b, nir_alu_instr *alu) * 32-bit float type so we don't lose range when we convert from * a 64-bit integer. */ - unsigned int64_types = nir_type_int64 | nir_type_uint64; - if ((src_full_type == nir_type_float16 && (dst_full_type & int64_types)) || - ((src_full_type & int64_types) && dst_full_type == nir_type_float16)) { + if ((src_full_type == nir_type_float16 && dst_bit_size == 64) || + (src_bit_size == 64 && dst_full_type == nir_type_float16)) { split_conversion(b, alu, src_type, nir_type_float | 32, dst_type | dst_bit_size); return true;