From 1f34c851e0af55eecc84ac833bb624f5ab1b3077 Mon Sep 17 00:00:00 2001
From: Jan Vesely <jan.vesely@rutgers.edu>
Date: Fri, 10 Nov 2017 22:16:36 +0000
Subject: [PATCH] native_sin: Switch implementation to llvm intrinsic

Reviewer: Jeroen Ketema
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
llvm-svn: 317939
---
 libclc/generic/include/clc/math/native_sin.h | 10 +++++++++-
 libclc/generic/lib/SOURCES                   |  1 +
 libclc/generic/lib/math/native_sin.cl        |  7 +++++++
 3 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 libclc/generic/lib/math/native_sin.cl

diff --git a/libclc/generic/include/clc/math/native_sin.h b/libclc/generic/include/clc/math/native_sin.h
index 569a051ccc75..1492fc2aa338 100644
--- a/libclc/generic/include/clc/math/native_sin.h
+++ b/libclc/generic/include/clc/math/native_sin.h
@@ -1 +1,9 @@
-#define native_sin sin
+#define __CLC_BODY <clc/math/unary_decl.inc>
+#define __CLC_FUNCTION native_sin
+#define __FLOAT_ONLY
+
+#include <clc/math/gentype.inc>
+
+#undef __FLOAT_ONLY
+#undef __CLC_BODY
+#undef __CLC_FUNCTION
diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES
index 97244f38163c..d29390d897de 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -125,6 +125,7 @@ math/native_exp2.cl
 math/native_log.cl
 math/native_log10.cl
 math/native_log2.cl
+math/native_sin.cl
 math/tables.cl
 math/clc_nextafter.cl
 math/nextafter.cl
diff --git a/libclc/generic/lib/math/native_sin.cl b/libclc/generic/lib/math/native_sin.cl
new file mode 100644
index 000000000000..fd9232f188ef
--- /dev/null
+++ b/libclc/generic/lib/math/native_sin.cl
@@ -0,0 +1,7 @@
+#include <clc/clc.h>
+
+#define __CLC_NATIVE_INTRINSIC sin
+
+#define __CLC_BODY <native_unary_intrinsic.inc>
+#define __FLOAT_ONLY
+#include <clc/math/gentype.inc>