From e20294be114c2593035afaf6fe0726e0ce628ed0 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Wed, 17 Oct 2007 13:27:25 -0400 Subject: Implement pow/rcp and sub opcodes --- src/mesa/pipe/llvm/instructions.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/mesa/pipe/llvm/instructions.h') diff --git a/src/mesa/pipe/llvm/instructions.h b/src/mesa/pipe/llvm/instructions.h index c6e77710ea..18b5f91131 100644 --- a/src/mesa/pipe/llvm/instructions.h +++ b/src/mesa/pipe/llvm/instructions.h @@ -20,12 +20,16 @@ public: llvm::Value *madd(llvm::Value *in1, llvm::Value *in2, llvm::Value *in2); llvm::Value *mul(llvm::Value *in1, llvm::Value *in2); + llvm::Value *pow(llvm::Value *in1, llvm::Value *in2); + llvm::Value *rcp(llvm::Value *in1); llvm::Value *rsq(llvm::Value *in1); + llvm::Value *sub(llvm::Value *in1, llvm::Value *in2); private: const char *name(const char *prefix); llvm::Value *callFSqrt(llvm::Value *val); llvm::Value *callFAbs(llvm::Value *val); + llvm::Value *callPow(llvm::Value *val1, llvm::Value *val2); llvm::Value *vectorFromVals(llvm::Value *x, llvm::Value *y, llvm::Value *z, llvm::Value *w=0); @@ -34,10 +38,12 @@ private: char m_name[32]; llvm::BasicBlock *m_block; int m_idx; - llvm::Function *m_llvmFSqrt; - llvm::Function *m_llvmFAbs; llvm::VectorType *m_floatVecType; + + llvm::Function *m_llvmFSqrt; + llvm::Function *m_llvmFAbs; + llvm::Function *m_llvmPow; }; #endif -- cgit v1.2.3