summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/llvm/instructions.cpp
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2007-10-18 05:51:01 -0400
committerZack Rusin <zack@tungstengraphics.com>2007-10-24 11:21:04 -0400
commit1c955171c84f5d062f5f0be983de636a1817c6f7 (patch)
tree889721ce994dc41c0968f5c7016e59e9101e888e /src/mesa/pipe/llvm/instructions.cpp
parentbd38f4d92125e648b276344ebb2ab9d517b3e7a5 (diff)
Implement ex2 opcode
Diffstat (limited to 'src/mesa/pipe/llvm/instructions.cpp')
-rw-r--r--src/mesa/pipe/llvm/instructions.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/pipe/llvm/instructions.cpp b/src/mesa/pipe/llvm/instructions.cpp
index ee67ae0eed..1e6b74eac6 100644
--- a/src/mesa/pipe/llvm/instructions.cpp
+++ b/src/mesa/pipe/llvm/instructions.cpp
@@ -302,3 +302,12 @@ llvm::Value * Instructions::dst(llvm::Value *in1, llvm::Value *in2)
ry, z, w);
}
+llvm::Value * Instructions::ex2(llvm::Value *in)
+{
+ llvm::Value *val = callPow(ConstantFP::get(Type::FloatTy, APFloat(2.f)),
+ new ExtractElementInst(in, unsigned(0),
+ name("x1"),
+ m_block));
+ return vectorFromVals(val, val, val, val);
+}
+