From: Samuel Pitoiset Date: Mon, 8 Apr 2019 07:24:56 +0000 (+0200) Subject: ac/nir: fix nir_op_b2f16 X-Git-Tag: upstream/19.3.0~7483 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bc6d486c78a43ab86aecf68e095620d72edc135e;p=platform%2Fupstream%2Fmesa.git ac/nir: fix nir_op_b2f16 Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index f2d5275..3d2f738 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -322,10 +322,16 @@ static LLVMValueRef emit_b2f(struct ac_llvm_context *ctx, ""); result = LLVMBuildBitCast(ctx->builder, result, ctx->f32, ""); - if (bitsize == 32) + switch (bitsize) { + case 16: + return LLVMBuildFPTrunc(ctx->builder, result, ctx->f16, ""); + case 32: return result; - - return LLVMBuildFPExt(ctx->builder, result, ctx->f64, ""); + case 64: + return LLVMBuildFPExt(ctx->builder, result, ctx->f64, ""); + default: + unreachable("Unsupported bit size."); + } } static LLVMValueRef emit_f2b(struct ac_llvm_context *ctx,