Skip to content

Commit 1430238

Browse files
djtodorodjtodoro
authored andcommitted
[clang][RISCV] Set default CPU for mti vendor
MipsTechnologies vendor is set up to use the p8700 processor by default. co-authored by Jovan Dmitrović <[email protected]>
1 parent a689fb2 commit 1430238

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

clang/lib/Driver/ToolChains/Arch/RISCV.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,5 +364,9 @@ std::string riscv::getRISCVTargetCPU(const llvm::opt::ArgList &Args,
364364
if (!CPU.empty())
365365
return CPU;
366366

367+
if (Triple.getVendor() == llvm::Triple::MipsTechnologies &&
368+
Triple.isRISCV64())
369+
return "p8700";
370+
367371
return Triple.isRISCV64() ? "generic-rv64" : "generic-rv32";
368372
}

llvm/lib/Target/RISCV/RISCVSubtarget.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,17 @@ RISCVSubtarget::initializeSubtargetDependencies(const Triple &TT, StringRef CPU,
8080
StringRef ABIName) {
8181
// Determine default and user-specified characteristics
8282
bool Is64Bit = TT.isArch64Bit();
83-
if (CPU.empty() || CPU == "generic")
84-
CPU = Is64Bit ? "generic-rv64" : "generic-rv32";
83+
if (CPU.empty() || CPU == "generic") {
84+
if (Is64Bit) {
85+
if (TT.getVendor() == llvm::Triple::MipsTechnologies) {
86+
CPU = "p8700";
87+
} else {
88+
CPU = "generic-rv64";
89+
}
90+
} else {
91+
CPU = "generic-rv32";
92+
}
93+
}
8594

8695
if (TuneCPU.empty())
8796
TuneCPU = CPU;

0 commit comments

Comments
 (0)