> On 2011-12-14 00:12:06, Gabe Black wrote:
> > Without wanting to dive into the branch predictor code I'll assume this is 
> > functionally correct, especially if you've run regressions. There are some 
> > style nits which I've pointed out. I'm also assuming *this* change doesn't 
> > break X86_FS on O3, and that this can be applied separately. I'm sure 
> > you're fixing a legitimate problem, but for my information could you please 
> > explain what the problem a little more specifically? There's no need to go 
> > into the gory details, I'd just like to be able to tell in the future if 
> > I'm running into whatever this is fixing. The branch predictor was just not 
> > handling returns from calls correctly?
> 
> Ali Saidi wrote:
>     This change requires the previous BP change and can't be supplied 
> separately, but I'm just adding it to review board so I could point someone 
> towards it.  The previous implementation assumed that if you executed a call 
> or return that it must be taken (they're not conditional in any way on 
> Alpha). However, with ARM (and perhaps others) the return and call 
> instructions are conditionally executed, so you could predict the call/return 
> incorrectly and then mess up the order on the RAS. This addresses those 
> cases. 
>     
>     Separately, it seems like these branch predictor changes and Nilay's 
> changes to get o3 working with ruby are all dependent on fixing x86.

What needs to be fixed in x86?

I saw an error with a non-speculative instruction getting squashed even
though it had no fault associated with it. Adding memory fences to I/O
instructions does away with that.


- Nilay


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/929/#review1751
-----------------------------------------------------------


On 2011-12-13 10:02:20, Ali Saidi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/929/
> -----------------------------------------------------------
> 
> (Updated 2011-12-13 10:02:20)
> 
> 
> Review request for Default.
> 
> 
> Summary
> -------
> 
> BPred: Fix RAS to handle predicated call/return instructions.
> 
> Change RAS to fix issues with predicated call/return instructions.
> Handled all cases in the life of a predicated call and return instruction.
> 
> 
> Diffs
> -----
> 
>   src/cpu/o3/bpred_unit.hh c1ab57ea8805 
>   src/cpu/o3/bpred_unit_impl.hh c1ab57ea8805 
>   src/cpu/o3/commit_impl.hh c1ab57ea8805 
>   src/cpu/pred/tournament.cc c1ab57ea8805 
> 
> Diff: http://reviews.m5sim.org/r/929/diff
> 
> 
> Testing
> -------
> 
> Works for all regressions tests, however dependent branch predictor patch 
> exposes x86 issues
> 
> 
> Thanks,
> 
> Ali
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to