diff options
author | José Fonseca <[email protected]> | 2009-08-10 23:22:40 +0100 |
---|---|---|
committer | José Fonseca <[email protected]> | 2009-08-29 09:21:29 +0100 |
commit | 36249348ed6dfae63ef2b81e6db88c975a801f2a (patch) | |
tree | 41d956fa521c030dfbf0c0da05c7b1edf22d2583 /src/gallium/drivers/llvmpipe/lp_bld_intr.h | |
parent | 50d77141e8fc884396a1a143d40b4be7a1513a2f (diff) |
llvmpipe: More intrinsic helpers.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_bld_intr.h')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_bld_intr.h | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_bld_intr.h b/src/gallium/drivers/llvmpipe/lp_bld_intr.h index 67f596c2b5d..1e8e0edd831 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_intr.h +++ b/src/gallium/drivers/llvmpipe/lp_bld_intr.h @@ -27,7 +27,7 @@ /** * @file - * Helper arithmetic functions. + * Helper functions for calling intrinsics. * * @author Jose Fonseca <[email protected]> */ @@ -40,6 +40,24 @@ #include <llvm-c/Core.h> +#define LP_MAX_FUNC_ARGS 32 + + +LLVMValueRef +lp_build_intrinsic(LLVMBuilderRef builder, + const char *name, + LLVMTypeRef ret_type, + LLVMValueRef *args, + unsigned num_args); + + +LLVMValueRef +lp_build_intrinsic_unary(LLVMBuilderRef builder, + const char *name, + LLVMTypeRef ret_type, + LLVMValueRef a); + + LLVMValueRef lp_build_intrinsic_binary(LLVMBuilderRef builder, const char *name, @@ -48,4 +66,27 @@ lp_build_intrinsic_binary(LLVMBuilderRef builder, LLVMValueRef b); +LLVMValueRef +lp_build_intrinsic_map(LLVMBuilderRef builder, + const char *name, + LLVMTypeRef ret_type, + LLVMValueRef *args, + unsigned num_args); + + +LLVMValueRef +lp_build_intrinsic_map_unary(LLVMBuilderRef builder, + const char *name, + LLVMTypeRef ret_type, + LLVMValueRef a); + + +LLVMValueRef +lp_build_intrinsic_map_binary(LLVMBuilderRef builder, + const char *name, + LLVMTypeRef ret_type, + LLVMValueRef a, + LLVMValueRef b); + + #endif /* !LP_BLD_INTR_H */ |