| // Check target CPUs are correctly passed. |
| |
| // RUN: %clang -target riscv32 -### -c %s 2>&1 -mcpu=rocket-rv32 | FileCheck -check-prefix=MCPU-ROCKETCHIP32 %s |
| // MCPU-ROCKETCHIP32: "-nostdsysteminc" "-target-cpu" "rocket-rv32" |
| |
| // RUN: %clang -target riscv64 -### -c %s 2>&1 -mcpu=rocket-rv64 | FileCheck -check-prefix=MCPU-ROCKETCHIP64 %s |
| // MCPU-ROCKETCHIP64: "-nostdsysteminc" "-target-cpu" "rocket-rv64" |
| // MCPU-ROCKETCHIP64: "-target-feature" "+64bit" |
| |
| // mcpu with default march |
| // RUN: %clang -target riscv64 -### -c %s 2>&1 -mcpu=sifive-u54 | FileCheck -check-prefix=MCPU-SIFIVE-U54 %s |
| // MCPU-SIFIVE-U54: "-nostdsysteminc" "-target-cpu" "sifive-u54" |
| // MCPU-SIFIVE-U54: "-target-feature" "+m" "-target-feature" "+a" "-target-feature" "+f" "-target-feature" "+d" |
| // MCPU-SIFIVE-U54: "-target-feature" "+c" "-target-feature" "+64bit" |
| // MCPU-SIFIVE-U54: "-target-abi" "lp64d" |
| |
| // mcpu with mabi option |
| // RUN: %clang -target riscv64 -### -c %s 2>&1 -mcpu=sifive-u54 -mabi=lp64 | FileCheck -check-prefix=MCPU-ABI-SIFIVE-U54 %s |
| // MCPU-ABI-SIFIVE-U54: "-nostdsysteminc" "-target-cpu" "sifive-u54" |
| // MCPU-ABI-SIFIVE-U54: "-target-feature" "+m" "-target-feature" "+a" "-target-feature" "+f" "-target-feature" "+d" |
| // MCPU-ABI-SIFIVE-U54: "-target-feature" "+c" "-target-feature" "+64bit" |
| // MCPU-ABI-SIFIVE-U54: "-target-abi" "lp64" |
| |
| // march overwirte mcpu's default march |
| // RUN: %clang -target riscv32 -### -c %s 2>&1 -mcpu=sifive-e31 -march=rv32imc | FileCheck -check-prefix=MCPU-MARCH %s |
| // MCPU-MARCH: "-nostdsysteminc" "-target-cpu" "sifive-e31" "-target-feature" "+m" "-target-feature" "+c" |
| // MCPU-MARCH: "-target-abi" "ilp32" |
| |
| // Check failed cases |
| |
| // RUN: %clang -target riscv32 -### -c %s 2>&1 -mcpu=generic-rv321 | FileCheck -check-prefix=FAIL-MCPU-NAME %s |
| // FAIL-MCPU-NAME: error: the clang compiler does not support '-mcpu=generic-rv321' |
| |
| // RUN: %clang -target riscv32 -### -c %s 2>&1 -mcpu=generic-rv32 -march=rv64i | FileCheck -check-prefix=MISMATCH-ARCH %s |
| // MISMATCH-ARCH: error: the clang compiler does not support '-mcpu=generic-rv32' |
| |
| // RUN: %clang -target riscv32 -### -c %s 2>&1 -mcpu=generic-rv64 | FileCheck -check-prefix=MISMATCH-MCPU %s |
| // MISMATCH-MCPU: error: the clang compiler does not support '-mcpu=generic-rv64' |