summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorJustin Holewinski <jholewinski@nvidia.com>2013-11-20 20:35:34 +0000
committerJustin Holewinski <jholewinski@nvidia.com>2013-11-20 20:35:34 +0000
commitf9329ff650fa252606c65977405189dc46e5d66f (patch)
treefa41e7d694641c00d3ebccd9eaf5ca334537d36a /clang/test
parent17bdb0f815e6243e23dc38a39dc1b8ee5aee610c (diff)
downloadbcm5719-llvm-f9329ff650fa252606c65977405189dc46e5d66f.tar.gz
bcm5719-llvm-f9329ff650fa252606c65977405189dc46e5d66f.zip
[NVPTX] Update ABI handling
For PTX, we want the target to handle struct returns directly. llvm-svn: 195268
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/nvptx-abi.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/CodeGen/nvptx-abi.c b/clang/test/CodeGen/nvptx-abi.c
new file mode 100644
index 00000000000..f846def2de5
--- /dev/null
+++ b/clang/test/CodeGen/nvptx-abi.c
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -triple nvptx-unknown-unknown -S -o - %s -emit-llvm | FileCheck %s
+// RUN: %clang_cc1 -triple nvptx64-unknown-unknown -S -o - %s -emit-llvm | FileCheck %s
+
+typedef struct float4_s {
+ float x, y, z, w;
+} float4_t;
+
+float4_t my_function(void);
+
+// CHECK-DAG: declare %struct.float4_s @my_function
+
+float bar(void) {
+ float4_t ret;
+// CHECK-DAG: call %struct.float4_s @my_function
+ ret = my_function();
+ return ret.x;
+}
OpenPOWER on IntegriCloud