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)
|
// src 9: load try pointchaising when no issued or replayed load (io.fastpath)
|
||||||
// src10: hardware prefetch from prefetchor (high confidence) (io.prefetch)
|
// src10: hardware prefetch from prefetchor (high confidence) (io.prefetch)
|
||||||
// priority: high to low
|
// 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 SRC_NUM = 11
|
||||||
private val Seq(
|
private val Seq(
|
||||||
mab_idx, super_rep_idx, fast_rep_idx, mmio_idx, nc_idx, lsq_rep_idx,
|
mab_idx, super_rep_idx, fast_rep_idx, mmio_idx, nc_idx, lsq_rep_idx,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue