Module: Mesa Branch: master Commit: 336b05c49a6c6ce915bbd6629da17321ecb72bee URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=336b05c49a6c6ce915bbd6629da17321ecb72bee
Author: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> Date: Sun Feb 26 02:37:27 2017 +0100 radv/ac: Add integer->integer casts. Signed-off-by: Bas Nieuwenhuizen <ba...@google.com> Reviewed-by: Dave Airlie <airl...@redhat.com> Acked-by: Edward O'Callaghan <funfunc...@folklore1984.net> --- src/amd/common/ac_nir_to_llvm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 9778581..4f3d689 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -1476,6 +1476,24 @@ static void visit_alu(struct nir_to_llvm_context *ctx, nir_alu_instr *instr) case nir_op_d2f: result = LLVMBuildFPTrunc(ctx->builder, src[0], to_float_type(ctx, def_type), ""); break; + case nir_op_u2u32: + case nir_op_u2u64: + case nir_op_u2i32: + case nir_op_u2i64: + if (get_elem_bits(ctx, LLVMTypeOf(src[0])) < get_elem_bits(ctx, def_type)) + result = LLVMBuildZExt(ctx->builder, src[0], def_type, ""); + else + result = LLVMBuildTrunc(ctx->builder, src[0], def_type, ""); + break; + case nir_op_i2u32: + case nir_op_i2u64: + case nir_op_i2i32: + case nir_op_i2i64: + if (get_elem_bits(ctx, LLVMTypeOf(src[0])) < get_elem_bits(ctx, def_type)) + result = LLVMBuildSExt(ctx->builder, src[0], def_type, ""); + else + result = LLVMBuildTrunc(ctx->builder, src[0], def_type, ""); + break; case nir_op_bcsel: result = emit_bcsel(ctx, src[0], src[1], src[2]); break; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit