|
51 | 51 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_21 \
|
52 | 52 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
53 | 53 | // RUN: | FileCheck %s -check-prefix COMMON \
|
54 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE20 |
| 54 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE20 |
55 | 55 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_32 \
|
56 | 56 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
57 | 57 | // RUN: | FileCheck %s -check-prefix COMMON \
|
58 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE20 |
| 58 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE20 |
59 | 59 | // sm_30, sm_6x map to compute_30.
|
60 | 60 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_30 \
|
61 | 61 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
62 | 62 | // RUN: | FileCheck %s -check-prefix COMMON \
|
63 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE30 |
| 63 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE30 |
64 | 64 | // sm_5x is a special case. Maps to compute_30 for cuda-7.x only.
|
65 | 65 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_50 \
|
66 | 66 | // RUN: --cuda-path=%S/Inputs/CUDA/usr/local/cuda %s 2>&1 \
|
67 | 67 | // RUN: | FileCheck %s -check-prefix COMMON \
|
68 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE30 |
| 68 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE30 |
69 | 69 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_60 \
|
70 | 70 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
71 | 71 | // RUN: | FileCheck %s -check-prefix COMMON \
|
72 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE30 |
| 72 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE30 |
73 | 73 | // sm_35 and sm_37 -> compute_35
|
74 | 74 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
75 | 75 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
76 | 76 | // RUN: | FileCheck %s -check-prefix COMMON -check-prefix CUDAINC \
|
77 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE35 |
| 77 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE35 |
78 | 78 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_37 \
|
79 | 79 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
80 | 80 | // RUN: | FileCheck %s -check-prefix COMMON -check-prefix CUDAINC \
|
81 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE35 |
| 81 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE35 |
82 | 82 | // sm_5x -> compute_50 for CUDA-8.0 and newer.
|
83 | 83 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_50 \
|
84 | 84 | // RUN: --cuda-path=%S/Inputs/CUDA_80/usr/local/cuda %s 2>&1 \
|
85 | 85 | // RUN: | FileCheck %s -check-prefix COMMON \
|
86 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE50 |
| 86 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE50 |
| 87 | + |
| 88 | +// CUDA-9+ uses the same libdevice for all GPU variants: |
| 89 | +// RUN: %clang -### -v --target=x86_64-unknown-linux --cuda-gpu-arch=sm_30 \ |
| 90 | +// RUN: --cuda-path=%S/Inputs/CUDA_90/usr/local/cuda %s 2>&1 \ |
| 91 | +// RUN: | FileCheck %s -check-prefix COMMON64 \ |
| 92 | +// RUN: -check-prefixes PTX60,LIBDEVICE,LIBDEVICE10 |
| 93 | +// RUN: %clang -### -v --target=x86_64-unknown-linux --cuda-gpu-arch=sm_50 \ |
| 94 | +// RUN: --cuda-path=%S/Inputs/CUDA_90/usr/local/cuda %s 2>&1 \ |
| 95 | +// RUN: | FileCheck %s -check-prefix COMMON64 \ |
| 96 | +// RUN: -check-prefixes PTX60,LIBDEVICE,LIBDEVICE10 |
| 97 | +// RUN: %clang -### -v --target=x86_64-unknown-linux --cuda-gpu-arch=sm_60 \ |
| 98 | +// RUN: --cuda-path=%S/Inputs/CUDA_90/usr/local/cuda %s 2>&1 \ |
| 99 | +// RUN: | FileCheck %s -check-prefix COMMON64 \ |
| 100 | +// RUN: -check-prefixes PTX60,LIBDEVICE,LIBDEVICE10 |
| 101 | + |
87 | 102 |
|
88 | 103 | // Verify that -nocudainc prevents adding include path to CUDA headers.
|
89 | 104 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
90 | 105 | // RUN: -nocudainc --cuda-path=%S/Inputs/CUDA/usr/local/cuda %s 2>&1 \
|
91 | 106 | // RUN: | FileCheck %s -check-prefix COMMON -check-prefix NOCUDAINC \
|
92 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE35 |
| 107 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE35 |
93 | 108 | // RUN: %clang -### -v --target=i386-apple-macosx --cuda-gpu-arch=sm_35 \
|
94 | 109 | // RUN: -nocudainc --cuda-path=%S/Inputs/CUDA/usr/local/cuda %s 2>&1 \
|
95 | 110 | // RUN: | FileCheck %s -check-prefix COMMON -check-prefix NOCUDAINC \
|
96 |
| -// RUN: -check-prefix LIBDEVICE -check-prefix LIBDEVICE35 |
| 111 | +// RUN: -check-prefixes PTX42,LIBDEVICE,LIBDEVICE35 |
97 | 112 |
|
98 | 113 | // We should not add any CUDA include paths if there's no valid CUDA installation
|
99 | 114 | // RUN: %clang -### -v --target=i386-unknown-linux --cuda-gpu-arch=sm_35 \
|
|
154 | 169 | // MISSINGLIBDEVICE: error: cannot find libdevice for sm_20.
|
155 | 170 |
|
156 | 171 | // COMMON: "-triple" "nvptx-nvidia-cuda"
|
| 172 | +// COMMON64: "-triple" "nvptx64-nvidia-cuda" |
157 | 173 | // COMMON-SAME: "-fcuda-is-device"
|
158 | 174 | // LIBDEVICE-SAME: "-mlink-builtin-bitcode"
|
159 |
| -// NOLIBDEVICE-NOT: "-mlink-builtin-bitcode" |
| 175 | +// LIBDEVICE10-SAME: libdevice.10.bc |
160 | 176 | // LIBDEVICE20-SAME: libdevice.compute_20.10.bc
|
161 | 177 | // LIBDEVICE30-SAME: libdevice.compute_30.10.bc
|
162 | 178 | // LIBDEVICE35-SAME: libdevice.compute_35.10.bc
|
163 | 179 | // LIBDEVICE50-SAME: libdevice.compute_50.10.bc
|
164 |
| -// NOLIBDEVICE-NOT: libdevice.compute_{{.*}}.bc |
165 |
| -// LIBDEVICE-SAME: "-target-feature" "+ptx42" |
166 |
| -// NOLIBDEVICE-NOT: "-target-feature" "+ptx42" |
| 180 | +// PTX42-SAME: "-target-feature" "+ptx42" |
| 181 | +// PTX60-SAME: "-target-feature" "+ptx60" |
167 | 182 | // CUDAINC-SAME: "-internal-isystem" "{{.*}}/Inputs/CUDA{{[_0-9]+}}/usr/local/cuda/include"
|
168 | 183 | // NOCUDAINC-NOT: "-internal-isystem" "{{.*}}/cuda/include"
|
169 | 184 | // CUDAINC-SAME: "-include" "__clang_cuda_runtime_wrapper.h"
|
|
0 commit comments