summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/llvm/instructionssoa.h
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2008-02-14 22:42:57 -0500
committerZack Rusin <[email protected]>2008-02-15 01:17:17 -0500
commitf70cc89dbc8c0f3e58d6cf8eca92e2df1677c86e (patch)
tree66bed76e9f8e5929220b6af54df0e7bba0051ab8 /src/mesa/pipe/llvm/instructionssoa.h
parentae3375987fe9968f822442a0ce49b97f5f0a4070 (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.h9
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];