1 // REQUIRES: x86-registered-target
2 // REQUIRES: amdgpu-registered-target
4 // RUN: not %clang -### --target=x86_64-linux-gnu \
5 // RUN: -x hip --offload-arch=gfx908 \
6 // RUN: --offload-arch=gfx908xnack \
7 // RUN: --rocm-path=%S/Inputs/rocm \
8 // RUN: %s 2>&1 | FileCheck -check-prefix=NOPLUS %s
10 // NOPLUS: error: invalid target ID 'gfx908xnack'
12 // RUN: not %clang -### --target=x86_64-linux-gnu \
13 // RUN: -x hip --offload-arch=gfx900 \
14 // RUN: --offload-arch=gfx908:xnack+:xnack+ \
15 // RUN: --rocm-path=%S/Inputs/rocm \
16 // RUN: %s 2>&1 | FileCheck -check-prefix=ORDER %s
18 // ORDER: error: invalid target ID 'gfx908:xnack+:xnack+'
20 // RUN: not %clang -### --target=x86_64-linux-gnu \
21 // RUN: -x hip --offload-arch=gfx908 \
22 // RUN: --offload-arch=gfx908:unknown+ \
23 // RUN: --offload-arch=gfx908+sramecc+unknown \
24 // RUN: --offload-arch=gfx900+xnack \
25 // RUN: --rocm-path=%S/Inputs/rocm \
26 // RUN: %s 2>&1 | FileCheck -check-prefix=UNK %s
28 // UNK: error: invalid target ID 'gfx908:unknown+'
30 // RUN: not %clang -### --target=x86_64-linux-gnu \
31 // RUN: -x hip --offload-arch=gfx908 \
32 // RUN: --offload-arch=gfx908:sramecc+:unknown+ \
33 // RUN: --offload-arch=gfx900+xnack \
34 // RUN: --rocm-path=%S/Inputs/rocm \
35 // RUN: %s 2>&1 | FileCheck -check-prefix=MIXED %s
37 // MIXED: error: invalid target ID 'gfx908:sramecc+:unknown+'
39 // RUN: not %clang -### --target=x86_64-linux-gnu \
40 // RUN: -x hip --offload-arch=gfx908 \
41 // RUN: --offload-arch=gfx900:sramecc+ \
42 // RUN: --rocm-path=%S/Inputs/rocm \
43 // RUN: %s 2>&1 | FileCheck -check-prefix=UNSUP %s
45 // UNSUP: error: invalid target ID 'gfx900:sramecc+'
47 / RUN: not %clang -### --target=x86_64-linux-gnu \
48 // RUN: -x hip --offload-arch=gfx908 \
49 // RUN: --offload-arch=gfx900:xnack \
50 // RUN: --rocm-path=%S/Inputs/rocm \
51 // RUN: %s 2>&1 | FileCheck -check-prefix=NOSIGN %s
53 // NOSIGN: error: invalid target ID 'gfx900:xnack'
55 // RUN: not %clang -### --target=x86_64-linux-gnu \
56 // RUN: -x hip --offload-arch=gfx908 \
57 // RUN: --offload-arch=gfx900+xnack \
58 // RUN: --rocm-path=%S/Inputs/rocm \
59 // RUN: %s 2>&1 | FileCheck -check-prefix=NOCOLON %s
61 // NOCOLON: error: invalid target ID 'gfx900+xnack'
63 // RUN: not %clang -### --target=x86_64-linux-gnu \
64 // RUN: -x hip --offload-arch=gfx908 \
65 // RUN: --offload-arch=gfx908:xnack+ \
66 // RUN: --rocm-path=%S/Inputs/rocm \
67 // RUN: %s 2>&1 | FileCheck -check-prefix=COMBO %s
69 // COMBO: error: invalid offload arch combinations: 'gfx908' and 'gfx908:xnack+'