diff options
author | Zack Rusin <[email protected]> | 2008-02-14 22:42:57 -0500 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2008-02-15 01:17:17 -0500 |
commit | f70cc89dbc8c0f3e58d6cf8eca92e2df1677c86e (patch) | |
tree | 66bed76e9f8e5929220b6af54df0e7bba0051ab8 /src/mesa/pipe/llvm/instructionssoa.h | |
parent | ae3375987fe9968f822442a0ce49b97f5f0a4070 (diff) |
redo the way immediates are handled
implement madd
start implementing arl
Diffstat (limited to 'src/mesa/pipe/llvm/instructionssoa.h')
-rw-r--r-- | src/mesa/pipe/llvm/instructionssoa.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/pipe/llvm/instructionssoa.h b/src/mesa/pipe/llvm/instructionssoa.h index 01955015844..25ff4ac712a 100644 --- a/src/mesa/pipe/llvm/instructionssoa.h +++ b/src/mesa/pipe/llvm/instructionssoa.h @@ -46,17 +46,24 @@ public: InstructionsSoa(llvm::Module *mod, llvm::Function *func, llvm::BasicBlock *block, StorageSoa *storage); + std::vector<llvm::Value*> arl(const std::vector<llvm::Value*> in); + std::vector<llvm::Value*> add(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); std::vector<llvm::Value*> mul(const std::vector<llvm::Value*> in1, const std::vector<llvm::Value*> in2); void end(); private: const char * name(const char *prefix) const; + llvm::Value *vectorFromVals(llvm::Value *x, llvm::Value *y, + llvm::Value *z, llvm::Value *w); private: llvm::LLVMFoldingBuilder m_builder; - + StorageSoa *m_storage; private: mutable int m_idx; mutable char m_name[32]; |