> > AFAICT, Ztso allows the forwarding in question too. Simulations with > > the axiomatic formalization confirm such expectation: > > OK that seems to be what it says in: > https://five-embeddev.com/riscv-isa-manual/latest/ztso.html > 'In both of these memory models, it is the that allows a hart to > forward a value from its store buffer to a subsequent (in program order) > load—that is to say that stores can be forwarded locally before they are > visible to other harts'
Indeed, thanks for the remark. > > RISCV intra-processor-forwarding > > { > > 0:x5=1; 0:x6=x; 0:x8=y; > > 1:x5=1; 1:x6=y; 1:x8=x; > > } > > P0 | P1 ; > > sw x5,0(x6) | sw x5,0(x6) ; > > lw x9,0(x6) | lw x9,0(x6) ; > > lw x7,0(x8) | lw x7,0(x8) ; > > exists > > (0:x7=0 /\ 1:x7=0 /\ 0:x9=1 /\ 1:x9=1) > > (I'm a bit fuzzy reading this...) > So is that the interesting case - where x7 is saying neither processor > saw the other processors write yet, but they did see their own? Right, it was inspired by the homonymous test in the Intel's specs. Andrea