Skip to content

Commit ffcca51

Browse files
authored
[MIPS] Add Scheduling model for MIPS i6400 and i6500 CPUs (#132704)
Add scheduling model for the MIPS i6400 and i6500, an in-order MIPS64R6 processor. i6400 and i6500 share same instruction latencies. CPU has following pipelines - Two ALUs - Multiply and Divide unit (MDU) - Branch Unit (CTU) - Load/Store Unit (LSU) - Short Floating-point Unit and - Long Floating-point Unit Latency information is available at: https://mips.com/wp-content/uploads/2025/03/MIPS_I6500-F_Data_Sheet_Rev1.10_3-17-2025.pdf
1 parent ff66d34 commit ffcca51

File tree

3 files changed

+561
-2
lines changed

3 files changed

+561
-2
lines changed

llvm/lib/Target/Mips/Mips.td

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ include "MipsRegisterBanks.td"
224224
include "MipsCombine.td"
225225

226226
// Avoid forward declaration issues.
227+
include "MipsScheduleI6400.td"
227228
include "MipsScheduleP5600.td"
228229
include "MipsScheduleGeneric.td"
229230

@@ -271,8 +272,8 @@ def : Proc<"mips64r6", [FeatureMips64r6]>;
271272
def : Proc<"octeon", [FeatureMips64r2, FeatureCnMips]>;
272273
def : Proc<"octeon+", [FeatureMips64r2, FeatureCnMips, FeatureCnMipsP]>;
273274
def : ProcessorModel<"p5600", MipsP5600Model, [ImplP5600]>;
274-
def : ProcessorModel<"i6400", NoSchedModel, [ImplI6400]>;
275-
def : ProcessorModel<"i6500", NoSchedModel, [ImplI6500]>;
275+
def : ProcessorModel<"i6400", MipsI6400Model, [ImplI6400]>;
276+
def : ProcessorModel<"i6500", MipsI6400Model, [ImplI6500]>;
276277

277278
def MipsAsmParser : AsmParser {
278279
let ShouldEmitMatchRegisterName = 0;

0 commit comments

Comments
 (0)