summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/cuda-output-asm.cu
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-01-14 21:41:31 +0000
committerJustin Lebar <jlebar@google.com>2016-01-14 21:41:31 +0000
commite8c3609d3a1cb4c358691b5f5b32fa8d731a1c09 (patch)
treeaeab00d45ed41558216fbcec863e24dd033a6ca3 /clang/test/Driver/cuda-output-asm.cu
parent21e5d4fcfa4c8a2a198a968af5b7db1884b801b9 (diff)
downloadbcm5719-llvm-e8c3609d3a1cb4c358691b5f5b32fa8d731a1c09.tar.gz
bcm5719-llvm-e8c3609d3a1cb4c358691b5f5b32fa8d731a1c09.zip
[CUDA] Add test for compiling CUDA code with -S.
Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D16081 llvm-svn: 257810
Diffstat (limited to 'clang/test/Driver/cuda-output-asm.cu')
-rw-r--r--clang/test/Driver/cuda-output-asm.cu29
1 files changed, 29 insertions, 0 deletions
diff --git a/clang/test/Driver/cuda-output-asm.cu b/clang/test/Driver/cuda-output-asm.cu
new file mode 100644
index 00000000000..af62478ac27
--- /dev/null
+++ b/clang/test/Driver/cuda-output-asm.cu
@@ -0,0 +1,29 @@
+// Tests CUDA compilation with -S.
+
+// REQUIRES: clang-driver
+// REQUIRES: x86-registered-target
+// REQUIRES: nvptx-registered-target
+
+// RUN: %clang -### -S -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \
+// RUN: | FileCheck -check-prefix HOST -check-prefix SM20 %s
+// RUN: %clang -### -S -target x86_64-linux-gnu --cuda-host-only -o foo.s %s 2>&1 \
+// RUN: | FileCheck -check-prefix HOST %s
+// RUN: %clang -### -S -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 \
+// RUN: --cuda-device-only -o foo.s %s 2>&1 \
+// RUN: | FileCheck -check-prefix SM20 %s
+// RUN: %clang -### -S -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 \
+// RUN: --cuda-gpu-arch=sm_30 --cuda-device-only %s 2>&1 \
+// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s
+
+// HOST-DAG: "-cc1" "-triple" "x86_64--linux-gnu"
+// SM20-DAG: "-cc1" "-triple" "nvptx64-nvidia-cuda"
+// SM20-same: "-target-cpu" "sm_20"
+// SM30-DAG: "-cc1" "-triple" "nvptx64-nvidia-cuda"
+// SM30-same: "-target-cpu" "sm_30"
+
+// RUN: %clang -### -S -target x86_64-linux-gnu -o foo.s %s 2>&1 \
+// RUN: | FileCheck -check-prefix MULTIPLE-OUTPUT-FILES %s
+// RUN: %clang -### -S -target x86_64-linux-gnu --cuda-device-only \
+// RUN: --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 -o foo.s %s 2>&1 \
+// RUN: | FileCheck -check-prefix MULTIPLE-OUTPUT-FILES %s
+// MULTIPLE-OUTPUT-FILES: error: cannot specify -o when generating multiple output files
OpenPOWER on IntegriCloud