intel-tsx-rtm 0.1.0

Provides intrinsics for Rust to use Intel's TSX RTM, a hardware transactional memory extension for some Skylake CPUs.
Documentation

intel-tsx-rtm

This crates provides a simple set of wrappers around Intel's TSX RTM instructions and associated intrinsics. It needs a C compiler to create a small shim. This is important because Rust's compiler does not like code with multiple returns. It does not depend on your compiler having the necessary headers (<immintrin.h>), and so can work with older compilers and other Operating Systems.

It uses third-party self-modifying code (Andi Kleen's tsx-tools) to provide runtime detection of CPUs without TSX and fallback to non-hardware paths.

Licensing

The license for this project is MIT.