Interlocked.CompareExchange <Int> usando GreaterThan ou LessThan em vez de igualdade

oSystem.Threading.Interlocked objeto permite Adição (subtração) e comparação como uma operação atômica. Parece que um CompareExchange que simplesmente não faz igualdade, mas também GreaterThan / LessThan como uma comparação atômica seria bastante valioso.

Seria hipotéticoInterlocked.GreaterThan uma característica do IL ou é um recurso no nível da CPU? Ambos?

Na falta de qualquer outra opção, é possível criar um recurso em C ++ ou código IL direto e expor essa funcionalidade ao C #?