1 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -E -dM %s \
2 // RUN: -o - | FileCheck %s
3 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -E -dM %s \
4 // RUN: -o - | FileCheck %s
6 // CHECK-NOT: __riscv_32e {{.*$}}
7 // CHECK-NOT: __riscv_64e {{.*$}}
8 // CHECK-NOT: __riscv_a {{.*$}}
9 // CHECK-NOT: __riscv_atomic
10 // CHECK-NOT: __riscv_b {{.*$}}
11 // CHECK-NOT: __riscv_c {{.*$}}
12 // CHECK-NOT: __riscv_compressed {{.*$}}
13 // CHECK-NOT: __riscv_d {{.*$}}
14 // CHECK-NOT: __riscv_f {{.*$}}
15 // CHECK-NOT: __riscv_flen {{.*$}}
16 // CHECK-NOT: __riscv_fdiv {{.*$}}
17 // CHECK-NOT: __riscv_fsqrt {{.*$}}
18 // CHECK-NOT: __riscv_h {{.*$}}
19 // CHECK-NOT: __riscv_div {{.*$}}
20 // CHECK-NOT: __riscv_m {{.*$}}
21 // CHECK-NOT: __riscv_mul {{.*$}}
22 // CHECK-NOT: __riscv_muldiv {{.*$}}
23 // CHECK-NOT: __riscv_sha {{.*$}}
24 // CHECK-NOT: __riscv_shcounterenw {{.*$}}
25 // CHECK-NOT: __riscv_shgatpa {{.*$}}
26 // CHECK-NOT: __riscv_shtvala {{.*$}}
27 // CHECK-NOT: __riscv_shvsatpa {{.*$}}
28 // CHECK-NOT: __riscv_shvstvala {{.*$}}
29 // CHECK-NOT: __riscv_shvstvecd {{.*$}}
30 // CHECK-NOT: __riscv_smaia {{.*$}}
31 // CHECK-NOT: __riscv_smcdeleg {{.*$}}
32 // CHECK-NOT: __riscv_smcsrind {{.*$}}
33 // CHECK-NOT: __riscv_smdbltrp {{.*$}}
34 // CHECK-NOT: __riscv_smepmp {{.*$}}
35 // CHECK-NOT: __riscv_smrnmi {{.*$}}
36 // CHECK-NOT: __riscv_smstateen {{.*$}}
37 // CHECK-NOT: __riscv_ssaia {{.*$}}
38 // CHECK-NOT: __riscv_ssccfg {{.*$}}
39 // CHECK-NOT: __riscv_ssccptr {{.*$}}
40 // CHECK-NOT: __riscv_sscofpmf {{.*$}}
41 // CHECK-NOT: __riscv_sscounterenw {{.*$}}
42 // CHECK-NOT: __riscv_sscsrind {{.*$}}
43 // CHECK-NOT: __riscv_ssdbltrp {{.*$}}
44 // CHECK-NOT: __riscv_ssqosid{{.*$}}
45 // CHECK-NOT: __riscv_ssstateen {{.*$}}
46 // CHECK-NOT: __riscv_ssstrict {{.*$}}
47 // CHECK-NOT: __riscv_sstc {{.*$}}
48 // CHECK-NOT: __riscv_sstvala {{.*$}}
49 // CHECK-NOT: __riscv_sstvecd {{.*$}}
50 // CHECK-NOT: __riscv_ssu64xl {{.*$}}
51 // CHECK-NOT: __riscv_svade {{.*$}}
52 // CHECK-NOT: __riscv_svadu {{.*$}}
53 // CHECK-NOT: __riscv_svbare {{.*$}}
54 // CHECK-NOT: __riscv_svinval {{.*$}}
55 // CHECK-NOT: __riscv_svnapot {{.*$}}
56 // CHECK-NOT: __riscv_svpbmt {{.*$}}
57 // CHECK-NOT: __riscv_svvptc {{.*$}}
58 // CHECK-NOT: __riscv_v {{.*$}}
59 // CHECK-NOT: __riscv_v_elen {{.*$}}
60 // CHECK-NOT: __riscv_v_elen_fp {{.*$}}
61 // CHECK-NOT: __riscv_v_intrinsic {{.*$}}
62 // CHECK-NOT: __riscv_v_min_vlen {{.*$}}
63 // CHECK-NOT: __riscv_vector {{.*$}}
64 // CHECK-NOT: __riscv_xcvalu {{.*$}}
65 // CHECK-NOT: __riscv_xcvbi {{.*$}}
66 // CHECK-NOT: __riscv_xcvbitmanip {{.*$}}
67 // CHECK-NOT: __riscv_xcvelw {{.*$}}
68 // CHECK-NOT: __riscv_xcvmac {{.*$}}
69 // CHECK-NOT: __riscv_xcvmem {{.*$}}
70 // CHECK-NOT: __riscv_xcvsimd {{.*$}}
71 // CHECK-NOT: __riscv_xsfcease {{.*$}}
72 // CHECK-NOT: __riscv_xsfvcp {{.*$}}
73 // CHECK-NOT: __riscv_xsfvfnrclipxfqf {{.*$}}
74 // CHECK-NOT: __riscv_xsfvfwmaccqqq {{.*$}}
75 // CHECK-NOT: __riscv_xsfqmaccdod {{.*$}}
76 // CHECK-NOT: __riscv_xsfvqmaccqoq {{.*$}}
77 // CHECK-NOT: __riscv_xsifivecdiscarddlone {{.*$}}
78 // CHECK-NOT: __riscv_xsifivecflushdlone {{.*$}}
79 // CHECK-NOT: __riscv_xtheadba {{.*$}}
80 // CHECK-NOT: __riscv_xtheadbb {{.*$}}
81 // CHECK-NOT: __riscv_xtheadbs {{.*$}}
82 // CHECK-NOT: __riscv_xtheadcmo {{.*$}}
83 // CHECK-NOT: __riscv_xtheadcondmov {{.*$}}
84 // CHECK-NOT: __riscv_xtheadfmemidx {{.*$}}
85 // CHECK-NOT: __riscv_xtheadmac {{.*$}}
86 // CHECK-NOT: __riscv_xtheadmemidx {{.*$}}
87 // CHECK-NOT: __riscv_xtheadmempair {{.*$}}
88 // CHECK-NOT: __riscv_xtheadsync {{.*$}}
89 // CHECK-NOT: __riscv_xtheadvdot {{.*$}}
90 // CHECK-NOT: __riscv_xventanacondops {{.*$}}
91 // CHECK-NOT: __riscv_za128rs {{.*$}}
92 // CHECK-NOT: __riscv_za64rs {{.*$}}
93 // CHECK-NOT: __riscv_zaamo {{.*$}}
94 // CHECK-NOT: __riscv_zabha {{.*$}}
95 // CHECK-NOT: __riscv_zacas {{.*$}}
96 // CHECK-NOT: __riscv_zalrsc {{.*$}}
97 // CHECK-NOT: __riscv_zama16b {{.*$}}
98 // CHECK-NOT: __riscv_zawrs {{.*$}}
99 // CHECK-NOT: __riscv_zba {{.*$}}
100 // CHECK-NOT: __riscv_zbb {{.*$}}
101 // CHECK-NOT: __riscv_zbc {{.*$}}
102 // CHECK-NOT: __riscv_zbkb {{.*$}}
103 // CHECK-NOT: __riscv_zbkc {{.*$}}
104 // CHECK-NOT: __riscv_zbkx {{.*$}}
105 // CHECK-NOT: __riscv_zbs {{.*$}}
106 // CHECK-NOT: __riscv_zca {{.*$}}
107 // CHECK-NOT: __riscv_zcb {{.*$}}
108 // CHECK-NOT: __riscv_zcd {{.*$}}
109 // CHECK-NOT: __riscv_zce {{.*$}}
110 // CHECK-NOT: __riscv_zcf {{.*$}}
111 // CHECK-NOT: __riscv_zcmop {{.*$}}
112 // CHECK-NOT: __riscv_zcmp {{.*$}}
113 // CHECK-NOT: __riscv_zcmt {{.*$}}
114 // CHECK-NOT: __riscv_zdinx {{.*$}}
115 // CHECK-NOT: __riscv_zfa {{.*$}}
116 // CHECK-NOT: __riscv_zfh {{.*$}}
117 // CHECK-NOT: __riscv_zfhmin {{.*$}}
118 // CHECK-NOT: __riscv_zfinx {{.*$}}
119 // CHECK-NOT: __riscv_zhinx {{.*$}}
120 // CHECK-NOT: __riscv_zhinxmin {{.*$}}
121 // CHECK-NOT: __riscv_zic64b {{.*$}}
122 // CHECK-NOT: __riscv_zicbom {{.*$}}
123 // CHECK-NOT: __riscv_zicbop {{.*$}}
124 // CHECK-NOT: __riscv_zicboz {{.*$}}
125 // CHECK-NOT: __riscv_ziccamoa {{.*$}}
126 // CHECK-NOT: __riscv_ziccif {{.*$}}
127 // CHECK-NOT: __riscv_zicclsm {{.*$}}
128 // CHECK-NOT: __riscv_ziccrse {{.*$}}
129 // CHECK-NOT: __riscv_zicntr {{.*$}}
130 // CHECK-NOT: __riscv_zicond {{.*$}}
131 // CHECK-NOT: __riscv_zicsr {{.*$}}
132 // CHECK-NOT: __riscv_zifencei {{.*$}}
133 // CHECK-NOT: __riscv_zihintntl {{.*$}}
134 // CHECK-NOT: __riscv_zihintpause {{.*$}}
135 // CHECK-NOT: __riscv_zihpm {{.*$}}
136 // CHECK-NOT: __riscv_zimop {{.*$}}
137 // CHECK-NOT: __riscv_zk {{.*$}}
138 // CHECK-NOT: __riscv_zkn {{.*$}}
139 // CHECK-NOT: __riscv_zknd {{.*$}}
140 // CHECK-NOT: __riscv_zkne {{.*$}}
141 // CHECK-NOT: __riscv_zknh {{.*$}}
142 // CHECK-NOT: __riscv_zkr {{.*$}}
143 // CHECK-NOT: __riscv_zks {{.*$}}
144 // CHECK-NOT: __riscv_zksed {{.*$}}
145 // CHECK-NOT: __riscv_zksh {{.*$}}
146 // CHECK-NOT: __riscv_zkt {{.*$}}
147 // CHECK-NOT: __riscv_zmmul {{.*$}}
148 // CHECK-NOT: __riscv_zvbb {{.*$}}
149 // CHECK-NOT: __riscv_zvbc {{.*$}}
150 // CHECK-NOT: __riscv_zve32f {{.*$}}
151 // CHECK-NOT: __riscv_zve32x {{.*$}}
152 // CHECK-NOT: __riscv_zve64d {{.*$}}
153 // CHECK-NOT: __riscv_zve64f {{.*$}}
154 // CHECK-NOT: __riscv_zve64x {{.*$}}
155 // CHECK-NOT: __riscv_zvfh {{.*$}}
156 // CHECK-NOT: __riscv_zvkb {{.*$}}
157 // CHECK-NOT: __riscv_zvkg {{.*$}}
158 // CHECK-NOT: __riscv_zvkn {{.*$}}
159 // CHECK-NOT: __riscv_zvknc {{.*$}}
160 // CHECK-NOT: __riscv_zvkned {{.*$}}
161 // CHECK-NOT: __riscv_zvkng {{.*$}}
162 // CHECK-NOT: __riscv_zvknha {{.*$}}
163 // CHECK-NOT: __riscv_zvknhb {{.*$}}
164 // CHECK-NOT: __riscv_zvks {{.*$}}
165 // CHECK-NOT: __riscv_zvksc {{.*$}}
166 // CHECK-NOT: __riscv_zvksed {{.*$}}
167 // CHECK-NOT: __riscv_zvksg {{.*$}}
168 // CHECK-NOT: __riscv_zvksh {{.*$}}
169 // CHECK-NOT: __riscv_zvkt {{.*$}}
170 // CHECK-NOT: __riscv_zvl32b {{.*$}}
171 // CHECK-NOT: __riscv_zvl64b {{.*$}}
172 // CHECK-NOT: __riscv_zvl128b {{.*$}}
173 // CHECK-NOT: __riscv_zvl256b {{.*$}}
174 // CHECK-NOT: __riscv_zvl512b {{.*$}}
175 // CHECK-NOT: __riscv_zvl1024b {{.*$}}
176 // CHECK-NOT: __riscv_zvl2048b {{.*$}}
177 // CHECK-NOT: __riscv_zvl4096b {{.*$}}
178 // CHECK-NOT: __riscv_zvl8192b {{.*$}}
179 // CHECK-NOT: __riscv_zvl16384b {{.*$}}
180 // CHECK-NOT: __riscv_zvl32768b {{.*$}}
181 // CHECK-NOT: __riscv_zvl65536b {{.*$}}
183 // Experimental extensions
185 // CHECK-NOT: __riscv_smctr{{.*$}}
186 // CHECK-NOT: __riscv_smmpm{{.*$}}
187 // CHECK-NOT: __riscv_smnpm{{.*$}}
188 // CHECK-NOT: __riscv_ssctr{{.*$}}
189 // CHECK-NOT: __riscv_ssnpm{{.*$}}
190 // CHECK-NOT: __riscv_sspm{{.*$}}
191 // CHECK-NOT: __riscv_supm{{.*$}}
192 // CHECK-NOT: __riscv_zalasr {{.*$}}
193 // CHECK-NOT: __riscv_zfbfmin {{.*$}}
194 // CHECK-NOT: __riscv_zicfilp {{.*$}}
195 // CHECK-NOT: __riscv_zicfiss {{.*$}}
196 // CHECK-NOT: __riscv_ztso {{.*$}}
197 // CHECK-NOT: __riscv_zvbc32e {{.*$}}
198 // CHECK-NOT: __riscv_zvfbfmin {{.*$}}
199 // CHECK-NOT: __riscv_zvfbfwma {{.*$}}
200 // CHECK-NOT: __riscv_zvkgs {{.*$}}
202 // RUN: %clang --target=riscv32-unknown-linux-gnu \
203 // RUN: -march=rv32ia -E -dM %s \
204 // RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s
205 // RUN: %clang --target=riscv64-unknown-linux-gnu \
206 // RUN: -march=rv64ia -E -dM %s \
207 // RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s
208 // CHECK-A-EXT: __riscv_a 2001000{{$}}
209 // CHECK-A-EXT: __riscv_atomic 1
211 // RUN: %clang --target=riscv32-unknown-linux-gnu \
212 // RUN: -march=rv32ib -x c -E -dM %s \
213 // RUN: -o - | FileCheck --check-prefix=CHECK-B-EXT %s
214 // RUN: %clang --target=riscv64-unknown-linux-gnu \
215 // RUN: -march=rv64ib -x c -E -dM %s \
216 // RUN: -o - | FileCheck --check-prefix=CHECK-B-EXT %s
217 // CHECK-B-EXT: __riscv_b 1000000{{$}}
218 // CHECK-B-EXT: __riscv_zba 1000000{{$}}
219 // CHECK-B-EXT: __riscv_zbb 1000000{{$}}
220 // CHECK-B-EXT: __riscv_zbs 1000000{{$}}
222 // RUN: %clang --target=riscv32-unknown-linux-gnu \
223 // RUN: -march=rv32ic -E -dM %s \
224 // RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s
225 // RUN: %clang --target=riscv64-unknown-linux-gnu \
226 // RUN: -march=rv64ic -E -dM %s \
227 // RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s
228 // CHECK-C-EXT: __riscv_c 2000000{{$}}
229 // CHECK-C-EXT: __riscv_compressed 1
231 // RUN: %clang --target=riscv32-unknown-linux-gnu \
232 // RUN: -march=rv32ifd -E -dM %s \
233 // RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s
234 // RUN: %clang --target=riscv64-unknown-linux-gnu \
235 // RUN: -march=rv64ifd -E -dM %s \
236 // RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s
237 // CHECK-D-EXT: __riscv_d 2002000{{$}}
238 // CHECK-D-EXT: __riscv_fdiv 1
239 // CHECK-D-EXT: __riscv_flen 64
240 // CHECK-D-EXT: __riscv_fsqrt 1
242 // RUN: %clang --target=riscv32-unknown-linux-gnu \
243 // RUN: -march=rv32e -E -dM %s \
244 // RUN: -o - | FileCheck --check-prefixes=CHECK-E-EXT,CHECK-RV32E %s
245 // RUN: %clang --target=riscv64-unknown-linux-gnu \
246 // RUN: -march=rv64e -E -dM %s \
247 // RUN: -o - | FileCheck --check-prefixes=CHECK-E-EXT,CHECK-RV64E %s
248 // CHECK-RV32E: __riscv_32e 1
249 // CHECK-RV64E: __riscv_64e 1
250 // CHECK-E-EXT: __riscv_abi_rve 1
251 // CHECK-E-EXT: __riscv_e 2000000{{$}}
253 // RUN: %clang --target=riscv32-unknown-linux-gnu \
254 // RUN: -march=rv32if -E -dM %s \
255 // RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s
256 // RUN: %clang --target=riscv64-unknown-linux-gnu \
257 // RUN: -march=rv64if -E -dM %s \
258 // RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s
259 // CHECK-F-EXT: __riscv_f 2002000{{$}}
260 // CHECK-F-EXT: __riscv_fdiv 1
261 // CHECK-F-EXT: __riscv_flen 32
262 // CHECK-F-EXT: __riscv_fsqrt 1
264 // RUN: %clang --target=riscv32-unknown-linux-gnu \
265 // RUN: -march=rv32ifd -mabi=ilp32 -E -dM %s \
266 // RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s
267 // RUN: %clang --target=riscv64-unknown-linux-gnu \
268 // RUN: -march=rv64ifd -mabi=lp64 -E -dM %s \
269 // RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s
270 // CHECK-SOFT: __riscv_float_abi_soft 1
271 // CHECK-SOFT-NOT: __riscv_float_abi_single
272 // CHECK-SOFT-NOT: __riscv_float_abi_double
274 // RUN: %clang --target=riscv32-unknown-linux-gnu \
275 // RUN: -march=rv32ifd -mabi=ilp32f -E -dM %s \
276 // RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s
277 // RUN: %clang --target=riscv64-unknown-linux-gnu \
278 // RUN: -march=rv64ifd -mabi=lp64f -E -dM %s \
279 // RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s
280 // CHECK-SINGLE: __riscv_float_abi_single 1
281 // CHECK-SINGLE-NOT: __riscv_float_abi_soft
282 // CHECK-SINGLE-NOT: __riscv_float_abi_double
284 // RUN: %clang --target=riscv32-unknown-linux-gnu \
285 // RUN: -march=rv32ifd -E -dM %s \
286 // RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s
287 // RUN: %clang --target=riscv64-unknown-linux-gnu \
288 // RUN: -march=rv64ifd -E -dM %s \
289 // RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s
290 // CHECK-DOUBLE: __riscv_float_abi_double 1
291 // CHECK-DOUBLE-NOT: __riscv_float_abi_soft
292 // CHECK-DOUBLE-NOT: __riscv_float_abi_single
294 // RUN: %clang --target=riscv32-unknown-linux-gnu \
295 // RUN: -march=rv32i -mabi=ilp32e -E -dM %s \
296 // RUN: -o - | FileCheck --check-prefix=CHECK-ILP32E %s
297 // RUN: %clang --target=riscv64-unknown-linux-gnu \
298 // RUN: -march=rv64i -mabi=lp64e -E -dM %s \
299 // RUN: -o - | FileCheck --check-prefix=CHECK-LP64E %s
300 // CHECK-ILP32E: __riscv_abi_rve 1
301 // CHECK-LP64E: __riscv_abi_rve 1
303 // RUN: %clang --target=riscv32-unknown-linux-gnu \
304 // RUN: -march=rv32ih -E -dM %s \
305 // RUN: -o - | FileCheck --check-prefix=CHECK-H-EXT %s
306 // RUN: %clang --target=riscv64-unknown-linux-gnu \
307 // RUN: -march=rv64ih -E -dM %s \
308 // RUN: -o - | FileCheck --check-prefix=CHECK-H-EXT %s
309 // CHECK-H-EXT: __riscv_h 1000000{{$}}
311 // RUN: %clang --target=riscv32-unknown-linux-gnu \
312 // RUN: -march=rv32i -E -dM %s \
313 // RUN: -o - | FileCheck %s
314 // RUN: %clang --target=riscv64-unknown-linux-gnu \
315 // RUN: -march=rv64i -E -dM %s \
316 // RUN: -o - | FileCheck %s
317 // CHECK: __riscv_i 2001000{{$}}
319 // RUN: %clang --target=riscv32-unknown-linux-gnu \
320 // RUN: -march=rv32im -E -dM %s \
321 // RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s
322 // RUN: %clang --target=riscv64-unknown-linux-gnu \
323 // RUN: -march=rv64im -E -dM %s \
324 // RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s
325 // CHECK-M-EXT: __riscv_div 1
326 // CHECK-M-EXT: __riscv_m 2000000{{$}}
327 // CHECK-M-EXT: __riscv_mul 1
328 // CHECK-M-EXT: __riscv_muldiv 1
330 // RUN: %clang --target=riscv32-unknown-linux-gnu \
331 // RUN: -march=rv32isha -E -dM %s \
332 // RUN: -o - | FileCheck --check-prefix=CHECK-SHCOUNTERENW-EXT %s
333 // RUN: %clang --target=riscv64-unknown-linux-gnu \
334 // RUN: -march=rv64isha -E -dM %s \
335 // RUN: -o - | FileCheck --check-prefix=CHECK-SHCOUNTERENW-EXT %s
336 // CHECK-SHA-EXT: __riscv_sha 1000000{{$}}
338 // RUN: %clang --target=riscv32-unknown-linux-gnu \
339 // RUN: -march=rv32ishcounterenw -E -dM %s \
340 // RUN: -o - | FileCheck --check-prefix=CHECK-SHCOUNTERENW-EXT %s
341 // RUN: %clang --target=riscv64-unknown-linux-gnu \
342 // RUN: -march=rv64ishcounterenw -E -dM %s \
343 // RUN: -o - | FileCheck --check-prefix=CHECK-SHCOUNTERENW-EXT %s
344 // CHECK-SHCOUNTERENW-EXT: __riscv_shcounterenw 1000000{{$}}
346 // RUN: %clang --target=riscv32-unknown-linux-gnu \
347 // RUN: -march=rv32ishgatpa -E -dM %s \
348 // RUN: -o - | FileCheck --check-prefix=CHECK-SHGATPA-EXT %s
349 // RUN: %clang --target=riscv64-unknown-linux-gnu \
350 // RUN: -march=rv64ishgatpa -E -dM %s \
351 // RUN: -o - | FileCheck --check-prefix=CHECK-SHGATPA-EXT %s
352 // CHECK-SHGATPA-EXT: __riscv_shgatpa 1000000{{$}}
354 // RUN: %clang --target=riscv32-unknown-linux-gnu \
355 // RUN: -march=rv32ishtvala -E -dM %s \
356 // RUN: -o - | FileCheck --check-prefix=CHECK-SHTVALA-EXT %s
357 // RUN: %clang --target=riscv64-unknown-linux-gnu \
358 // RUN: -march=rv64ishtvala -E -dM %s \
359 // RUN: -o - | FileCheck --check-prefix=CHECK-SHTVALA-EXT %s
360 // CHECK-SHTVALA-EXT: __riscv_shtvala 1000000{{$}}
362 // RUN: %clang --target=riscv32-unknown-linux-gnu \
363 // RUN: -march=rv32ishvsatpa -E -dM %s \
364 // RUN: -o - | FileCheck --check-prefix=CHECK-SHVSATPA-EXT %s
365 // RUN: %clang --target=riscv64-unknown-linux-gnu \
366 // RUN: -march=rv64ishvsatpa -E -dM %s \
367 // RUN: -o - | FileCheck --check-prefix=CHECK-SHVSATPA-EXT %s
368 // CHECK-SHVSATPA-EXT: __riscv_shvsatpa 1000000{{$}}
370 // RUN: %clang --target=riscv32-unknown-linux-gnu \
371 // RUN: -march=rv32ishvstvala -E -dM %s \
372 // RUN: -o - | FileCheck --check-prefix=CHECK-SHVSTVALA-EXT %s
373 // RUN: %clang --target=riscv64-unknown-linux-gnu \
374 // RUN: -march=rv64ishvstvala -E -dM %s \
375 // RUN: -o - | FileCheck --check-prefix=CHECK-SHVSTVALA-EXT %s
376 // CHECK-SHVSTVALA-EXT: __riscv_shvstvala 1000000{{$}}
378 // RUN: %clang --target=riscv32-unknown-linux-gnu \
379 // RUN: -march=rv32ishvstvecd -E -dM %s \
380 // RUN: -o - | FileCheck --check-prefix=CHECK-SHVSTVECD-EXT %s
381 // RUN: %clang --target=riscv64-unknown-linux-gnu \
382 // RUN: -march=rv64ishvstvecd -E -dM %s \
383 // RUN: -o - | FileCheck --check-prefix=CHECK-SHVSTVECD-EXT %s
384 // CHECK-SHVSTVECD-EXT: __riscv_shvstvecd 1000000{{$}}
386 // RUN: %clang --target=riscv32-unknown-linux-gnu \
387 // RUN: -march=rv32issccfg -E -dM %s \
388 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCCFG-EXT %s
389 // RUN: %clang --target=riscv64-unknown-linux-gnu \
390 // RUN: -march=rv64issccfg -E -dM %s \
391 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCCFG-EXT %s
392 // CHECK-SSCCFG-EXT: __riscv_ssccfg 1000000{{$}}
394 // RUN: %clang --target=riscv32-unknown-linux-gnu \
395 // RUN: -march=rv32issccptr -E -dM %s \
396 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCCPTR-EXT %s
397 // RUN: %clang --target=riscv64-unknown-linux-gnu \
398 // RUN: -march=rv64issccptr -E -dM %s \
399 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCCPTR-EXT %s
400 // CHECK-SSCCPTR-EXT: __riscv_ssccptr 1000000{{$}}
402 // RUN: %clang --target=riscv32-unknown-linux-gnu \
403 // RUN: -march=rv32isscofpmf -E -dM %s \
404 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCOFPMF-EXT %s
405 // RUN: %clang --target=riscv64-unknown-linux-gnu \
406 // RUN: -march=rv64isscofpmf -E -dM %s \
407 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCOFPMF-EXT %s
408 // CHECK-SSCOFPMF-EXT: __riscv_sscofpmf 1000000{{$}}
410 // RUN: %clang --target=riscv32-unknown-linux-gnu \
411 // RUN: -march=rv32isscounterenw -E -dM %s \
412 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCOUNTERENW-EXT %s
413 // RUN: %clang --target=riscv64-unknown-linux-gnu \
414 // RUN: -march=rv64isscounterenw -E -dM %s \
415 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCOUNTERENW-EXT %s
416 // CHECK-SSCOUNTERENW-EXT: __riscv_sscounterenw 1000000{{$}}
418 // RUN: %clang --target=riscv32-unknown-linux-gnu \
419 // RUN: -march=rv32ismstateen -E -dM %s \
420 // RUN: -o - | FileCheck --check-prefix=CHECK-SMSTATEEN-EXT %s
421 // RUN: %clang --target=riscv64-unknown-linux-gnu \
422 // RUN: -march=rv64ismstateen -E -dM %s \
423 // RUN: -o - | FileCheck --check-prefix=CHECK-SMSTATEEN-EXT %s
424 // CHECK-SMSTATEEN-EXT: __riscv_smstateen 1000000{{$}}
426 // RUN: %clang --target=riscv32-unknown-linux-gnu \
427 // RUN: -march=rv32issstateen -E -dM %s \
428 // RUN: -o - | FileCheck --check-prefix=CHECK-SSSTATEEN-EXT %s
429 // RUN: %clang --target=riscv64-unknown-linux-gnu \
430 // RUN: -march=rv64issstateen -E -dM %s \
431 // RUN: -o - | FileCheck --check-prefix=CHECK-SSSTATEEN-EXT %s
432 // CHECK-SSSTATEEN-EXT: __riscv_ssstateen 1000000{{$}}
434 // RUN: %clang --target=riscv32-unknown-linux-gnu \
435 // RUN: -march=rv32issstrict -E -dM %s \
436 // RUN: -o - | FileCheck --check-prefix=CHECK-SSSTRICT-EXT %s
437 // RUN: %clang --target=riscv64-unknown-linux-gnu \
438 // RUN: -march=rv64issstrict -E -dM %s \
439 // RUN: -o - | FileCheck --check-prefix=CHECK-SSSTRICT-EXT %s
440 // CHECK-SSSTRICT-EXT: __riscv_ssstrict 1000000{{$}}
442 // RUN: %clang --target=riscv32-unknown-linux-gnu \
443 // RUN: -march=rv32isstc -E -dM %s \
444 // RUN: -o - | FileCheck --check-prefix=CHECK-SSTC-EXT %s
445 // RUN: %clang --target=riscv64-unknown-linux-gnu \
446 // RUN: -march=rv64isstc -E -dM %s \
447 // RUN: -o - | FileCheck --check-prefix=CHECK-SSTC-EXT %s
448 // CHECK-SSTC-EXT: __riscv_sstc 1000000{{$}}
450 // RUN: %clang --target=riscv32-unknown-linux-gnu \
451 // RUN: -march=rv32isstvala -E -dM %s \
452 // RUN: -o - | FileCheck --check-prefix=CHECK-SSTVALA-EXT %s
453 // RUN: %clang --target=riscv64-unknown-linux-gnu \
454 // RUN: -march=rv64isstvala -E -dM %s \
455 // RUN: -o - | FileCheck --check-prefix=CHECK-SSTVALA-EXT %s
456 // CHECK-SSTVALA-EXT: __riscv_sstvala 1000000{{$}}
458 // RUN: %clang --target=riscv32-unknown-linux-gnu \
459 // RUN: -march=rv32isstvecd -E -dM %s \
460 // RUN: -o - | FileCheck --check-prefix=CHECK-SSTVECD-EXT %s
461 // RUN: %clang --target=riscv64-unknown-linux-gnu \
462 // RUN: -march=rv64isstvecd -E -dM %s \
463 // RUN: -o - | FileCheck --check-prefix=CHECK-SSTVECD-EXT %s
464 // CHECK-SSTVECD-EXT: __riscv_sstvecd 1000000{{$}}
466 // RUN: %clang --target=riscv32-unknown-linux-gnu \
467 // RUN: -march=rv32issu64xl -E -dM %s \
468 // RUN: -o - | FileCheck --check-prefix=CHECK-SSU64XL-EXT %s
469 // RUN: %clang --target=riscv64-unknown-linux-gnu \
470 // RUN: -march=rv64issu64xl -E -dM %s \
471 // RUN: -o - | FileCheck --check-prefix=CHECK-SSU64XL-EXT %s
472 // CHECK-SSU64XL-EXT: __riscv_ssu64xl 1000000{{$}}
474 // RUN: %clang --target=riscv32-unknown-linux-gnu \
475 // RUN: -march=rv32isvade -E -dM %s \
476 // RUN: -o - | FileCheck --check-prefix=CHECK-SVADE-EXT %s
477 // RUN: %clang --target=riscv64-unknown-linux-gnu \
478 // RUN: -march=rv64isvade -E -dM %s \
479 // RUN: -o - | FileCheck --check-prefix=CHECK-SVADE-EXT %s
480 // CHECK-SVADE-EXT: __riscv_svade 1000000{{$}}
482 // RUN: %clang --target=riscv32-unknown-linux-gnu \
483 // RUN: -march=rv32isvadu -E -dM %s \
484 // RUN: -o - | FileCheck --check-prefix=CHECK-SVADU-EXT %s
485 // RUN: %clang --target=riscv64-unknown-linux-gnu \
486 // RUN: -march=rv64isvadu -E -dM %s \
487 // RUN: -o - | FileCheck --check-prefix=CHECK-SVADU-EXT %s
488 // CHECK-SVADU-EXT: __riscv_svadu 1000000{{$}}
490 // RUN: %clang --target=riscv32-unknown-linux-gnu \
491 // RUN: -march=rv32isvbare -E -dM %s \
492 // RUN: -o - | FileCheck --check-prefix=CHECK-SVBARE-EXT %s
493 // RUN: %clang --target=riscv64-unknown-linux-gnu \
494 // RUN: -march=rv64isvbare -E -dM %s \
495 // RUN: -o - | FileCheck --check-prefix=CHECK-SVBARE-EXT %s
496 // CHECK-SVBARE-EXT: __riscv_svbare 1000000{{$}}
498 // RUN: %clang --target=riscv32-unknown-linux-gnu \
499 // RUN: -march=rv32isvinval -E -dM %s \
500 // RUN: -o - | FileCheck --check-prefix=CHECK-SVINVAL-EXT %s
501 // RUN: %clang --target=riscv64-unknown-linux-gnu \
502 // RUN: -march=rv64isvinval -E -dM %s \
503 // RUN: -o - | FileCheck --check-prefix=CHECK-SVINVAL-EXT %s
504 // CHECK-SVINVAL-EXT: __riscv_svinval 1000000{{$}}
506 // RUN: %clang --target=riscv32-unknown-linux-gnu \
507 // RUN: -march=rv32isvnapot -E -dM %s \
508 // RUN: -o - | FileCheck --check-prefix=CHECK-SVNAPOT-EXT %s
509 // RUN: %clang --target=riscv64-unknown-linux-gnu \
510 // RUN: -march=rv64isvnapot -E -dM %s \
511 // RUN: -o - | FileCheck --check-prefix=CHECK-SVNAPOT-EXT %s
512 // CHECK-SVNAPOT-EXT: __riscv_svnapot 1000000{{$}}
514 // RUN: %clang --target=riscv32-unknown-linux-gnu \
515 // RUN: -march=rv32isvpbmt -E -dM %s \
516 // RUN: -o - | FileCheck --check-prefix=CHECK-SVPBMT-EXT %s
517 // RUN: %clang --target=riscv64-unknown-linux-gnu \
518 // RUN: -march=rv64isvpbmt -E -dM %s \
519 // RUN: -o - | FileCheck --check-prefix=CHECK-SVPBMT-EXT %s
520 // CHECK-SVPBMT-EXT: __riscv_svpbmt 1000000{{$}}
522 // RUN: %clang --target=riscv32-unknown-linux-gnu \
523 // RUN: -march=rv32isvvptc -E -dM %s \
524 // RUN: -o - | FileCheck --check-prefix=CHECK-SVVPTC-EXT %s
525 // RUN: %clang --target=riscv64-unknown-linux-gnu \
526 // RUN: -march=rv64isvvptc -E -dM %s \
527 // RUN: -o - | FileCheck --check-prefix=CHECK-SVVPTC-EXT %s
528 // CHECK-SVVPTC-EXT: __riscv_svvptc 1000000{{$}}
530 // RUN: %clang --target=riscv32-unknown-linux-gnu \
531 // RUN: -march=rv32iv1p0 -E -dM %s \
532 // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s
533 // RUN: %clang --target=riscv64-unknown-linux-gnu \
534 // RUN: -march=rv64iv1p0 -E -dM %s \
535 // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s
536 // CHECK-V-EXT: __riscv_v 1000000{{$}}
537 // CHECK-V-EXT: __riscv_v_elen 64
538 // CHECK-V-EXT: __riscv_v_elen_fp 64
539 // CHECK-V-EXT: __riscv_v_intrinsic 12000{{$}}
540 // CHECK-V-EXT: __riscv_v_min_vlen 128
541 // CHECK-V-EXT: __riscv_vector 1
543 // RUN: %clang --target=riscv32-unknown-linux-gnu \
544 // RUN: -march=rv32ixcvalu -E -dM %s \
545 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVALU-EXT %s
546 // RUN: %clang --target=riscv64-unknown-linux-gnu \
547 // RUN: -march=rv64ixcvalu -E -dM %s \
548 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVALU-EXT %s
549 // CHECK-XCVALU-EXT: __riscv_xcvalu 1000000{{$}}
551 // RUN: %clang --target=riscv32-unknown-linux-gnu \
552 // RUN: -march=rv32ixcvbi -E -dM %s \
553 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVBI-EXT %s
554 // RUN: %clang --target=riscv64-unknown-linux-gnu \
555 // RUN: -march=rv64ixcvbi -E -dM %s \
556 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVBI-EXT %s
557 // CHECK-XCVBI-EXT: __riscv_xcvbi 1000000{{$}}
559 // RUN: %clang --target=riscv32-unknown-linux-gnu \
560 // RUN: -march=rv32ixcvbitmanip -E -dM %s \
561 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVBITMANIP-EXT %s
562 // RUN: %clang --target=riscv64-unknown-linux-gnu \
563 // RUN: -march=rv64ixcvbitmanip -E -dM %s \
564 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVBITMANIP-EXT %s
565 // CHECK-XCVBITMANIP-EXT: __riscv_xcvbitmanip 1000000{{$}}
567 // RUN: %clang --target=riscv32-unknown-linux-gnu \
568 // RUN: -march=rv32ixcvmac -E -dM %s \
569 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVMAC-EXT %s
570 // RUN: %clang --target=riscv64-unknown-linux-gnu \
571 // RUN: -march=rv64ixcvmac -E -dM %s \
572 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVMAC-EXT %s
573 // CHECK-XCVMAC-EXT: __riscv_xcvmac 1000000{{$}}
575 // RUN: %clang --target=riscv32-unknown-linux-gnu \
576 // RUN: -march=rv32ixcvsimd -E -dM %s \
577 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVSIMD-EXT %s
578 // RUN: %clang --target=riscv64-unknown-linux-gnu \
579 // RUN: -march=rv64ixcvsimd -E -dM %s \
580 // RUN: -o - | FileCheck --check-prefix=CHECK-XCVSIMD-EXT %s
581 // CHECK-XCVSIMD-EXT: __riscv_xcvsimd 1000000{{$}}
583 // RUN: %clang --target=riscv32-unknown-linux-gnu \
584 // RUN: -march=rv32ixsfcease -E -dM %s \
585 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFCEASE-EXT %s
586 // RUN: %clang --target=riscv64-unknown-linux-gnu \
587 // RUN: -march=rv64ixsfcease -E -dM %s \
588 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFCEASE-EXT %s
589 // CHECK-XSFCEASE-EXT: __riscv_xsfcease 1000000{{$}}
591 // RUN: %clang --target=riscv32-unknown-linux-gnu \
592 // RUN: -march=rv32ixsfvcp -E -dM %s \
593 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVCP-EXT %s
594 // RUN: %clang --target=riscv64-unknown-linux-gnu \
595 // RUN: -march=rv64ixsfvcp -E -dM %s \
596 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVCP-EXT %s
597 // CHECK-XSFVCP-EXT: __riscv_xsfvcp 1000000{{$}}
599 // RUN: %clang --target=riscv32-unknown-linux-gnu \
600 // RUN: -march=rv32ixsfvfnrclipxfqf -E -dM %s \
601 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFNRCLIPXFQF-EXT %s
602 // RUN: %clang --target=riscv64-unknown-linux-gnu \
603 // RUN: -march=rv64ixsfvfnrclipxfqf -E -dM %s \
604 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFNRCLIPXFQF-EXT %s
605 // CHECK-XSFVFNRCLIPXFQF-EXT: __riscv_xsfvfnrclipxfqf 1000000{{$}}
607 // RUN: %clang --target=riscv32-unknown-linux-gnu \
608 // RUN: -march=rv32ixsfvfwmaccqqq -E -dM %s \
609 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFWMACCQQQ-EXT %s
610 // RUN: %clang --target=riscv64-unknown-linux-gnu \
611 // RUN: -march=rv64ixsfvfwmaccqqq -E -dM %s \
612 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFWMACCQQQ-EXT %s
613 // CHECK-XSFVFWMACCQQQ-EXT: __riscv_xsfvfwmaccqqq 1000000{{$}}
615 // RUN: %clang --target=riscv32-unknown-linux-gnu \
616 // RUN: -march=rv32ixsfvqmaccdod -E -dM %s \
617 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCDOD-EXT %s
618 // RUN: %clang --target=riscv64-unknown-linux-gnu \
619 // RUN: -march=rv64ixsfvqmaccdod -E -dM %s \
620 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCDOD-EXT %s
621 // CHECK-XSFVQMACCDOD-EXT: __riscv_xsfvqmaccdod 1000000{{$}}
623 // RUN: %clang --target=riscv32-unknown-linux-gnu \
624 // RUN: -march=rv32ixsfvqmaccqoq -E -dM %s \
625 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCQOQ-EXT %s
626 // RUN: %clang --target=riscv64-unknown-linux-gnu \
627 // RUN: -march=rv64ixsfvqmaccqoq -E -dM %s \
628 // RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCQOQ-EXT %s
629 // CHECK-XSFVQMACCQOQ-EXT: __riscv_xsfvqmaccqoq 1000000{{$}}
631 // RUN: %clang --target=riscv32-unknown-linux-gnu \
632 // RUN: -march=rv32ixsifivecdiscarddlone -E -dM %s \
633 // RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECDISCARDDLONE-EXT %s
634 // RUN: %clang --target=riscv64-unknown-linux-gnu \
635 // RUN: -march=rv64ixsifivecdiscarddlone -E -dM %s \
636 // RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECDISCARDDLONE-EXT %s
637 // CHECK-XSIFIVECDISCARDDLONE-EXT: __riscv_xsifivecdiscarddlone 1000000{{$}}
639 // RUN: %clang --target=riscv32-unknown-linux-gnu \
640 // RUN: -march=rv32ixsifivecflushdlone -E -dM %s \
641 // RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECFLUSHDLONE-EXT %s
642 // RUN: %clang --target=riscv64-unknown-linux-gnu \
643 // RUN: -march=rv64ixsifivecflushdlone -E -dM %s \
644 // RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECFLUSHDLONE-EXT %s
645 // CHECK-XSIFIVECFLUSHDLONE-EXT: __riscv_xsifivecflushdlone 1000000{{$}}
647 // RUN: %clang --target=riscv32-unknown-linux-gnu \
648 // RUN: -march=rv32ixtheadba -E -dM %s \
649 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADBA-EXT %s
650 // RUN: %clang --target=riscv64-unknown-linux-gnu \
651 // RUN: -march=rv64ixtheadba -E -dM %s \
652 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADBA-EXT %s
653 // CHECK-XTHEADBA-EXT: __riscv_xtheadba 1000000{{$}}
655 // RUN: %clang --target=riscv32-unknown-linux-gnu \
656 // RUN: -march=rv32ixtheadbb -E -dM %s \
657 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADBB-EXT %s
658 // RUN: %clang --target=riscv64-unknown-linux-gnu \
659 // RUN: -march=rv64ixtheadbb -E -dM %s \
660 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADBB-EXT %s
661 // CHECK-XTHEADBB-EXT: __riscv_xtheadbb 1000000{{$}}
663 // RUN: %clang --target=riscv32-unknown-linux-gnu \
664 // RUN: -march=rv32ixtheadbs -E -dM %s \
665 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADBS-EXT %s
666 // RUN: %clang --target=riscv64-unknown-linux-gnu \
667 // RUN: -march=rv64ixtheadbs -E -dM %s \
668 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADBS-EXT %s
669 // CHECK-XTHEADBS-EXT: __riscv_xtheadbs 1000000{{$}}
671 // RUN: %clang --target=riscv32-unknown-linux-gnu \
672 // RUN: -march=rv32ixtheadcmo -E -dM %s \
673 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADCMO-EXT %s
674 // RUN: %clang --target=riscv64-unknown-linux-gnu \
675 // RUN: -march=rv64ixtheadcmo -E -dM %s \
676 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADCMO-EXT %s
677 // CHECK-XTHEADCMO-EXT: __riscv_xtheadcmo 1000000{{$}}
679 // RUN: %clang --target=riscv32-unknown-linux-gnu \
680 // RUN: -march=rv32ixtheadcondmov -E -dM %s \
681 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADCONDMOV-EXT %s
682 // RUN: %clang --target=riscv64-unknown-linux-gnu \
683 // RUN: -march=rv64ixtheadcondmov -E -dM %s \
684 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADCONDMOV-EXT %s
685 // CHECK-XTHEADCONDMOV-EXT: __riscv_xtheadcondmov 1000000{{$}}
687 // RUN: %clang --target=riscv32-unknown-linux-gnu \
688 // RUN: -march=rv32ixtheadfmemidx -E -dM %s \
689 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADFMEMIDX-EXT %s
690 // RUN: %clang --target=riscv64-unknown-linux-gnu \
691 // RUN: -march=rv64ixtheadfmemidx -E -dM %s \
692 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADFMEMIDX-EXT %s
693 // CHECK-XTHEADFMEMIDX-EXT: __riscv_xtheadfmemidx 1000000{{$}}
695 // RUN: %clang --target=riscv32-unknown-linux-gnu \
696 // RUN: -march=rv32ixtheadmac -E -dM %s \
697 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADMAC-EXT %s
698 // RUN: %clang --target=riscv64-unknown-linux-gnu \
699 // RUN: -march=rv64ixtheadmac -E -dM %s \
700 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADMAC-EXT %s
701 // CHECK-XTHEADMAC-EXT: __riscv_xtheadmac 1000000{{$}}
703 // RUN: %clang --target=riscv32-unknown-linux-gnu \
704 // RUN: -march=rv32ixtheadmemidx -E -dM %s \
705 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADMEMIDX-EXT %s
706 // RUN: %clang --target=riscv64-unknown-linux-gnu \
707 // RUN: -march=rv64ixtheadmemidx -E -dM %s \
708 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADMEMIDX-EXT %s
709 // CHECK-XTHEADMEMIDX-EXT: __riscv_xtheadmemidx 1000000{{$}}
711 // RUN: %clang --target=riscv32-unknown-linux-gnu \
712 // RUN: -march=rv32ixtheadmempair -E -dM %s \
713 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADMEMPAIR-EXT %s
714 // RUN: %clang --target=riscv64-unknown-linux-gnu \
715 // RUN: -march=rv64ixtheadmempair -E -dM %s \
716 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADMEMPAIR-EXT %s
717 // CHECK-XTHEADMEMPAIR-EXT: __riscv_xtheadmempair 1000000{{$}}
719 // RUN: %clang --target=riscv32-unknown-linux-gnu \
720 // RUN: -march=rv32ixtheadsync -E -dM %s \
721 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADSYNC-EXT %s
722 // RUN: %clang --target=riscv64-unknown-linux-gnu \
723 // RUN: -march=rv64ixtheadsync -E -dM %s \
724 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADSYNC-EXT %s
725 // CHECK-XTHEADSYNC-EXT: __riscv_xtheadsync 1000000{{$}}
727 // RUN: %clang --target=riscv32-unknown-linux-gnu \
728 // RUN: -march=rv32ixtheadvdot -E -dM %s \
729 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADVDOT-EXT %s
730 // RUN: %clang --target=riscv64-unknown-linux-gnu \
731 // RUN: -march=rv64ixtheadvdot -E -dM %s \
732 // RUN: -o - | FileCheck --check-prefix=CHECK-XTHEADVDOT-EXT %s
733 // CHECK-XTHEADVDOT-EXT: __riscv_xtheadvdot 1000000{{$}}
735 // RUN: %clang --target=riscv32-unknown-linux-gnu \
736 // RUN: -march=rv32ixventanacondops -E -dM %s \
737 // RUN: -o - | FileCheck --check-prefix=CHECK-XVENTANACONDOPS-EXT %s
738 // RUN: %clang --target=riscv64-unknown-linux-gnu \
739 // RUN: -march=rv64ixventanacondops -E -dM %s \
740 // RUN: -o - | FileCheck --check-prefix=CHECK-XVENTANACONDOPS-EXT %s
741 // CHECK-XVENTANACONDOPS-EXT: __riscv_xventanacondops 1000000{{$}}
743 // RUN: %clang --target=riscv32-unknown-linux-gnu \
744 // RUN: -march=rv32iza128rs -E -dM %s \
745 // RUN: -o - | FileCheck --check-prefix=CHECK-ZA128RS-EXT %s
746 // RUN: %clang --target=riscv64-unknown-linux-gnu \
747 // RUN: -march=rv64iza128rs -E -dM %s \
748 // RUN: -o - | FileCheck --check-prefix=CHECK-ZA128RS-EXT %s
749 // CHECK-ZA128RS-EXT: __riscv_za128rs 1000000{{$}}
751 // RUN: %clang --target=riscv32-unknown-linux-gnu \
752 // RUN: -march=rv32iza64rs -E -dM %s \
753 // RUN: -o - | FileCheck --check-prefix=CHECK-ZA64RS-EXT %s
754 // RUN: %clang --target=riscv64-unknown-linux-gnu \
755 // RUN: -march=rv64iza64rs -E -dM %s \
756 // RUN: -o - | FileCheck --check-prefix=CHECK-ZA64RS-EXT %s
757 // CHECK-ZA64RS-EXT: __riscv_za64rs 1000000{{$}}
759 // RUN: %clang --target=riscv32 \
760 // RUN: -march=rv32i_zaamo1p0 -E -dM %s \
761 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAAMO-EXT %s
762 // RUN: %clang --target=riscv64 \
763 // RUN: -march=rv64i_zaamo1p0 -E -dM %s \
764 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAAMO-EXT %s
765 // CHECK-ZAAMO-EXT: __riscv_zaamo 1000000{{$}}
767 // RUN: %clang --target=riscv32 \
768 // RUN: -march=rv32ia_zabha1p0 -E -dM %s \
769 // RUN: -o - | FileCheck --check-prefix=CHECK-ZABHA-EXT %s
770 // RUN: %clang --target=riscv64 \
771 // RUN: -march=rv64ia_zabha1p0 -E -dM %s \
772 // RUN: -o - | FileCheck --check-prefix=CHECK-ZABHA-EXT %s
773 // CHECK-ZABHA-EXT: __riscv_zabha 1000000{{$}}
775 // RUN: %clang --target=riscv32 \
776 // RUN: -march=rv32ia_zacas1p0 -E -dM %s \
777 // RUN: -o - | FileCheck --check-prefix=CHECK-ZACAS-EXT %s
778 // RUN: %clang --target=riscv64 \
779 // RUN: -march=rv64ia_zacas1p0 -E -dM %s \
780 // RUN: -o - | FileCheck --check-prefix=CHECK-ZACAS-EXT %s
781 // CHECK-ZACAS-EXT: __riscv_zacas 1000000{{$}}
783 // RUN: %clang --target=riscv32 \
784 // RUN: -march=rv32i_zalrsc1p0 -E -dM %s \
785 // RUN: -o - | FileCheck --check-prefix=CHECK-ZALRSC-EXT %s
786 // RUN: %clang --target=riscv64 \
787 // RUN: -march=rv64i_zalrsc1p0 -E -dM %s \
788 // RUN: -o - | FileCheck --check-prefix=CHECK-ZALRSC-EXT %s
789 // CHECK-ZALRSC-EXT: __riscv_zalrsc 1000000{{$}}
791 // RUN: %clang --target=riscv32 -march=rv32izama16b -x c -E -dM %s \
792 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAMA16B-EXT %s
793 // RUN: %clang --target=riscv64 -march=rv64izama16b -x c -E -dM %s \
794 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAMA16B-EXT %s
795 // CHECK-ZAMA16B-EXT: __riscv_zama16b 1000000{{$}}
797 // RUN: %clang --target=riscv32-unknown-linux-gnu \
798 // RUN: -march=rv32izawrs -E -dM %s \
799 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAWRS-EXT %s
800 // RUN: %clang --target=riscv64-unknown-linux-gnu \
801 // RUN: -march=rv64izawrs -E -dM %s \
802 // RUN: -o - | FileCheck --check-prefix=CHECK-ZAWRS-EXT %s
803 // CHECK-ZAWRS-EXT: __riscv_zawrs 1000000{{$}}
805 // RUN: %clang --target=riscv32-unknown-linux-gnu \
806 // RUN: -march=rv32izba1p0 -E -dM %s \
807 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
808 // RUN: %clang --target=riscv32-unknown-linux-gnu \
809 // RUN: -march=rv32izba -E -dM %s \
810 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
811 // RUN: %clang --target=riscv64-unknown-linux-gnu \
812 // RUN: -march=rv64izba1p0 -E -dM %s \
813 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
814 // RUN: %clang --target=riscv64-unknown-linux-gnu \
815 // RUN: -march=rv64izba -E -dM %s \
816 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s
817 // CHECK-ZBA-EXT: __riscv_zba 1000000{{$}}
819 // RUN: %clang --target=riscv32-unknown-linux-gnu \
820 // RUN: -march=rv32izbb1p0 -E -dM %s \
821 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
822 // RUN: %clang --target=riscv32-unknown-linux-gnu \
823 // RUN: -march=rv32izbb -E -dM %s \
824 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
825 // RUN: %clang --target=riscv64-unknown-linux-gnu \
826 // RUN: -march=rv64izbb1p0 -E -dM %s \
827 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
828 // RUN: %clang --target=riscv64-unknown-linux-gnu \
829 // RUN: -march=rv64izbb -E -dM %s \
830 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s
831 // CHECK-ZBB-EXT: __riscv_zbb 1000000{{$}}
833 // RUN: %clang --target=riscv32-unknown-linux-gnu \
834 // RUN: -march=rv32izbc1p0 -E -dM %s \
835 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
836 // RUN: %clang --target=riscv32-unknown-linux-gnu \
837 // RUN: -march=rv32izbc -E -dM %s \
838 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
839 // RUN: %clang --target=riscv64-unknown-linux-gnu \
840 // RUN: -march=rv64izbc1p0 -E -dM %s \
841 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
842 // RUN: %clang --target=riscv64-unknown-linux-gnu \
843 // RUN: -march=rv64izbc -E -dM %s \
844 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s
845 // CHECK-ZBC-EXT: __riscv_zbc 1000000{{$}}
847 // RUN: %clang --target=riscv32-unknown-linux-gnu \
848 // RUN: -march=rv32izbkb1p0 -E -dM %s \
849 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBKB-EXT %s
850 // RUN: %clang --target=riscv64-unknown-linux-gnu \
851 // RUN: -march=rv64izbkb1p0 -E -dM %s \
852 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBKB-EXT %s
853 // CHECK-ZBKB-EXT: __riscv_zbkb
855 // RUN: %clang --target=riscv32-unknown-linux-gnu \
856 // RUN: -march=rv32izbkc1p0 -E -dM %s \
857 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBKC-EXT %s
858 // RUN: %clang --target=riscv64-unknown-linux-gnu \
859 // RUN: -march=rv64izbkc1p0 -E -dM %s \
860 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBKC-EXT %s
861 // CHECK-ZBKC-EXT: __riscv_zbkc
863 // RUN: %clang --target=riscv32-unknown-linux-gnu \
864 // RUN: -march=rv32izbkx1p0 -E -dM %s \
865 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBKX-EXT %s
866 // RUN: %clang --target=riscv64-unknown-linux-gnu \
867 // RUN: -march=rv64izbkx1p0 -E -dM %s \
868 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBKX-EXT %s
869 // CHECK-ZBKX-EXT: __riscv_zbkx
871 // RUN: %clang --target=riscv32-unknown-linux-gnu \
872 // RUN: -march=rv32izbs1p0 -E -dM %s \
873 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
874 // RUN: %clang --target=riscv32-unknown-linux-gnu \
875 // RUN: -march=rv32izbs -E -dM %s \
876 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
877 // RUN: %clang --target=riscv64-unknown-linux-gnu \
878 // RUN: -march=rv64izbs1p0 -E -dM %s \
879 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
880 // RUN: %clang --target=riscv64-unknown-linux-gnu \
881 // RUN: -march=rv64izbs -E -dM %s \
882 // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s
883 // CHECK-ZBS-EXT: __riscv_zbs 1000000{{$}}
885 // RUN: %clang --target=riscv32-unknown-linux-gnu \
886 // RUN: -march=rv32izca1p0 -E -dM %s \
887 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCA-EXT %s
888 // RUN: %clang --target=riscv64-unknown-linux-gnu \
889 // RUN: -march=rv64izca1p0 -E -dM %s \
890 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCA-EXT %s
891 // CHECK-ZCA-EXT: __riscv_zca 1000000{{$}}
893 // RUN: %clang --target=riscv32-unknown-linux-gnu \
894 // RUN: -march=rv32izcb1p0 -E -dM %s \
895 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCB-EXT %s
896 // RUN: %clang --target=riscv64-unknown-linux-gnu \
897 // RUN: -march=rv64izcb1p0 -E -dM %s \
898 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCB-EXT %s
899 // CHECK-ZCB-EXT: __riscv_zca 1000000{{$}}
900 // CHECK-ZCB-EXT: __riscv_zcb 1000000{{$}}
902 // RUN: %clang --target=riscv32-unknown-linux-gnu \
903 // RUN: -march=rv32izcd1p0 -E -dM %s \
904 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCD-EXT %s
905 // RUN: %clang --target=riscv64-unknown-linux-gnu \
906 // RUN: -march=rv64izcd1p0 -E -dM %s \
907 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCD-EXT %s
908 // CHECK-ZCD-EXT: __riscv_zcd 1000000{{$}}
910 // RUN: %clang --target=riscv32-unknown-linux-gnu \
911 // RUN: -march=rv32izce1p0 -E -dM %s \
912 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCE-EXT %s
913 // RUN: %clang --target=riscv64-unknown-linux-gnu \
914 // RUN: -march=rv64izce1p0 -E -dM %s \
915 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCE-EXT %s
916 // CHECK-ZCE-EXT: __riscv_zce 1000000{{$}}
918 // RUN: %clang --target=riscv32-unknown-linux-gnu \
919 // RUN: -march=rv32izcf1p0 -E -dM %s \
920 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCF-EXT %s
921 // CHECK-ZCF-EXT: __riscv_zcf 1000000{{$}}
923 // RUN: %clang --target=riscv32-unknown-linux-gnu \
924 // RUN: -march=rv32i_zcmop1p0 -E -dM %s \
925 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCMOP-EXT %s
926 // RUN: %clang --target=riscv64-unknown-linux-gnu \
927 // RUN: -march=rv64i_zcmop1p0 -E -dM %s \
928 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCMOP-EXT %s
929 // CHECK-ZCMOP-EXT: __riscv_zcmop 1000000{{$}}
931 // RUN: %clang --target=riscv32-unknown-linux-gnu \
932 // RUN: -march=rv32izcmp1p0 -E -dM %s \
933 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCMP-EXT %s
934 // RUN: %clang --target=riscv64-unknown-linux-gnu \
935 // RUN: -march=rv64izcmp1p0 -E -dM %s \
936 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCMP-EXT %s
937 // CHECK-ZCMP-EXT: __riscv_zca 1000000{{$}}
938 // CHECK-ZCMP-EXT: __riscv_zcmp 1000000{{$}}
940 // RUN: %clang --target=riscv32-unknown-linux-gnu \
941 // RUN: -march=rv32izcmt1p0 -E -dM %s \
942 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCMT-EXT %s
943 // RUN: %clang --target=riscv64-unknown-linux-gnu \
944 // RUN: -march=rv64izcmt1p0 -E -dM %s \
945 // RUN: -o - | FileCheck --check-prefix=CHECK-ZCMT-EXT %s
946 // CHECK-ZCMT-EXT: __riscv_zca 1000000{{$}}
947 // CHECK-ZCMT-EXT: __riscv_zcmt 1000000{{$}}
949 // RUN: %clang --target=riscv32-unknown-linux-gnu \
950 // RUN: -march=rv32izdinx1p0 -E -dM %s \
951 // RUN: -o - | FileCheck --check-prefix=CHECK-ZDINX-EXT %s
952 // RUN: %clang --target=riscv64-unknown-linux-gnu \
953 // RUN: -march=rv64izdinx1p0 -E -dM %s \
954 // RUN: -o - | FileCheck --check-prefix=CHECK-ZDINX-EXT %s
955 // CHECK-ZDINX-EXT: __riscv_zdinx 1000000{{$}}
956 // CHECK-ZDINX-EXT: __riscv_zfinx 1000000{{$}}
958 // RUN: %clang --target=riscv32-unknown-linux-gnu \
959 // RUN: -march=rv32izfh1p0 -E -dM %s \
960 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFH-EXT %s
961 // RUN: %clang --target=riscv64-unknown-linux-gnu \
962 // RUN: -march=rv64izfh1p0 -E -dM %s \
963 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFH-EXT %s
964 // CHECK-ZFH-EXT: __riscv_f 2002000{{$}}
965 // CHECK-ZFH-EXT: __riscv_zfh 1000000{{$}}
967 // RUN: %clang --target=riscv32-unknown-linux-gnu \
968 // RUN: -march=rv32izfhmin1p0 -E -dM %s \
969 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFHMIN-EXT %s
970 // RUN: %clang --target=riscv64-unknown-linux-gnu \
971 // RUN: -march=rv64izfhmin1p0 -E -dM %s \
972 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFHMIN-EXT %s
973 // CHECK-ZFHMIN-EXT: __riscv_f 2002000{{$}}
974 // CHECK-ZFHMIN-EXT: __riscv_zfhmin 1000000{{$}}
976 // RUN: %clang --target=riscv32-unknown-linux-gnu \
977 // RUN: -march=rv32izfinx1p0 -E -dM %s \
978 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFINX-EXT %s
979 // RUN: %clang --target=riscv64-unknown-linux-gnu \
980 // RUN: -march=rv64izfinx1p0 -E -dM %s \
981 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFINX-EXT %s
982 // CHECK-ZFINX-EXT: __riscv_zfinx 1000000{{$}}
984 // RUN: %clang --target=riscv32-unknown-linux-gnu \
985 // RUN: -march=rv32izhinx1p0 -E -dM %s \
986 // RUN: -o - | FileCheck --check-prefix=CHECK-ZHINX-EXT %s
987 // RUN: %clang --target=riscv64-unknown-linux-gnu \
988 // RUN: -march=rv64izhinx1p0 -E -dM %s \
989 // RUN: -o - | FileCheck --check-prefix=CHECK-ZHINX-EXT %s
990 // CHECK-ZHINX-EXT: __riscv_zhinx 1000000{{$}}
992 // RUN: %clang --target=riscv32-unknown-linux-gnu \
993 // RUN: -march=rv32izhinxmin1p0 -E -dM %s \
994 // RUN: -o - | FileCheck --check-prefix=CHECK-ZHINXMIN-EXT %s
995 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64izhinxmin1p0 -E -dM %s \
996 // RUN: -o - | FileCheck --check-prefix=CHECK-ZHINXMIN-EXT %s
997 // CHECK-ZHINXMIN-EXT: __riscv_zhinxmin 1000000{{$}}
999 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1000 // RUN: -march=rv32izic64b -E -dM %s \
1001 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIC64B-EXT %s
1002 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1003 // RUN: -march=rv64izic64b -E -dM %s \
1004 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIC64B-EXT %s
1005 // CHECK-ZIC64B-EXT: __riscv_zic64b 1000000{{$}}
1007 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1008 // RUN: -march=rv32izicbom -E -dM %s \
1009 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOM-EXT %s
1010 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1011 // RUN: -march=rv64izicbom -E -dM %s \
1012 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOM-EXT %s
1013 // CHECK-ZICBOM-EXT: __riscv_zicbom 1000000{{$}}
1015 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1016 // RUN: -march=rv32izicbop -E -dM %s \
1017 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOP-EXT %s
1018 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1019 // RUN: -march=rv64izicbop -E -dM %s \
1020 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOP-EXT %s
1021 // CHECK-ZICBOP-EXT: __riscv_zicbop 1000000{{$}}
1023 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1024 // RUN: -march=rv32izicboz -E -dM %s \
1025 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOZ-EXT %s
1026 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1027 // RUN: -march=rv64izicboz -E -dM %s \
1028 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICBOZ-EXT %s
1029 // CHECK-ZICBOZ-EXT: __riscv_zicboz 1000000{{$}}
1031 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1032 // RUN: -march=rv32iziccamoa -E -dM %s \
1033 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCAMOA-EXT %s
1034 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1035 // RUN: -march=rv64iziccamoa -E -dM %s \
1036 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCAMOA-EXT %s
1037 // CHECK-ZICCAMOA-EXT: __riscv_ziccamoa 1000000{{$}}
1039 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1040 // RUN: -march=rv32iziccif -E -dM %s \
1041 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCIF-EXT %s
1042 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1043 // RUN: -march=rv64iziccif -E -dM %s \
1044 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCIF-EXT %s
1045 // CHECK-ZICCIF-EXT: __riscv_ziccif 1000000{{$}}
1047 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1048 // RUN: -march=rv32izicclsm -E -dM %s \
1049 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCLSM-EXT %s
1050 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1051 // RUN: -march=rv64izicclsm -E -dM %s \
1052 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCLSM-EXT %s
1053 // CHECK-ZICCLSM-EXT: __riscv_zicclsm 1000000{{$}}
1055 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1056 // RUN: -march=rv32iziccrse -E -dM %s \
1057 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCRSE-EXT %s
1058 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1059 // RUN: -march=rv64iziccrse -E -dM %s \
1060 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICCRSE-EXT %s
1061 // CHECK-ZICCRSE-EXT: __riscv_ziccrse 1000000{{$}}
1063 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1064 // RUN: -march=rv32izicntr -E -dM %s \
1065 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICNTR-EXT %s
1066 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1067 // RUN: -march=rv64izicntr -E -dM %s \
1068 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICNTR-EXT %s
1069 // CHECK-ZICNTR-EXT: __riscv_zicntr 2000000{{$}}
1071 // RUN: %clang --target=riscv32 \
1072 // RUN: -march=rv32i_zicond -E -dM %s \
1073 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICOND-EXT %s
1074 // RUN: %clang --target=riscv64 \
1075 // RUN: -march=rv64i_zicond -E -dM %s \
1076 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICOND-EXT %s
1077 // CHECK-ZICOND-EXT: __riscv_zicond 1000000{{$}}
1079 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1080 // RUN: -march=rv32izicsr2p0 -E -dM %s \
1081 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICSR-EXT %s
1082 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1083 // RUN: -march=rv64izicsr2p0 -E -dM %s \
1084 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICSR-EXT %s
1085 // CHECK-ZICSR-EXT: __riscv_zicsr 2000000{{$}}
1087 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1088 // RUN: -march=rv32izifencei2p0 -E -dM %s \
1089 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIFENCEI-EXT %s
1090 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1091 // RUN: -march=rv64izifencei2p0 -E -dM %s \
1092 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIFENCEI-EXT %s
1093 // CHECK-ZIFENCEI-EXT: __riscv_zifencei 2000000{{$}}
1095 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1096 // RUN: -march=rv32izihintntl1p0 -E -dM %s \
1097 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHINTNTL-EXT %s
1098 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1099 // RUN: -march=rv64izihintntl1p0 -E -dM %s \
1100 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHINTNTL-EXT %s
1101 // CHECK-ZIHINTNTL-EXT: __riscv_zihintntl 1000000{{$}}
1103 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1104 // RUN: -march=rv32izihintpause2p0 -E -dM %s \
1105 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHINTPAUSE-EXT %s
1106 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1107 // RUN: -march=rv64izihintpause2p0 -E -dM %s \
1108 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHINTPAUSE-EXT %s
1109 // CHECK-ZIHINTPAUSE-EXT: __riscv_zihintpause 2000000{{$}}
1111 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1112 // RUN: -march=rv32izihpm -E -dM %s \
1113 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHPM-EXT %s
1114 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1115 // RUN: -march=rv64izihpm -E -dM %s \
1116 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIHPM-EXT %s
1117 // CHECK-ZIHPM-EXT: __riscv_zihpm 2000000{{$}}
1119 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1120 // RUN: -march=rv32i_zimop1p0 -E -dM %s \
1121 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIMOP-EXT %s
1122 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1123 // RUN: -march=rv64i_zimop1p0 -E -dM %s \
1124 // RUN: -o - | FileCheck --check-prefix=CHECK-ZIMOP-EXT %s
1125 // CHECK-ZIMOP-EXT: __riscv_zimop 1000000{{$}}
1127 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1128 // RUN: -march=rv32izk1p0 -E -dM %s \
1129 // RUN: -o - | FileCheck --check-prefix=CHECK-ZK-EXT %s
1130 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1131 // RUN: -march=rv64izk1p0 -E -dM %s \
1132 // RUN: -o - | FileCheck --check-prefix=CHECK-ZK-EXT %s
1133 // CHECK-ZK-EXT: __riscv_zk
1135 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1136 // RUN: -march=rv32i_zkn_zkt_zkr -E -dM %s \
1137 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZK %s
1138 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1139 // RUN: -march=rv64i_zkn_zkt_zkr -E -dM %s \
1140 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZK %s
1141 // CHECK-COMBINE-INTO-ZK: __riscv_zk 1
1143 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1144 // RUN: -march=rv32izkn1p0 -E -dM %s \
1145 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKN-EXT %s
1146 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1147 // RUN: -march=rv64izkn1p0 -E -dM %s \
1148 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKN-EXT %s
1149 // CHECK-ZKN-EXT: __riscv_zkn
1151 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1152 // RUN: -march=rv32i_zbkb_zbkc_zbkx_zkne_zknd_zknh -E -dM %s \
1153 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKN %s
1154 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1155 // RUN: -march=rv64i_zbkb_zbkc_zbkx_zkne_zknd_zknh -E -dM %s \
1156 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKN %s
1157 // CHECK-COMBINE-INTO-ZKN: __riscv_zkn 1
1159 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1160 // RUN: -march=rv32izknd1p0 -E -dM %s \
1161 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKND-EXT %s
1162 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1163 // RUN: -march=rv64izknd1p0 -E -dM %s \
1164 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKND-EXT %s
1165 // CHECK-ZKND-EXT: __riscv_zknd
1167 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1168 // RUN: -march=rv32izkne1p0 -E -dM %s \
1169 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKNE-EXT %s
1170 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1171 // RUN: -march=rv64izkne1p0 -E -dM %s \
1172 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKNE-EXT %s
1173 // CHECK-ZKNE-EXT: __riscv_zkne
1175 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1176 // RUN: -march=rv32izknh1p0 -E -dM %s \
1177 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKNH-EXT %s
1178 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1179 // RUN: -march=rv64izknh1p0 -E -dM %s \
1180 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKNH-EXT %s
1181 // CHECK-ZKNH-EXT: __riscv_zknh
1183 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1184 // RUN: -march=rv32izkr1p0 -E -dM %s \
1185 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKR-EXT %s
1186 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1187 // RUN: -march=rv64izkr1p0 -E -dM %s \
1188 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKR-EXT %s
1189 // CHECK-ZKR-EXT: __riscv_zkr
1191 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1192 // RUN: -march=rv32i_zbkb_zbkc_zbkx_zksed_zksh -E -dM %s \
1193 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKS %s
1194 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1195 // RUN: -march=rv64i_zbkb_zbkc_zbkx_zksed_zksh -E -dM %s \
1196 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZKS %s
1197 // CHECK-COMBINE-INTO-ZKS: __riscv_zks 1
1199 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1200 // RUN: -march=rv32izks1p0 -E -dM %s \
1201 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKS-EXT %s
1202 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1203 // RUN: -march=rv64izks1p0 -E -dM %s \
1204 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKS-EXT %s
1205 // CHECK-ZKS-EXT: __riscv_zks
1207 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1208 // RUN: -march=rv32izksed1p0 -E -dM %s \
1209 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKSED-EXT %s
1210 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1211 // RUN: -march=rv64izksed1p0 -E -dM %s \
1212 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKSED-EXT %s
1213 // CHECK-ZKSED-EXT: __riscv_zksed
1215 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1216 // RUN: -march=rv32izksh1p0 -E -dM %s \
1217 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKSH-EXT %s
1218 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1219 // RUN: -march=rv64izksh1p0 -E -dM %s \
1220 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKSH-EXT %s
1221 // CHECK-ZKSH-EXT: __riscv_zksh
1223 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1224 // RUN: -march=rv32izkt1p0 -E -dM %s \
1225 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKT-EXT %s
1226 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1227 // RUN: -march=rv64izkt1p0 -E -dM %s \
1228 // RUN: -o - | FileCheck --check-prefix=CHECK-ZKT-EXT %s
1229 // CHECK-ZKT-EXT: __riscv_zkt
1231 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1232 // RUN: -march=rv32izmmul1p0 -E -dM %s \
1233 // RUN: -o - | FileCheck --check-prefix=CHECK-ZMMUL-EXT %s
1234 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1235 // RUN: -march=rv64izmmul1p0 -E -dM %s \
1236 // RUN: -o - | FileCheck --check-prefix=CHECK-ZMMUL-EXT %s
1237 // CHECK-ZMMUL-EXT: __riscv_zmmul
1239 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1240 // RUN: -march=rv32ifzve32f1p0 -E -dM %s \
1241 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE32F-EXT %s
1242 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1243 // RUN: -march=rv64ifzve32f1p0 -E -dM %s \
1244 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE32F-EXT %s
1245 // CHECK-ZVE32F-EXT: __riscv_v_elen 32
1246 // CHECK-ZVE32F-EXT: __riscv_v_elen_fp 32
1247 // CHECK-ZVE32F-EXT: __riscv_v_intrinsic 12000{{$}}
1248 // CHECK-ZVE32F-EXT: __riscv_v_min_vlen 32
1249 // CHECK-ZVE32F-EXT: __riscv_vector 1
1250 // CHECK-ZVE32F-EXT: __riscv_zve32f 1000000{{$}}
1251 // CHECK-ZVE32F-EXT: __riscv_zve32x 1000000{{$}}
1253 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1254 // RUN: -march=rv32izve32x1p0 -E -dM %s \
1255 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE32X-EXT %s
1256 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1257 // RUN: -march=rv64izve32x1p0 -E -dM %s \
1258 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE32X-EXT %s
1259 // CHECK-ZVE32X-EXT: __riscv_v_elen 32
1260 // CHECK-ZVE32X-EXT: __riscv_v_elen_fp 0
1261 // CHECK-ZVE32X-EXT: __riscv_v_intrinsic 12000{{$}}
1262 // CHECK-ZVE32X-EXT: __riscv_v_min_vlen 32
1263 // CHECK-ZVE32X-EXT: __riscv_vector 1
1264 // CHECK-ZVE32X-EXT: __riscv_zve32x 1000000{{$}}
1266 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1267 // RUN: -march=rv32ifdzve64d1p0 -E -dM %s \
1268 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64D-EXT %s
1269 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1270 // RUN: -march=rv64ifdzve64d1p0 -E -dM %s \
1271 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64D-EXT %s
1272 // CHECK-ZVE64D-EXT: __riscv_v_elen 64
1273 // CHECK-ZVE64D-EXT: __riscv_v_elen_fp 64
1274 // CHECK-ZVE64D-EXT: __riscv_v_intrinsic 12000{{$}}
1275 // CHECK-ZVE64D-EXT: __riscv_v_min_vlen 64
1276 // CHECK-ZVE64D-EXT: __riscv_vector 1
1277 // CHECK-ZVE64D-EXT: __riscv_zve32f 1000000{{$}}
1278 // CHECK-ZVE64D-EXT: __riscv_zve32x 1000000{{$}}
1279 // CHECK-ZVE64D-EXT: __riscv_zve64d 1000000{{$}}
1280 // CHECK-ZVE64D-EXT: __riscv_zve64f 1000000{{$}}
1281 // CHECK-ZVE64D-EXT: __riscv_zve64x 1000000{{$}}
1283 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1284 // RUN: -march=rv32ifzve64f1p0 -E -dM %s \
1285 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64F-EXT %s
1286 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1287 // RUN: -march=rv64ifzve64f1p0 -E -dM %s \
1288 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64F-EXT %s
1289 // CHECK-ZVE64F-EXT: __riscv_v_elen 64
1290 // CHECK-ZVE64F-EXT: __riscv_v_elen_fp 32
1291 // CHECK-ZVE64F-EXT: __riscv_v_intrinsic 12000{{$}}
1292 // CHECK-ZVE64F-EXT: __riscv_v_min_vlen 64
1293 // CHECK-ZVE64F-EXT: __riscv_vector 1
1294 // CHECK-ZVE64F-EXT: __riscv_zve32f 1000000{{$}}
1295 // CHECK-ZVE64F-EXT: __riscv_zve32x 1000000{{$}}
1296 // CHECK-ZVE64F-EXT: __riscv_zve64f 1000000{{$}}
1297 // CHECK-ZVE64F-EXT: __riscv_zve64x 1000000{{$}}
1299 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1300 // RUN: -march=rv32izve64x1p0 -E -dM %s \
1301 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64X-EXT %s
1302 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1303 // RUN: -march=rv64izve64x1p0 -E -dM %s \
1304 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64X-EXT %s
1305 // CHECK-ZVE64X-EXT: __riscv_v_elen 64
1306 // CHECK-ZVE64X-EXT: __riscv_v_elen_fp 0
1307 // CHECK-ZVE64X-EXT: __riscv_v_intrinsic 12000{{$}}
1308 // CHECK-ZVE64X-EXT: __riscv_v_min_vlen 64
1309 // CHECK-ZVE64X-EXT: __riscv_vector 1
1310 // CHECK-ZVE64X-EXT: __riscv_zve32x 1000000{{$}}
1311 // CHECK-ZVE64X-EXT: __riscv_zve64x 1000000{{$}}
1313 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1314 // RUN: -march=rv32izvfh1p0 -E -dM %s \
1315 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFH-EXT %s
1316 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1317 // RUN: -march=rv64izvfh1p0 -E -dM %s \
1318 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFH-EXT %s
1319 // CHECK-ZVFH-EXT: __riscv_zvfh
1321 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1322 // RUN: -march=rv32izve32x1p0_zvl32b1p0 -E -dM %s \
1323 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL32b %s
1324 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1325 // RUN: -march=rv64izve32x1p0_zvl32b1p0 -E -dM %s \
1326 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL32b %s
1327 // CHECK-ZVL32b: __riscv_v_min_vlen 32
1329 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1330 // RUN: -march=rv32izve32x1p0_zvl64b1p0 -E -dM %s \
1331 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL64b %s
1332 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1333 // RUN: -march=rv64izve32x1p0_zvl64b1p0 -E -dM %s \
1334 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL64b %s
1335 // CHECK-ZVL64b: __riscv_v_min_vlen 64
1337 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1338 // RUN: -march=rv32iv1p0_zvl128b1p0 -E -dM %s \
1339 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL128b %s
1340 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1341 // RUN: -march=rv64iv1p0_zvl128b1p0 -E -dM %s \
1342 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL128b %s
1343 // CHECK-ZVL128b: __riscv_v_min_vlen 128
1345 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1346 // RUN: -march=rv32iv1p0_zvl256b1p0 -E -dM %s \
1347 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL256b %s
1348 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1349 // RUN: -march=rv64iv1p0_zvl256b1p0 -E -dM %s \
1350 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL256b %s
1351 // CHECK-ZVL256b: __riscv_v_min_vlen 256
1353 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1354 // RUN: -march=rv32iv1p0_zvl512b1p0 -E -dM %s \
1355 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL512b %s
1356 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1357 // RUN: -march=rv64iv1p0_zvl512b1p0 -E -dM %s \
1358 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL512b %s
1359 // CHECK-ZVL512b: __riscv_v_min_vlen 512
1361 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1362 // RUN: -march=rv32iv1p0_zvl1024b1p0 -E -dM %s \
1363 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL1024b %s
1364 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1365 // RUN: -march=rv64iv1p0_zvl1024b1p0 -E -dM %s \
1366 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL1024b %s
1367 // CHECK-ZVL1024b: __riscv_v_min_vlen 1024
1369 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1370 // RUN: -march=rv32iv1p0_zvl2048b1p0 -E -dM %s \
1371 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL2048b %s
1372 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1373 // RUN: -march=rv64iv1p0_zvl2048b1p0 -E -dM %s \
1374 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL2048b %s
1375 // CHECK-ZVL2048b: __riscv_v_min_vlen 2048
1377 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1378 // RUN: -march=rv32iv1p0_zvl4096b1p0 -E -dM %s \
1379 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL4096b %s
1380 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1381 // RUN: -march=rv64iv1p0_zvl4096b1p0 -E -dM %s \
1382 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL4096b %s
1383 // CHECK-ZVL4096b: __riscv_v_min_vlen 4096
1385 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1386 // RUN: -march=rv32iv1p0_zvl8192b1p0 -E -dM %s \
1387 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL8192b %s
1388 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1389 // RUN: -march=rv64iv1p0_zvl8192b1p0 -E -dM %s \
1390 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL8192b %s
1391 // CHECK-ZVL8192b: __riscv_v_min_vlen 8192
1393 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1394 // RUN: -march=rv32iv1p0_zvl16384b1p0 -E -dM %s \
1395 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL16384b %s
1396 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1397 // RUN: -march=rv64iv1p0_zvl16384b1p0 -E -dM %s \
1398 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL16384b %s
1399 // CHECK-ZVL16384b: __riscv_v_min_vlen 16384
1401 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1402 // RUN: -march=rv32iv1p0_zvl32768b1p0 -E -dM %s \
1403 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL32768b %s
1404 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1405 // RUN: -march=rv64iv1p0_zvl32768b1p0 -E -dM %s \
1406 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL32768b %s
1407 // CHECK-ZVL32768b: __riscv_v_min_vlen 32768
1409 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1410 // RUN: -march=rv32iv1p0_zvl65536b1p0 -E -dM %s \
1411 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL65536b %s
1412 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1413 // RUN: -march=rv64iv1p0_zvl65536b1p0 -E -dM %s \
1414 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVL65536b %s
1415 // CHECK-ZVL65536b: __riscv_v_min_vlen 65536
1417 // RUN: %clang --target=riscv32 \
1418 // RUN: -march=rv32ismaia1p0 -E -dM %s \
1419 // RUN: -o - | FileCheck --check-prefix=CHECK-SMAIA-EXT %s
1420 // RUN: %clang --target=riscv64 \
1421 // RUN: -march=rv64ismaia1p0 -E -dM %s \
1422 // RUN: -o - | FileCheck --check-prefix=CHECK-SMAIA-EXT %s
1423 // CHECK-SMAIA-EXT: __riscv_smaia 1000000{{$}}
1425 // RUN: %clang --target=riscv32 \
1426 // RUN: -march=rv32issaia1p0 -E -dM %s \
1427 // RUN: -o - | FileCheck --check-prefix=CHECK-SSAIA-EXT %s
1428 // RUN: %clang --target=riscv64 \
1429 // RUN: -march=rv64issaia1p0 -E -dM %s \
1430 // RUN: -o - | FileCheck --check-prefix=CHECK-SSAIA-EXT %s
1431 // CHECK-SSAIA-EXT: __riscv_ssaia 1000000{{$}}
1433 // RUN: %clang --target=riscv32 \
1434 // RUN: -march=rv32ismcsrind1p0 -E -dM %s \
1435 // RUN: -o - | FileCheck --check-prefix=CHECK-SMCSRIND-EXT %s
1436 // RUN: %clang --target=riscv64 \
1437 // RUN: -march=rv64ismcsrind1p0 -E -dM %s \
1438 // RUN: -o - | FileCheck --check-prefix=CHECK-SMCSRIND-EXT %s
1439 // CHECK-SMCSRIND-EXT: __riscv_smcsrind 1000000{{$}}
1441 // RUN: %clang --target=riscv32 \
1442 // RUN: -march=rv32isscsrind1p0 -E -dM %s \
1443 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCSRIND-EXT %s
1444 // RUN: %clang --target=riscv64 \
1445 // RUN: -march=rv64isscsrind1p0 -E -dM %s \
1446 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCSRIND-EXT %s
1447 // CHECK-SSCSRIND-EXT: __riscv_sscsrind 1000000{{$}}
1449 // RUN: %clang --target=riscv32 \
1450 // RUN: -march=rv32ismdbltrp1p0 -E -dM %s \
1451 // RUN: -o - | FileCheck --check-prefix=CHECK-SMDBLTRP-EXT %s
1452 // RUN: %clang --target=riscv64 \
1453 // RUN: -march=rv64ismdbltrp1p0 -E -dM %s \
1454 // RUN: -o - | FileCheck --check-prefix=CHECK-SMDBLTRP-EXT %s
1455 // CHECK-SMDBLTRP-EXT: __riscv_smdbltrp 1000000{{$}}
1457 // RUN: %clang --target=riscv32 \
1458 // RUN: -march=rv32issdbltrp1p0 -E -dM %s \
1459 // RUN: -o - | FileCheck --check-prefix=CHECK-SSDBLTRP-EXT %s
1460 // RUN: %clang --target=riscv64 \
1461 // RUN: -march=rv64issdbltrp1p0 -E -dM %s \
1462 // RUN: -o - | FileCheck --check-prefix=CHECK-SSDBLTRP-EXT %s
1463 // CHECK-SSDBLTRP-EXT: __riscv_ssdbltrp 1000000{{$}}
1465 // RUN: %clang --target=riscv32 \
1466 // RUN: -march=rv32i_ssqosid1p0 -E -dM %s \
1467 // RUN: -o - | FileCheck --check-prefix=CHECK-SSQOSID-EXT %s
1468 // RUN: %clang --target=riscv64 \
1469 // RUN: -march=rv64i_ssqosid1p0 -E -dM %s \
1470 // RUN: -o - | FileCheck --check-prefix=CHECK-SSQOSID-EXT %s
1471 // CHECK-SSQOSID-EXT: __riscv_ssqosid 1000000{{$}}
1473 // RUN: %clang --target=riscv32 \
1474 // RUN: -march=rv32ismcdeleg1p0 -E -dM %s \
1475 // RUN: -o - | FileCheck --check-prefix=CHECK-SMCDELEG-EXT %s
1476 // RUN: %clang --target=riscv64 \
1477 // RUN: -march=rv64ismcdeleg1p0 -E -dM %s \
1478 // RUN: -o - | FileCheck --check-prefix=CHECK-SMCDELEG-EXT %s
1479 // CHECK-SMCDELEG-EXT: __riscv_smcdeleg 1000000{{$}}
1481 // RUN: %clang --target=riscv32 \
1482 // RUN: -march=rv32ismepmp1p0 -E -dM %s \
1483 // RUN: -o - | FileCheck --check-prefix=CHECK-SMEPMP-EXT %s
1484 // RUN: %clang --target=riscv64 \
1485 // RUN: -march=rv64ismepmp1p0 -E -dM %s \
1486 // RUN: -o - | FileCheck --check-prefix=CHECK-SMEPMP-EXT %s
1487 // CHECK-SMEPMP-EXT: __riscv_smepmp 1000000{{$}}
1489 // RUN: %clang --target=riscv32 \
1490 // RUN: -march=rv32ismrnmi1p0 -E -dM %s \
1491 // RUN: -o - | FileCheck --check-prefix=CHECK-SMRNMI-EXT %s
1492 // RUN: %clang --target=riscv64 \
1493 // RUN: -march=rv64ismrnmi1p0 -E -dM %s \
1494 // RUN: -o - | FileCheck --check-prefix=CHECK-SMRNMI-EXT %s
1495 // CHECK-SMRNMI-EXT: __riscv_smrnmi 1000000{{$}}
1497 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1498 // RUN: -march=rv32izfa -E -dM %s \
1499 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFA-EXT %s
1500 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1501 // RUN: -march=rv64izfa -E -dM %s \
1502 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFA-EXT %s
1503 // CHECK-ZFA-EXT: __riscv_zfa 1000000{{$}}
1505 // RUN: %clang --target=riscv32 \
1506 // RUN: -march=rv32i_zve64x_zvbb1p0 -E -dM %s \
1507 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBB-EXT %s
1508 // RUN: %clang --target=riscv64 \
1509 // RUN: -march=rv64i_zve64x_zvbb1p0 -E -dM %s \
1510 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBB-EXT %s
1511 // CHECK-ZVBB-EXT: __riscv_zvbb 1000000{{$}}
1513 // RUN: %clang --target=riscv32 \
1514 // RUN: -march=rv32i_zve64x_zvbc1p0 -E -dM %s \
1515 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBC-EXT %s
1516 // RUN: %clang --target=riscv64 \
1517 // RUN: -march=rv64i_zve64x_zvbc1p0 -E -dM %s \
1518 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBC-EXT %s
1519 // CHECK-ZVBC-EXT: __riscv_zvbc 1000000{{$}}
1521 // RUN: %clang --target=riscv32 \
1522 // RUN: -march=rv32i_zve64x_zvkb1p0 -E -dM %s \
1523 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKB-EXT %s
1524 // RUN: %clang --target=riscv64 \
1525 // RUN: -march=rv64i_zve64x_zvkb1p0 -E -dM %s \
1526 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKB-EXT %s
1527 // CHECK-ZVKB-EXT: __riscv_zvkb 1000000{{$}}
1529 // RUN: %clang --target=riscv32 \
1530 // RUN: -march=rv32i_zve32x_zvkg1p0 -E -dM %s \
1531 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKG-EXT %s
1532 // RUN: %clang --target=riscv64 \
1533 // RUN: -march=rv64i_zve32x_zvkg1p0 -E -dM %s \
1534 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKG-EXT %s
1535 // CHECK-ZVKG-EXT: __riscv_zvkg 1000000{{$}}
1537 // RUN: %clang --target=riscv32 \
1538 // RUN: -march=rv32i_zve64x_zvkn1p0 -E -dM %s \
1539 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKN-EXT %s
1540 // RUN: %clang --target=riscv64 \
1541 // RUN: -march=rv64i_zve64x_zvkn1p0 -E -dM %s \
1542 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKN-EXT %s
1543 // CHECK-ZVKN-EXT: __riscv_zvkn 1000000{{$}}
1545 // RUN: %clang --target=riscv32 \
1546 // RUN: -march=rv32iv_zvkb1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -E -dM %s \
1547 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKN %s
1548 // RUN: %clang --target=riscv64 \
1549 // RUN: -march=rv64iv_zvkb1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -E -dM %s \
1550 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKN %s
1551 // CHECK-COMBINE-INTO-ZVKN: __riscv_zvkn 1000000{{$}}
1553 // RUN: %clang --target=riscv32 \
1554 // RUN: -march=rv32i_zve64x_zvknc1p0 -E -dM %s \
1555 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNC-EXT %s
1556 // RUN: %clang --target=riscv64 \
1557 // RUN: -march=rv64i_zve64x_zvknc1p0 -E -dM %s \
1558 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNC-EXT %s
1559 // CHECK-ZVKNC-EXT: __riscv_zvknc 1000000{{$}}
1561 // RUN: %clang --target=riscv32 \
1562 // RUN: -march=rv32iv_zvkb1p0_zvbc1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -E -dM %s \
1563 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNC %s
1564 // RUN: %clang --target=riscv64 \
1565 // RUN: -march=rv64iv_zvkb1p0_zvbc1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -E -dM %s \
1566 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNC %s
1567 // CHECK-COMBINE-INTO-ZVKNC: __riscv_zvkn 1000000{{$}}
1568 // CHECK-COMBINE-INTO-ZVKNC: __riscv_zvknc 1000000{{$}}
1570 // RUN: %clang --target=riscv32 \
1571 // RUN: -march=rv32i_zve32x_zvkned1p0 -E -dM %s \
1572 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNED-EXT %s
1573 // RUN: %clang --target=riscv64 \
1574 // RUN: -march=rv64i_zve32x_zvkned1p0 -E -dM %s \
1575 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNED-EXT %s
1576 // CHECK-ZVKNED-EXT: __riscv_zvkned 1000000{{$}}
1578 // RUN: %clang --target=riscv32 \
1579 // RUN: -march=rv32i_zve64x_zvkng1p0 -E -dM %s \
1580 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNG-EXT %s
1581 // RUN: %clang --target=riscv64 \
1582 // RUN: -march=rv64i_zve64x_zvkng1p0 -E -dM %s \
1583 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNG-EXT %s
1584 // CHECK-ZVKNG-EXT: __riscv_zvkng 1000000{{$}}
1586 // RUN: %clang --target=riscv32 \
1587 // RUN: -march=rv32iv_zvkb1p0_zvkg1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -E -dM %s \
1588 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNG %s
1589 // RUN: %clang --target=riscv64 \
1590 // RUN: -march=rv64iv_zvkb1p0_zvkg1p0_zvkned1p0_zvknhb1p0_zvkt1p0 -E -dM %s \
1591 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKNG %s
1592 // CHECK-COMBINE-INTO-ZVKNG: __riscv_zvkn 1000000{{$}}
1593 // CHECK-COMBINE-INTO-ZVKNG: __riscv_zvkng 1000000{{$}}
1595 // RUN: %clang --target=riscv32 \
1596 // RUN: -march=rv32i_zve32x_zvknha1p0 -E -dM %s \
1597 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHA-EXT %s
1598 // RUN: %clang --target=riscv64 \
1599 // RUN: -march=rv64i_zve32x_zvknha1p0 -E -dM %s \
1600 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHA-EXT %s
1601 // CHECK-ZVKNHA-EXT: __riscv_zvknha 1000000{{$}}
1603 // RUN: %clang --target=riscv32 \
1604 // RUN: -march=rv32i_zve64x_zvknhb1p0 -E -dM %s \
1605 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHB-EXT %s
1606 // RUN: %clang --target=riscv64 \
1607 // RUN: -march=rv64i_zve64x_zvknhb1p0 -E -dM %s \
1608 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKNHB-EXT %s
1609 // CHECK-ZVKNHB-EXT: __riscv_zvknhb 1000000{{$}}
1611 // RUN: %clang --target=riscv32 \
1612 // RUN: -march=rv32i_zve64x_zvks1p0 -E -dM %s \
1613 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKS-EXT %s
1614 // RUN: %clang --target=riscv64 \
1615 // RUN: -march=rv64i_zve64x_zvks1p0 -E -dM %s \
1616 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKS-EXT %s
1617 // CHECK-ZVKS-EXT: __riscv_zvks 1000000{{$}}
1619 // RUN: %clang --target=riscv32 \
1620 // RUN: -march=rv32iv_zvkb1p0_zvksed1p0_zvksh1p0_zvkt1p0 -E -dM %s \
1621 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKS %s
1622 // RUN: %clang --target=riscv64 \
1623 // RUN: -march=rv64iv_zvkb1p0_zvksed1p0_zvksh1p0_zvkt1p0 -E -dM %s \
1624 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKS %s
1625 // CHECK-COMBINE-INTO-ZVKS: __riscv_zvks 1000000{{$}}
1627 // RUN: %clang --target=riscv32 \
1628 // RUN: -march=rv32i_zve64x_zvksc1p0 -E -dM %s \
1629 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSC-EXT %s
1630 // RUN: %clang --target=riscv64 \
1631 // RUN: -march=rv64i_zve64x_zvksc1p0 -E -dM %s \
1632 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSC-EXT %s
1633 // CHECK-ZVKSC-EXT: __riscv_zvksc 1000000{{$}}
1635 // RUN: %clang --target=riscv32 \
1636 // RUN: -march=rv32iv_zvkb1p0_zvbc1p0_zvksed1p0_zvksh1p0_zvkt1p0 -E -dM %s \
1637 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSC %s
1638 // RUN: %clang --target=riscv64 \
1639 // RUN: -march=rv64iv_zvkb1p0_zvbc1p0_zvksed1p0_zvksh1p0_zvkt1p0 -E -dM %s \
1640 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSC %s
1641 // CHECK-COMBINE-INTO-ZVKSC: __riscv_zvks 1000000{{$}}
1642 // CHECK-COMBINE-INTO-ZVKSC: __riscv_zvksc 1000000{{$}}
1644 // RUN: %clang --target=riscv32 \
1645 // RUN: -march=rv32i_zve32x_zvksed1p0 -E -dM %s \
1646 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSED-EXT %s
1647 // RUN: %clang --target=riscv64 \
1648 // RUN: -march=rv64i_zve32x_zvksed1p0 -E -dM %s \
1649 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSED-EXT %s
1650 // CHECK-ZVKSED-EXT: __riscv_zvksed 1000000{{$}}
1652 // RUN: %clang --target=riscv32 \
1653 // RUN: -march=rv32i_zve64x_zvksg1p0 -E -dM %s \
1654 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSG-EXT %s
1655 // RUN: %clang --target=riscv64 \
1656 // RUN: -march=rv64i_zve64x_zvksg1p0 -E -dM %s \
1657 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSG-EXT %s
1658 // CHECK-ZVKSG-EXT: __riscv_zvksg 1000000{{$}}
1660 // RUN: %clang --target=riscv32 \
1661 // RUN: -march=rv32iv_zvkb1p0_zvkg1p0_zvksed1p0_zvksh1p0_zvkt1p0 -E -dM %s \
1662 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSG %s
1663 // RUN: %clang --target=riscv64 \
1664 // RUN: -march=rv64iv_zvkb1p0_zvkg1p0_zvksed1p0_zvksh1p0_zvkt1p0 -E -dM %s \
1665 // RUN: -o - | FileCheck --check-prefix=CHECK-COMBINE-INTO-ZVKSG %s
1666 // CHECK-COMBINE-INTO-ZVKSG: __riscv_zvks 1000000{{$}}
1667 // CHECK-COMBINE-INTO-ZVKSG: __riscv_zvksg 1000000{{$}}
1669 // RUN: %clang --target=riscv32 \
1670 // RUN: -march=rv32i_zve32x_zvksh1p0 -E -dM %s \
1671 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSH-EXT %s
1672 // RUN: %clang --target=riscv64 \
1673 // RUN: -march=rv64i_zve32x_zvksh1p0 -E -dM %s \
1674 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKSH-EXT %s
1675 // CHECK-ZVKSH-EXT: __riscv_zvksh 1000000{{$}}
1677 // RUN: %clang --target=riscv32 \
1678 // RUN: -march=rv32i_zve32x_zvkt1p0 -E -dM %s \
1679 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKT-EXT %s
1680 // RUN: %clang --target=riscv64 \
1681 // RUN: -march=rv64i_zve32x_zvkt1p0 -E -dM %s \
1682 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKT-EXT %s
1683 // CHECK-ZVKT-EXT: __riscv_zvkt 1000000{{$}}
1685 // Experimental extensions
1686 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1687 // RUN: -march=rv32i_zalasr0p1 -E -dM %s \
1688 // RUN: -o - | FileCheck --check-prefix=CHECK-ZALASR-EXT %s
1689 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1690 // RUN: -march=rv64i_zalasr0p1 -E -dM %s \
1691 // RUN: -o - | FileCheck --check-prefix=CHECK-ZALASR-EXT %s
1692 // CHECK-ZALASR-EXT: __riscv_zalasr 1000{{$}}
1694 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1695 // RUN: -march=rv32izfbfmin1p0 -E -dM %s \
1696 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFBFMIN-EXT %s
1697 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1698 // RUN: -march=rv64izfbfmin1p0 -E -dM %s \
1699 // RUN: -o - | FileCheck --check-prefix=CHECK-ZFBFMIN-EXT %s
1700 // CHECK-ZFBFMIN-EXT: __riscv_zfbfmin 1000000{{$}}
1702 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1703 // RUN: -march=rv32i_zicfilp1p0 -E -dM %s \
1704 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICFILP-EXT %s
1705 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1706 // RUN: -march=rv64i_zicfilp1p0 -E -dM %s \
1707 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICFILP-EXT %s
1708 // CHECK-ZICFILP-EXT: __riscv_zicfilp 1000000{{$}}
1710 // RUN: %clang --target=riscv32-unknown-linux-gnu \
1711 // RUN: -march=rv32iztso1p0 -E -dM %s \
1712 // RUN: -o - | FileCheck --check-prefix=CHECK-ZTSO-EXT %s
1713 // RUN: %clang --target=riscv64-unknown-linux-gnu \
1714 // RUN: -march=rv64iztso1p0 -E -dM %s \
1715 // RUN: -o - | FileCheck --check-prefix=CHECK-ZTSO-EXT %s
1716 // CHECK-ZTSO-EXT: __riscv_ztso 1000000{{$}}
1718 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1719 // RUN: -march=rv32i_zve32x_zvbc32e0p7 -E -dM %s \
1720 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBC32E-EXT %s
1721 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1722 // RUN: -march=rv64i_zve32x_zvbc32e0p7 -E -dM %s \
1723 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVBC32E-EXT %s
1724 // CHECK-ZVBC32E-EXT: __riscv_zvbc32e 7000{{$}}
1726 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1727 // RUN: -march=rv32ifzvfbfmin1p0 -E -dM %s \
1728 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFMIN-EXT %s
1729 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1730 // RUN: -march=rv64ifzvfbfmin1p0 -E -dM %s \
1731 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFMIN-EXT %s
1732 // CHECK-ZVFBFMIN-EXT: __riscv_zvfbfmin 1000000{{$}}
1734 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1735 // RUN: -march=rv32ifzvfbfwma1p0 -E -dM %s \
1736 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFWMA-EXT %s
1737 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1738 // RUN: -march=rv64ifzvfbfwma1p0 -E -dM %s \
1739 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVFBFWMA-EXT %s
1740 // CHECK-ZVFBFWMA-EXT: __riscv_zvfbfwma 1000000{{$}}
1742 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1743 // RUN: -march=rv32i_zve32x_zvkgs0p7 -E -dM %s \
1744 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKGS-EXT %s
1745 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1746 // RUN: -march=rv64i_zve32x_zvkgs0p7 -E -dM %s \
1747 // RUN: -o - | FileCheck --check-prefix=CHECK-ZVKGS-EXT %s
1748 // CHECK-ZVKGS-EXT: __riscv_zvkgs 7000{{$}}
1750 // RUN: %clang -target riscv32 -menable-experimental-extensions \
1751 // RUN: -march=rv32izicfiss1p0 -E -dM %s \
1752 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICFISS-EXT %s
1753 // RUN: %clang -target riscv64 -menable-experimental-extensions \
1754 // RUN: -march=rv64izicfiss1p0 -E -dM %s \
1755 // RUN: -o - | FileCheck --check-prefix=CHECK-ZICFISS-EXT %s
1756 // CHECK-ZICFISS-EXT: __riscv_zicfiss 1000000{{$}}
1758 // RUN: %clang --target=riscv32 \
1759 // RUN: -march=rv32i_ssnpm1p0 -E -dM %s \
1760 // RUN: -o - | FileCheck --check-prefix=CHECK-SSNPM-EXT %s
1761 // RUN: %clang --target=riscv64 \
1762 // RUN: -march=rv64i_ssnpm1p0 -E -dM %s \
1763 // RUN: -o - | FileCheck --check-prefix=CHECK-SSNPM-EXT %s
1764 // CHECK-SSNPM-EXT: __riscv_ssnpm 1000000{{$}}
1766 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1767 // RUN: -march=rv32i_smnpm1p0 -E -dM %s \
1768 // RUN: -o - | FileCheck --check-prefix=CHECK-SMNPM-EXT %s
1769 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1770 // RUN: -march=rv64i_smnpm1p0 -E -dM %s \
1771 // RUN: -o - | FileCheck --check-prefix=CHECK-SMNPM-EXT %s
1772 // CHECK-SMNPM-EXT: __riscv_smnpm 1000000{{$}}
1774 // RUN: %clang --target=riscv32 \
1775 // RUN: -march=rv32i_smmpm1p0 -E -dM %s \
1776 // RUN: -o - | FileCheck --check-prefix=CHECK-SMMPM-EXT %s
1777 // RUN: %clang --target=riscv64 \
1778 // RUN: -march=rv64i_smmpm1p0 -E -dM %s \
1779 // RUN: -o - | FileCheck --check-prefix=CHECK-SMMPM-EXT %s
1780 // CHECK-SMMPM-EXT: __riscv_smmpm 1000000{{$}}
1782 // RUN: %clang --target=riscv32 \
1783 // RUN: -march=rv32i_sspm1p0 -E -dM %s \
1784 // RUN: -o - | FileCheck --check-prefix=CHECK-SSPM-EXT %s
1785 // RUN: %clang --target=riscv64 \
1786 // RUN: -march=rv64i_sspm1p0 -E -dM %s \
1787 // RUN: -o - | FileCheck --check-prefix=CHECK-SSPM-EXT %s
1788 // CHECK-SSPM-EXT: __riscv_sspm 1000000{{$}}
1790 // RUN: %clang --target=riscv32 \
1791 // RUN: -march=rv32i_supm1p0 -E -dM %s \
1792 // RUN: -o - | FileCheck --check-prefix=CHECK-SUPM-EXT %s
1793 // RUN: %clang --target=riscv64 \
1794 // RUN: -march=rv64i_supm1p0 -E -dM %s \
1795 // RUN: -o - | FileCheck --check-prefix=CHECK-SUPM-EXT %s
1796 // CHECK-SUPM-EXT: __riscv_supm 1000000{{$}}
1798 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1799 // RUN: -march=rv32i_smctr1p0 -E -dM %s \
1800 // RUN: -o - | FileCheck --check-prefix=CHECK-SMCTR-EXT %s
1801 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1802 // RUN: -march=rv64i_smctr1p0 -E -dM %s \
1803 // RUN: -o - | FileCheck --check-prefix=CHECK-SMCTR-EXT %s
1804 // CHECK-SMCTR-EXT: __riscv_smctr 1000000{{$}}
1806 // RUN: %clang --target=riscv32 -menable-experimental-extensions \
1807 // RUN: -march=rv32i_ssctr1p0 -E -dM %s \
1808 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCTR-EXT %s
1809 // RUN: %clang --target=riscv64 -menable-experimental-extensions \
1810 // RUN: -march=rv64i_ssctr1p0 -E -dM %s \
1811 // RUN: -o - | FileCheck --check-prefix=CHECK-SSCTR-EXT %s
1812 // CHECK-SSCTR-EXT: __riscv_ssctr 1000000{{$}}
1816 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -E -dM %s \
1817 // RUN: -o - | FileCheck %s --check-prefix=CHECK-MISALIGNED-AVOID
1818 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -E -dM %s \
1819 // RUN: -o - | FileCheck %s --check-prefix=CHECK-MISALIGNED-AVOID
1820 // CHECK-MISALIGNED-AVOID: __riscv_misaligned_avoid 1
1822 // RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -E -dM %s \
1823 // RUN: -mno-strict-align -o - | FileCheck %s --check-prefix=CHECK-MISALIGNED-FAST
1824 // RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -E -dM %s \
1825 // RUN: -mno-strict-align -o - | FileCheck %s --check-prefix=CHECK-MISALIGNED-FAST
1826 // RUN: %clang --target=riscv64-unknown-linux-gnu -mcpu=sifive-p450 -E -dM %s \
1827 // RUN: -o - | FileCheck %s --check-prefix=CHECK-MISALIGNED-FAST
1828 // CHECK-MISALIGNED-FAST: __riscv_misaligned_fast 1