| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \ |
| // RUN: -o - | FileCheck %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \ |
| // RUN: -o - | FileCheck %s |
| |
| // CHECK-NOT: __riscv_div |
| // CHECK-NOT: __riscv_m |
| // CHECK-NOT: __riscv_mul |
| // CHECK-NOT: __riscv_muldiv |
| // CHECK-NOT: __riscv_a 2000000 |
| // CHECK-NOT: __riscv_atomic |
| // CHECK-NOT: __riscv_f 2000000 |
| // CHECK-NOT: __riscv_d |
| // CHECK-NOT: __riscv_flen |
| // CHECK-NOT: __riscv_fdiv |
| // CHECK-NOT: __riscv_fsqrt |
| // CHECK-NOT: __riscv_c 2000000 |
| // CHECK-NOT: __riscv_compressed |
| // CHECK-NOT: __riscv_b |
| // CHECK-NOT: __riscv_bitmanip |
| // CHECK-NOT: __riscv_zba |
| // CHECK-NOT: __riscv_zbb |
| // CHECK-NOT: __riscv_zbc |
| // CHECK-NOT: __riscv_zbe |
| // CHECK-NOT: __riscv_zbf |
| // CHECK-NOT: __riscv_zbm |
| // CHECK-NOT: __riscv_zbp |
| // CHECK-NOT: __riscv_zbr |
| // CHECK-NOT: __riscv_zbs |
| // CHECK-NOT: __riscv_zbt |
| // CHECK-NOT: __riscv_zfh |
| // CHECK-NOT: __riscv_v |
| // CHECK-NOT: __riscv_vector |
| // CHECK-NOT: __riscv_zvamo |
| // CHECK-NOT: __riscv_zvlsseg |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32im -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64im -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s |
| // CHECK-M-EXT: __riscv_div 1 |
| // CHECK-M-EXT: __riscv_m 2000000 |
| // CHECK-M-EXT: __riscv_mul 1 |
| // CHECK-M-EXT: __riscv_muldiv 1 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ia -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ia -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s |
| // CHECK-A-EXT: __riscv_a 2000000 |
| // CHECK-A-EXT: __riscv_atomic 1 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32if -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64if -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s |
| // CHECK-F-EXT: __riscv_f 2000000 |
| // CHECK-F-EXT: __riscv_fdiv 1 |
| // CHECK-F-EXT: __riscv_flen 32 |
| // CHECK-F-EXT: __riscv_fsqrt 1 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s |
| // CHECK-D-EXT: __riscv_d 2000000 |
| // CHECK-D-EXT: __riscv_fdiv 1 |
| // CHECK-D-EXT: __riscv_flen 64 |
| // CHECK-D-EXT: __riscv_fsqrt 1 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -mabi=ilp32 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -mabi=lp64 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s |
| // CHECK-SOFT: __riscv_float_abi_soft 1 |
| // CHECK-SOFT-NOT: __riscv_float_abi_single |
| // CHECK-SOFT-NOT: __riscv_float_abi_double |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -mabi=ilp32f -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -mabi=lp64f -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s |
| // CHECK-SINGLE: __riscv_float_abi_single 1 |
| // CHECK-SINGLE-NOT: __riscv_float_abi_soft |
| // CHECK-SINGLE-NOT: __riscv_float_abi_double |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s |
| // CHECK-DOUBLE: __riscv_float_abi_double 1 |
| // CHECK-DOUBLE-NOT: __riscv_float_abi_soft |
| // CHECK-DOUBLE-NOT: __riscv_float_abi_single |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ic -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ic -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s |
| // CHECK-C-EXT: __riscv_c 2000000 |
| // CHECK-C-EXT: __riscv_compressed 1 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izba1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izba1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBA-EXT %s |
| // CHECK-ZBA-NOT: __riscv_b |
| // CHECK-ZBA-EXT: __riscv_zba 1000000{{$}} |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbb1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbb1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBB-EXT %s |
| // CHECK-ZBB-NOT: __riscv_b |
| // CHECK-ZBB-EXT: __riscv_zbb 1000000{{$}} |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbc1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbc1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBC-EXT %s |
| // CHECK-ZBC-NOT: __riscv_b |
| // CHECK-ZBC-EXT: __riscv_zbc 1000000{{$}} |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbe0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBE-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbe0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBE-EXT %s |
| // CHECK-ZBE-NOT: __riscv_b |
| // CHECK-ZBE-EXT: __riscv_zbe 93000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbf0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBF-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbf0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBF-EXT %s |
| // CHECK-ZBF-NOT: __riscv_b |
| // CHECK-ZBF-EXT: __riscv_zbf 93000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbm0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBM-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbm0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBM-EXT %s |
| // CHECK-ZBM-NOT: __riscv_b |
| // CHECK-ZBM-EXT: __riscv_zbm 93000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbp0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBP-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbp0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBP-EXT %s |
| // CHECK-ZBP-NOT: __riscv_b |
| // CHECK-ZBP-EXT: __riscv_zbp 93000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbr0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBR-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbr0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBR-EXT %s |
| // CHECK-ZBR-NOT: __riscv_b |
| // CHECK-ZBR-EXT: __riscv_zbr 93000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbs1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbs1p0 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBS-EXT %s |
| // CHECK-ZBS-NOT: __riscv_b |
| // CHECK-ZBS-EXT: __riscv_zbs 1000000{{$}} |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izbt0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBT-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izbt0p93 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZBT-EXT %s |
| // CHECK-ZBT-NOT: __riscv_b |
| // CHECK-ZBT-EXT: __riscv_zbt 93000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32iv0p10 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64iv0p10 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izvlsseg0p10 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izvlsseg0p10 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-V-EXT %s |
| // CHECK-V-EXT: __riscv_v 10000 |
| // CHECK-V-EXT: __riscv_vector 1 |
| // CHECK-V-EXT: __riscv_zvlsseg 10000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izvamo0p10 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZVAMO-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izvamo0p10 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZVAMO-EXT %s |
| // CHECK-ZVAMO-EXT: __riscv_v 10000 |
| // CHECK-ZVAMO-EXT: __riscv_vector 1 |
| // CHECK-ZVAMO-EXT: __riscv_zvamo 10000 |
| // CHECK-ZVAMO-EXT: __riscv_zvlsseg 10000 |
| |
| // RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv32izfh0p1 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZFH-EXT %s |
| // RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions \ |
| // RUN: -march=rv64izfh0p1 -x c -E -dM %s \ |
| // RUN: -o - | FileCheck --check-prefix=CHECK-ZFH-EXT %s |
| // CHECK-ZFH-EXT: __riscv_zfh 1000 |