diff options
author | Guy Benyei <guy.benyei@intel.com> | 2012-12-11 21:38:14 +0000 |
---|---|---|
committer | Guy Benyei <guy.benyei@intel.com> | 2012-12-11 21:38:14 +0000 |
commit | b798fc98491be64027818fd2362e1896a9935903 (patch) | |
tree | 6ce11ccf44bb8648ae21b38cda7d624a557a6a9a /clang/test/CodeGenOpenCL | |
parent | f707bf4ca3381029a03e88eb449082fe9e423cc5 (diff) | |
download | bcm5719-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.cl | 22 | ||||
-rw-r--r-- | clang/test/CodeGenOpenCL/spir64_target.cl | 21 |
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)*
+}
|