summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/instructions.h
diff options
context:
space:
mode:
authorStephane Marchesin <marchesin@icps.u-strasbg.fr>2008-09-28 19:48:26 +0200
committerZack Rusin <zack@tungstengraphics.com>2008-10-02 10:19:47 -0400
commit0116ea34e1308a233e406a5d26f09217a69a5ed6 (patch)
tree1fa44f53354288e81267583e1c9b6a4bb43f3460 /src/gallium/auxiliary/gallivm/instructions.h
parent3f477e111a96493ff2863af06a98e8849ffbc6d8 (diff)
Gallivm: more instructions.
Diffstat (limited to 'src/gallium/auxiliary/gallivm/instructions.h')
-rw-r--r--src/gallium/auxiliary/gallivm/instructions.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/gallivm/instructions.h b/src/gallium/auxiliary/gallivm/instructions.h
index 8df30f62c8..c3b28e9746 100644
--- a/src/gallium/auxiliary/gallivm/instructions.h
+++ b/src/gallium/auxiliary/gallivm/instructions.h
@@ -63,6 +63,7 @@ public:
void bgnSub(unsigned);
void brk();
void cal(int label, llvm::Value *input);
+ llvm::Value *ceil(llvm::Value *in);
llvm::Value *clamp(llvm::Value *in);
llvm::Value *cmp(llvm::Value *in1, llvm::Value *in2, llvm::Value *in3);
llvm::Value *cnd(llvm::Value *in1, llvm::Value *in2, llvm::Value *in3);
@@ -73,6 +74,7 @@ public:
llvm::Value *ddy(llvm::Value *in);
llvm::Value *div(llvm::Value *in1, llvm::Value *in2);
llvm::Value *dot2add(llvm::Value *in, llvm::Value *in2, llvm::Value *in3);
+ llvm::Value *dp2(llvm::Value *in1, llvm::Value *in2);
llvm::Value *dp3(llvm::Value *in1, llvm::Value *in2);
llvm::Value *dp4(llvm::Value *in1, llvm::Value *in2);
llvm::Value *dph(llvm::Value *in1, llvm::Value *in2);
@@ -99,6 +101,7 @@ public:
llvm::Value *min(llvm::Value *in1, llvm::Value *in2);
llvm::Value *mul(llvm::Value *in1, llvm::Value *in2);
llvm::Value *neg(llvm::Value *in);
+ llvm::Value *nrm(llvm::Value *in);
llvm::Value *pow(llvm::Value *in1, llvm::Value *in2);
llvm::Value *rcp(llvm::Value *in);
llvm::Value *rsq(llvm::Value *in);
@@ -120,6 +123,7 @@ public:
private:
const char *name(const char *prefix);
+ llvm::Value *callCeil(llvm::Value *val);
llvm::Value *callFAbs(llvm::Value *val);
llvm::Value *callFExp(llvm::Value *val);
llvm::Value *callFLog(llvm::Value *val);
@@ -147,6 +151,7 @@ private:
llvm::VectorType *m_floatVecType;
+ llvm::Function *m_llvmCeil;
llvm::Function *m_llvmFSqrt;
llvm::Function *m_llvmFAbs;
llvm::Function *m_llvmPow;