summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenOpenCL
diff options
context:
space:
mode:
authorGuy Benyei <guy.benyei@intel.com>2012-12-11 21:38:14 +0000
committerGuy Benyei <guy.benyei@intel.com>2012-12-11 21:38:14 +0000
commitb798fc98491be64027818fd2362e1896a9935903 (patch)
tree6ce11ccf44bb8648ae21b38cda7d624a557a6a9a /clang/test/CodeGenOpenCL
parentf707bf4ca3381029a03e88eb449082fe9e423cc5 (diff)
downloadbcm5719-llvm-b798fc98491be64027818fd2362e1896a9935903.tar.gz
bcm5719-llvm-b798fc98491be64027818fd2362e1896a9935903.zip
Add SPIR32/SPIR64 targets to Clang
llvm-svn: 169917
Diffstat (limited to 'clang/test/CodeGenOpenCL')
-rw-r--r--clang/test/CodeGenOpenCL/spir32_target.cl22
-rw-r--r--clang/test/CodeGenOpenCL/spir64_target.cl21
2 files changed, 43 insertions, 0 deletions
diff --git a/clang/test/CodeGenOpenCL/spir32_target.cl b/clang/test/CodeGenOpenCL/spir32_target.cl
new file mode 100644
index 00000000000..42bffbd719a
--- /dev/null
+++ b/clang/test/CodeGenOpenCL/spir32_target.cl
@@ -0,0 +1,22 @@
+// RUN: %clang_cc1 %s -triple "spir-unknown-unknown" -emit-llvm -o - | FileCheck %s
+
+// CHECK: target triple = "spir-unknown-unknown"
+
+typedef struct {
+ char c;
+ void *v;
+ void *v2;
+} my_st;
+
+kernel void foo(global long *arg) {
+ int res1[sizeof(my_st) == 12 ? 1 : -1];
+ int res2[sizeof(void *) == 4 ? 1 : -1];
+ int res3[sizeof(arg) == 4 ? 1 : -1];
+
+ my_st *tmp = 0;
+
+ arg[0] = (long)(&tmp->v);
+//CHECK: store i64 4, i64 addrspace(1)*
+ arg[1] = (long)(&tmp->v2);
+//CHECK: store i64 8, i64 addrspace(1)*
+}
diff --git a/clang/test/CodeGenOpenCL/spir64_target.cl b/clang/test/CodeGenOpenCL/spir64_target.cl
new file mode 100644
index 00000000000..93ee86c6101
--- /dev/null
+++ b/clang/test/CodeGenOpenCL/spir64_target.cl
@@ -0,0 +1,21 @@
+// RUN: %clang_cc1 %s -triple "spir64-unknown-unknown" -emit-llvm -o - | FileCheck %s
+
+// CHECK: target triple = "spir64-unknown-unknown"
+
+typedef struct {
+ char c;
+ void *v;
+ void *v2;
+} my_st;
+
+kernel void foo(global long *arg) {
+ int res1[sizeof(my_st) == 24 ? 1 : -1];
+ int res2[sizeof(void *) == 8 ? 1 : -1];
+ int res3[sizeof(arg) == 8 ? 1 : -1];
+
+ my_st *tmp = 0;
+ arg[3] = (long)(&tmp->v);
+//CHECK: store i64 8, i64 addrspace(1)*
+ arg[4] = (long)(&tmp->v2);
+//CHECK: store i64 16, i64 addrspace(1)*
+}
OpenPOWER on IntegriCloud