ld value of PLACE</li>
<li>temporary variable for the new value of PLACE</li>
<li>form using the aforementioned temporaries which performs the
compare-and-swap operation on PLACE</li>
<li>form using the aforementioned temporaries with which to perform a volatile
read of PLACE</li>
</ul>
<p>Example:</p>
<p>(get-cas-expansion ‘(car x))
; =&gt; (#:CONS871), (X), #:OLD872, #:NEW873,
;    (SB-KERNEL:%COMPARE-AND-SWAP-CAR #:CONS871 #:OLD872 :NEW873).
;    (CAR #:CONS871)</p>
<p>(defmacro my-atomic-incf (place &