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