about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2016-07-05 08:25:37 -0700
committerGitHub <noreply@github.com>2016-07-05 08:25:37 -0700
commitec58d0c9976c18c405a59d26252a1fa7a3e2a742 (patch)
tree0906524fcaa564987dd163b474faf3a73ffb8c5a /src/libstd/sys/unix/stack_overflow.rs
parentcd0ea6050204c6f297fca8cf4fdc859b7d76f4be (diff)
parent483bec790b28d03f318b8cfbe053e284677b6be2 (diff)
downloadrust-ec58d0c9976c18c405a59d26252a1fa7a3e2a742.tar.gz
rust-ec58d0c9976c18c405a59d26252a1fa7a3e2a742.zip
Auto merge of #34412 - gnzlbg:document_platform_intrinsics_generate, r=alexcrichton
Add x86 intrinsics for bit manipulation (BMI 1.0, BMI 2.0, and TBM).

This PR adds the LLVM x86 intrinsics for the bit manipulation instruction sets (BMI 1.0, BMI 2.0, and TBM).

The objective of this pull-request is to allow building a library that implements all the algorithms offered by those instruction sets, using compiler intrinsics for the targets that support them (by means of `target_feature`).

The target features added are:

- `bmi`: Bit Manipulation Instruction Set 1.0, available in Intel >= Haswell and AMD's >= Jaguar/Piledriver,
- `bmi2`: Bit Manipulation Instruction Set 2.0, available in Intel >= Haswell and AMD's >= Excavator,
- `tbm`: Trailing Bit Manipulation, available only in AMD's Piledriver (won't be available in newer CPUs).

The intrinsics added are:

- BMI 1.0:
  - `bextr`: Bit field extract (with register).
- BMI 2.0:
  - `bzhi`: Zero high bits starting with specified bit position.
  - `pdep`: Parallel bits deposit.
  - `pext`: Parallel bits extract.
- TBM:
 - `bextri`: Bit field extract (with immediate).
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions