diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c index 60fab78adf3..d9a8004ab0a 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c @@ -2120,7 +2120,7 @@ lp_build_round(struct lp_build_context *bld, if (type.width == 16) { char intrinsic[64]; - lp_format_intrinsic(intrinsic, 64, "llvm.round", bld->vec_type); + lp_format_intrinsic(intrinsic, 64, "llvm.roundeven", bld->vec_type); return lp_build_intrinsic_unary(builder, intrinsic, bld->vec_type, a); } diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c index 3e0628a763c..9f82a00eb46 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c @@ -3356,13 +3356,7 @@ do_alu_action(struct lp_build_nir_soa_context *bld, result = lp_build_rcp(float_bld, src[0]); break; case nir_op_fround_even: - if (src_bit_size[0] == 16) { - char intrinsic[64]; - lp_format_intrinsic(intrinsic, 64, "llvm.roundeven", float_bld->vec_type); - result = lp_build_intrinsic_unary(builder, intrinsic, float_bld->vec_type, src[0]); - } else { - result = lp_build_round(float_bld, src[0]); - } + result = lp_build_round(float_bld, src[0]); break; case nir_op_frsq: result = lp_build_rsqrt(float_bld, src[0]);