Lines Matching defs:num

694 LLVMValueRef ac_build_fdiv(struct ac_llvm_context *ctx, LLVMValueRef num, LLVMValueRef den)
701 return LLVMBuildFDiv(ctx->builder, num, den, "");
713 return LLVMBuildFMul(ctx->builder, num, rcp, "");
718 LLVMValueRef ac_build_fast_udiv(struct ac_llvm_context *ctx, LLVMValueRef num,
724 num = LLVMBuildLShr(builder, num, pre_shift, "");
725 num = LLVMBuildMul(builder, LLVMBuildZExt(builder, num, ctx->i64, ""),
727 num = LLVMBuildAdd(builder, num, LLVMBuildZExt(builder, increment, ctx->i64, ""), "");
728 num = LLVMBuildLShr(builder, num, LLVMConstInt(ctx->i64, 32, 0), "");
729 num = LLVMBuildTrunc(builder, num, ctx->i32, "");
730 return LLVMBuildLShr(builder, num, post_shift, "");
734 /* If num != UINT_MAX, this more efficient version can be used. */
736 LLVMValueRef ac_build_fast_udiv_nuw(struct ac_llvm_context *ctx, LLVMValueRef num,
742 num = LLVMBuildLShr(builder, num, pre_shift, "");
743 num = LLVMBuildNUWAdd(builder, num, increment, "");
744 num = LLVMBuildMul(builder, LLVMBuildZExt(builder, num, ctx->i64, ""),
746 num = LLVMBuildLShr(builder, num, LLVMConstInt(ctx->i64, 32, 0), "");
747 num = LLVMBuildTrunc(builder, num, ctx->i32, "");
748 return LLVMBuildLShr(builder, num, post_shift, "");
753 LLVMValueRef ac_build_fast_udiv_u31_d_not_one(struct ac_llvm_context *ctx, LLVMValueRef num,
758 num = LLVMBuildMul(builder, LLVMBuildZExt(builder, num, ctx->i64, ""),
760 num = LLVMBuildLShr(builder, num, LLVMConstInt(ctx->i64, 32, 0), "");
761 num = LLVMBuildTrunc(builder, num, ctx->i32, "");
762 return LLVMBuildLShr(builder, num, post_shift, "");