rust/src
bors ec58d0c997 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).
2016-07-05 08:25:37 -07:00
..
bootstrap Auto merge of #34614 - cynicaldevil:build-time, r=alexcrichton 2016-07-03 02:17:58 -07:00
build_helper Fix issue where rustbuild expected msvc to have ar 2016-06-16 08:38:06 -04:00
compiler-rt@ac3d1cda61 update compiler-rt with iOS linking warnings workaround 2016-07-04 19:11:03 +02:00
doc Auto merge of #34602 - Xmasreturns:patch-4, r=steveklabnik 2016-07-04 09:57:02 -07:00
driver
etc Auto merge of #34412 - gnzlbg:document_platform_intrinsics_generate, r=alexcrichton 2016-07-05 08:25:37 -07:00
grammar Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
jemalloc@aab1c0a0e0
liballoc Update rc.rs 2016-06-05 20:26:24 +02:00
liballoc_jemalloc Fix issue where rustbuild expected msvc to have ar 2016-06-16 08:38:06 -04:00
liballoc_system std: Use memalign, not posix_memalign, on Android 2016-05-24 15:21:01 -07:00
libarena
libbacktrace std: Update libbacktrace for a soundness fix 2016-05-19 11:56:43 -07:00
libcollections std: Stabilize APIs for the 1.11.0 release 2016-07-03 10:49:01 -07:00
libcollectionstest std: Stabilize APIs for the 1.11.0 release 2016-07-03 10:49:01 -07:00
libcore Auto merge of #34638 - zackmdavis:if_let_over_none_empty_block_arm, r=jseyfried 2016-07-04 02:18:46 -07:00
libcoretest Auto merge of #34530 - alexcrichton:stabilize-1.11, r=aturon 2016-07-03 14:33:55 -07:00
libflate run rustfmt on libflate folder 2016-06-07 21:29:35 +05:30
libfmt_macros
libgetopts
libgraphviz
liblibc@45d85899e9 Update libc to bring in pthread mutex type definitions 2016-06-02 13:31:00 +01:00
liblog rustfmt on liblog 2016-05-27 08:06:17 +05:30
libpanic_abort mk: Prepare for a new stage0 compiler 2016-05-31 16:11:49 -07:00
libpanic_unwind run rustfmt on libpanic_unwind folder 2016-06-05 23:34:23 +05:30
librand prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librbml
librustc Auto merge of #34638 - zackmdavis:if_let_over_none_empty_block_arm, r=jseyfried 2016-07-04 02:18:46 -07:00
librustc_back Auto merge of #33699 - alexcrichton:stabilize-1.10, r=aturon 2016-05-25 20:36:09 -07:00
librustc_bitflags run rustfmt on librustc_bitflags folder 2016-06-05 13:01:11 +05:30
librustc_borrowck prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librustc_const_eval Auto merge of #34638 - zackmdavis:if_let_over_none_empty_block_arm, r=jseyfried 2016-07-04 02:18:46 -07:00
librustc_const_math Allow truncating constants to 16-bit u/isize 2016-06-10 13:07:04 -04:00
librustc_data_structures Auto merge of #34605 - arielb1:bug-in-the-jungle, r=eddyb 2016-07-02 12:25:29 -07:00
librustc_driver Auto merge of #34412 - gnzlbg:document_platform_intrinsics_generate, r=alexcrichton 2016-07-05 08:25:37 -07:00
librustc_errors make old school mode a bit more configurable 2016-06-23 15:19:40 -04:00
librustc_incremental Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
librustc_lint prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librustc_llvm prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librustc_metadata prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librustc_mir Fix Cargo.tomls 2016-06-27 18:30:46 +00:00
librustc_passes Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddyb 2016-06-26 02:17:27 +00:00
librustc_platform_intrinsics Add intrinsics for x86 bit manipulation instruction sets: BMI 1.0, BMI 2.0, and TBM. 2016-06-22 16:34:10 +02:00
librustc_plugin Fix Cargo.tomls 2016-06-27 18:30:46 +00:00
librustc_privacy Fix Cargo.tomls 2016-06-27 18:30:46 +00:00
librustc_resolve Add the after_expand entry point between import resolution and the rest of name resolution 2016-07-01 00:07:32 +00:00
librustc_save_analysis prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librustc_trans Auto merge of #34594 - willcrichton:master, r=nrc 2016-07-04 22:24:08 -07:00
librustc_typeck Auto merge of #34638 - zackmdavis:if_let_over_none_empty_block_arm, r=jseyfried 2016-07-04 02:18:46 -07:00
librustc_unicode docs: Improve char::to_{lower,upper}case examples 2016-06-08 19:24:03 +01:00
librustdoc Auto merge of #34638 - zackmdavis:if_let_over_none_empty_block_arm, r=jseyfried 2016-07-04 02:18:46 -07:00
libserialize prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
libstd Auto merge of #34590 - pwlandoll:master, r=apasel422 2016-07-04 05:03:04 -07:00
libsyntax prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
libsyntax_ext prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
libsyntax_pos Address comments and fix travis warning 2016-06-23 08:07:35 -04:00
libterm Utilize Result::unwrap_err in more places. 2016-05-09 08:40:57 -04:00
libtest prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
libunwind run rustfmt on libunwind 2016-05-29 08:47:51 +05:30
llvm@80ad955b60 Update LLVM 2016-06-05 09:45:47 +03:00
rt hoedown: fix trigger of -Werror=misleading-indentation 2016-05-31 21:38:29 +03:00
rtstartup run rustfmt on rtstartup folder 2016-05-29 21:04:21 +05:30
rust-installer@c37d3747da
rustc refactor rustc_metadata to use CamelCase names and IndexVec 2016-06-28 23:41:09 +03:00
rustllvm Remove unneeded indirection of GET_ARCHIVE 2016-06-09 15:59:27 -04:00
test Auto merge of #34594 - willcrichton:master, r=nrc 2016-07-04 22:24:08 -07:00
tools Auto merge of #34530 - alexcrichton:stabilize-1.11, r=aturon 2016-07-03 14:33:55 -07:00
stage0.txt mk: Prepare for a new stage0 compiler 2016-05-31 16:11:49 -07:00