xref: /llvm-project/clang/test/Misc/target-invalid-cpu-note/riscv.c (revision 5d03235c73476dfa3d2dd48c76de106fd1aa2ac7)
1 // This test uses '<prefix>-SAME: {{^}}' to start matching immediately where the
2 // previous check finished matching (specifically, caret is not treated as
3 // matching a start of line when used like this in FileCheck).
4 
5 // RUN: not %clang_cc1 -triple riscv32 -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix RISCV32
6 // RISCV32: error: unknown target CPU 'not-a-cpu'
7 // RISCV32-NEXT: note: valid target CPU values are:
8 // RISCV32-SAME: {{^}} generic-rv32
9 // RISCV32-SAME: {{^}}, rocket-rv32
10 // RISCV32-SAME: {{^}}, rp2350-hazard3
11 // RISCV32-SAME: {{^}}, sifive-e20
12 // RISCV32-SAME: {{^}}, sifive-e21
13 // RISCV32-SAME: {{^}}, sifive-e24
14 // RISCV32-SAME: {{^}}, sifive-e31
15 // RISCV32-SAME: {{^}}, sifive-e34
16 // RISCV32-SAME: {{^}}, sifive-e76
17 // RISCV32-SAME: {{^}}, syntacore-scr1-base
18 // RISCV32-SAME: {{^}}, syntacore-scr1-max
19 // RISCV32-SAME: {{^}}, syntacore-scr3-rv32
20 // RISCV32-SAME: {{^}}, syntacore-scr4-rv32
21 // RISCV32-SAME: {{^}}, syntacore-scr5-rv32
22 // RISCV32-SAME: {{$}}
23 
24 // RUN: not %clang_cc1 -triple riscv64 -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix RISCV64
25 // RISCV64: error: unknown target CPU 'not-a-cpu'
26 // RISCV64-NEXT: note: valid target CPU values are:
27 // RISCV64-SAME: {{^}} generic-rv64
28 // RISCV64-SAME: {{^}}, mips-p8700
29 // RISCV64-SAME: {{^}}, rocket-rv64
30 // RISCV64-SAME: {{^}}, sifive-p450
31 // RISCV64-SAME: {{^}}, sifive-p470
32 // RISCV64-SAME: {{^}}, sifive-p550
33 // RISCV64-SAME: {{^}}, sifive-p670
34 // RISCV64-SAME: {{^}}, sifive-s21
35 // RISCV64-SAME: {{^}}, sifive-s51
36 // RISCV64-SAME: {{^}}, sifive-s54
37 // RISCV64-SAME: {{^}}, sifive-s76
38 // RISCV64-SAME: {{^}}, sifive-u54
39 // RISCV64-SAME: {{^}}, sifive-u74
40 // RISCV64-SAME: {{^}}, sifive-x280
41 // RISCV64-SAME: {{^}}, spacemit-x60
42 // RISCV64-SAME: {{^}}, syntacore-scr3-rv64
43 // RISCV64-SAME: {{^}}, syntacore-scr4-rv64
44 // RISCV64-SAME: {{^}}, syntacore-scr5-rv64
45 // RISCV64-SAME: {{^}}, syntacore-scr7
46 // RISCV64-SAME: {{^}}, tt-ascalon-d8
47 // RISCV64-SAME: {{^}}, veyron-v1
48 // RISCV64-SAME: {{^}}, xiangshan-nanhu
49 // RISCV64-SAME: {{$}}
50 
51 // RUN: not %clang_cc1 -triple riscv32 -tune-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix TUNE-RISCV32
52 // TUNE-RISCV32: error: unknown target CPU 'not-a-cpu'
53 // TUNE-RISCV32-NEXT: note: valid target CPU values are:
54 // TUNE-RISCV32-SAME: {{^}} generic-rv32
55 // TUNE-RISCV32-SAME: {{^}}, rocket-rv32
56 // TUNE-RISCV32-SAME: {{^}}, rp2350-hazard3
57 // TUNE-RISCV32-SAME: {{^}}, sifive-e20
58 // TUNE-RISCV32-SAME: {{^}}, sifive-e21
59 // TUNE-RISCV32-SAME: {{^}}, sifive-e24
60 // TUNE-RISCV32-SAME: {{^}}, sifive-e31
61 // TUNE-RISCV32-SAME: {{^}}, sifive-e34
62 // TUNE-RISCV32-SAME: {{^}}, sifive-e76
63 // TUNE-RISCV32-SAME: {{^}}, syntacore-scr1-base
64 // TUNE-RISCV32-SAME: {{^}}, syntacore-scr1-max
65 // TUNE-RISCV32-SAME: {{^}}, syntacore-scr3-rv32
66 // TUNE-RISCV32-SAME: {{^}}, syntacore-scr4-rv32
67 // TUNE-RISCV32-SAME: {{^}}, syntacore-scr5-rv32
68 // TUNE-RISCV32-SAME: {{^}}, generic
69 // TUNE-RISCV32-SAME: {{^}}, rocket
70 // TUNE-RISCV32-SAME: {{^}}, sifive-7-series
71 // TUNE-RISCV32-SAME: {{$}}
72 
73 // RUN: not %clang_cc1 -triple riscv64 -tune-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix TUNE-RISCV64
74 // TUNE-RISCV64: error: unknown target CPU 'not-a-cpu'
75 // TUNE-RISCV64-NEXT: note: valid target CPU values are:
76 // TUNE-RISCV64-SAME: {{^}} generic-rv64
77 // TUNE-RISCV64-SAME: {{^}}, mips-p8700
78 // TUNE-RISCV64-SAME: {{^}}, rocket-rv64
79 // TUNE-RISCV64-SAME: {{^}}, sifive-p450
80 // TUNE-RISCV64-SAME: {{^}}, sifive-p470
81 // TUNE-RISCV64-SAME: {{^}}, sifive-p550
82 // TUNE-RISCV64-SAME: {{^}}, sifive-p670
83 // TUNE-RISCV64-SAME: {{^}}, sifive-s21
84 // TUNE-RISCV64-SAME: {{^}}, sifive-s51
85 // TUNE-RISCV64-SAME: {{^}}, sifive-s54
86 // TUNE-RISCV64-SAME: {{^}}, sifive-s76
87 // TUNE-RISCV64-SAME: {{^}}, sifive-u54
88 // TUNE-RISCV64-SAME: {{^}}, sifive-u74
89 // TUNE-RISCV64-SAME: {{^}}, sifive-x280
90 // TUNE-RISCV64-SAME: {{^}}, spacemit-x60
91 // TUNE-RISCV64-SAME: {{^}}, syntacore-scr3-rv64
92 // TUNE-RISCV64-SAME: {{^}}, syntacore-scr4-rv64
93 // TUNE-RISCV64-SAME: {{^}}, syntacore-scr5-rv64
94 // TUNE-RISCV64-SAME: {{^}}, syntacore-scr7
95 // TUNE-RISCV64-SAME: {{^}}, tt-ascalon-d8
96 // TUNE-RISCV64-SAME: {{^}}, veyron-v1
97 // TUNE-RISCV64-SAME: {{^}}, xiangshan-nanhu
98 // TUNE-RISCV64-SAME: {{^}}, generic
99 // TUNE-RISCV64-SAME: {{^}}, rocket
100 // TUNE-RISCV64-SAME: {{^}}, sifive-7-series
101 // TUNE-RISCV64-SAME: {{$}}
102