summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2019-01-24 06:58:28 -0500
committerAndrew Gallant <jamslam@gmail.com>2019-01-24 07:00:53 -0500
commit9a9f54d44ce45c6c3c5bfa31ad1a08fda57cdad7 (patch)
treed538ec445c9317d56e17afa1dbb01910405a8227
parent47833b9ce740529ebff7d99a6e156be60b277c5d (diff)
readme: encoding_rs's SIMD support is broken
Add a note about it to the README. Also, remove mention of the avx-accel feature since it no longer exists. (bytecount now uses runtime detection to enable SIMD support.) Fixes #1175
-rw-r--r--CHANGELOG.md9
-rw-r--r--README.md24
2 files changed, 21 insertions, 12 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 244bcff3..080c58de 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,15 @@
============
TODO.
+**BREAKING CHANGES**:
+
+* The `avx-accel` feature of ripgrep has been removed since it is no longer
+ necessary. All uses of AVX in ripgrep are now enabled automatically via
+ runtime CPU feature detection. The `simd-accel` feature does remain
+ available, however, it is broken in the latest nightly release of Rust.
+ See [#1175](https://github.com/BurntSushi/ripgrep/issues/1175) for more
+ info.
+
Feature enhancements:
* [FEATURE #1099](https://github.com/BurntSushi/ripgrep/pull/1099):
diff --git a/README.md b/README.md
index 1e00122e..5e946596 100644
--- a/README.md
+++ b/README.md
@@ -383,19 +383,19 @@ $ ./target/release/rg --version
If you have a Rust nightly compiler and a recent Intel CPU, then you can enable
additional optional SIMD acceleration like so:
+**WARNING**: Building with the `simd-accel` feature on the latest Rust nightly
+does not work because the [`encoding_rs`](https://crates.io/crates/encoding_rs)
+crate hasn't yet migrated to the new SIMD infrastructure, and the old SIMD
+infrastructure no longer works on the latest nightly version of Rust.
+
```
-RUSTFLAGS="-C target-cpu=native" cargo build --release --features 'simd-accel avx-accel'
+RUSTFLAGS="-C target-cpu=native" cargo build --release --features 'simd-accel'
```
-If your machine doesn't support AVX instructions, then simply remove
-`avx-accel` from the features list. Similarly for SIMD (which corresponds
-roughly to SSE instructions).
-
-The `simd-accel` and `avx-accel` features enable SIMD support in certain
-ripgrep dependencies (responsible for counting lines and transcoding). They
-are not necessary to get SIMD optimizations for search; those are enabled
-automatically. Hopefully, some day, the `simd-accel` and `avx-accel` features
-will similarly become unnecessary.
+The `simd-accel` feature enables SIMD support in certain ripgrep dependencies
+(responsible for transcoding). They are not necessary to get SIMD optimizations
+for search; those are enabled automatically. Hopefully, some day, the
+`simd-accel` feature will similarly become unnecessary.
Finally, optional PCRE2 support can be built with ripgrep by enabling the
`pcre2` feature:
@@ -404,8 +404,8 @@ Finally, optional PCRE2 support can be built with ripgrep by enabling the
$ cargo build --release --features 'pcre2'
```
-(Tip: use `--features 'pcre2 simd-accel avx-accel'` to also include compile
-time SIMD optimizations, which will only work with a nightly compiler.)
+(Tip: use `--features 'pcre2 simd-accel'` to also include compile time SIMD
+optimizations, which will only work with a nightly compiler.)
Enabling the PCRE2 feature works with a stable Rust compiler and will
attempt to automatically find and link with your system's PCRE2 library via