// This file is part of intel-tsx-rtm. It is subject to the license terms in the COPYRIGHT file found in the top-level directory of this distribution and at https://raw.githubusercontent.com/lemonrock/intel-tsx-rtm/master/COPYRIGHT. No part of intel-tsx-rtm, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the COPYRIGHT file.
// Copyright © 2018 The developers of intel-tsx-rtm. See the COPYRIGHT file in the top-level directory of this distribution and at https://raw.githubusercontent.com/lemonrock/intel-tsx-rtm/master/COPYRIGHT.
//! # intel-tsx-rtm
//! This crates provides a simple set of wrappers around Intel's TSX RTM instructions and associated intrinsics.
//! It uses code to provide runtime detection of CPUs without TSX and fallback to non-hardware paths.
//! It is best to start with `HardwareMemoryTransactionManager`.
//!
//! It will only compile with nightly (as of February 8th, 2018) because it uses the `asm!` macro.
//!
extern crate bitflags;
extern crate raw_cpuid;
use *;
use CpuId;
/// Very low-level intrinsics closely matching those defined in gcc, clang and Andi Kleen's tsx-tools.
include!;
include!;