blob: d8c18f76e53bef7f35d2e6e2fe5ccbd280b53ca8 [file] [log] [blame]
Shiva Chen4891dbf2018-04-05 12:54:00 +00001// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32i -x c -E -dM %s \
2// RUN: -o - | FileCheck %s
3// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64i -x c -E -dM %s \
4// RUN: -o - | FileCheck %s
5
6// CHECK-NOT: __riscv_div
7// CHECK-NOT: __riscv_mul
8// CHECK-NOT: __riscv_muldiv
9// CHECK-NOT: __riscv_compressed
Scott Egerton61ff296372020-04-09 17:51:26 +010010// CHECK-NOT: __riscv_bitmanip
Shiva Chen4891dbf2018-04-05 12:54:00 +000011// CHECK-NOT: __riscv_flen
12// CHECK-NOT: __riscv_fdiv
13// CHECK-NOT: __riscv_fsqrt
14// CHECK-NOT: __riscv_atomic
15
16// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32im -x c -E -dM %s \
17// RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s
18// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64im -x c -E -dM %s \
19// RUN: -o - | FileCheck --check-prefix=CHECK-M-EXT %s
20// CHECK-M-EXT: __riscv_div 1
21// CHECK-M-EXT: __riscv_mul 1
22// CHECK-M-EXT: __riscv_muldiv 1
23
24// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ia -x c -E -dM %s \
25// RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s
26// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ia -x c -E -dM %s \
27// RUN: -o - | FileCheck --check-prefix=CHECK-A-EXT %s
28// CHECK-A-EXT: __riscv_atomic 1
29
30// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32if -x c -E -dM %s \
31// RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s
32// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64if -x c -E -dM %s \
33// RUN: -o - | FileCheck --check-prefix=CHECK-F-EXT %s
34// CHECK-F-EXT: __riscv_fdiv 1
35// CHECK-F-EXT: __riscv_flen 32
36// CHECK-F-EXT: __riscv_fsqrt 1
37
38// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -x c -E -dM %s \
39// RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s
40// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -x c -E -dM %s \
41// RUN: -o - | FileCheck --check-prefix=CHECK-D-EXT %s
42// CHECK-D-EXT: __riscv_fdiv 1
43// CHECK-D-EXT: __riscv_flen 64
44// CHECK-D-EXT: __riscv_fsqrt 1
45
46// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ic -x c -E -dM %s \
47// RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s
48// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ic -x c -E -dM %s \
49// RUN: -o - | FileCheck --check-prefix=CHECK-C-EXT %s
50// CHECK-C-EXT: __riscv_compressed 1
Alex Bradburye078967a2019-07-18 18:29:59 +000051
Scott Egerton61ff296372020-04-09 17:51:26 +010052// RUN: %clang -target riscv32-unknown-linux-gnu -menable-experimental-extensions -march=rv32ib0p92 -x c -E -dM %s \
53// RUN: -o - | FileCheck --check-prefix=CHECK-B-EXT %s
54// RUN: %clang -target riscv64-unknown-linux-gnu -menable-experimental-extensions -march=rv64ib0p92 -x c -E -dM %s \
55// RUN: -o - | FileCheck --check-prefix=CHECK-B-EXT %s
56// CHECK-B-EXT: __riscv_bitmanip 1
57
Roger Ferrer Ibanez8e873962019-09-10 07:57:36 +000058// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -mabi=ilp32 -x c -E -dM %s \
Alex Bradburye078967a2019-07-18 18:29:59 +000059// RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s
Roger Ferrer Ibanez8e873962019-09-10 07:57:36 +000060// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -mabi=lp64 -x c -E -dM %s \
Alex Bradburye078967a2019-07-18 18:29:59 +000061// RUN: -o - | FileCheck --check-prefix=CHECK-SOFT %s
62// CHECK-SOFT: __riscv_float_abi_soft 1
63// CHECK-SOFT-NOT: __riscv_float_abi_single
64// CHECK-SOFT-NOT: __riscv_float_abi_double
65
66// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -mabi=ilp32f -x c -E -dM %s \
67// RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s
68// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -mabi=lp64f -x c -E -dM %s \
69// RUN: -o - | FileCheck --check-prefix=CHECK-SINGLE %s
70// CHECK-SINGLE: __riscv_float_abi_single 1
71// CHECK-SINGLE-NOT: __riscv_float_abi_soft
72// CHECK-SINGLE-NOT: __riscv_float_abi_double
73
Roger Ferrer Ibanez8e873962019-09-10 07:57:36 +000074// RUN: %clang -target riscv32-unknown-linux-gnu -march=rv32ifd -x c -E -dM %s \
Alex Bradburye078967a2019-07-18 18:29:59 +000075// RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s
Roger Ferrer Ibanez8e873962019-09-10 07:57:36 +000076// RUN: %clang -target riscv64-unknown-linux-gnu -march=rv64ifd -x c -E -dM %s \
Alex Bradburye078967a2019-07-18 18:29:59 +000077// RUN: -o - | FileCheck --check-prefix=CHECK-DOUBLE %s
78// CHECK-DOUBLE: __riscv_float_abi_double 1
79// CHECK-DOUBLE-NOT: __riscv_float_abi_soft
80// CHECK-DOUBLE-NOT: __riscv_float_abi_single