summaryrefslogtreecommitdiff
path: root/clang/test/CodeGenOpenCL/fpmath.cl
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGenOpenCL/fpmath.cl')
-rw-r--r--clang/test/CodeGenOpenCL/fpmath.cl25
1 files changed, 25 insertions, 0 deletions
diff --git a/clang/test/CodeGenOpenCL/fpmath.cl b/clang/test/CodeGenOpenCL/fpmath.cl
new file mode 100644
index 0000000..704fcd7
--- /dev/null
+++ b/clang/test/CodeGenOpenCL/fpmath.cl
@@ -0,0 +1,25 @@
+// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
+
+typedef __attribute__(( ext_vector_type(4) )) float float4;
+
+float spscalardiv(float a, float b) {
+ // CHECK: @spscalardiv
+ // CHECK: fdiv{{.*}}, !fpmath ![[MD:[0-9]+]]
+ return a / b;
+}
+
+float4 spvectordiv(float4 a, float4 b) {
+ // CHECK: @spvectordiv
+ // CHECK: fdiv{{.*}}, !fpmath ![[MD]]
+ return a / b;
+}
+
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+
+double dpscalardiv(double a, double b) {
+ // CHECK: @dpscalardiv
+ // CHECK-NOT: !fpmath
+ return a / b;
+}
+
+// CHECK: ![[MD]] = metadata !{float 2.500000e+00}