From 00327f827fcba59f52a6524d581bad6e257faa80 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 21 Mar 2019 12:42:44 +0100 Subject: [PATCH] ac: fix incorrect argument type for tbuffer.{load,store} with LLVM 7 GLC/SLC are boolean. This fixes the following LLVM error when checkir is set: Intrinsic has incorrect argument type! void (i32, <4 x i32>, i32, i32, i32, i32, i32, i32, i32, i32)* @llvm.amdgcn.tbuffer.store.i32 Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen i32, dfmt, false), LLVMConstInt(ctx->i32, nfmt, false), - LLVMConstInt(ctx->i32, glc, false), - LLVMConstInt(ctx->i32, slc, false), + LLVMConstInt(ctx->i1, glc, false), + LLVMConstInt(ctx->i1, slc, false), }; unsigned func = CLAMP(num_channels, 1, 3) - 1; LLVMTypeRef types[] = {ctx->i32, ctx->v2i32, ctx->v4i32}; @@ -1699,8 +1699,8 @@ ac_build_tbuffer_store(struct ac_llvm_context *ctx, immoffset, LLVMConstInt(ctx->i32, dfmt, false), LLVMConstInt(ctx->i32, nfmt, false), - LLVMConstInt(ctx->i32, glc, false), - LLVMConstInt(ctx->i32, slc, false), + LLVMConstInt(ctx->i1, glc, false), + LLVMConstInt(ctx->i1, slc, false), }; unsigned func = CLAMP(num_channels, 1, 3) - 1; const char *type_names[] = {"i32", "v2i32", "v4i32"}; -- 2.30.2