provides an interface to the hardware, not an interface to the programmer. It
is aimed at a low enough level to allow any programming models or APIs which
need atomic behaviors to map cleanly onto it. It is also modeled primarily on
- hardware behavior. Just as hardware provides a "unviresal IR" for source
+ hardware behavior. Just as hardware provides a "universal IR" for source
languages, it also provides a starting point for developing a "universal"
atomic operation and synchronization IR.
</p>
</pre>
<h5>Overview:</h5>
<p>
- This loads a value in shared memory and compares it to a given value. If they
- are equal, it stores a new value into the shared memory.
+ This loads a value in memory and compares it to a given value. If they are
+ equal, it stores a new value into the memory.
</p>
<h5>Arguments:</h5>
<p>
<h5>Semantics:</h5>
<p>
This entire intrinsic must be executed atomically. It first loads the value
- in shared memory pointed to by <tt>ptr</tt> and compares it with the value
- <tt>cmp</tt>. If they are equal, <tt>val</tt> is stored into the shared
- memory. The loaded value is yielded in all cases. This provides the
- equivalent of an atomic compare-and-swap operation within the SSA framework.
+ in memory pointed to by <tt>ptr</tt> and compares it with the value
+ <tt>cmp</tt>. If they are equal, <tt>val</tt> is stored into the memory. The
+ loaded value is yielded in all cases. This provides the equivalent of an
+ atomic compare-and-swap operation within the SSA framework.
</p>
<h5>Examples:</h5>
<pre>
</pre>
<h5>Overview:</h5>
<p>
- This intrinsic loads the value stored in shared memory at <tt>ptr</tt> and
- yields the value from memory. It then stores the value in <tt>val</tt> in the
- shared memory at <tt>ptr</tt>.
+ This intrinsic loads the value stored in memory at <tt>ptr</tt> and yields
+ the value from memory. It then stores the value in <tt>val</tt> in the memory
+ at <tt>ptr</tt>.
</p>
<h5>Arguments:</h5>
<p>
</pre>
<h5>Overview:</h5>
<p>
- This intrinsic adds <tt>delta</tt> to the value stored in shared memory at
+ This intrinsic adds <tt>delta</tt> to the value stored in memory at
<tt>ptr</tt>. It yields the original value at <tt>ptr</tt>.
</p>
<h5>Arguments:</h5>
</pre>
<h5>Overview:</h5>
<p>
- This intrinsic subtracts <tt>delta</tt> from the value stored in shared
- memory at <tt>ptr</tt>. It yields the original value at <tt>ptr</tt>.
+ This intrinsic subtracts <tt>delta</tt> from the value stored in memory at
+ <tt>ptr</tt>. It yields the original value at <tt>ptr</tt>.
</p>
<h5>Arguments:</h5>
<p>