LEON3 has a store buffer of length 1, so an additional store is required to be sure that the one preceding it has been written to memory. I am not familiar enough with the internals of gcc to pick the optimal place to encode this behavior, so any suggestions from you are appreciated :)

On 2014-07-12 11:18, Eric Botcazou wrote:
That was an error on my side. The wrong memory model had gotten cached
in a generated make script. Lets drop membar_leon3 also then :)

Fine with me but, on second thoughts, if a mere "stb" is a #StoreLoad memory
barrier for LEON3, doesn't this simply mean that the memory model of the LEON3
is Strong Consistency and not TSO?  In which case, the only thing to change is
the default setting for LEON3 in sparc_option_override.


--
Daniel Cederman

Reply via email to