<div dir="ltr">or maybe use core.atomic.atomicLoad and store with right <a href="https://dlang.org/phobos/core_atomic.html#.MemoryOrder">https://dlang.org/phobos/core_atomic.html#.MemoryOrder</a></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 13, 2017 at 1:51 PM, Daniel Kozak <span dir="ltr"><<a href="mailto:kozzi11@gmail.com" target="_blank">kozzi11@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">maybe something likeĀ <a href="https://dlang.org/phobos/core_bitop.html#.volatileLoad" target="_blank">https://dlang.org/phobos/<wbr>core_bitop.html#.volatileLoad</a> andĀ <a href="https://dlang.org/phobos/core_bitop.html#.volatileStore" target="_blank">https://dlang.org/phobos/<wbr>core_bitop.html#.volatileStore</a></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 13, 2017 at 1:37 PM, Igor via Digitalmars-d-learn <span dir="ltr"><<a href="mailto:digitalmars-d-learn@puremagic.com" target="_blank">digitalmars-d-learn@<wbr>puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am converting a C code that uses this macro:<br>
<br>
#define CompletePastWritesBeforeFuture<wbr>Writes _WriteBarrier(); _mm_sfence()<br>
<br>
As far as I see core.atomic:atomicFence() is the equivalent of _mm_sfence() but I can't find what would be the equivalent of _WriteBarrier(). As far as I understand it is used just to tell the compiler it can't rearrange instructions during optimizations so subsequent memory writes happen before previous ones. Same for _ReadBarrier().<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>