ac: add 16-bit support to ac_build_isign()
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
parent
cfd6314cfe
commit
3e7f3e2cd1
|
@ -2069,14 +2069,25 @@ LLVMValueRef ac_build_isign(struct ac_llvm_context *ctx, LLVMValueRef src0,
|
||||||
LLVMValueRef cmp, val, zero, one;
|
LLVMValueRef cmp, val, zero, one;
|
||||||
LLVMTypeRef type;
|
LLVMTypeRef type;
|
||||||
|
|
||||||
if (bitsize == 32) {
|
switch (bitsize) {
|
||||||
type = ctx->i32;
|
case 64:
|
||||||
zero = ctx->i32_0;
|
|
||||||
one = ctx->i32_1;
|
|
||||||
} else {
|
|
||||||
type = ctx->i64;
|
type = ctx->i64;
|
||||||
zero = ctx->i64_0;
|
zero = ctx->i64_0;
|
||||||
one = ctx->i64_1;
|
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, "");
|
cmp = LLVMBuildICmp(ctx->builder, LLVMIntSGT, src0, zero, "");
|
||||||
|
|
Loading…
Reference in New Issue