<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 17, 2019, at 10:06 AM, Neil Ryan <<a href="mailto:neilryan@cs.washington.edu" class="">neilryan@cs.washington.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<title class=""></title>

<div class="">
<div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" class="">
<div class=""><br class=""></div>
<div class="">
<blockquote type="cite" style="caret-color: rgb(213, 218, 222); margin: 5px; padding-left: 10px; border-left-width: thin; border-left-style: solid; border-left-color: rgb(26, 188, 156);" class="">
<div class="">
<div class="">Why do you want this?</div>
</div>
</blockquote>
</div>
<div class=""><br class=""></div>
The goal is to share arrays between multiple tiles on a manycore architecture by splitting arrays between tiles. With a DRF memory model, it makes sense to elide multiple loads to the same memory location between barriers.; IIRC the semantics for volatile don’t allow this eliding.</div>
</div>

</div></blockquote></div><br class=""><div class="">If there hasn’t been synchronization between to loads, then yes it makes sense to elide loads in a DRF memory model.</div><div class="">Indeed volatile loads cannot be elided.</div><div class="">But why is it desirable to avoid combining adjacent stores? If you’ve got DRF code then the combination can’t be observed.</div></body></html>