diff options
author | Justin Holewinski <jholewinski@nvidia.com> | 2013-11-20 20:35:34 +0000 |
---|---|---|
committer | Justin Holewinski <jholewinski@nvidia.com> | 2013-11-20 20:35:34 +0000 |
commit | f9329ff650fa252606c65977405189dc46e5d66f (patch) | |
tree | fa41e7d694641c00d3ebccd9eaf5ca334537d36a /clang/test | |
parent | 17bdb0f815e6243e23dc38a39dc1b8ee5aee610c (diff) | |
download | bcm5719-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.c | 17 |
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; +} |