1 // Checks that cuda compilation does the right thing when passed -march.
2 // (Specifically, we want to pass it to host compilation, but not to device
3 // compilation or ptxas!)
4 //
5 // REQUIRES: clang-driver
6 // REQUIRES: x86-registered-target
7 // REQUIRES: nvptx-registered-target
8 
9 // RUN: %clang -no-canonical-prefixes -### -target x86_64-linux-gnu -c \
10 // RUN: -march=haswell %s 2>&1 | FileCheck %s
11 // RUN: %clang -no-canonical-prefixes -### -target x86_64-linux-gnu -c \
12 // RUN: -march=haswell --cuda-gpu-arch=sm_20 %s 2>&1 | FileCheck %s
13 
14 // CHECK: {{.*}}clang{{.*}}" "-cc1"
15 // CHECK-SAME: "-triple" "nvptx
16 // CHECK-SAME: "-target-cpu" "sm_20"
17 
18 // CHECK: ptxas
19 // CHECK-SAME: "--gpu-name" "sm_20"
20 
21 // CHECK: {{.*}}clang{{.*}}" "-cc1"
22 // CHECK-SAME: "-target-cpu" "haswell"
23