diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:35:29 +0000 |
commit | 59203c63bb777a3bacec32fb8830fba33540e809 (patch) | |
tree | 58298e711c0ff0575818c30485b44a2f21bf28a0 /third_party/rust/encoding_rs/README.md | |
parent | Adding upstream version 126.0.1. (diff) | |
download | firefox-59203c63bb777a3bacec32fb8830fba33540e809.tar.xz firefox-59203c63bb777a3bacec32fb8830fba33540e809.zip |
Adding upstream version 127.0.upstream/127.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/encoding_rs/README.md')
-rw-r--r-- | third_party/rust/encoding_rs/README.md | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/third_party/rust/encoding_rs/README.md b/third_party/rust/encoding_rs/README.md index c0b596c951..ed0e954630 100644 --- a/third_party/rust/encoding_rs/README.md +++ b/third_party/rust/encoding_rs/README.md @@ -167,13 +167,15 @@ There are currently these optional cargo features: ### `simd-accel` -Enables SIMD acceleration using the nightly-dependent `packed_simd` crate. +Enables SIMD acceleration using the nightly-dependent `portable_simd` standard +library feature. This is an opt-in feature, because enabling this feature _opts out_ of Rust's guarantees of future compilers compiling old code (aka. "stability story"). Currently, this has not been tested to be an improvement except for these -targets: +targets and enabling the `simd-accel` feature is expected to break the build +on other targets: * x86_64 * i686 @@ -185,22 +187,6 @@ above, and you are prepared _to have to revise your configuration when updating Rust_, you should enable this feature. Otherwise, please _do not_ enable this feature. -_Note!_ If you are compiling for a target that does not have 128-bit SIMD -enabled as part of the target definition and you are enabling 128-bit SIMD -using `-C target_feature`, you need to enable the `core_arch` Cargo feature -for `packed_simd` to compile a crates.io snapshot of `core_arch` instead of -using the standard-library copy of `core::arch`, because the `core::arch` -module of the pre-compiled standard library has been compiled with the -assumption that the CPU doesn't have 128-bit SIMD. At present this applies -mainly to 32-bit ARM targets whose first component does not include the -substring `neon`. - -The encoding_rs side of things has not been properly set up for POWER, -PowerPC, MIPS, etc., SIMD at this time, so even if you were to follow -the advice from the previous paragraph, you probably shouldn't use -the `simd-accel` option on the less mainstream architectures at this -time. - Used by Firefox. ### `serde` @@ -381,8 +367,9 @@ as semver-breaking, because this crate depends on `cfg-if`, which doesn't appear to treat MSRV changes as semver-breaking, so it would be useless for this crate to treat MSRV changes as semver-breaking. -As of 2021-02-04, MSRV appears to be Rust 1.36.0 for using the crate and +As of 2024-04-04, MSRV appears to be Rust 1.36.0 for using the crate and 1.42.0 for doc tests to pass without errors about the global allocator. +With the `simd-accel` feature, the MSRV is even higher. ## Compatibility with rust-encoding @@ -446,10 +433,17 @@ To regenerate the generated code: - [x] Add actually fast CJK encode options. - [ ] ~Investigate [Bob Steagall's lookup table acceleration for UTF-8](https://github.com/BobSteagall/CppNow2018/blob/master/FastConversionFromUTF-8/Fast%20Conversion%20From%20UTF-8%20with%20C%2B%2B%2C%20DFAs%2C%20and%20SSE%20Intrinsics%20-%20Bob%20Steagall%20-%20C%2B%2BNow%202018.pdf).~ - [x] Provide a build mode that works without `alloc` (with lesser API surface). -- [ ] Migrate to `std::simd` once it is stable and declare 1.0. +- [x] Migrate to `std::simd` ~once it is stable and declare 1.0.~ +- [ ] Migrate `unsafe` slice access by larger types than `u8`/`u16` to `align_to`. ## Release Notes +### 0.8.34 + +* Use the `portable_simd` nightly feature of the standard library instead of the `packed_simd` crate. Only affects the `simd-accel` optional nightly feature. +* Internal documentation improvements and minor code improvements around `unsafe`. +* Added `rust-version` to `Cargo.toml`. + ### 0.8.33 * Use `packed_simd` instead of `packed_simd_2` again now that updates are back under the `packed_simd` name. Only affects the `simd-accel` optional nightly feature. |