diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index e33c382..7d9646e 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -3358,7 +3358,11 @@
 		}
 		case GLSLstd450Tanh:
 		{
-			UNIMPLEMENTED("GLSLstd450Tanh");
+			auto val = GenericValue(this, routine, insn.word(5));
+			for (auto i = 0u; i < type.sizeInComponents; i++)
+			{
+				dst.move(i, Tanh(val.Float(i)));
+			}
 			break;
 		}
 		case GLSLstd450Asinh:
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index d41cb0e..aebcfd6 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -561,6 +561,7 @@
 			func_.emplace("atanf", reinterpret_cast<void*>(atanf));
 			func_.emplace("sinhf", reinterpret_cast<void*>(sinhf));
 			func_.emplace("coshf", reinterpret_cast<void*>(coshf));
+			func_.emplace("tanhf", reinterpret_cast<void*>(tanhf));
 
 #ifdef __APPLE__
 			// LLVM uses this function on macOS for tan.
@@ -3132,6 +3133,11 @@
 		return TransformFloat4PerElement(v, "coshf");
 	}
 
+	RValue<Float4> Tanh(RValue<Float4> v)
+	{
+		return TransformFloat4PerElement(v, "tanhf");
+	}
+
 	Type *Float4::getType()
 	{
 		return T(llvm::VectorType::get(T(Float::getType()), 4));
diff --git a/src/Reactor/Reactor.hpp b/src/Reactor/Reactor.hpp
index 99ee3bd..1c92c9b 100644
--- a/src/Reactor/Reactor.hpp
+++ b/src/Reactor/Reactor.hpp
@@ -2216,6 +2216,7 @@
 	RValue<Float4> Atan(RValue<Float4> x);
 	RValue<Float4> Sinh(RValue<Float4> x);
 	RValue<Float4> Cosh(RValue<Float4> x);
+	RValue<Float4> Tanh(RValue<Float4> x);
 
 	template<class T>
 	class Pointer : public LValue<Pointer<T>>
