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