From 3e7f3e2cd1e9f44eab840441af15a44883919717 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 14 Sep 2018 12:52:35 +0200 Subject: ac: add 16-bit support to ac_build_isign() Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/common/ac_llvm_build.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/amd/common') 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, ""); -- cgit v1.2.3