diff options
author | Zack Rusin <zack@pixel.(none)> | 2008-03-01 09:50:41 -0500 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2008-03-01 15:28:00 -0500 |
commit | a9c40f833ead8459788b86603c7f2b94632b1109 (patch) | |
tree | 5ee93b8bd49ff289f4b9fdf90dbcec8ac05e24d5 /src/gallium/auxiliary/gallivm/instructionssoa.h | |
parent | 17f543fc4529ca4ce7f73a840ed0fb50d1fec925 (diff) |
refactor code calling builtins and implement dp4
Diffstat (limited to 'src/gallium/auxiliary/gallivm/instructionssoa.h')
-rw-r--r-- | src/gallium/auxiliary/gallivm/instructionssoa.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/instructionssoa.h b/src/gallium/auxiliary/gallivm/instructionssoa.h index 5c26687150e..3ef51dcaff7 100644 --- a/src/gallium/auxiliary/gallivm/instructionssoa.h +++ b/src/gallium/auxiliary/gallivm/instructionssoa.h @@ -52,6 +52,8 @@ public: const std::vector<llvm::Value*> in2); std::vector<llvm::Value*> dp3(const std::vector<llvm::Value*> in1, const std::vector<llvm::Value*> in2); + std::vector<llvm::Value*> dp4(const std::vector<llvm::Value*> in1, + const std::vector<llvm::Value*> in2); std::vector<llvm::Value*> madd(const std::vector<llvm::Value*> in1, const std::vector<llvm::Value*> in2, const std::vector<llvm::Value*> in3); @@ -69,6 +71,16 @@ private: llvm::Function *function(int); llvm::Module *currentModule() const; llvm::Value *allocaTemp(); + std::vector<llvm::Value*> allocaToResult(llvm::Value *allocaPtr); + std::vector<llvm::Value*> callBuiltin(llvm::Function *func, + const std::vector<llvm::Value*> in1); + std::vector<llvm::Value*> callBuiltin(llvm::Function *func, + const std::vector<llvm::Value*> in1, + const std::vector<llvm::Value*> in2); + std::vector<llvm::Value*> callBuiltin(llvm::Function *func, + const std::vector<llvm::Value*> in1, + const std::vector<llvm::Value*> in2, + const std::vector<llvm::Value*> in3); private: llvm::LLVMFoldingBuilder m_builder; StorageSoa *m_storage; |