title: Interlocked.CompareExchange<Int> using GreaterThan or LessThan instead of equality
body: <p>The <code>System.Threading.Interlocked</code> object allows for Addition (subtraction) and comparison as an atomic operation.  It seems that a CompareExchange that just doesn't do equality but also GreaterThan/LessThan as an atomic comparison would be quite valuable.</p>
  
  <p>Would a hypothetical <code>Interlocked.GreaterThan</code> a feature of the IL or is it a CPU-level feature?  Both?</p>
  
  <p>Lacking any other option, is it possible to create such a feature in C++ or direct IL code and expose that functionality to C#?</p>