[AMDGPU][AsmParser][NFC] Get rid of custom default operand handlers.
[llvm-project.git] / clang / test / Preprocessor / riscv-target-features.c
blob7f0016f14c8da4957bc63e402c9e8a5962f960b8
1 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
2 // RUN: -o - | FileCheck %s
3 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
4 // RUN: -o - | FileCheck %s
6 // CHECK-NOT: __riscv_div {{.*$}}
7 // CHECK-NOT: __riscv_m {{.*$}}
8 // CHECK-NOT: __riscv_mul {{.*$}}
9 // CHECK-NOT: __riscv_muldiv {{.*$}}
10 // CHECK-NOT: __riscv_a {{.*$}}
11 // CHECK-NOT: __riscv_atomic
12 // CHECK-NOT: __riscv_f {{.*$}}
13 // CHECK-NOT: __riscv_d {{.*$}}
14 // CHECK-NOT: __riscv_flen {{.*$}}
15 // CHECK-NOT: __riscv_fdiv {{.*$}}
16 // CHECK-NOT: __riscv_fsqrt {{.*$}}
17 // CHECK-NOT: __riscv_c {{.*$}}
18 // CHECK-NOT: __riscv_compressed {{.*$}}
19 // CHECK-NOT: __riscv_b {{.*$}}
20 // CHECK-NOT: __riscv_bitmanip {{.*$}}
21 // CHECK-NOT: __riscv_zihintntl {{.*$}}
22 // CHECK-NOT: __riscv_zba {{.*$}}
23 // CHECK-NOT: __riscv_zbb {{.*$}}
24 // CHECK-NOT: __riscv_zbc {{.*$}}
25 // CHECK-NOT: __riscv_zbs {{.*$}}
26 // CHECK-NOT: __riscv_zfh {{.*$}}
27 // CHECK-NOT: __riscv_v {{.*$}}
28 // CHECK-NOT: __riscv_vector {{.*$}}
29 // CHECK-NOT: __riscv_v_intrinsic {{.*$}}
30 // CHECK-NOT: __riscv_zbkc {{.*$}}
31 // CHECK-NOT: __riscv_zbkx {{.*$}}
32 // CHECK-NOT: __riscv_zbkb {{.*$}}
33 // CHECK-NOT: __riscv_zkne {{.*$}}
34 // CHECK-NOT: __riscv_zknd {{.*$}}
35 // CHECK-NOT: __riscv_zknh {{.*$}}
36 // CHECK-NOT: __riscv_zksh {{.*$}}
37 // CHECK-NOT: __riscv_zksed {{.*$}}
38 // CHECK-NOT: __riscv_zkr {{.*$}}
39 // CHECK-NOT: __riscv_zkt {{.*$}}
40 // CHECK-NOT: __riscv_zk {{.*$}}
41 // CHECK-NOT: __riscv_zicbom {{.*$}}
42 // CHECK-NOT: __riscv_zicboz {{.*$}}
43 // CHECK-NOT: __riscv_svnapot {{.*$}}
44 // CHECK-NOT: __riscv_svpbmt {{.*$}}
45 // CHECK-NOT: __riscv_svinval {{.*$}}
46 // CHECK-NOT: __riscv_xventanacondops {{.*$}}
47 // CHECK-NOT: __riscv_zca {{.*$}}
48 // CHECK-NOT: __riscv_zcb {{.*$}}
49 // CHECK-NOT: __riscv_zcd {{.*$}}
50 // CHECK-NOT: __riscv_zcf {{.*$}}
51 // CHECK-NOT: __riscv_zcmp {{.*$}}
52 // CHECK-NOT: __riscv_zcmt {{.*$}}
53 // CHECK-NOT: __riscv_h {{.*$}}
54 // CHECK-NOT: __riscv_zvbb {{.*$}}
55 // CHECK-NOT: __riscv_zvbc {{.*$}}
56 // CHECK-NOT: __riscv_zvkg {{.*$}}
57 // CHECK-NOT: __riscv_zvkn {{.*$}}
58 // CHECK-NOT: __riscv_zvknc {{.*$}}
59 // CHECK-NOT: __riscv_zvkned {{.*$}}
60 // CHECK-NOT: __riscv_zvkng {{.*$}}
61 // CHECK-NOT: __riscv_zvknha {{.*$}}
62 // CHECK-NOT: __riscv_zvknhb {{.*$}}
63 // CHECK-NOT: __riscv_zvks {{.*$}}
64 // CHECK-NOT: __riscv_zvksc {{.*$}}
65 // CHECK-NOT: __riscv_zvksed {{.*$}}
66 // CHECK-NOT: __riscv_zvksg {{.*$}}
67 // CHECK-NOT: __riscv_zvksh {{.*$}}
68 // CHECK-NOT: __riscv_zvkt {{.*$}}
69 // CHECK-NOT: __riscv_zicond {{.*$}}
70 // CHECK-NOT: __riscv_smaia {{.*$}}
71 // CHECK-NOT: __riscv_ssaia {{.*$}}
72 // CHECK-NOT: __riscv_zfbfmin {{.*$}}
73 // CHECK-NOT: __riscv_zvfbfmin {{.*$}}
74 // CHECK-NOT: __riscv_zvfbfwma {{.*$}}
76 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
77 // RUN: -o - | FileCheck %s
78 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
79 // RUN: -o - | FileCheck %s
80 // CHECK: __riscv_i 2001000{{$}}
82 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32im -x c -E -dM %s \
83 // RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s
84 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64im -x c -E -dM %s \
85 // RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s
86 // CHECK-M-EXT: __riscv_div 1
87 // CHECK-M-EXT: __riscv_m 2000000{{$}}
88 // CHECK-M-EXT: __riscv_mul 1
89 // CHECK-M-EXT: __riscv_muldiv 1
91 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ia -x c -E -dM %s \
92 // RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s
93 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ia -x c -E -dM %s \
94 // RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s
95 // CHECK-A-EXT: __riscv_a 2001000{{$}}
96 // CHECK-A-EXT: __riscv_atomic 1
98 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32if -x c -E -dM %s \
99 // RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s
100 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64if -x c -E -dM %s \
101 // RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s
102 // CHECK-F-EXT: __riscv_f 2002000{{$}}
103 // CHECK-F-EXT: __riscv_fdiv 1
104 // CHECK-F-EXT: __riscv_flen 32
105 // CHECK-F-EXT: __riscv_fsqrt 1
107 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -x c -E -dM %s \
108 // RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s
109 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -x c -E -dM %s \
110 // RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s
111 // CHECK-D-EXT: __riscv_d 2002000{{$}}
112 // CHECK-D-EXT: __riscv_fdiv 1
113 // CHECK-D-EXT: __riscv_flen 64
114 // CHECK-D-EXT: __riscv_fsqrt 1
116 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -mabi=ilp32 -x c -E -dM %s \
117 // RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s
118 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -mabi=lp64 -x c -E -dM %s \
119 // RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s
120 // CHECK-SOFT: __riscv_float_abi_soft 1
121 // CHECK-SOFT-NOT: __riscv_float_abi_single
122 // CHECK-SOFT-NOT: __riscv_float_abi_double
124 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -mabi=ilp32f -x c -E -dM %s \
125 // RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s
126 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -mabi=lp64f -x c -E -dM %s \
127 // RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s
128 // CHECK-SINGLE: __riscv_float_abi_single 1
129 // CHECK-SINGLE-NOT: __riscv_float_abi_soft
130 // CHECK-SINGLE-NOT: __riscv_float_abi_double
132 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -x c -E -dM %s \
133 // RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s
134 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -x c -E -dM %s \
135 // RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s
136 // CHECK-DOUBLE: __riscv_float_abi_double 1
137 // CHECK-DOUBLE-NOT: __riscv_float_abi_soft
138 // CHECK-DOUBLE-NOT: __riscv_float_abi_single
140 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ic -x c -E -dM %s \
141 // RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s
142 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ic -x c -E -dM %s \
143 // RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s
144 // CHECK-C-EXT: __riscv_c 2000000{{$}}
145 // CHECK-C-EXT: __riscv_compressed 1
147 // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \
148 // RUN: -march=rv32izihintntl0p2 -x c -E -dM %s \
149 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHINTNTL-EXT %s
150 // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \
151 // RUN: -march=rv64izihintntl0p2 -x c -E -dM %s \
152 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHINTNTL-EXT %s
153 // CHECK-ZIHINTNTL-EXT: __riscv_zihintntl 2000{{$}}
155 // RUN: %clang -target riscv32-unknown-linux-gnu \
156 // RUN: -march=rv32izba1p0 -x c -E -dM %s \
157 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
158 // RUN: %clang -target riscv32-unknown-linux-gnu \
159 // RUN: -march=rv32izba -x c -E -dM %s \
160 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
161 // RUN: %clang -target riscv64-unknown-linux-gnu \
162 // RUN: -march=rv64izba1p0 -x c -E -dM %s \
163 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
164 // RUN: %clang -target riscv64-unknown-linux-gnu \
165 // RUN: -march=rv64izba -x c -E -dM %s \
166 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
167 // CHECK-ZBA-NOT: __riscv_b
168 // CHECK-ZBA-EXT: __riscv_zba 1000000{{$}}
170 // RUN: %clang -target riscv32-unknown-linux-gnu \
171 // RUN: -march=rv32izbb1p0 -x c -E -dM %s \
172 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
173 // RUN: %clang -target riscv32-unknown-linux-gnu \
174 // RUN: -march=rv32izbb -x c -E -dM %s \
175 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
176 // RUN: %clang -target riscv64-unknown-linux-gnu \
177 // RUN: -march=rv64izbb1p0 -x c -E -dM %s \
178 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
179 // RUN: %clang -target riscv64-unknown-linux-gnu \
180 // RUN: -march=rv64izbb -x c -E -dM %s \
181 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
182 // CHECK-ZBB-NOT: __riscv_b
183 // CHECK-ZBB-EXT: __riscv_zbb 1000000{{$}}
185 // RUN: %clang -target riscv32-unknown-linux-gnu \
186 // RUN: -march=rv32izbc1p0 -x c -E -dM %s \
187 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
188 // RUN: %clang -target riscv32-unknown-linux-gnu \
189 // RUN: -march=rv32izbc -x c -E -dM %s \
190 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
191 // RUN: %clang -target riscv64-unknown-linux-gnu \
192 // RUN: -march=rv64izbc1p0 -x c -E -dM %s \
193 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
194 // RUN: %clang -target riscv64-unknown-linux-gnu \
195 // RUN: -march=rv64izbc -x c -E -dM %s \
196 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
197 // CHECK-ZBC-NOT: __riscv_b
198 // CHECK-ZBC-EXT: __riscv_zbc 1000000{{$}}
200 // RUN: %clang -target riscv32-unknown-linux-gnu \
201 // RUN: -march=rv32izbs1p0 -x c -E -dM %s \
202 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
203 // RUN: %clang -target riscv32-unknown-linux-gnu \
204 // RUN: -march=rv32izbs -x c -E -dM %s \
205 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
206 // RUN: %clang -target riscv64-unknown-linux-gnu \
207 // RUN: -march=rv64izbs1p0 -x c -E -dM %s \
208 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
209 // RUN: %clang -target riscv64-unknown-linux-gnu \
210 // RUN: -march=rv64izbs -x c -E -dM %s \
211 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
212 // CHECK-ZBS-NOT: __riscv_b
213 // CHECK-ZBS-EXT: __riscv_zbs 1000000{{$}}
215 // RUN: %clang -target riscv32-unknown-linux-gnu \
216 // RUN: -march=rv32iv1p0 -x c -E -dM %s \
217 // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s
218 // RUN: %clang -target riscv64-unknown-linux-gnu \
219 // RUN: -march=rv64iv1p0 -x c -E -dM %s \
220 // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s
221 // CHECK-V-EXT: __riscv_v 1000000{{$}}
222 // CHECK-V-EXT: __riscv_vector 1
224 // RUN: %clang -target riscv32-unknown-linux-gnu \
225 // RUN: -march=rv32izfhmin1p0 -x c -E -dM %s \
226 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFHMIN-EXT %s
227 // RUN: %clang -target riscv64-unknown-linux-gnu \
228 // RUN: -march=rv64izfhmin1p0 -x c -E -dM %s \
229 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFHMIN-EXT %s
230 // CHECK-ZFHMIN-EXT: __riscv_f 2002000{{$}}
231 // CHECK-ZFHMIN-EXT: __riscv_zfhmin 1000000{{$}}
233 // RUN: %clang -target riscv32-unknown-linux-gnu \
234 // RUN: -march=rv32izfh1p0 -x c -E -dM %s \
235 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFH-EXT %s
236 // RUN: %clang -target riscv64-unknown-linux-gnu \
237 // RUN: -march=rv64izfh1p0 -x c -E -dM %s \
238 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFH-EXT %s
239 // CHECK-ZFH-EXT: __riscv_f 2002000{{$}}
240 // CHECK-ZFH-EXT: __riscv_zfh 1000000{{$}}
242 // RUN: %clang -target riscv32-unknown-linux-gnu \
243 // RUN: -march=rv64iv1p0 -x c -E -dM %s -o - \
244 // RUN: | FileCheck --check-prefix=CHECK-V-MINVLEN %s
245 // CHECK-V-MINVLEN: __riscv_v_elen 64
246 // CHECK-V-MINVLEN: __riscv_v_elen_fp 64
247 // CHECK-V-MINVLEN: __riscv_v_min_vlen 128
249 // RUN: %clang -target riscv32-unknown-linux-gnu \
250 // RUN: -march=rv64iv1p0_zvl256b1p0 -x c -E -dM %s -o - \
251 // RUN: | FileCheck --check-prefix=CHECK-ZVL256b %s
252 // CHECK-ZVL256b: __riscv_v_min_vlen 256
254 // RUN: %clang -target riscv32-unknown-linux-gnu \
255 // RUN: -march=rv64iv1p0_zvl512b1p0 -x c -E -dM %s -o - \
256 // RUN: | FileCheck --check-prefix=CHECK-ZVL512b %s
257 // CHECK-ZVL512b: __riscv_v_min_vlen 512
259 // RUN: %clang -target riscv32-unknown-linux-gnu \
260 // RUN: -march=rv64iv1p0_zvl1024b1p0 -x c -E -dM %s -o - \
261 // RUN: | FileCheck --check-prefix=CHECK-ZVL1024b %s
262 // CHECK-ZVL1024b: __riscv_v_min_vlen 1024
264 // RUN: %clang -target riscv32-unknown-linux-gnu \
265 // RUN: -march=rv64iv1p0_zvl2048b1p0 -x c -E -dM %s -o - \
266 // RUN: | FileCheck --check-prefix=CHECK-ZVL2048b %s
267 // CHECK-ZVL2048b: __riscv_v_min_vlen 2048
269 // RUN: %clang -target riscv32-unknown-linux-gnu \
270 // RUN: -march=rv64iv1p0_zvl4096b1p0 -x c -E -dM %s -o - \
271 // RUN: | FileCheck --check-prefix=CHECK-ZVL4096b %s
272 // CHECK-ZVL4096b: __riscv_v_min_vlen 4096
274 // RUN: %clang -target riscv32-unknown-linux-gnu \
275 // RUN: -march=rv64iv1p0_zvl8192b1p0 -x c -E -dM %s -o - \
276 // RUN: | FileCheck --check-prefix=CHECK-ZVL8192b %s
277 // CHECK-ZVL8192b: __riscv_v_min_vlen 8192
279 // RUN: %clang -target riscv32-unknown-linux-gnu \
280 // RUN: -march=rv64iv1p0_zvl16384b1p0 -x c -E -dM %s -o - \
281 // RUN: | FileCheck --check-prefix=CHECK-ZVL16384b %s
282 // CHECK-ZVL16384b: __riscv_v_min_vlen 16384
284 // RUN: %clang -target riscv32-unknown-linux-gnu \
285 // RUN: -march=rv64iv1p0_zvl32768b1p0 -x c -E -dM %s -o - \
286 // RUN: | FileCheck --check-prefix=CHECK-ZVL32768b %s
287 // CHECK-ZVL32768b: __riscv_v_min_vlen 32768
289 // RUN: %clang -target riscv32-unknown-linux-gnu \
290 // RUN: -march=rv64iv1p0_zvl65536b1p0 -x c -E -dM %s -o - \
291 // RUN: | FileCheck --check-prefix=CHECK-ZVL65536b %s
292 // CHECK-ZVL65536b: __riscv_v_min_vlen 65536
294 // RUN: %clang -target riscv64-unknown-linux-gnu \
295 // RUN: -march=rv64ifdzve64d1p0 -x c -E -dM %s -o - \
296 // RUN: | FileCheck --check-prefix=CHECK-ZVE64D-EXT %s
297 // CHECK-ZVE64D-EXT: __riscv_v_elen 64
298 // CHECK-ZVE64D-EXT: __riscv_v_elen_fp 64
299 // CHECK-ZVE64D-EXT: __riscv_v_intrinsic 11000{{$}}
300 // CHECK-ZVE64D-EXT: __riscv_v_min_vlen 64
301 // CHECK-ZVE64D-EXT: __riscv_vector 1
302 // CHECK-ZVE64D-EXT: __riscv_zve32f 1000000{{$}}
303 // CHECK-ZVE64D-EXT: __riscv_zve32x 1000000{{$}}
304 // CHECK-ZVE64D-EXT: __riscv_zve64d 1000000{{$}}
305 // CHECK-ZVE64D-EXT: __riscv_zve64f 1000000{{$}}
306 // CHECK-ZVE64D-EXT: __riscv_zve64x 1000000{{$}}
308 // RUN: %clang -target riscv64-unknown-linux-gnu \
309 // RUN: -march=rv64ifzve64f1p0 -x c -E -dM %s -o - \
310 // RUN: | FileCheck --check-prefix=CHECK-ZVE64F-EXT %s
311 // CHECK-ZVE64F-EXT: __riscv_v_elen 64
312 // CHECK-ZVE64F-EXT: __riscv_v_elen_fp 32
313 // CHECK-ZVE64F-EXT: __riscv_v_intrinsic 11000{{$}}
314 // CHECK-ZVE64F-EXT: __riscv_v_min_vlen 64
315 // CHECK-ZVE64F-EXT: __riscv_vector 1
316 // CHECK-ZVE64F-EXT: __riscv_zve32f 1000000{{$}}
317 // CHECK-ZVE64F-EXT: __riscv_zve32x 1000000{{$}}
318 // CHECK-ZVE64F-EXT: __riscv_zve64f 1000000{{$}}
319 // CHECK-ZVE64F-EXT: __riscv_zve64x 1000000{{$}}
321 // RUN: %clang -target riscv64-unknown-linux-gnu \
322 // RUN: -march=rv64izve64x1p0 -x c -E -dM %s -o - \
323 // RUN: | FileCheck --check-prefix=CHECK-ZVE64X-EXT %s
324 // CHECK-ZVE64X-EXT: __riscv_v_elen 64
325 // CHECK-ZVE64X-EXT: __riscv_v_elen_fp 0
326 // CHECK-ZVE64X-EXT: __riscv_v_intrinsic 11000{{$}}
327 // CHECK-ZVE64X-EXT: __riscv_v_min_vlen 64
328 // CHECK-ZVE64X-EXT: __riscv_vector 1
329 // CHECK-ZVE64X-EXT: __riscv_zve32x 1000000{{$}}
330 // CHECK-ZVE64X-EXT: __riscv_zve64x 1000000{{$}}
332 // RUN: %clang -target riscv64-unknown-linux-gnu \
333 // RUN: -march=rv64ifzve32f1p0 -x c -E -dM %s -o - \
334 // RUN: | FileCheck --check-prefix=CHECK-ZVE32F-EXT %s
335 // CHECK-ZVE32F-EXT: __riscv_v_elen 32
336 // CHECK-ZVE32F-EXT: __riscv_v_elen_fp 32
337 // CHECK-ZVE32F-EXT: __riscv_v_intrinsic 11000{{$}}
338 // CHECK-ZVE32F-EXT: __riscv_v_min_vlen 32
339 // CHECK-ZVE32F-EXT: __riscv_vector 1
340 // CHECK-ZVE32F-EXT: __riscv_zve32f 1000000{{$}}
341 // CHECK-ZVE32F-EXT: __riscv_zve32x 1000000{{$}}
343 // RUN: %clang -target riscv64-unknown-linux-gnu \
344 // RUN: -march=rv64izve32x1p0 -x c -E -dM %s -o - \
345 // RUN: | FileCheck --check-prefix=CHECK-ZVE32X-EXT %s
346 // CHECK-ZVE32X-EXT: __riscv_v_elen 32
347 // CHECK-ZVE32X-EXT: __riscv_v_elen_fp 0
348 // CHECK-ZVE32X-EXT: __riscv_v_intrinsic 11000{{$}}
349 // CHECK-ZVE32X-EXT: __riscv_v_min_vlen 32
350 // CHECK-ZVE32X-EXT: __riscv_vector 1
351 // CHECK-ZVE32X-EXT: __riscv_zve32x 1000000{{$}}
353 // RUN: %clang -target riscv64-unknown-linux-gnu \
354 // RUN: -march=rv64izbkc1p0 -x c -E -dM %s -o - \
355 // RUN: | FileCheck --check-prefix=CHECK-ZBKC-EXT %s
356 // CHECK-ZBKC-EXT: __riscv_zbkc
358 // RUN: %clang -target riscv64-unknown-linux-gnu \
359 // RUN: -march=rv64izbkx1p0 -x c -E -dM %s -o - \
360 // RUN: | FileCheck --check-prefix=CHECK-ZBKX-EXT %s
361 // CHECK-ZBKX-EXT: __riscv_zbkx
363 // RUN: %clang -target riscv64-unknown-linux-gnu \
364 // RUN: -march=rv64izbkb1p0 -x c -E -dM %s -o - \
365 // RUN: | FileCheck --check-prefix=CHECK-ZBKB-EXT %s
366 // CHECK-ZBKB-EXT: __riscv_zbkb
368 // RUN: %clang -target riscv64-unknown-linux-gnu \
369 // RUN: -march=rv64izknd1p0 -x c -E -dM %s -o - \
370 // RUN: | FileCheck --check-prefix=CHECK-ZKND-EXT %s
371 // CHECK-ZKND-EXT: __riscv_zknd
373 // RUN: %clang -target riscv64-unknown-linux-gnu \
374 // RUN: -march=rv64izkne1p0 -x c -E -dM %s -o - \
375 // RUN: | FileCheck --check-prefix=CHECK-ZKNE-EXT %s
376 // CHECK-ZKNE-EXT: __riscv_zkne
378 // RUN: %clang -target riscv64-unknown-linux-gnu \
379 // RUN: -march=rv64izknh1p0 -x c -E -dM %s -o - \
380 // RUN: | FileCheck --check-prefix=CHECK-ZKNH-EXT %s
381 // CHECK-ZKNH-EXT: __riscv_zknh
383 // RUN: %clang -target riscv64-unknown-linux-gnu \
384 // RUN: -march=rv64izksh1p0 -x c -E -dM %s -o - \
385 // RUN: | FileCheck --check-prefix=CHECK-ZKSH-EXT %s
386 // CHECK-ZKSH-EXT: __riscv_zksh
388 // RUN: %clang -target riscv64-unknown-linux-gnu \
389 // RUN: -march=rv64izksed1p0 -x c -E -dM %s -o - \
390 // RUN: | FileCheck --check-prefix=CHECK-ZKSED-EXT %s
391 // CHECK-ZKSED-EXT: __riscv_zksed
393 // RUN: %clang -target riscv64-unknown-linux-gnu \
394 // RUN: -march=rv64izkr1p0 -x c -E -dM %s -o - \
395 // RUN: | FileCheck --check-prefix=CHECK-ZKR-EXT %s
396 // CHECK-ZKR-EXT: __riscv_zkr
398 // RUN: %clang -target riscv64-unknown-linux-gnu \
399 // RUN: -march=rv64izkt1p0 -x c -E -dM %s -o - \
400 // RUN: | FileCheck --check-prefix=CHECK-ZKT-EXT %s
401 // CHECK-ZKT-EXT: __riscv_zkt
403 // RUN: %clang -target riscv64-unknown-linux-gnu \
404 // RUN: -march=rv64izk1p0 -x c -E -dM %s -o - \
405 // RUN: | FileCheck --check-prefix=CHECK-ZK-EXT %s
406 // CHECK-ZK-EXT: __riscv_zk
408 // RUN: %clang -target riscv32-unknown-linux-gnu \
409 // RUN: -march=rv32i_zkn_zkt_zkr -x c -E -dM %s -o - \
410 // RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZK %s
411 // RUN: %clang -target riscv64-unknown-linux-gnu \
412 // RUN: -march=rv64i_zkn_zkt_zkr -x c -E -dM %s -o - \
413 // RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZK %s
414 // CHECK-COMBINE-INTO-ZK: __riscv_zk 1
416 // RUN: %clang -target riscv32-unknown-linux-gnu \
417 // RUN: -march=rv32i_zbkb_zbkc_zbkx_zkne_zknd_zknh -x c -E -dM %s -o - \
418 // RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKN %s
419 // RUN: %clang -target riscv64-unknown-linux-gnu \
420 // RUN: -march=rv64i_zbkb_zbkc_zbkx_zkne_zknd_zknh -x c -E -dM %s -o - \
421 // RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKN %s
422 // CHECK-COMBINE-INTO-ZKN: __riscv_zkn 1
424 // RUN: %clang -target riscv32-unknown-linux-gnu \
425 // RUN: -march=rv32i_zbkb_zbkc_zbkx_zksed_zksh -x c -E -dM %s -o - \
426 // RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKS %s
427 // RUN: %clang -target riscv64-unknown-linux-gnu \
428 // RUN: -march=rv64i_zbkb_zbkc_zbkx_zksed_zksh -x c -E -dM %s -o - \
429 // RUN: | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKS %s
430 // CHECK-COMBINE-INTO-ZKS: __riscv_zks 1
432 // RUN: %clang -target riscv32 -march=rv32izicbom -x c -E -dM %s \
433 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOM-EXT %s
434 // RUN: %clang -target riscv64 -march=rv64izicbom -x c -E -dM %s \
435 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOM-EXT %s
436 // CHECK-ZICBOM-EXT: __riscv_zicbom 1000000{{$}}
438 // RUN: %clang -target riscv32 -march=rv32izicboz -x c -E -dM %s \
439 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOZ-EXT %s
440 // RUN: %clang -target riscv64 -march=rv64izicboz -x c -E -dM %s \
441 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOZ-EXT %s
442 // CHECK-ZICBOZ-EXT: __riscv_zicboz 1000000{{$}}
444 // RUN: %clang -target riscv32 -march=rv32izicbop -x c -E -dM %s \
445 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOP-EXT %s
446 // RUN: %clang -target riscv64 -march=rv64izicbop -x c -E -dM %s \
447 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOP-EXT %s
448 // CHECK-ZICBOP-EXT: __riscv_zicbop 1000000{{$}}
450 // RUN: %clang -target riscv32-unknown-linux-gnu \
451 // RUN: -march=rv32izawrs -x c -E -dM %s \
452 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAWRS-EXT %s
453 // RUN: %clang -target riscv64-unknown-linux-gnu \
454 // RUN: -march=rv64izawrs -x c -E -dM %s \
455 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAWRS-EXT %s
456 // CHECK-ZAWRS-EXT: __riscv_zawrs 1000000{{$}}
458 // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \
459 // RUN: -march=rv32iztso0p1 -x c -E -dM %s \
460 // RUN: -o - | FileCheck --check-prefix=CHECK-ZTSO-EXT %s
461 // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \
462 // RUN: -march=rv64iztso0p1 -x c -E -dM %s \
463 // RUN: -o - | FileCheck --check-prefix=CHECK-ZTSO-EXT %s
464 // CHECK-ZTSO-EXT: __riscv_ztso 1000{{$}}
466 // RUN: %clang -target riscv32 -march=rv32isvnapot -x c -E -dM %s \
467 // RUN: -o - | FileCheck --check-prefix=CHECK-SVNAPOT-EXT %s
468 // RUN: %clang -target riscv64 -march=rv64isvnapot -x c -E -dM %s \
469 // RUN: -o - | FileCheck --check-prefix=CHECK-SVNAPOT-EXT %s
470 // CHECK-SVNAPOT-EXT: __riscv_svnapot 1000000{{$}}
472 // RUN: %clang -target riscv32 -march=rv32isvpbmt -x c -E -dM %s \
473 // RUN: -o - | FileCheck --check-prefix=CHECK-SVPBMT-EXT %s
474 // RUN: %clang -target riscv64 -march=rv64isvpbmt -x c -E -dM %s \
475 // RUN: -o - | FileCheck --check-prefix=CHECK-SVPBMT-EXT %s
476 // CHECK-SVPBMT-EXT: __riscv_svpbmt 1000000{{$}}
478 // RUN: %clang -target riscv32 -march=rv32isvinval -x c -E -dM %s \
479 // RUN: -o - | FileCheck --check-prefix=CHECK-SVINVAL-EXT %s
480 // RUN: %clang -target riscv64 -march=rv64isvinval -x c -E -dM %s \
481 // RUN: -o - | FileCheck --check-prefix=CHECK-SVINVAL-EXT %s
482 // CHECK-SVINVAL-EXT: __riscv_svinval 1000000{{$}}
484 // RUN: %clang -target riscv32 -march=rv32ih -x c -E -dM %s \
485 // RUN: -o - | FileCheck --check-prefix=CHECK-H-EXT %s
486 // RUN: %clang -target riscv64 -march=rv64ih -x c -E -dM %s \
487 // RUN: -o - | FileCheck --check-prefix=CHECK-H-EXT %s
488 // CHECK-H-EXT: __riscv_h 1000000{{$}}
490 // RUN: %clang -target riscv64 -march=rv64ixventanacondops -x c -E -dM %s \
491 // RUN: -o - | FileCheck --check-prefix=CHECK-XVENTANACONDOPS-EXT %s
492 // CHECK-XVENTANACONDOPS-EXT: __riscv_xventanacondops 1000000{{$}}
494 // RUN: %clang -target riscv64 -march=rv64ixtheadvdot -x c -E -dM %s \
495 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADVDOT-EXT %s
496 // CHECK-XTHEADVDOT-EXT: __riscv_xtheadvdot 1000000{{$}}
498 // RUN: %clang -target riscv32 -march=rv32izca1p0 -menable-experimental-extensions \
499 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCA-EXT %s
500 // RUN: %clang -target riscv64 -march=rv64izca1p0 -menable-experimental-extensions \
501 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCA-EXT %s
502 // CHECK-ZCA-EXT: __riscv_zca 1000000{{$}}
504 // RUN: %clang -target riscv32 -march=rv32izcb1p0 -menable-experimental-extensions \
505 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCB-EXT %s
506 // RUN: %clang -target riscv64 -march=rv64izcb1p0 -menable-experimental-extensions \
507 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCB-EXT %s
508 // CHECK-ZCB-EXT: __riscv_zca 1000000{{$}}
509 // CHECK-ZCB-EXT: __riscv_zcb 1000000{{$}}
511 // RUN: %clang -target riscv32 -march=rv32izcd1p0 -menable-experimental-extensions \
512 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCD-EXT %s
513 // RUN: %clang -target riscv64 -march=rv64izcd1p0 -menable-experimental-extensions \
514 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCD-EXT %s
515 // CHECK-ZCD-EXT: __riscv_zcd 1000000{{$}}
517 // RUN: %clang -target riscv32 -march=rv32izcf1p0 -menable-experimental-extensions \
518 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCF-EXT %s
519 // CHECK-ZCF-EXT: __riscv_zcf 1000000{{$}}
521 // RUN: %clang -target riscv32 -march=rv32izcmp1p0 -menable-experimental-extensions \
522 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCMP-EXT %s
523 // RUN: %clang -target riscv64 -march=rv64izcmp1p0 -menable-experimental-extensions \
524 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCMP-EXT %s
525 // CHECK-ZCMP-EXT: __riscv_zca 1000000{{$}}
526 // CHECK-ZCMP-EXT: __riscv_zcmp 1000000{{$}}
528 // RUN: %clang -target riscv32 -march=rv32izcmt1p0 -menable-experimental-extensions \
529 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCMT-EXT %s
530 // RUN: %clang -target riscv64 -march=rv64izcmt1p0 -menable-experimental-extensions \
531 // RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-ZCMT-EXT %s
532 // CHECK-ZCMT-EXT: __riscv_zca 1000000{{$}}
533 // CHECK-ZCMT-EXT: __riscv_zcmt 1000000{{$}}
535 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32izicsr2p0 -x c -E -dM %s \
536 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICSR-EXT %s
537 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64izicsr2p0 -x c -E -dM %s \
538 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICSR-EXT %s
539 // CHECK-ZICSR-EXT: __riscv_zicsr 2000000{{$}}
541 // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32izifencei2p0 -x c -E -dM %s \
542 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIFENCEI-EXT %s
543 // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64izifencei2p0 -x c -E -dM %s \
544 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIFENCEI-EXT %s
545 // CHECK-ZIFENCEI-EXT: __riscv_zifencei 2000000{{$}}
547 // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \
548 // RUN: -march=rv32izfa0p2 -x c -E -dM %s \
549 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFA-EXT %s
550 // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \
551 // RUN: -march=rv64izfa0p2 -x c -E -dM %s \
552 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFA-EXT %s
553 // CHECK-ZFA-EXT: __riscv_zfa 2000{{$}}
555 // RUN: %clang -target riscv32 -menable-experimental-extensions \
556 // RUN: -march=rv32i_zve64x_zvbb0p9 -x c -E -dM %s \
557 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBB-EXT %s
558 // RUN: %clang -target riscv64 -menable-experimental-extensions \
559 // RUN: -march=rv64i_zve64x_zvbb0p9 -x c -E -dM %s \
560 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBB-EXT %s
561 // CHECK-ZVBB-EXT: __riscv_zvbb 9000{{$}}
563 // RUN: %clang -target riscv32 -menable-experimental-extensions \
564 // RUN: -march=rv32i_zve64x_zvbc0p9 -x c -E -dM %s \
565 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBC-EXT %s
566 // RUN: %clang -target riscv64 -menable-experimental-extensions \
567 // RUN: -march=rv64i_zve64x_zvbc0p9 -x c -E -dM %s \
568 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBC-EXT %s
569 // CHECK-ZVBC-EXT: __riscv_zvbc 9000{{$}}
571 // RUN: %clang -target riscv32 -menable-experimental-extensions \
572 // RUN: -march=rv32i_zve32x_zvkg0p9 -x c -E -dM %s \
573 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKG-EXT %s
574 // RUN: %clang -target riscv64 -menable-experimental-extensions \
575 // RUN: -march=rv64i_zve32x_zvkg0p9 -x c -E -dM %s \
576 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKG-EXT %s
577 // CHECK-ZVKG-EXT: __riscv_zvkg 9000{{$}}
579 // RUN: %clang -target riscv32 -menable-experimental-extensions \
580 // RUN: -march=rv32i_zve64x_zvkn0p9 -x c -E -dM %s \
581 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKN-EXT %s
582 // RUN: %clang -target riscv64 -menable-experimental-extensions \
583 // RUN: -march=rv64i_zve64x_zvkn0p9 -x c -E -dM %s \
584 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKN-EXT %s
585 // CHECK-ZVKN-EXT: __riscv_zvkn 9000{{$}}
587 // RUN: %clang -target riscv32 -menable-experimental-extensions \
588 // RUN: -march=rv32i_zve64x_zvknc0p9 -x c -E -dM %s \
589 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNC-EXT %s
590 // RUN: %clang -target riscv64 -menable-experimental-extensions \
591 // RUN: -march=rv64i_zve64x_zvknc0p9 -x c -E -dM %s \
592 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNC-EXT %s
593 // CHECK-ZVKNC-EXT: __riscv_zvknc 9000{{$}}
595 // RUN: %clang -target riscv32 -menable-experimental-extensions \
596 // RUN: -march=rv32i_zve64x_zvkng0p9 -x c -E -dM %s \
597 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNG-EXT %s
598 // RUN: %clang -target riscv64 -menable-experimental-extensions \
599 // RUN: -march=rv64i_zve64x_zvkng0p9 -x c -E -dM %s \
600 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNG-EXT %s
601 // CHECK-ZVKNG-EXT: __riscv_zvkng 9000{{$}}
603 // RUN: %clang -target riscv32 -menable-experimental-extensions \
604 // RUN: -march=rv32i_zve32x_zvknha0p9 -x c -E -dM %s \
605 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHA-EXT %s
606 // RUN: %clang -target riscv64 -menable-experimental-extensions \
607 // RUN: -march=rv64i_zve32x_zvknha0p9 -x c -E -dM %s \
608 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHA-EXT %s
609 // CHECK-ZVKNHA-EXT: __riscv_zvknha 9000{{$}}
611 // RUN: %clang -target riscv32 -menable-experimental-extensions \
612 // RUN: -march=rv32i_zve64x_zvknhb0p9 -x c -E -dM %s \
613 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHB-EXT %s
614 // RUN: %clang -target riscv64 -menable-experimental-extensions \
615 // RUN: -march=rv64i_zve64x_zvknhb0p9 -x c -E -dM %s \
616 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHB-EXT %s
617 // CHECK-ZVKNHB-EXT: __riscv_zvknhb 9000{{$}}
619 // RUN: %clang -target riscv32 -menable-experimental-extensions \
620 // RUN: -march=rv32i_zve32x_zvkned0p9 -x c -E -dM %s \
621 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNED-EXT %s
622 // RUN: %clang -target riscv64 -menable-experimental-extensions \
623 // RUN: -march=rv64i_zve32x_zvkned0p9 -x c -E -dM %s \
624 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNED-EXT %s
625 // CHECK-ZVKNED-EXT: __riscv_zvkned 9000{{$}}
627 // RUN: %clang -target riscv32 -menable-experimental-extensions \
628 // RUN: -march=rv32i_zve64x_zvks0p9 -x c -E -dM %s \
629 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKS-EXT %s
630 // RUN: %clang -target riscv64 -menable-experimental-extensions \
631 // RUN: -march=rv64i_zve64x_zvks0p9 -x c -E -dM %s \
632 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKS-EXT %s
633 // CHECK-ZVKS-EXT: __riscv_zvks 9000{{$}}
635 // RUN: %clang -target riscv32 -menable-experimental-extensions \
636 // RUN: -march=rv32i_zve64x_zvksc0p9 -x c -E -dM %s \
637 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSC-EXT %s
638 // RUN: %clang -target riscv64 -menable-experimental-extensions \
639 // RUN: -march=rv64i_zve64x_zvksc0p9 -x c -E -dM %s \
640 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSC-EXT %s
641 // CHECK-ZVKSC-EXT: __riscv_zvksc 9000{{$}}
643 // RUN: %clang -target riscv32 -menable-experimental-extensions \
644 // RUN: -march=rv32i_zve32x_zvksed0p9 -x c -E -dM %s \
645 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSED-EXT %s
646 // RUN: %clang -target riscv64 -menable-experimental-extensions \
647 // RUN: -march=rv64i_zve32x_zvksed0p9 -x c -E -dM %s \
648 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSED-EXT %s
649 // CHECK-ZVKSED-EXT: __riscv_zvksed 9000{{$}}
651 // RUN: %clang -target riscv32 -menable-experimental-extensions \
652 // RUN: -march=rv32i_zve64x_zvksg0p9 -x c -E -dM %s \
653 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSG-EXT %s
654 // RUN: %clang -target riscv64 -menable-experimental-extensions \
655 // RUN: -march=rv64i_zve64x_zvksg0p9 -x c -E -dM %s \
656 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSG-EXT %s
657 // CHECK-ZVKSG-EXT: __riscv_zvksg 9000{{$}}
659 // RUN: %clang -target riscv32 -menable-experimental-extensions \
660 // RUN: -march=rv32i_zve32x_zvksh0p9 -x c -E -dM %s \
661 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSH-EXT %s
662 // RUN: %clang -target riscv64 -menable-experimental-extensions \
663 // RUN: -march=rv64i_zve32x_zvksh0p9 -x c -E -dM %s \
664 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSH-EXT %s
665 // CHECK-ZVKSH-EXT: __riscv_zvksh 9000{{$}}
667 // RUN: %clang -target riscv32 -menable-experimental-extensions \
668 // RUN: -march=rv32i_zve32x_zvkt0p9 -x c -E -dM %s \
669 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKT-EXT %s
670 // RUN: %clang -target riscv64 -menable-experimental-extensions \
671 // RUN: -march=rv64i_zve32x_zvkt0p9 -x c -E -dM %s \
672 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKT-EXT %s
673 // CHECK-ZVKT-EXT: __riscv_zvkt 9000{{$}}
675 // RUN: %clang -target riscv32 -menable-experimental-extensions \
676 // RUN: -march=rv32i_zicond1p0 -x c -E -dM %s \
677 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICOND-EXT %s
678 // RUN: %clang -target riscv64 -menable-experimental-extensions \
679 // RUN: -march=rv64i_zicond1p0 -x c -E -dM %s \
680 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICOND-EXT %s
681 // CHECK-ZICOND-EXT: __riscv_zicond 1000000{{$}}
683 // RUN: %clang -target riscv32 -menable-experimental-extensions \
684 // RUN: -march=rv32ismaia1p0 -x c -E -dM %s \
685 // RUN: -o - | FileCheck --check-prefix=CHECK-SMAIA-EXT %s
686 // RUN: %clang -target riscv64 -menable-experimental-extensions \
687 // RUN: -march=rv64ismaia1p0 -x c -E -dM %s \
688 // RUN: -o - | FileCheck --check-prefix=CHECK-SMAIA-EXT %s
689 // CHECK-SMAIA-EXT: __riscv_smaia 1000000{{$}}
691 // RUN: %clang -target riscv32 -menable-experimental-extensions \
692 // RUN: -march=rv32issaia1p0 -x c -E -dM %s \
693 // RUN: -o - | FileCheck --check-prefix=CHECK-SSAIA-EXT %s
694 // RUN: %clang -target riscv64 -menable-experimental-extensions \
695 // RUN: -march=rv64issaia1p0 -x c -E -dM %s \
696 // RUN: -o - | FileCheck --check-prefix=CHECK-SSAIA-EXT %s
697 // CHECK-SSAIA-EXT: __riscv_ssaia 1000000{{$}}
699 // RUN: %clang -target riscv32 -menable-experimental-extensions \
700 // RUN: -march=rv32izfbfmin0p6 -x c -E -dM %s \
701 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFBFMIN-EXT %s
702 // RUN: %clang -target riscv64 -menable-experimental-extensions \
703 // RUN: -march=rv64izfbfmin0p6 -x c -E -dM %s \
704 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFBFMIN-EXT %s
705 // CHECK-ZFBFMIN-EXT: __riscv_zfbfmin 6000{{$}}
707 // RUN: %clang -target riscv32 -menable-experimental-extensions \
708 // RUN: -march=rv32ifzvfbfmin0p6 -x c -E -dM %s \
709 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFMIN-EXT %s
710 // RUN: %clang -target riscv64 -menable-experimental-extensions \
711 // RUN: -march=rv64ifzvfbfmin0p6 -x c -E -dM %s \
712 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFMIN-EXT %s
713 // CHECK-ZVFBFMIN-EXT: __riscv_zvfbfmin 6000{{$}}
715 // RUN: %clang -target riscv32 -menable-experimental-extensions \
716 // RUN: -march=rv32ifzvfbfwma0p6 -x c -E -dM %s \
717 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFWMA-EXT %s
718 // RUN: %clang -target riscv64 -menable-experimental-extensions \
719 // RUN: -march=rv64ifzvfbfwma0p6 -x c -E -dM %s \
720 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFWMA-EXT %s
721 // CHECK-ZVFBFWMA-EXT: __riscv_zvfbfwma 6000{{$}}