From: Samuel Pitoiset Date: Fri, 14 Sep 2018 10:52:35 +0000 (+0200) Subject: ac: add 16-bit support to ac_build_isign() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3e7f3e2cd1e9f44eab840441af15a44883919717;p=mesa.git ac: add 16-bit support to ac_build_isign() Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c index 011cea5cd0f..71723d5e91f 100644 --- a/src/amd/common/ac_llvm_build.c +++ b/src/amd/common/ac_llvm_build.c @@ -2069,14 +2069,25 @@ LLVMValueRef ac_build_isign(struct ac_llvm_context *ctx, LLVMValueRef src0, LLVMValueRef cmp, val, zero, one; LLVMTypeRef type; - if (bitsize == 32) { - type = ctx->i32; - zero = ctx->i32_0; - one = ctx->i32_1; - } else { + switch (bitsize) { + case 64: type = ctx->i64; zero = ctx->i64_0; one = ctx->i64_1; + break; + case 32: + type = ctx->i32; + zero = ctx->i32_0; + one = ctx->i32_1; + break; + case 16: + type = ctx->i16; + zero = ctx->i16_0; + one = ctx->i16_1; + break; + default: + unreachable(!"invalid bitsize"); + break; } cmp = LLVMBuildICmp(ctx->builder, LLVMIntSGT, src0, zero, "");