mirror-llvm-project/clang/test/Misc/target-invalid-cpu-note/nvptx.c
Matt Arsenault 3c3a18e239
clang: Store vendor GPU kinds in OffloadArch instead of re-listing GPUs (#213362)
OffloadArch was a flat enum that hand-duplicated every AMDGPU and NVPTX
target, plus a few edge cases. This was yet another place that needed
updating every time a new target is added, which should now be avoided.
Replace with a tagged union-like scheme.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply@anthropic.com>
2026-08-01 06:14:04 +00:00

127 lines
3.9 KiB
C

// This test uses '<prefix>-SAME: {{^}}' to start matching immediately where the
// previous check finished matching (specifically, caret is not treated as
// matching a start of line when used like this in FileCheck).
// RUN: not %clang_cc1 -triple nvptx--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --implicit-check-not={{[a-zA-Z0-9]}}
// CHECK: error: unknown target CPU 'not-a-cpu'
// CHECK-NEXT: note: valid target CPU values are:
// CHECK-SAME: {{^}} sm_20
// CHECK-SAME: {{^}}, sm_21
// CHECK-SAME: {{^}}, sm_30
// CHECK-SAME: {{^}}, sm_32
// CHECK-SAME: {{^}}, sm_35
// CHECK-SAME: {{^}}, sm_37
// CHECK-SAME: {{^}}, sm_50
// CHECK-SAME: {{^}}, sm_52
// CHECK-SAME: {{^}}, sm_53
// CHECK-SAME: {{^}}, sm_60
// CHECK-SAME: {{^}}, sm_61
// CHECK-SAME: {{^}}, sm_62
// CHECK-SAME: {{^}}, sm_70
// CHECK-SAME: {{^}}, sm_72
// CHECK-SAME: {{^}}, sm_75
// CHECK-SAME: {{^}}, sm_80
// CHECK-SAME: {{^}}, sm_86
// CHECK-SAME: {{^}}, sm_87
// CHECK-SAME: {{^}}, sm_88
// CHECK-SAME: {{^}}, sm_89
// CHECK-SAME: {{^}}, sm_90
// CHECK-SAME: {{^}}, sm_90a
// CHECK-SAME: {{^}}, sm_100
// CHECK-SAME: {{^}}, sm_100a
// CHECK-SAME: {{^}}, sm_100f
// CHECK-SAME: {{^}}, sm_101
// CHECK-SAME: {{^}}, sm_101a
// CHECK-SAME: {{^}}, sm_101f
// CHECK-SAME: {{^}}, sm_103
// CHECK-SAME: {{^}}, sm_103a
// CHECK-SAME: {{^}}, sm_103f
// CHECK-SAME: {{^}}, sm_110
// CHECK-SAME: {{^}}, sm_110a
// CHECK-SAME: {{^}}, sm_110f
// CHECK-SAME: {{^}}, sm_120
// CHECK-SAME: {{^}}, sm_120a
// CHECK-SAME: {{^}}, sm_120f
// CHECK-SAME: {{^}}, sm_121
// CHECK-SAME: {{^}}, sm_121a
// CHECK-SAME: {{^}}, sm_121f
// CHECK-SAME: {{^}}, gfx600
// CHECK-SAME: {{^}}, gfx601
// CHECK-SAME: {{^}}, gfx602
// CHECK-SAME: {{^}}, gfx700
// CHECK-SAME: {{^}}, gfx701
// CHECK-SAME: {{^}}, gfx702
// CHECK-SAME: {{^}}, gfx703
// CHECK-SAME: {{^}}, gfx704
// CHECK-SAME: {{^}}, gfx705
// CHECK-SAME: {{^}}, gfx801
// CHECK-SAME: {{^}}, gfx802
// CHECK-SAME: {{^}}, gfx803
// CHECK-SAME: {{^}}, gfx805
// CHECK-SAME: {{^}}, gfx810
// CHECK-SAME: {{^}}, gfx900
// CHECK-SAME: {{^}}, gfx902
// CHECK-SAME: {{^}}, gfx904
// CHECK-SAME: {{^}}, gfx906
// CHECK-SAME: {{^}}, gfx908
// CHECK-SAME: {{^}}, gfx909
// CHECK-SAME: {{^}}, gfx90a
// CHECK-SAME: {{^}}, gfx90c
// CHECK-SAME: {{^}}, gfx942
// CHECK-SAME: {{^}}, gfx950
// CHECK-SAME: {{^}}, gfx1010
// CHECK-SAME: {{^}}, gfx1011
// CHECK-SAME: {{^}}, gfx1012
// CHECK-SAME: {{^}}, gfx1013
// CHECK-SAME: {{^}}, gfx1030
// CHECK-SAME: {{^}}, gfx1031
// CHECK-SAME: {{^}}, gfx1032
// CHECK-SAME: {{^}}, gfx1033
// CHECK-SAME: {{^}}, gfx1034
// CHECK-SAME: {{^}}, gfx1035
// CHECK-SAME: {{^}}, gfx1036
// CHECK-SAME: {{^}}, gfx1100
// CHECK-SAME: {{^}}, gfx1101
// CHECK-SAME: {{^}}, gfx1102
// CHECK-SAME: {{^}}, gfx1103
// CHECK-SAME: {{^}}, gfx1150
// CHECK-SAME: {{^}}, gfx1151
// CHECK-SAME: {{^}}, gfx1152
// CHECK-SAME: {{^}}, gfx1153
// CHECK-SAME: {{^}}, gfx1154
// CHECK-SAME: {{^}}, gfx1170
// CHECK-SAME: {{^}}, gfx1171
// CHECK-SAME: {{^}}, gfx1172
// CHECK-SAME: {{^}}, gfx1200
// CHECK-SAME: {{^}}, gfx1201
// CHECK-SAME: {{^}}, gfx1250
// CHECK-SAME: {{^}}, gfx1251
// CHECK-SAME: {{^}}, gfx1310
// CHECK-SAME: {{^}}, gfx9-generic
// CHECK-SAME: {{^}}, gfx9-4-generic
// CHECK-SAME: {{^}}, gfx10-1-generic
// CHECK-SAME: {{^}}, gfx10-3-generic
// CHECK-SAME: {{^}}, gfx11-generic
// CHECK-SAME: {{^}}, gfx11-7-generic
// CHECK-SAME: {{^}}, gfx12-generic
// CHECK-SAME: {{^}}, gfx12-5-generic
// CHECK-SAME: {{^}}, gfx13-generic
// CHECK-SAME: {{^}}, tahiti
// CHECK-SAME: {{^}}, pitcairn
// CHECK-SAME: {{^}}, verde
// CHECK-SAME: {{^}}, hainan
// CHECK-SAME: {{^}}, oland
// CHECK-SAME: {{^}}, kaveri
// CHECK-SAME: {{^}}, hawaii
// CHECK-SAME: {{^}}, kabini
// CHECK-SAME: {{^}}, mullins
// CHECK-SAME: {{^}}, bonaire
// CHECK-SAME: {{^}}, carrizo
// CHECK-SAME: {{^}}, iceland
// CHECK-SAME: {{^}}, tonga
// CHECK-SAME: {{^}}, fiji
// CHECK-SAME: {{^}}, polaris10
// CHECK-SAME: {{^}}, polaris11
// CHECK-SAME: {{^}}, tongapro
// CHECK-SAME: {{^}}, stoney
// CHECK-SAME: {{$}}