fix(LoadUnit): fix Vector priority related issues (#4101)
Vector load should be the same as scalar load. Priority judgement needs to be made with the instructions for replay. Otherwise it will generate a stuck.
This commit is contained in:
parent
9f329f86f9
commit
370a252d94
|
|
@ -292,7 +292,8 @@ class LoadUnit(implicit p: Parameters) extends XSModule
|
|||
// src 9: load try pointchaising when no issued or replayed load (io.fastpath)
|
||||
// src10: hardware prefetch from prefetchor (high confidence) (io.prefetch)
|
||||
// priority: high to low
|
||||
val s0_rep_stall = io.ldin.valid && isAfter(io.replay.bits.uop.robIdx, io.ldin.bits.uop.robIdx)
|
||||
val s0_rep_stall = io.ldin.valid && isAfter(io.replay.bits.uop.robIdx, io.ldin.bits.uop.robIdx) ||
|
||||
io.vecldin.valid && isAfter(io.replay.bits.uop.robIdx, io.vecldin.bits.uop.robIdx)
|
||||
private val SRC_NUM = 11
|
||||
private val Seq(
|
||||
mab_idx, super_rep_idx, fast_rep_idx, mmio_idx, nc_idx, lsq_rep_idx,
|
||||
|
|
|
|||
Loading…
Reference in New Issue