You don't need this helper. You can just use LLVMBuildTrunc. Marek
On Tue, Feb 6, 2018 at 5:58 AM, Timothy Arceri <tarc...@itsqueeze.com> wrote: > This will be used in the following commits. > --- > src/amd/common/ac_llvm_build.c | 8 ++++++++ > src/amd/common/ac_llvm_build.h | 3 +++ > src/amd/common/ac_nir_to_llvm.c | 6 +----- > 3 files changed, 12 insertions(+), 5 deletions(-) > > diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c > index a86ba962fa..6375b106f7 100644 > --- a/src/amd/common/ac_llvm_build.c > +++ b/src/amd/common/ac_llvm_build.c > @@ -1992,6 +1992,14 @@ LLVMValueRef ac_find_lsb(struct ac_llvm_context *ctx, > LLVMConstInt(ctx->i32, -1, 0), lsb, ""); > } > > +LLVMValueRef ac_unpack_64_2x32_split_x(struct ac_llvm_context *ctx, > + LLVMValueRef src0) > +{ > + LLVMValueRef tmp = LLVMBuildBitCast(ctx->builder, src0, > + ctx->v2i32, ""); > + return LLVMBuildExtractElement(ctx->builder, tmp, ctx->i32_0, ""); > +} > + > LLVMTypeRef ac_array_in_const_addr_space(LLVMTypeRef elem_type) > { > return LLVMPointerType(LLVMArrayType(elem_type, 0), > diff --git a/src/amd/common/ac_llvm_build.h b/src/amd/common/ac_llvm_build.h > index 47c843fb4b..78991b3e99 100644 > --- a/src/amd/common/ac_llvm_build.h > +++ b/src/amd/common/ac_llvm_build.h > @@ -348,6 +348,9 @@ LLVMValueRef ac_find_lsb(struct ac_llvm_context *ctx, > LLVMTypeRef dst_type, > LLVMValueRef src0); > > +LLVMValueRef ac_unpack_64_2x32_split_x(struct ac_llvm_context *ctx, > + LLVMValueRef src0); > + > LLVMTypeRef ac_array_in_const_addr_space(LLVMTypeRef elem_type); > > #ifdef __cplusplus > diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c > index 9a9db2dce9..ac4af12b3e 100644 > --- a/src/amd/common/ac_nir_to_llvm.c > +++ b/src/amd/common/ac_nir_to_llvm.c > @@ -2042,11 +2042,7 @@ static void visit_alu(struct ac_nir_context *ctx, > const nir_alu_instr *instr) > > case nir_op_unpack_64_2x32_split_x: { > assert(instr->src[0].src.ssa->num_components == 1); > - LLVMValueRef tmp = LLVMBuildBitCast(ctx->ac.builder, src[0], > - ctx->ac.v2i32, > - ""); > - result = LLVMBuildExtractElement(ctx->ac.builder, tmp, > - ctx->ac.i32_0, ""); > + result = ac_unpack_64_2x32_split_x(&ctx->ac, src[0]); > break; > } > > -- > 2.14.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev