--- debian/patches/librewolf/encoding_rs.patch 2024-05-21 14:49:38.963623665 -0400 +++ librewolf_126.0/debian/patches/librewolf/encoding_rs.patch 2024-05-21 20:55:23.325759333 -0400 @@ -8,15 +8,9 @@ Differential Revision: https://phabricator.services.mozilla.com/D207167 -diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in --- a/.cargo/config.toml.in +++ b/.cargo/config.toml.in -@@ -35,16 +35,21 @@ git = "https://github.com/gfx-rs/wgpu" - rev = "2b0e3ed01cfcc4bcccc7fd63b2581b260c00b089" - replace-with = "vendored-sources" - - [source."git+https://github.com/glandium/mio?rev=9a2ef335c366044ffe73b1c4acabe50a1daefe05"] - git = "https://github.com/glandium/mio" +@@ -35,6 +35,11 @@ git = "https://github.com/glandium/mio" rev = "9a2ef335c366044ffe73b1c4acabe50a1daefe05" replace-with = "vendored-sources" @@ -28,20 +22,9 @@ [source."git+https://github.com/hsivonen/chardetng?rev=3484d3e3ebdc8931493aa5df4d7ee9360a90e76b"] git = "https://github.com/hsivonen/chardetng" rev = "3484d3e3ebdc8931493aa5df4d7ee9360a90e76b" - replace-with = "vendored-sources" - - [source."git+https://github.com/hsivonen/chardetng_c?rev=ed8a4c6f900a90d4dbc1d64b856e61490a1c3570"] - git = "https://github.com/hsivonen/chardetng_c" - rev = "ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" -diff --git a/Cargo.lock b/Cargo.lock --- a/Cargo.lock +++ b/Cargo.lock -@@ -87,16 +87,25 @@ dependencies = [ - - [[package]] - name = "anstyle" - version = "1.0.3" - source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -92,6 +92,15 @@ source = "registry+https://github.com/ru checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" [[package]] @@ -57,45 +40,23 @@ name = "anyhow" version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" - - [[package]] - name = "app_services_logger" - version = "0.1.0" -@@ -1571,22 +1580,22 @@ dependencies = [ - "encoding_rs", - "nserror", - "nsstring", - "xmldecl", - ] +@@ -1575,12 +1584,12 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.33" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" --dependencies = [ +version = "0.8.34" -+source = "registry+https://github.com/rust-lang/crates.io-index" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -+dependencies = [ + dependencies = [ + "any_all_workaround", "cfg-if 1.0.0", - "packed_simd", ] [[package]] - name = "enum-map" - version = "2.7.3" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" - dependencies = [ -@@ -4321,26 +4330,16 @@ checksum = "8d91edf4fbb970279443471345a4 - name = "oxilangtag-ffi" - version = "0.1.0" - dependencies = [ - "nsstring", - "oxilangtag", +@@ -4333,16 +4342,6 @@ dependencies = [ ] [[package]] @@ -112,20 +73,9 @@ name = "parking_lot" version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" - dependencies = [ - "lock_api", - "parking_lot_core", - ] -diff --git a/Cargo.toml b/Cargo.toml --- a/Cargo.toml +++ b/Cargo.toml -@@ -188,16 +188,17 @@ moz_asserts = { path = "mozglue/static/r - rure = { path = "third_party/rust/rure" } - - # To-be-published changes. - cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "aaa966d9d6ae70c4b8a62bb5e3a14c068bb7dff0" } - cssparser-macros = { git = "https://github.com/servo/rust-cssparser", rev = "aaa966d9d6ae70c4b8a62bb5e3a14c068bb7dff0" } +@@ -200,6 +200,7 @@ cssparser-macros = { git = "https://gith unicode-bidi = { git = "https://github.com/servo/unicode-bidi", rev = "ca612daf1c08c53abe07327cb3e6ef6e0a760f0c" } # Other overrides @@ -133,20 +83,9 @@ chardetng = { git = "https://github.com/hsivonen/chardetng", rev = "3484d3e3ebdc8931493aa5df4d7ee9360a90e76b" } chardetng_c = { git = "https://github.com/hsivonen/chardetng_c", rev = "ed8a4c6f900a90d4dbc1d64b856e61490a1c3570" } coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev = "fc68464b5445caf111e41f643a2e69ccce0b4f83" } - cose = { git = "https://github.com/franziskuskiefer/cose-rust", rev = "43c22248d136c8b38fe42ea709d08da6355cf04b" } - firefox-on-glean = { path = "toolkit/components/glean/api" } - icu_capi = { path = "intl/icu_capi" } - icu_segmenter_data = { path = "intl/icu_segmenter_data" } - libudev-sys = { path = "dom/webauthn/libudev-sys" } -diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk --- a/config/makefiles/rust.mk +++ b/config/makefiles/rust.mk -@@ -260,17 +260,17 @@ export COREAUDIO_SDK_PATH=$(IPHONEOS_SDK - export IPHONEOS_SDK_DIR - PATH := $(topsrcdir)/build/macosx:$(PATH) - endif - endif - +@@ -267,7 +267,7 @@ endif ifndef RUSTC_BOOTSTRAP RUSTC_BOOTSTRAP := mozglue_static,qcms ifdef MOZ_RUST_SIMD @@ -155,20 +94,9 @@ endif export RUSTC_BOOTSTRAP endif - - target_rust_ltoable := force-cargo-library-build $(ADD_RUST_LTOABLE) - target_rust_nonltoable := force-cargo-test-run force-cargo-program-build - - ifdef MOZ_PGO_RUST -diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml -@@ -596,16 +596,29 @@ who = "Mike Hommey "] description = "A Gecko-oriented implementation of the Encoding Standard" homepage = "https://docs.rs/encoding_rs/" - documentation = "https://docs.rs/encoding_rs/" - readme = "README.md" - keywords = [ - "encoding", - "web", -@@ -31,23 +32,23 @@ categories = [ - "internationalization", - ] - license = "(Apache-2.0 OR MIT) AND BSD-3-Clause" - repository = "https://github.com/hsivonen/encoding_rs" - +@@ -36,13 +37,13 @@ repository = "https://github.com/hsivone [profile.release] lto = true @@ -516,17 +382,7 @@ [dependencies.serde] version = "1.0" optional = true - - [dev-dependencies.bincode] - version = "1.0" - - [dev-dependencies.serde_derive] -@@ -69,15 +70,9 @@ fast-legacy-encode = [ - "fast-hanja-encode", - "fast-kanji-encode", - "fast-gb-hanzi-encode", - "fast-big5-hanzi-encode", - ] +@@ -74,10 +75,4 @@ fast-legacy-encode = [ less-slow-big5-hanzi-encode = [] less-slow-gb-hanzi-encode = [] less-slow-kanji-encode = [] @@ -538,15 +394,9 @@ -[badges.travis-ci] -repository = "hsivonen/encoding_rs" +simd-accel = ["any_all_workaround"] -diff --git a/third_party/rust/encoding_rs/README.md b/third_party/rust/encoding_rs/README.md --- a/third_party/rust/encoding_rs/README.md +++ b/third_party/rust/encoding_rs/README.md -@@ -162,50 +162,36 @@ wrappers. - * [C++](https://github.com/hsivonen/recode_cpp) - - ## Optional features - - There are currently these optional cargo features: +@@ -167,13 +167,15 @@ There are currently these optional cargo ### `simd-accel` @@ -564,11 +414,7 @@ * x86_64 * i686 - * aarch64 - * thumbv7neon - - If you use nightly Rust, you use targets whose first component is one of the - above, and you are prepared _to have to revise your configuration when updating +@@ -185,22 +187,6 @@ above, and you are prepared _to have to Rust_, you should enable this feature. Otherwise, please _do not_ enable this feature. @@ -591,17 +437,7 @@ Used by Firefox. ### `serde` - - Enables support for serializing and deserializing `&'static Encoding`-typed - struct fields using [Serde][1]. - - [1]: https://serde.rs/ -@@ -376,18 +362,19 @@ It is a goal to support the latest stabl - the version of Rust that's used for Firefox Nightly. - - At this time, there is no firm commitment to support a version older than - what's required by Firefox, and there is no commitment to treat MSRV changes - as semver-breaking, because this crate depends on `cfg-if`, which doesn't +@@ -381,8 +367,9 @@ as semver-breaking, because this crate d appear to treat MSRV changes as semver-breaking, so it would be useless for this crate to treat MSRV changes as semver-breaking. @@ -612,17 +448,7 @@ ## Compatibility with rust-encoding - A compatibility layer that implements the rust-encoding API on top of - encoding_rs is - [provided as a separate crate](https://github.com/hsivonen/encoding_rs_compat) - (cannot be uploaded to crates.io). The compatibility layer was originally - written with the assuption that Firefox would need it, but it is not currently -@@ -441,20 +428,27 @@ To regenerate the generated code: - - [x] Implement the rust-encoding API in terms of encoding_rs. - - [x] Add SIMD acceleration for Aarch64. - - [x] Investigate the use of NEON on 32-bit ARM. - - [ ] ~Investigate Björn Höhrmann's lookup table acceleration for UTF-8 as - adapted to Rust in 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). @@ -641,20 +467,9 @@ ### 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. - - ### 0.8.32 - - * Removed `build.rs`. (This removal should resolve false positives reported by some antivirus products. This may break some build configurations that have opted out of Rust's guarantees against future build breakage.) - * Internal change to what API is used for reinterpreting the lane configuration of SIMD vectors. -diff --git a/third_party/rust/encoding_rs/src/ascii.rs b/third_party/rust/encoding_rs/src/ascii.rs --- a/third_party/rust/encoding_rs/src/ascii.rs +++ b/third_party/rust/encoding_rs/src/ascii.rs -@@ -46,71 +46,87 @@ cfg_if! { - #[allow(dead_code)] - #[inline(always)] - fn likely(b: bool) -> bool { - b - } +@@ -51,6 +51,8 @@ cfg_if! { } } @@ -663,11 +478,7 @@ // `as` truncates, so works on 32-bit, too. #[allow(dead_code)] pub const ASCII_MASK: usize = 0x8080_8080_8080_8080u64 as usize; - - // `as` truncates, so works on 32-bit, too. - #[allow(dead_code)] - pub const BASIC_LATIN_MASK: usize = 0xFF80_FF80_FF80_FF80u64 as usize; - +@@ -62,6 +64,9 @@ pub const BASIC_LATIN_MASK: usize = 0xFF #[allow(unused_macros)] macro_rules! ascii_naive { ($name:ident, $src_unit:ty, $dst_unit:ty) => { @@ -677,9 +488,7 @@ #[inline(always)] pub unsafe fn $name( src: *const $src_unit, - dst: *mut $dst_unit, - len: usize, - ) -> Option<($src_unit, usize)> { +@@ -71,10 +76,13 @@ macro_rules! ascii_naive { // Yes, manually omitting the bound check here matters // a lot for perf. for i in 0..len { @@ -693,10 +502,7 @@ *(dst.add(i)) = code_unit as $dst_unit; } return None; - } - }; - } - +@@ -85,9 +93,15 @@ macro_rules! ascii_naive { #[allow(unused_macros)] macro_rules! ascii_alu { ($name:ident, @@ -712,10 +518,7 @@ #[cfg_attr(feature = "cargo-clippy", allow(never_loop, cast_ptr_alignment))] #[inline(always)] pub unsafe fn $name( - src: *const $src_unit, - dst: *mut $dst_unit, - len: usize, - ) -> Option<($src_unit, usize)> { +@@ -98,6 +112,7 @@ macro_rules! ascii_alu { let mut offset = 0usize; // This loop is only broken out of as a `goto` forward loop { @@ -723,8 +526,7 @@ let mut until_alignment = { // Check if the other unit aligns if we move the narrower unit // to alignment. - // if ::core::mem::size_of::<$src_unit>() == ::core::mem::size_of::<$dst_unit>() { - // ascii_to_ascii +@@ -106,6 +121,7 @@ macro_rules! ascii_alu { let src_alignment = (src as usize) & ALU_ALIGNMENT_MASK; let dst_alignment = (dst as usize) & ALU_ALIGNMENT_MASK; if src_alignment != dst_alignment { @@ -732,17 +534,7 @@ break; } (ALU_ALIGNMENT - src_alignment) & ALU_ALIGNMENT_MASK - // } else if ::core::mem::size_of::<$src_unit>() < ::core::mem::size_of::<$dst_unit>() { - // ascii_to_basic_latin - // let src_until_alignment = (ALIGNMENT - ((src as usize) & ALIGNMENT_MASK)) & ALIGNMENT_MASK; - // if (dst.add(src_until_alignment) as usize) & ALIGNMENT_MASK != 0 { - // break; -@@ -129,74 +145,104 @@ macro_rules! ascii_alu { - // Moving pointers to alignment seems to be a pessimization on - // x86_64 for operations that have UTF-16 as the internal - // Unicode representation. However, since it seems to be a win - // on ARM (tested ARMv7 code running on ARMv8 [rpi3]), except - // mixed results when encoding from UTF-16 and since x86 and +@@ -134,25 +150,40 @@ macro_rules! ascii_alu { // x86_64 should be using SSE2 in due course, keeping the move // to alignment here. It would be good to test on more ARM CPUs // and on real MIPS and POWER hardware. @@ -783,7 +575,7 @@ if offset > len_minus_stride { break; } - } +@@ -160,11 +191,17 @@ macro_rules! ascii_alu { } break; } @@ -801,11 +593,7 @@ *(dst.add(offset)) = code_unit as $dst_unit; offset += 1; } - None - } - }; - } - +@@ -176,9 +213,16 @@ macro_rules! ascii_alu { #[allow(unused_macros)] macro_rules! basic_latin_alu { ($name:ident, @@ -822,13 +610,7 @@ #[cfg_attr( feature = "cargo-clippy", allow(never_loop, cast_ptr_alignment, cast_lossless) - )] - #[inline(always)] - pub unsafe fn $name( - src: *const $src_unit, - dst: *mut $dst_unit, - len: usize, - ) -> Option<($src_unit, usize)> { +@@ -192,6 +236,8 @@ macro_rules! basic_latin_alu { let mut offset = 0usize; // This loop is only broken out of as a `goto` forward loop { @@ -837,17 +619,7 @@ let mut until_alignment = { // Check if the other unit aligns if we move the narrower unit // to alignment. - // if ::core::mem::size_of::<$src_unit>() == ::core::mem::size_of::<$dst_unit>() { - // ascii_to_ascii - // let src_alignment = (src as usize) & ALIGNMENT_MASK; - // let dst_alignment = (dst as usize) & ALIGNMENT_MASK; - // if src_alignment != dst_alignment { -@@ -232,66 +278,89 @@ macro_rules! basic_latin_alu { - // Moving pointers to alignment seems to be a pessimization on - // x86_64 for operations that have UTF-16 as the internal - // Unicode representation. However, since it seems to be a win - // on ARM (tested ARMv7 code running on ARMv8 [rpi3]), except - // mixed results when encoding from UTF-16 and since x86 and +@@ -237,24 +283,37 @@ macro_rules! basic_latin_alu { // x86_64 should be using SSE2 in due course, keeping the move // to alignment here. It would be good to test on more ARM CPUs // and on real MIPS and POWER hardware. @@ -885,7 +657,7 @@ if offset > len_minus_stride { break; } - } +@@ -262,11 +321,15 @@ macro_rules! basic_latin_alu { } break; } @@ -901,10 +673,7 @@ *(dst.add(offset)) = code_unit as $dst_unit; offset += 1; } - None - } - }; - } +@@ -277,7 +340,11 @@ macro_rules! basic_latin_alu { #[allow(unused_macros)] macro_rules! latin1_alu { @@ -916,9 +685,7 @@ #[cfg_attr( feature = "cargo-clippy", allow(never_loop, cast_ptr_alignment, cast_lossless) - )] - #[inline(always)] - pub unsafe fn $name(src: *const $src_unit, dst: *mut $dst_unit, len: usize) { +@@ -287,6 +354,8 @@ macro_rules! latin1_alu { let mut offset = 0usize; // This loop is only broken out of as a `goto` forward loop { @@ -927,17 +694,7 @@ let mut until_alignment = { if ::core::mem::size_of::<$src_unit>() < ::core::mem::size_of::<$dst_unit>() { // unpack - let src_until_alignment = (ALU_ALIGNMENT - - ((src as usize) & ALU_ALIGNMENT_MASK)) - & ALU_ALIGNMENT_MASK; - if (dst.wrapping_add(src_until_alignment) as usize) & ALU_ALIGNMENT_MASK - != 0 -@@ -308,373 +377,485 @@ macro_rules! latin1_alu { - != 0 - { - break; - } - dst_until_alignment +@@ -313,19 +382,30 @@ macro_rules! latin1_alu { } }; if until_alignment + ALU_STRIDE_SIZE <= len { @@ -968,7 +725,7 @@ if offset > len_minus_stride { break; } - } +@@ -333,7 +413,9 @@ macro_rules! latin1_alu { } break; } @@ -978,14 +735,7 @@ let code_unit = *(src.add(offset)); *(dst.add(offset)) = code_unit as $dst_unit; offset += 1; - } - } - }; - } - - #[allow(unused_macros)] - macro_rules! ascii_simd_check_align { - ( +@@ -348,11 +430,19 @@ macro_rules! ascii_simd_check_align { $name:ident, $src_unit:ty, $dst_unit:ty, @@ -1005,7 +755,7 @@ #[inline(always)] pub unsafe fn $name( src: *const $src_unit, - dst: *mut $dst_unit, +@@ -360,6 +450,7 @@ macro_rules! ascii_simd_check_align { len: usize, ) -> Option<($src_unit, usize)> { let mut offset = 0usize; @@ -1013,8 +763,7 @@ if SIMD_STRIDE_SIZE <= len { let len_minus_stride = len - SIMD_STRIDE_SIZE; // XXX Should we first process one stride unconditionally as unaligned to - // avoid the cost of the branchiness below if the first stride fails anyway? - // XXX Should we just use unaligned SSE2 access unconditionally? It seems that +@@ -368,23 +459,29 @@ macro_rules! ascii_simd_check_align { // on Haswell, it would make sense to just use unaligned and not bother // checking. Need to benchmark older architectures before deciding. let dst_masked = (dst as usize) & SIMD_ALIGNMENT_MASK; @@ -1044,8 +793,7 @@ if offset > len_minus_stride { break; } - } - } +@@ -393,20 +490,24 @@ macro_rules! ascii_simd_check_align { } else { if dst_masked == 0 { loop { @@ -1070,8 +818,7 @@ if offset > len_minus_stride { break; } - } - } +@@ -415,8 +516,10 @@ macro_rules! ascii_simd_check_align { } } while offset < len { @@ -1082,16 +829,7 @@ return Some((code_unit, offset)); } *(dst.add(offset)) = code_unit as $dst_unit; - offset += 1; - } - None - } - }; - } - - #[allow(unused_macros)] - macro_rules! ascii_simd_check_align_unrolled { - ( +@@ -433,13 +536,21 @@ macro_rules! ascii_simd_check_align_unro $name:ident, $src_unit:ty, $dst_unit:ty, @@ -1114,10 +852,7 @@ pub unsafe fn $name( src: *const $src_unit, dst: *mut $dst_unit, - len: usize, - ) -> Option<($src_unit, usize)> { - let unit_size = ::core::mem::size_of::<$src_unit>(); - let mut offset = 0usize; +@@ -450,8 +561,10 @@ macro_rules! ascii_simd_check_align_unro // This loop is only broken out of as a goto forward without // actually looping 'outer: loop { @@ -1128,9 +863,7 @@ if !$stride_neither_aligned(src, dst) { break 'outer; } - offset = SIMD_STRIDE_SIZE; - - // We have now seen 16 ASCII bytes. Let's guess that +@@ -461,37 +574,54 @@ macro_rules! ascii_simd_check_align_unro // there will be enough more to justify more expense // in the case of non-ASCII. // Use aligned reads for the sake of old microachitectures. @@ -1186,8 +919,7 @@ if offset + SIMD_STRIDE_SIZE <= len { if !$stride_both_aligned(src.add(offset), dst.add(offset)) { break 'outer; - } - offset += SIMD_STRIDE_SIZE; +@@ -500,18 +630,25 @@ macro_rules! ascii_simd_check_align_unro } } else { loop { @@ -1213,10 +945,7 @@ if offset + SIMD_STRIDE_SIZE <= len { if !$stride_src_aligned(src.add(offset), dst.add(offset)) { break 'outer; - } - offset += SIMD_STRIDE_SIZE; - } - } +@@ -522,11 +659,13 @@ macro_rules! ascii_simd_check_align_unro } else { // At most two iterations, so unroll if offset + SIMD_STRIDE_SIZE <= len { @@ -1230,11 +959,7 @@ if !$stride_neither_aligned(src.add(offset), dst.add(offset)) { break; } - offset += SIMD_STRIDE_SIZE; - } - } - } - } +@@ -538,8 +677,10 @@ macro_rules! ascii_simd_check_align_unro break 'outer; } while offset < len { @@ -1245,16 +970,7 @@ return Some((code_unit, offset)); } *(dst.add(offset)) = code_unit as $dst_unit; - offset += 1; - } - None - } - }; - } - - #[allow(unused_macros)] - macro_rules! latin1_simd_check_align { - ( +@@ -556,30 +697,45 @@ macro_rules! latin1_simd_check_align { $name:ident, $src_unit:ty, $dst_unit:ty, @@ -1300,8 +1016,7 @@ if offset > len_minus_stride { break; } - } - } +@@ -588,16 +744,22 @@ macro_rules! latin1_simd_check_align { } else { if dst_masked == 0 { loop { @@ -1324,8 +1039,7 @@ if offset > len_minus_stride { break; } - } - } +@@ -606,6 +768,7 @@ macro_rules! latin1_simd_check_align { } } while offset < len { @@ -1333,14 +1047,7 @@ let code_unit = *(src.add(offset)); *(dst.add(offset)) = code_unit as $dst_unit; offset += 1; - } - } - }; - } - - #[allow(unused_macros)] - macro_rules! latin1_simd_check_align_unrolled { - ( +@@ -620,56 +783,74 @@ macro_rules! latin1_simd_check_align_unr $name:ident, $src_unit:ty, $dst_unit:ty, @@ -1415,17 +1122,7 @@ let code_unit = *(src.add(offset)); // On x86_64, this loop autovectorizes but in the pack // case there are instructions whose purpose is to make sure - // each u16 in the vector is truncated before packing. However, - // since we don't care about saturating behavior of SSE2 packing - // when the input isn't Latin1, those instructions are useless. - // Unfortunately, using the `assume` intrinsic to lie to the - // optimizer doesn't make LLVM omit the trunctation that we -@@ -688,138 +869,180 @@ macro_rules! latin1_simd_check_align_unr - offset += 1; - } - } - }; - } +@@ -693,7 +874,12 @@ macro_rules! latin1_simd_check_align_unr #[allow(unused_macros)] macro_rules! ascii_simd_unalign { @@ -1438,7 +1135,7 @@ #[inline(always)] pub unsafe fn $name( src: *const $src_unit, - dst: *mut $dst_unit, +@@ -701,21 +887,26 @@ macro_rules! ascii_simd_unalign { len: usize, ) -> Option<($src_unit, usize)> { let mut offset = 0usize; @@ -1465,12 +1162,7 @@ return Some((code_unit, offset)); } *(dst.add(offset)) = code_unit as $dst_unit; - offset += 1; - } - None - } - }; - } +@@ -728,21 +919,27 @@ macro_rules! ascii_simd_unalign { #[allow(unused_macros)] macro_rules! latin1_simd_unalign { @@ -1498,10 +1190,7 @@ let code_unit = *(src.add(offset)); *(dst.add(offset)) = code_unit as $dst_unit; offset += 1; - } - } - }; - } +@@ -753,7 +950,11 @@ macro_rules! latin1_simd_unalign { #[allow(unused_macros)] macro_rules! ascii_to_ascii_simd_stride { @@ -1513,14 +1202,7 @@ #[inline(always)] pub unsafe fn $name(src: *const u8, dst: *mut u8) -> bool { let simd = $load(src); - if !simd_is_ascii(simd) { - return false; - } - $store(dst, simd); - true - } - }; - } +@@ -768,19 +969,32 @@ macro_rules! ascii_to_ascii_simd_stride #[allow(unused_macros)] macro_rules! ascii_to_ascii_simd_double_stride { @@ -1553,10 +1235,7 @@ return Some(SIMD_STRIDE_SIZE + mask_second.trailing_zeros() as usize); } $store(dst.add(SIMD_STRIDE_SIZE), second); - None - } - }; - } +@@ -791,7 +1005,11 @@ macro_rules! ascii_to_ascii_simd_double_ #[allow(unused_macros)] macro_rules! ascii_to_basic_latin_simd_stride { @@ -1568,16 +1247,7 @@ #[inline(always)] pub unsafe fn $name(src: *const u8, dst: *mut u16) -> bool { let simd = $load(src); - if !simd_is_ascii(simd) { - return false; - } - let (first, second) = simd_unpack(simd); - $store(dst, first); - $store(dst.add(8), second); - true - } - }; - } +@@ -808,13 +1026,18 @@ macro_rules! ascii_to_basic_latin_simd_s #[allow(unused_macros)] macro_rules! ascii_to_basic_latin_simd_double_stride { @@ -1596,17 +1266,7 @@ $store(dst.add(SIMD_STRIDE_SIZE / 2), b); if unlikely(!simd_is_ascii(first | second)) { let mask_first = mask_ascii(first); - if mask_first != 0 { - return Some(mask_first.trailing_zeros() as usize); - } - let (c, d) = simd_unpack(second); - $store(dst.add(SIMD_STRIDE_SIZE), c); -@@ -832,47 +1055,59 @@ macro_rules! ascii_to_basic_latin_simd_d - $store(dst.add(SIMD_STRIDE_SIZE + (SIMD_STRIDE_SIZE / 2)), d); - None - } - }; - } +@@ -837,7 +1060,11 @@ macro_rules! ascii_to_basic_latin_simd_d #[allow(unused_macros)] macro_rules! unpack_simd_stride { @@ -1618,12 +1278,7 @@ #[inline(always)] pub unsafe fn $name(src: *const u8, dst: *mut u16) { let simd = $load(src); - let (first, second) = simd_unpack(simd); - $store(dst, first); - $store(dst.add(8), second); - } - }; - } +@@ -850,7 +1077,11 @@ macro_rules! unpack_simd_stride { #[allow(unused_macros)] macro_rules! basic_latin_to_ascii_simd_stride { @@ -1635,16 +1290,7 @@ #[inline(always)] pub unsafe fn $name(src: *const u16, dst: *mut u8) -> bool { let first = $load(src); - let second = $load(src.add(8)); - if simd_is_basic_latin(first | second) { - $store(dst, simd_pack(first, second)); - true - } else { - false - } - } - }; - } +@@ -867,7 +1098,11 @@ macro_rules! basic_latin_to_ascii_simd_s #[allow(unused_macros)] macro_rules! pack_simd_stride { @@ -1656,17 +1302,7 @@ #[inline(always)] pub unsafe fn $name(src: *const u16, dst: *mut u8) { let first = $load(src); - let second = $load(src.add(8)); - $store(dst, simd_pack(first, second)); - } - }; - } -@@ -888,24 +1123,28 @@ cfg_if! { - // pub const ALIGNMENT: usize = 8; - - pub const ALU_STRIDE_SIZE: usize = 16; - - pub const ALU_ALIGNMENT: usize = 8; +@@ -893,6 +1128,8 @@ cfg_if! { pub const ALU_ALIGNMENT_MASK: usize = 7; @@ -1675,8 +1311,7 @@ ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_neither_aligned, load16_unaligned, store16_unaligned); ascii_to_basic_latin_simd_stride!(ascii_to_basic_latin_stride_neither_aligned, load16_unaligned, store8_unaligned); - unpack_simd_stride!(unpack_stride_neither_aligned, load16_unaligned, store8_unaligned); - +@@ -901,6 +1138,8 @@ cfg_if! { basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_neither_aligned, load8_unaligned, store16_unaligned); pack_simd_stride!(pack_stride_neither_aligned, load8_unaligned, store16_unaligned); @@ -1685,17 +1320,7 @@ ascii_simd_unalign!(ascii_to_ascii, u8, u8, ascii_to_ascii_stride_neither_aligned); ascii_simd_unalign!(ascii_to_basic_latin, u8, u16, ascii_to_basic_latin_stride_neither_aligned); ascii_simd_unalign!(basic_latin_to_ascii, u16, u8, basic_latin_to_ascii_stride_neither_aligned); - latin1_simd_unalign!(unpack_latin1, u8, u16, unpack_stride_neither_aligned); - latin1_simd_unalign!(pack_latin1, u16, u8, pack_stride_neither_aligned); - } else if #[cfg(all(feature = "simd-accel", target_endian = "little", target_feature = "neon"))] { - // SIMD with different instructions for aligned and unaligned loads and stores. - // -@@ -914,16 +1153,19 @@ cfg_if! { - // but the benchmark results I see don't agree. - - pub const SIMD_STRIDE_SIZE: usize = 16; - - pub const MAX_STRIDE_SIZE: usize = 16; +@@ -919,6 +1158,9 @@ cfg_if! { pub const SIMD_ALIGNMENT_MASK: usize = 15; @@ -1705,17 +1330,7 @@ ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_both_aligned, load16_aligned, store16_aligned); ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_src_aligned, load16_aligned, store16_unaligned); ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_dst_aligned, load16_unaligned, store16_aligned); - ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_neither_aligned, load16_unaligned, store16_unaligned); - - ascii_to_basic_latin_simd_stride!(ascii_to_basic_latin_stride_both_aligned, load16_aligned, store8_aligned); - ascii_to_basic_latin_simd_stride!(ascii_to_basic_latin_stride_src_aligned, load16_aligned, store8_unaligned); - ascii_to_basic_latin_simd_stride!(ascii_to_basic_latin_stride_dst_aligned, load16_unaligned, store8_aligned); -@@ -939,36 +1181,43 @@ cfg_if! { - basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_dst_aligned, load8_unaligned, store16_aligned); - basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_neither_aligned, load8_unaligned, store16_unaligned); - - pack_simd_stride!(pack_stride_both_aligned, load8_aligned, store16_aligned); - pack_simd_stride!(pack_stride_src_aligned, load8_aligned, store16_unaligned); +@@ -944,6 +1186,9 @@ cfg_if! { pack_simd_stride!(pack_stride_dst_aligned, load8_unaligned, store16_aligned); pack_simd_stride!(pack_stride_neither_aligned, load8_unaligned, store16_unaligned); @@ -1725,14 +1340,7 @@ ascii_simd_check_align!(ascii_to_ascii, u8, u8, ascii_to_ascii_stride_both_aligned, ascii_to_ascii_stride_src_aligned, ascii_to_ascii_stride_dst_aligned, ascii_to_ascii_stride_neither_aligned); ascii_simd_check_align!(ascii_to_basic_latin, u8, u16, ascii_to_basic_latin_stride_both_aligned, ascii_to_basic_latin_stride_src_aligned, ascii_to_basic_latin_stride_dst_aligned, ascii_to_basic_latin_stride_neither_aligned); ascii_simd_check_align!(basic_latin_to_ascii, u16, u8, basic_latin_to_ascii_stride_both_aligned, basic_latin_to_ascii_stride_src_aligned, basic_latin_to_ascii_stride_dst_aligned, basic_latin_to_ascii_stride_neither_aligned); - latin1_simd_check_align!(unpack_latin1, u8, u16, unpack_stride_both_aligned, unpack_stride_src_aligned, unpack_stride_dst_aligned, unpack_stride_neither_aligned); - latin1_simd_check_align!(pack_latin1, u16, u8, pack_stride_both_aligned, pack_stride_src_aligned, pack_stride_dst_aligned, pack_stride_neither_aligned); - } else if #[cfg(all(feature = "simd-accel", target_feature = "sse2"))] { - // SIMD with different instructions for aligned and unaligned loads and stores. - // - // Newer microarchitectures are not supposed to have a performance difference between - // aligned and unaligned SSE2 loads and stores when the address is actually aligned, - // but the benchmark results I see don't agree. +@@ -958,12 +1203,16 @@ cfg_if! { pub const SIMD_STRIDE_SIZE: usize = 16; @@ -1749,17 +1357,7 @@ ascii_to_ascii_simd_double_stride!(ascii_to_ascii_simd_double_stride_both_aligned, store16_aligned); ascii_to_ascii_simd_double_stride!(ascii_to_ascii_simd_double_stride_src_aligned, store16_unaligned); - ascii_to_basic_latin_simd_double_stride!(ascii_to_basic_latin_simd_double_stride_both_aligned, store8_aligned); - ascii_to_basic_latin_simd_double_stride!(ascii_to_basic_latin_simd_double_stride_src_aligned, store8_unaligned); - - ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_both_aligned, load16_aligned, store16_aligned); - ascii_to_ascii_simd_stride!(ascii_to_ascii_stride_src_aligned, load16_aligned, store16_unaligned); -@@ -984,33 +1233,43 @@ cfg_if! { - basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_both_aligned, load8_aligned, store16_aligned); - basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_src_aligned, load8_aligned, store16_unaligned); - basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_dst_aligned, load8_unaligned, store16_aligned); - basic_latin_to_ascii_simd_stride!(basic_latin_to_ascii_stride_neither_aligned, load8_unaligned, store16_unaligned); - +@@ -989,6 +1238,9 @@ cfg_if! { pack_simd_stride!(pack_stride_both_aligned, load8_aligned, store16_aligned); pack_simd_stride!(pack_stride_src_aligned, load8_aligned, store16_unaligned); @@ -1769,9 +1367,7 @@ ascii_simd_check_align_unrolled!(ascii_to_ascii, u8, u8, ascii_to_ascii_stride_both_aligned, ascii_to_ascii_stride_src_aligned, ascii_to_ascii_stride_neither_aligned, ascii_to_ascii_simd_double_stride_both_aligned, ascii_to_ascii_simd_double_stride_src_aligned); ascii_simd_check_align_unrolled!(ascii_to_basic_latin, u8, u16, ascii_to_basic_latin_stride_both_aligned, ascii_to_basic_latin_stride_src_aligned, ascii_to_basic_latin_stride_neither_aligned, ascii_to_basic_latin_simd_double_stride_both_aligned, ascii_to_basic_latin_simd_double_stride_src_aligned); - ascii_simd_check_align!(basic_latin_to_ascii, u16, u8, basic_latin_to_ascii_stride_both_aligned, basic_latin_to_ascii_stride_src_aligned, basic_latin_to_ascii_stride_dst_aligned, basic_latin_to_ascii_stride_neither_aligned); - latin1_simd_check_align_unrolled!(unpack_latin1, u8, u16, unpack_stride_both_aligned, unpack_stride_src_aligned, unpack_stride_dst_aligned, unpack_stride_neither_aligned); - latin1_simd_check_align_unrolled!(pack_latin1, u16, u8, pack_stride_both_aligned, pack_stride_src_aligned, pack_stride_dst_aligned, pack_stride_neither_aligned); +@@ -998,14 +1250,21 @@ cfg_if! { } else if #[cfg(all(target_endian = "little", target_pointer_width = "64"))] { // Aligned ALU word, little-endian, 64-bit @@ -1793,17 +1389,7 @@ #[inline(always)] unsafe fn unpack_alu(word: usize, second_word: usize, dst: *mut usize) { let first = ((0x0000_0000_FF00_0000usize & word) << 24) | - ((0x0000_0000_00FF_0000usize & word) << 16) | - ((0x0000_0000_0000_FF00usize & word) << 8) | - (0x0000_0000_0000_00FFusize & word); - let second = ((0xFF00_0000_0000_0000usize & word) >> 8) | - ((0x00FF_0000_0000_0000usize & word) >> 16) | -@@ -1019,22 +1278,24 @@ cfg_if! { - let third = ((0x0000_0000_FF00_0000usize & second_word) << 24) | - ((0x0000_0000_00FF_0000usize & second_word) << 16) | - ((0x0000_0000_0000_FF00usize & second_word) << 8) | - (0x0000_0000_0000_00FFusize & second_word); - let fourth = ((0xFF00_0000_0000_0000usize & second_word) >> 8) | +@@ -1024,12 +1283,14 @@ cfg_if! { ((0x00FF_0000_0000_0000usize & second_word) >> 16) | ((0x0000_FF00_0000_0000usize & second_word) >> 24) | ((0x0000_00FF_0000_0000usize & second_word) >> 32); @@ -1818,17 +1404,7 @@ #[inline(always)] unsafe fn pack_alu(first: usize, second: usize, third: usize, fourth: usize, dst: *mut usize) { let word = ((0x00FF_0000_0000_0000usize & second) << 8) | - ((0x0000_00FF_0000_0000usize & second) << 16) | - ((0x0000_0000_00FF_0000usize & second) << 24) | - ((0x0000_0000_0000_00FFusize & second) << 32) | - ((0x00FF_0000_0000_0000usize & first) >> 24) | - ((0x0000_00FF_0000_0000usize & first) >> 16) | -@@ -1043,70 +1304,88 @@ cfg_if! { - let second_word = ((0x00FF_0000_0000_0000usize & fourth) << 8) | - ((0x0000_00FF_0000_0000usize & fourth) << 16) | - ((0x0000_0000_00FF_0000usize & fourth) << 24) | - ((0x0000_0000_0000_00FFusize & fourth) << 32) | - ((0x00FF_0000_0000_0000usize & third) >> 24) | +@@ -1048,20 +1309,28 @@ cfg_if! { ((0x0000_00FF_0000_0000usize & third) >> 16) | ((0x0000_0000_00FF_0000usize & third) >> 8) | (0x0000_0000_0000_00FFusize & third); @@ -1857,10 +1433,7 @@ #[inline(always)] unsafe fn unpack_alu(word: usize, second_word: usize, dst: *mut usize) { let first = ((0x0000_FF00usize & word) << 8) | - (0x0000_00FFusize & word); - let second = ((0xFF00_0000usize & word) >> 8) | - ((0x00FF_0000usize & word) >> 16); - let third = ((0x0000_FF00usize & second_word) << 8) | +@@ -1072,12 +1341,14 @@ cfg_if! { (0x0000_00FFusize & second_word); let fourth = ((0xFF00_0000usize & second_word) >> 8) | ((0x00FF_0000usize & second_word) >> 16); @@ -1875,10 +1448,7 @@ #[inline(always)] unsafe fn pack_alu(first: usize, second: usize, third: usize, fourth: usize, dst: *mut usize) { let word = ((0x00FF_0000usize & second) << 8) | - ((0x0000_00FFusize & second) << 16) | - ((0x00FF_0000usize & first) >> 8) | - (0x0000_00FFusize & first); - let second_word = ((0x00FF_0000usize & fourth) << 8) | +@@ -1088,20 +1359,28 @@ cfg_if! { ((0x0000_00FFusize & fourth) << 16) | ((0x00FF_0000usize & third) >> 8) | (0x0000_00FFusize & third); @@ -1907,17 +1477,7 @@ #[inline(always)] unsafe fn unpack_alu(word: usize, second_word: usize, dst: *mut usize) { let first = ((0xFF00_0000_0000_0000usize & word) >> 8) | - ((0x00FF_0000_0000_0000usize & word) >> 16) | - ((0x0000_FF00_0000_0000usize & word) >> 24) | - ((0x0000_00FF_0000_0000usize & word) >> 32); - let second = ((0x0000_0000_FF00_0000usize & word) << 24) | - ((0x0000_0000_00FF_0000usize & word) << 16) | -@@ -1115,22 +1394,24 @@ cfg_if! { - let third = ((0xFF00_0000_0000_0000usize & second_word) >> 8) | - ((0x00FF_0000_0000_0000usize & second_word) >> 16) | - ((0x0000_FF00_0000_0000usize & second_word) >> 24) | - ((0x0000_00FF_0000_0000usize & second_word) >> 32); - let fourth = ((0x0000_0000_FF00_0000usize & second_word) << 24) | +@@ -1120,12 +1399,14 @@ cfg_if! { ((0x0000_0000_00FF_0000usize & second_word) << 16) | ((0x0000_0000_0000_FF00usize & second_word) << 8) | (0x0000_0000_0000_00FFusize & second_word); @@ -1932,17 +1492,7 @@ #[inline(always)] unsafe fn pack_alu(first: usize, second: usize, third: usize, fourth: usize, dst: *mut usize) { let word = ((0x00FF0000_00000000usize & first) << 8) | - ((0x000000FF_00000000usize & first) << 16) | - ((0x00000000_00FF0000usize & first) << 24) | - ((0x00000000_000000FFusize & first) << 32) | - ((0x00FF0000_00000000usize & second) >> 24) | - ((0x000000FF_00000000usize & second) >> 16) | -@@ -1139,67 +1420,80 @@ cfg_if! { - let second_word = ((0x00FF0000_00000000usize & third) << 8) | - ((0x000000FF_00000000usize & third) << 16) | - ((0x00000000_00FF0000usize & third) << 24) | - ((0x00000000_000000FFusize & third) << 32) | - ((0x00FF0000_00000000usize & fourth) >> 24) | +@@ -1144,20 +1425,28 @@ cfg_if! { ((0x000000FF_00000000usize & fourth) >> 16) | ((0x00000000_00FF0000usize & fourth) >> 8) | (0x00000000_000000FFusize & fourth); @@ -1971,10 +1521,7 @@ #[inline(always)] unsafe fn unpack_alu(word: usize, second_word: usize, dst: *mut usize) { let first = ((0xFF00_0000usize & word) >> 8) | - ((0x00FF_0000usize & word) >> 16); - let second = ((0x0000_FF00usize & word) << 8) | - (0x0000_00FFusize & word); - let third = ((0xFF00_0000usize & second_word) >> 8) | +@@ -1168,12 +1457,14 @@ cfg_if! { ((0x00FF_0000usize & second_word) >> 16); let fourth = ((0x0000_FF00usize & second_word) << 8) | (0x0000_00FFusize & second_word); @@ -1989,10 +1536,7 @@ #[inline(always)] unsafe fn pack_alu(first: usize, second: usize, third: usize, fourth: usize, dst: *mut usize) { let word = ((0x00FF_0000usize & first) << 8) | - ((0x0000_00FFusize & first) << 16) | - ((0x00FF_0000usize & second) >> 8) | - (0x0000_00FFusize & second); - let second_word = ((0x00FF_0000usize & third) << 8) | +@@ -1184,6 +1475,7 @@ cfg_if! { ((0x0000_00FFusize & third) << 16) | ((0x00FF_0000usize & fourth) >> 8) | (0x0000_00FFusize & fourth); @@ -2000,11 +1544,7 @@ *dst = word; *(dst.add(1)) = second_word; } - } else { - ascii_naive!(ascii_to_ascii, u8, u8); - ascii_naive!(ascii_to_basic_latin, u8, u16); - ascii_naive!(basic_latin_to_ascii, u16, u8); - } +@@ -1195,6 +1487,8 @@ cfg_if! { } cfg_if! { @@ -2013,17 +1553,7 @@ if #[cfg(target_endian = "little")] { #[allow(dead_code)] #[inline(always)] - fn count_zeros(word: usize) -> u32 { - word.trailing_zeros() - } - } else { - #[allow(dead_code)] -@@ -1207,208 +1501,272 @@ cfg_if! { - fn count_zeros(word: usize) -> u32 { - word.leading_zeros() - } - } - } +@@ -1212,19 +1506,24 @@ cfg_if! { cfg_if! { if #[cfg(all(feature = "simd-accel", target_endian = "little", target_arch = "disabled"))] { @@ -2048,8 +1578,7 @@ if offset > len_minus_stride { break; } - } - } +@@ -1233,6 +1532,7 @@ cfg_if! { while offset < len { let code_unit = slice[offset]; if code_unit > 127 { @@ -2057,7 +1586,7 @@ return Some((code_unit, offset)); } offset += 1; - } +@@ -1240,13 +1540,17 @@ cfg_if! { None } } else if #[cfg(all(feature = "simd-accel", target_feature = "sse2"))] { @@ -2075,8 +1604,7 @@ let simd = unsafe { load16_unaligned(src) }; let mask = mask_ascii(simd); if mask != 0 { - offset = mask.trailing_zeros() as usize; - let non_ascii = unsafe { *src.add(offset) }; +@@ -1255,18 +1559,26 @@ cfg_if! { return Some((non_ascii, offset)); } offset = SIMD_STRIDE_SIZE; @@ -2103,9 +1631,7 @@ let simd = unsafe { load16_unaligned(src.add(offset)) }; let mask = mask_ascii(simd); if mask != 0 { - offset += mask.trailing_zeros() as usize; - let non_ascii = unsafe { *src.add(offset) }; - return Some((non_ascii, offset)); +@@ -1276,53 +1588,78 @@ cfg_if! { } offset += until_alignment; } @@ -2186,8 +1712,7 @@ return Some((non_ascii, offset)); } offset += SIMD_STRIDE_SIZE; - } - } +@@ -1331,8 +1668,10 @@ cfg_if! { } } while offset < len { @@ -2198,7 +1723,7 @@ return Some((code_unit, offset)); } offset += 1; - } +@@ -1340,31 +1679,40 @@ cfg_if! { None } } else { @@ -2241,7 +1766,7 @@ #[inline(always)] unsafe fn validate_ascii_stride(src: *const usize) -> Option { let word = *src; - let second_word = *(src.add(1)); +@@ -1372,6 +1720,8 @@ cfg_if! { find_non_ascii(word, second_word) } @@ -2250,7 +1775,7 @@ #[cfg_attr(feature = "cargo-clippy", allow(cast_ptr_alignment))] #[inline(always)] pub fn validate_ascii(slice: &[u8]) -> Option<(u8, usize)> { - let src = slice.as_ptr(); +@@ -1379,23 +1729,30 @@ cfg_if! { let len = slice.len(); let mut offset = 0usize; let mut until_alignment = (ALU_ALIGNMENT - ((src as usize) & ALU_ALIGNMENT_MASK)) & ALU_ALIGNMENT_MASK; @@ -2281,8 +1806,7 @@ if offset > len_minus_stride { break; } - } - } +@@ -1404,6 +1761,7 @@ cfg_if! { while offset < len { let code_unit = slice[offset]; if code_unit > 127 { @@ -2290,17 +1814,7 @@ return Some((code_unit, offset)); } offset += 1; - } - None - } - - } -@@ -1423,70 +1781,88 @@ cfg_if! { - // vector reads without vector writes. - - pub const ALU_STRIDE_SIZE: usize = 8; - - pub const ALU_ALIGNMENT: usize = 4; +@@ -1428,36 +1786,47 @@ cfg_if! { pub const ALU_ALIGNMENT_MASK: usize = 3; } else { @@ -2348,7 +1862,7 @@ let first = *src; let second = *(src.add(1)); let third = *(src.add(2)); - let fourth = *(src.add(3)); +@@ -1465,16 +1834,22 @@ cfg_if! { if (first & BASIC_LATIN_MASK) | (second & BASIC_LATIN_MASK) | (third & BASIC_LATIN_MASK) | (fourth & BASIC_LATIN_MASK) != 0 { return false; } @@ -2371,7 +1885,7 @@ find_non_ascii(word, second_word) } - basic_latin_alu!(ascii_to_basic_latin, u8, u16, ascii_to_basic_latin_stride_alu); +@@ -1482,6 +1857,7 @@ cfg_if! { basic_latin_alu!(basic_latin_to_ascii, u16, u8, basic_latin_to_ascii_stride_alu); latin1_alu!(unpack_latin1, u8, u16, unpack_latin1_stride_alu); latin1_alu!(pack_latin1, u16, u8, pack_latin1_stride_alu); @@ -2379,20 +1893,9 @@ ascii_alu!(ascii_to_ascii, u8, u8, ascii_to_ascii_stride); } } - - pub fn ascii_valid_up_to(bytes: &[u8]) -> usize { - match validate_ascii(bytes) { - None => bytes.len(), - Some((_, num_valid)) => num_valid, -diff --git a/third_party/rust/encoding_rs/src/handles.rs b/third_party/rust/encoding_rs/src/handles.rs --- a/third_party/rust/encoding_rs/src/handles.rs +++ b/third_party/rust/encoding_rs/src/handles.rs -@@ -29,17 +29,17 @@ use crate::simd_funcs::*; - #[cfg(all( - feature = "simd-accel", - any( - target_feature = "sse2", - all(target_endian = "little", target_arch = "aarch64"), +@@ -34,7 +34,7 @@ use crate::simd_funcs::*; all(target_endian = "little", target_feature = "neon") ) ))] @@ -2401,17 +1904,7 @@ use super::DecoderResult; use super::EncoderResult; - use crate::ascii::*; - use crate::utf_8::convert_utf8_to_utf16_up_to_invalid; - use crate::utf_8::utf8_valid_up_to; - - pub enum Space { -@@ -85,84 +85,100 @@ impl Endian for LittleEndian { - const OPPOSITE_ENDIAN: bool = false; - - #[cfg(target_endian = "big")] - const OPPOSITE_ENDIAN: bool = true; - } +@@ -90,19 +90,23 @@ impl Endian for LittleEndian { #[derive(Debug, Copy, Clone)] struct UnalignedU16Slice { @@ -2435,10 +1928,7 @@ self.len -= 1; } - #[inline(always)] - pub fn at(&self, i: usize) -> u16 { - use core::mem::MaybeUninit; - +@@ -113,7 +117,9 @@ impl UnalignedU16Slice { assert!(i < self.len); unsafe { let mut u: MaybeUninit = MaybeUninit::uninit(); @@ -2448,7 +1938,7 @@ u.assume_init() } } - +@@ -121,8 +127,13 @@ impl UnalignedU16Slice { #[cfg(feature = "simd-accel")] #[inline(always)] pub fn simd_at(&self, i: usize) -> u16x8 { @@ -2462,13 +1952,7 @@ unsafe { to_u16_lanes(load16_unaligned(self.ptr.add(byte_index))) } } - #[inline(always)] - pub fn len(&self) -> usize { - self.len - } - - #[inline(always)] - pub fn tail(&self, from: usize) -> UnalignedU16Slice { +@@ -136,6 +147,7 @@ impl UnalignedU16Slice { // XXX the return value should be restricted not to // outlive self. assert!(from <= self.len); @@ -2476,8 +1960,7 @@ unsafe { UnalignedU16Slice::new(self.ptr.add(from * 2), self.len - from) } } - #[cfg(feature = "simd-accel")] - #[inline(always)] +@@ -144,6 +156,8 @@ impl UnalignedU16Slice { pub fn copy_bmp_to(&self, other: &mut [u16]) -> Option<(u16, usize)> { assert!(self.len <= other.len()); let mut offset = 0; @@ -2486,7 +1969,7 @@ if SIMD_STRIDE_SIZE / 2 <= self.len { let len_minus_stride = self.len - SIMD_STRIDE_SIZE / 2; loop { - let mut simd = self.simd_at(offset); +@@ -151,6 +165,7 @@ impl UnalignedU16Slice { if E::OPPOSITE_ENDIAN { simd = simd_byte_swap(simd); } @@ -2494,7 +1977,7 @@ unsafe { store8_unaligned(other.as_mut_ptr().add(offset), simd); } - if contains_surrogates(simd) { +@@ -158,6 +173,7 @@ impl UnalignedU16Slice { break; } offset += SIMD_STRIDE_SIZE / 2; @@ -2502,17 +1985,7 @@ if offset > len_minus_stride { break; } - } - } - while offset < self.len { - let unit = swap_if_opposite_endian::(self.at(offset)); - other[offset] = unit; -@@ -231,33 +247,37 @@ fn copy_unaligned_basic_latin_to_ascii( - src: UnalignedU16Slice, - dst: &mut [u8], +@@ -236,6 +252,7 @@ fn copy_unaligned_basic_latin_to_ascii CopyAsciiResult { let len = ::core::cmp::min(src.len(), dst.len()); let mut offset = 0; @@ -2520,13 +1993,7 @@ if SIMD_STRIDE_SIZE <= len { let len_minus_stride = len - SIMD_STRIDE_SIZE; loop { - let mut first = src.simd_at(offset); - let mut second = src.simd_at(offset + (SIMD_STRIDE_SIZE / 2)); - if E::OPPOSITE_ENDIAN { - first = simd_byte_swap(first); - second = simd_byte_swap(second); - } - if !simd_is_basic_latin(first | second) { +@@ -249,10 +266,13 @@ fn copy_unaligned_basic_latin_to_ascii len_minus_stride { break; } - } - } - copy_unaligned_basic_latin_to_ascii_alu::(src.tail(offset), &mut dst[offset..], offset) - } - -@@ -632,94 +652,106 @@ impl<'a> Utf16Destination<'a> { - #[inline(always)] - fn write_astral(&mut self, astral: u32) { - debug_assert!(astral > 0xFFFF); - debug_assert!(astral <= 0x10_FFFF); - self.write_code_unit((0xD7C0 + (astral >> 10)) as u16); +@@ -637,7 +657,7 @@ impl<'a> Utf16Destination<'a> { self.write_code_unit((0xDC00 + (astral & 0x3FF)) as u16); } #[inline(always)] @@ -2559,8 +2016,7 @@ self.write_code_unit(high); self.write_code_unit(low); } - #[inline(always)] - fn write_big5_combination(&mut self, combined: u16, combining: u16) { +@@ -646,6 +666,7 @@ impl<'a> Utf16Destination<'a> { self.write_bmp_excl_ascii(combined); self.write_bmp_excl_ascii(combining); } @@ -2568,13 +2024,7 @@ #[inline(always)] pub fn copy_ascii_from_check_space_bmp<'b>( &'b mut self, - source: &mut ByteSource, - ) -> CopyAsciiResult<(DecoderResult, usize, usize), (u8, Utf16BmpHandle<'b, 'a>)> { - let non_ascii_ret = { - let src_remaining = &source.slice[source.pos..]; - let dst_remaining = &mut self.slice[self.pos..]; - let (pending, length) = if dst_remaining.len() < src_remaining.len() { - (DecoderResult::OutputFull, dst_remaining.len()) +@@ -659,6 +680,8 @@ impl<'a> Utf16Destination<'a> { } else { (DecoderResult::InputEmpty, src_remaining.len()) }; @@ -2583,8 +2033,7 @@ match unsafe { ascii_to_basic_latin(src_remaining.as_ptr(), dst_remaining.as_mut_ptr(), length) } { - None => { - source.pos += length; +@@ -667,16 +690,20 @@ impl<'a> Utf16Destination<'a> { self.pos += length; return CopyAsciiResult::Stop((pending, source.pos, self.pos)); } @@ -2605,14 +2054,7 @@ #[inline(always)] pub fn copy_ascii_from_check_space_astral<'b>( &'b mut self, - source: &mut ByteSource, - ) -> CopyAsciiResult<(DecoderResult, usize, usize), (u8, Utf16AstralHandle<'b, 'a>)> { - let non_ascii_ret = { - let dst_len = self.slice.len(); - let src_remaining = &source.slice[source.pos..]; - let dst_remaining = &mut self.slice[self.pos..]; - let (pending, length) = if dst_remaining.len() < src_remaining.len() { - (DecoderResult::OutputFull, dst_remaining.len()) +@@ -691,6 +718,8 @@ impl<'a> Utf16Destination<'a> { } else { (DecoderResult::InputEmpty, src_remaining.len()) }; @@ -2621,8 +2063,7 @@ match unsafe { ascii_to_basic_latin(src_remaining.as_ptr(), dst_remaining.as_mut_ptr(), length) } { - None => { - source.pos += length; +@@ -699,11 +728,13 @@ impl<'a> Utf16Destination<'a> { self.pos += length; return CopyAsciiResult::Stop((pending, source.pos, self.pos)); } @@ -2636,11 +2077,7 @@ non_ascii } else { return CopyAsciiResult::Stop(( - DecoderResult::OutputFull, - source.pos, - self.pos, - )); - } +@@ -715,6 +746,7 @@ impl<'a> Utf16Destination<'a> { } } }; @@ -2648,20 +2085,9 @@ CopyAsciiResult::GoOn((non_ascii_ret, Utf16AstralHandle::new(self))) } #[inline(always)] - pub fn copy_utf8_up_to_invalid_from(&mut self, source: &mut ByteSource) { - let src_remaining = &source.slice[source.pos..]; - let dst_remaining = &mut self.slice[self.pos..]; - let (read, written) = convert_utf8_to_utf16_up_to_invalid(src_remaining, dst_remaining); - source.pos += read; -diff --git a/third_party/rust/encoding_rs/src/lib.rs b/third_party/rust/encoding_rs/src/lib.rs --- a/third_party/rust/encoding_rs/src/lib.rs +++ b/third_party/rust/encoding_rs/src/lib.rs -@@ -684,37 +684,26 @@ - //! TIS-620windows-874 - //! - //! - //! - //! See the section [_UTF-16LE, UTF-16BE and Unicode Encoding Schemes_](#utf-16le-utf-16be-and-unicode-encoding-schemes) +@@ -689,7 +689,7 @@ //! for discussion about the UTF-16 family. #![no_std] @@ -2670,9 +2096,7 @@ #[cfg(feature = "alloc")] #[cfg_attr(test, macro_use)] - extern crate alloc; - - extern crate core; +@@ -699,17 +699,6 @@ extern crate core; #[macro_use] extern crate cfg_if; @@ -2690,20 +2114,9 @@ #[cfg(feature = "serde")] extern crate serde; - #[cfg(all(test, feature = "serde"))] - extern crate bincode; - #[cfg(all(test, feature = "serde"))] - #[macro_use] - extern crate serde_derive; -diff --git a/third_party/rust/encoding_rs/src/mem.rs b/third_party/rust/encoding_rs/src/mem.rs --- a/third_party/rust/encoding_rs/src/mem.rs +++ b/third_party/rust/encoding_rs/src/mem.rs -@@ -111,16 +111,21 @@ macro_rules! by_unit_check_alu { - until_alignment -= 1; - } - if accu >= $bound { - return false; - } +@@ -116,6 +116,11 @@ macro_rules! by_unit_check_alu { } let len_minus_stride = len - ALU_ALIGNMENT / unit_size; if offset + (4 * (ALU_ALIGNMENT / unit_size)) <= len { @@ -2715,17 +2128,7 @@ let len_minus_unroll = len - (4 * (ALU_ALIGNMENT / unit_size)); loop { let unroll_accu = unsafe { *(src.add(offset) as *const usize) } - | unsafe { - *(src.add(offset + (ALU_ALIGNMENT / unit_size)) as *const usize) - } - | unsafe { - *(src.add(offset + (2 * (ALU_ALIGNMENT / unit_size))) -@@ -129,22 +134,24 @@ macro_rules! by_unit_check_alu { - | unsafe { - *(src.add(offset + (3 * (ALU_ALIGNMENT / unit_size))) - as *const usize) - }; - if unroll_accu & $mask != 0 { +@@ -134,12 +139,14 @@ macro_rules! by_unit_check_alu { return false; } offset += 4 * (ALU_ALIGNMENT / unit_size); @@ -2740,17 +2143,7 @@ accu |= unsafe { *(src.add(offset) as *const usize) }; offset += ALU_ALIGNMENT / unit_size; } - } - } - for &unit in &buffer[offset..] { - accu |= unit as usize; - } -@@ -184,16 +191,21 @@ macro_rules! by_unit_check_simd { - until_alignment -= 1; - } - if accu >= $bound { - return false; - } +@@ -189,6 +196,11 @@ macro_rules! by_unit_check_simd { } let len_minus_stride = len - SIMD_STRIDE_SIZE / unit_size; if offset + (4 * (SIMD_STRIDE_SIZE / unit_size)) <= len { @@ -2762,17 +2155,7 @@ let len_minus_unroll = len - (4 * (SIMD_STRIDE_SIZE / unit_size)); loop { let unroll_accu = unsafe { *(src.add(offset) as *const $simd_ty) } - | unsafe { - *(src.add(offset + (SIMD_STRIDE_SIZE / unit_size)) - as *const $simd_ty) - } - | unsafe { -@@ -203,23 +215,25 @@ macro_rules! by_unit_check_simd { - | unsafe { - *(src.add(offset + (3 * (SIMD_STRIDE_SIZE / unit_size))) - as *const $simd_ty) - }; - if !$func(unroll_accu) { +@@ -208,6 +220,7 @@ macro_rules! by_unit_check_simd { return false; } offset += 4 * (SIMD_STRIDE_SIZE / unit_size); @@ -2780,7 +2163,7 @@ if offset > len_minus_unroll { break; } - } +@@ -215,6 +228,7 @@ macro_rules! by_unit_check_simd { } let mut simd_accu = $splat; while offset <= len_minus_stride { @@ -2788,17 +2171,7 @@ simd_accu = simd_accu | unsafe { *(src.add(offset) as *const $simd_ty) }; offset += SIMD_STRIDE_SIZE / unit_size; } - if !$func(simd_accu) { - return false; - } - } - } -@@ -229,18 +243,18 @@ macro_rules! by_unit_check_simd { - accu < $bound - } - }; - } - +@@ -234,8 +248,8 @@ macro_rules! by_unit_check_simd { cfg_if! { if #[cfg(all(feature = "simd-accel", any(target_feature = "sse2", all(target_endian = "little", target_arch = "aarch64"), all(target_endian = "little", target_feature = "neon"))))] { use crate::simd_funcs::*; @@ -2809,20 +2182,9 @@ const SIMD_ALIGNMENT: usize = 16; - const SIMD_ALIGNMENT_MASK: usize = 15; - - by_unit_check_simd!(is_ascii_impl, u8, u8x16::splat(0), u8x16, 0x80, simd_is_ascii); - by_unit_check_simd!(is_basic_latin_impl, u16, u16x8::splat(0), u16x8, 0x80, simd_is_basic_latin); - by_unit_check_simd!(is_utf16_latin1_impl, u16, u16x8::splat(0), u16x8, 0x100, simd_is_latin1); -diff --git a/third_party/rust/encoding_rs/src/simd_funcs.rs b/third_party/rust/encoding_rs/src/simd_funcs.rs --- a/third_party/rust/encoding_rs/src/simd_funcs.rs +++ b/third_party/rust/encoding_rs/src/simd_funcs.rs -@@ -2,65 +2,84 @@ - // file at the top-level directory of this distribution. - // - // Licensed under the Apache License, Version 2.0 or the MIT license - // , at your +@@ -7,55 +7,74 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. @@ -2906,17 +2268,7 @@ #[allow(dead_code)] #[inline(always)] pub unsafe fn store8_aligned(ptr: *mut u16, s: u16x8) { - *(ptr as *mut u16x8) = s; - } - - cfg_if! { - if #[cfg(all(target_feature = "sse2", target_arch = "x86_64"))] { -@@ -95,234 +114,241 @@ cfg_if! { - pub fn simd_byte_swap(s: u16x8) -> u16x8 { - let left = s << 8; - let right = s >> 8; - left | right - } +@@ -100,7 +119,7 @@ pub fn simd_byte_swap(s: u16x8) -> u16x8 #[inline(always)] pub fn to_u16_lanes(s: u8x16) -> u16x8 { @@ -2925,7 +2277,7 @@ } cfg_if! { - if #[cfg(target_feature = "sse2")] { +@@ -108,10 +127,11 @@ cfg_if! { // Expose low-level mask instead of higher-level conclusion, // because the non-ASCII case would perform less well otherwise. @@ -2938,13 +2290,7 @@ } } - } else { - - } - } - - cfg_if! { - if #[cfg(target_feature = "sse2")] { +@@ -125,14 +145,16 @@ cfg_if! { #[inline(always)] pub fn simd_is_ascii(s: u8x16) -> bool { unsafe { @@ -2963,8 +2309,7 @@ } } } else { - #[inline(always)] - pub fn simd_is_ascii(s: u8x16) -> bool { +@@ -141,7 +163,7 @@ cfg_if! { // This optimizes better on ARM than // the lt formulation. let highest_ascii = u8x16::splat(0x7F); @@ -2973,12 +2318,7 @@ } } } - - cfg_if! { - if #[cfg(target_feature = "sse2")] { - #[inline(always)] - pub fn simd_is_str_latin1(s: u8x16) -> bool { - if simd_is_ascii(s) { +@@ -154,20 +176,21 @@ cfg_if! { return true; } let above_str_latin1 = u8x16::splat(0xC4); @@ -3003,9 +2343,7 @@ } } } - - cfg_if! { - if #[cfg(target_arch = "aarch64")]{ +@@ -177,21 +200,23 @@ cfg_if! { #[inline(always)] pub fn simd_is_basic_latin(s: u16x8) -> bool { unsafe { @@ -3032,8 +2370,7 @@ } #[inline(always)] - pub fn simd_is_latin1(s: u16x8) -> bool { - // For some reason, on SSE2 this formulation +@@ -200,7 +225,7 @@ cfg_if! { // seems faster in this case while the above // function is better the other way round... let highest_latin1 = u16x8::splat(0xFF); @@ -3042,8 +2379,7 @@ } } } - - #[inline(always)] +@@ -209,7 +234,7 @@ cfg_if! { pub fn contains_surrogates(s: u16x8) -> bool { let mask = u16x8::splat(0xF800); let surrogate_bits = u16x8::splat(0xD800); @@ -3052,7 +2388,7 @@ } cfg_if! { - if #[cfg(target_arch = "aarch64")]{ +@@ -217,7 +242,8 @@ cfg_if! { macro_rules! aarch64_return_false_if_below_hebrew { ($s:ident) => ({ unsafe { @@ -3062,16 +2398,7 @@ return false; } } - }) - } - - macro_rules! non_aarch64_return_false_if_all { - ($s:ident) => () - } - } else { - macro_rules! aarch64_return_false_if_below_hebrew { - ($s:ident) => () - } +@@ -234,7 +260,7 @@ cfg_if! { macro_rules! non_aarch64_return_false_if_all { ($s:ident) => ({ @@ -3080,10 +2407,7 @@ return false; } }) - } - } - } - +@@ -245,7 +271,7 @@ cfg_if! { macro_rules! in_range16x8 { ($s:ident, $start:expr, $end:expr) => {{ // SIMD sub is wrapping @@ -3092,13 +2416,7 @@ }}; } - #[inline(always)] - pub fn is_u16x8_bidi(s: u16x8) -> bool { - // We try to first quickly refute the RTLness of the vector. If that - // fails, we do the real RTL check, so in that case we end up wasting - // the work for the up-front quick checks. Even the quick-check is - // two-fold in order to return `false` ASAP if everything is below - // Hebrew. +@@ -259,43 +285,44 @@ pub fn is_u16x8_bidi(s: u16x8) -> bool { aarch64_return_false_if_below_hebrew!(s); @@ -3168,7 +2486,7 @@ } cfg_if! { - if #[cfg(target_feature = "sse2")] { +@@ -303,21 +330,20 @@ cfg_if! { #[inline(always)] pub fn simd_pack(a: u16x8, b: u16x8) -> u8x16 { unsafe { @@ -3199,20 +2517,9 @@ } } } - - #[cfg(test)] - mod tests { - use super::*; - use alloc::vec::Vec; -diff --git a/third_party/rust/encoding_rs/src/single_byte.rs b/third_party/rust/encoding_rs/src/single_byte.rs --- a/third_party/rust/encoding_rs/src/single_byte.rs +++ b/third_party/rust/encoding_rs/src/single_byte.rs -@@ -48,16 +48,19 @@ impl SingleByteDecoder { - CopyAsciiResult::GoOn((mut non_ascii, mut handle)) => 'middle: loop { - // Start non-boilerplate - // - // Since the non-ASCIIness of `non_ascii` is hidden from - // the optimizer, it can't figure out that it's OK to +@@ -53,6 +53,9 @@ impl SingleByteDecoder { // statically omit the bound check when accessing // `[u16; 128]` with an index // `non_ascii as usize - 0x80usize`. @@ -3222,17 +2529,7 @@ let mapped = unsafe { *(self.table.get_unchecked(non_ascii as usize - 0x80usize)) }; // let mapped = self.table[non_ascii as usize - 0x80usize]; - if mapped == 0u16 { - return ( - DecoderResult::Malformed(1, 0), - source.consumed(), - handle.written(), -@@ -146,82 +149,103 @@ impl SingleByteDecoder { - dst: &mut [u16], - _last: bool, - ) -> (DecoderResult, usize, usize) { - let (pending, length) = if dst.len() < src.len() { - (DecoderResult::OutputFull, dst.len()) +@@ -151,9 +154,12 @@ impl SingleByteDecoder { } else { (DecoderResult::InputEmpty, src.len()) }; @@ -3245,10 +2542,7 @@ ascii_to_basic_latin( src.as_ptr().add(converted), dst.as_mut_ptr().add(converted), - length - converted, - ) - } { - None => { +@@ -164,6 +170,12 @@ impl SingleByteDecoder { return (pending, length, length); } Some((mut non_ascii, consumed)) => { @@ -3261,8 +2555,7 @@ converted += consumed; 'middle: loop { // `converted` doesn't count the reading of `non_ascii` yet. - // Since the non-ASCIIness of `non_ascii` is hidden from - // the optimizer, it can't figure out that it's OK to +@@ -172,6 +184,9 @@ impl SingleByteDecoder { // statically omit the bound check when accessing // `[u16; 128]` with an index // `non_ascii as usize - 0x80usize`. @@ -3272,11 +2565,7 @@ let mapped = unsafe { *(self.table.get_unchecked(non_ascii as usize - 0x80usize)) }; // let mapped = self.table[non_ascii as usize - 0x80usize]; - if mapped == 0u16 { - return ( - DecoderResult::Malformed(1, 0), - converted + 1, // +1 `for non_ascii` - converted, +@@ -183,9 +198,10 @@ impl SingleByteDecoder { ); } unsafe { @@ -3288,12 +2577,7 @@ converted += 1; // Next, handle ASCII punctuation and non-ASCII without // going back to ASCII acceleration. Non-ASCII scripts - // use ASCII punctuation, so this avoid going to - // acceleration just for punctuation/space and then - // failing. This is a significant boost to non-ASCII - // scripts. - // TODO: Split out Latin converters without this part - // this stuff makes Latin script-conversion slower. +@@ -198,7 +214,10 @@ impl SingleByteDecoder { if converted == length { return (pending, length, length); } @@ -3304,9 +2588,7 @@ 'innermost: loop { if b > 127 { non_ascii = b; - continue 'middle; - } - // Testing on Haswell says that we should write the +@@ -208,15 +227,20 @@ impl SingleByteDecoder { // byte unconditionally instead of trying to unread it // to make it part of the next SIMD stride. unsafe { @@ -3327,17 +2609,7 @@ continue 'innermost; } // We've got markup or ASCII text - continue 'outermost; - } - } - } - } -@@ -229,16 +253,18 @@ impl SingleByteDecoder { - } - - pub fn latin1_byte_compatible_up_to(&self, buffer: &[u8]) -> usize { - let mut bytes = buffer; - let mut total = 0; +@@ -234,6 +258,8 @@ impl SingleByteDecoder { loop { if let Some((non_ascii, offset)) = validate_ascii(bytes) { total += offset; @@ -3346,17 +2618,7 @@ let mapped = unsafe { *(self.table.get_unchecked(non_ascii as usize - 0x80usize)) }; if mapped != u16::from(non_ascii) { return total; - } - total += 1; - bytes = &bytes[offset + 1..]; - } else { - return total; -@@ -379,64 +405,89 @@ impl SingleByteEncoder { - dst: &mut [u8], - _last: bool, - ) -> (EncoderResult, usize, usize) { - let (pending, length) = if dst.len() < src.len() { - (EncoderResult::OutputFull, dst.len()) +@@ -384,9 +410,12 @@ impl SingleByteEncoder { } else { (EncoderResult::InputEmpty, src.len()) }; @@ -3369,10 +2631,7 @@ basic_latin_to_ascii( src.as_ptr().add(converted), dst.as_mut_ptr().add(converted), - length - converted, - ) - } { - None => { +@@ -397,15 +426,23 @@ impl SingleByteEncoder { return (pending, length, length); } Some((mut non_ascii, consumed)) => { @@ -3396,15 +2655,7 @@ } None => { // At this point, we need to know if we - // have a surrogate. - let high_bits = non_ascii & 0xFC00u16; - if high_bits == 0xD800u16 { - // high surrogate - if converted + 1 == length { - // End of buffer. This surrogate is unpaired. - return ( - EncoderResult::Unmappable('\u{FFFD}'), - converted + 1, // +1 `for non_ascii` +@@ -421,6 +458,8 @@ impl SingleByteEncoder { converted, ); } @@ -3413,11 +2664,7 @@ let second = u32::from(unsafe { *src.get_unchecked(converted + 1) }); if second & 0xFC00u32 != 0xDC00u32 { - return ( - EncoderResult::Unmappable('\u{FFFD}'), - converted + 1, // +1 `for non_ascii` - converted, - ); +@@ -432,6 +471,18 @@ impl SingleByteEncoder { } // The next code unit is a low surrogate. let astral: char = unsafe { @@ -3436,17 +2683,7 @@ ::core::char::from_u32_unchecked( (u32::from(non_ascii) << 10) + second - (((0xD800u32 << 10) - 0x1_0000u32) + 0xDC00u32), - ) - }; - return ( - EncoderResult::Unmappable(astral), - converted + 2, // +2 `for non_ascii` and `second` -@@ -451,52 +502,63 @@ impl SingleByteEncoder { - converted, - ); - } - return ( - EncoderResult::unmappable_from_bmp(non_ascii), +@@ -456,6 +507,7 @@ impl SingleByteEncoder { converted + 1, // +1 `for non_ascii` converted, ); @@ -3454,13 +2691,7 @@ } } // Next, handle ASCII punctuation and non-ASCII without - // going back to ASCII acceleration. Non-ASCII scripts - // use ASCII punctuation, so this avoid going to - // acceleration just for punctuation/space and then - // failing. This is a significant boost to non-ASCII - // scripts. - // TODO: Split out Latin converters without this part - // this stuff makes Latin script-conversion slower. +@@ -469,8 +521,12 @@ impl SingleByteEncoder { if converted == length { return (pending, length, length); } @@ -3473,8 +2704,7 @@ if unit > 127 { non_ascii = unit; continue 'middle; - } - // Testing on Haswell says that we should write the +@@ -479,19 +535,25 @@ impl SingleByteEncoder { // byte unconditionally instead of trying to unread it // to make it part of the next SIMD stride. unsafe { @@ -3500,20 +2730,9 @@ } } } - } - } - } - } - -diff --git a/third_party/rust/encoding_rs/src/x_user_defined.rs b/third_party/rust/encoding_rs/src/x_user_defined.rs --- a/third_party/rust/encoding_rs/src/x_user_defined.rs +++ b/third_party/rust/encoding_rs/src/x_user_defined.rs -@@ -9,22 +9,23 @@ - - use super::*; - use crate::handles::*; - use crate::variant::*; - +@@ -14,12 +14,13 @@ use crate::variant::*; cfg_if! { if #[cfg(feature = "simd-accel")] { use simd_funcs::*; @@ -3529,17 +2748,7 @@ } else { } } - - pub struct UserDefinedDecoder; - - impl UserDefinedDecoder { - pub fn new() -> VariantDecoder { -@@ -111,20 +112,25 @@ impl UserDefinedDecoder { - } else { - (DecoderResult::InputEmpty, src.len()) - }; - // Not bothering with alignment - let tail_start = length & !0xF; +@@ -116,10 +117,15 @@ impl UserDefinedDecoder { let simd_iterations = length >> 4; let src_ptr = src.as_ptr(); let dst_ptr = dst.as_mut_ptr(); @@ -3555,20 +2764,11 @@ store8_unaligned(dst_ptr.add(i * 16), shift_upper(first)); store8_unaligned(dst_ptr.add((i * 16) + 8), shift_upper(second)); } - } - let src_tail = &src[tail_start..length]; - let dst_tail = &mut dst[tail_start..length]; - src_tail - .iter() -diff --git a/third_party/rust/packed_simd/.cargo-checksum.json b/third_party/rust/packed_simd/.cargo-checksum.json -deleted file mode 100644 --- a/third_party/rust/packed_simd/.cargo-checksum.json +++ /dev/null -@@ -1,1 +0,0 @@ +@@ -1 +0,0 @@ -{"files":{"Cargo.toml":"ae219b55eab1f8cd8c3497d7327ea0e5426dba23d2446f7981ca799ad80b6a52","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"c4ac7027a9ab7d7858aa8957d7454dbfcdbb81e605b6a171f05310cc3cad3762","bors.toml":"dee881dc69b9b7834e4eba5d95c3ed5a416d4628815a167d6a22d4cb4fb064b8","build.rs":"019ed29c43989782d8eec3a961654cfc172d7a7898da4eca8f654700af7e1988","ci/all.sh":"2ae6b2445b4db83833e40b37efd0016c6b9879ee988b9b3ef94db5439a3e1606","ci/android-install-ndk.sh":"bdcf93ba9043ac1184e2c504a3d40c47c6c1601d882e0f0a27a8eb56fbabcb5f","ci/android-install-sdk.sh":"3490432022c5c8f5a115c084f7a9aca1626f96c0c87ffb62019228c4346b47e4","ci/android-sysimage.sh":"ebf4e5daa1f0fe1b2092b79f0f3f161c4c4275cb744e52352c4d81ab451e4c5a","ci/benchmark.sh":"b61d19ef6b90deba8fb79dee74c8b062d94844676293da346da87bb78a9a49a4","ci/deploy_and_run_on_ios_simulator.rs":"ec8ecf82d92072676aa47f0d1a3d021b60a7ae3531153ef12d2ff4541fc294dc","ci/docker/aarch64-linux-android/Dockerfile":"ace2e7d33c87bc0f6d3962a4a3408c04557646f7f51ab99cfbf574906796b016","ci/docker/aarch64-unknown-linux-gnu/Dockerfile":"da88c0d50f16dc08448c7fdf1fa5ed2cbe576acf9e7dd85b5b818621b2a8c702","ci/docker/arm-unknown-linux-gnueabi/Dockerfile":"bb5f8ae890707c128652290ffc544447643bf12037ddd73c6ad6989f848cb380","ci/docker/arm-unknown-linux-gnueabihf/Dockerfile":"1afaefcbc05b740859acd4e067bc92439be6bcbe8f2e9678474fb434bcd398d9","ci/docker/armv7-linux-androideabi/Dockerfile":"370e55d3330a413a3ccf677b3afb3e0ef9018a5fab263faa97ae8ac017fc2286","ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile":"8282ea707a94109beed47a57574755e2d58401735904a03f85fb64c578c53b4f","ci/docker/i586-unknown-linux-gnu/Dockerfile":"49792922269f371bd29da4727e9085101b27be67a6b97755d0196c63317f7abb","ci/docker/i686-unknown-linux-gnu/Dockerfile":"49792922269f371bd29da4727e9085101b27be67a6b97755d0196c63317f7abb","ci/docker/mips-unknown-linux-gnu/Dockerfile":"b2ebc25797612c4f8395fe9d407725156044955bfbcf442036b7f55b43a5f9da","ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile":"b0c1692ac65bc56dd30494b1993d8e929c48cc9c4b92029b7c7592af6d4f9220","ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile":"4e9249c179300138141d0b2b7401b11897f64aed69f541f078c1db4594df2827","ci/docker/mipsel-unknown-linux-musl/Dockerfile":"3164c52b0dcbb01afa78292b15b5c43503ccf0491cf6eb801ec2bf22ae274e52","ci/docker/powerpc-unknown-linux-gnu/Dockerfile":"ae8274309928620a5dd232a46264e05399bb746288ebee3843a71c4162208cc3","ci/docker/powerpc64-unknown-linux-gnu/Dockerfile":"ba5fbc4bf3bb91cd50b407248da31225681efc8f2be7618f4a0ab1219b389508","ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile":"53f97f8b9b5aca7534b9bf9ea48f35175052cd2a560a107e01ad270731c032fc","ci/docker/s390x-unknown-linux-gnu/Dockerfile":"89f5421cf06d817ae94092987e914472ef384ad2d1fff2735be3d8786ba11214","ci/docker/sparc64-unknown-linux-gnu/Dockerfile":"83eba19576486f9d10d7c037d669d72b31a65565a479f30b22aab36aaa2ff8dc","ci/docker/thumbv7neon-linux-androideabi/Dockerfile":"c2decd5591bd7a09378901bef629cd944acf052eb55e4f35b79eb9cb4d62246a","ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile":"51955a8bf3c4d440f47382af6f5426ebff94ab01a04da36175babda9a057740f","ci/docker/wasm32-unknown-unknown/Dockerfile":"b982b421c70db476900df5b60e19ef8815e6c7dae22687225002780cab7b0a76","ci/docker/x86_64-linux-android/Dockerfile":"a17ebdb186ce2dd6b62100b5a439e05a1ab9adab113e2508843e121aaea52992","ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile":"44b6203d9290bfdc53d81219f0937e1110847a23dd982ec8c4de388354f01536","ci/docker/x86_64-unknown-linux-gnu/Dockerfile":"7f4e3ca5fa288ea70edb4d1f75309708cd30b192e2e4444e61c4d5b3b58f89cf","ci/dox.sh":"434e9611c52e389312d2b03564adf09429f10cc76fe66a8644adb104903b87b7","ci/linux-s390x.sh":"d6b732d7795b4ba131326aff893bca6228a7d2eb0e9402f135705413dbbe0dce","ci/linux-sparc64.sh":"c92966838b1ab7ad3b7a344833ee726aba6b647cf5952e56f0ad1ba420b13325","ci/lld-shim.rs":"3d7f71ec23a49e2b67f694a0168786f9a954dda15f5a138815d966643fd3fcc3","ci/max_line_width.sh":"0a1518bba4c9ecaa55694cb2e9930d0e19c265baabf73143f17f9cf285aaa5bb","ci/run-docker.sh":"92e036390ad9b0d16f109579df1b5ced2e72e9afea40c7d011400ebd3a2a90de","ci/run.sh":"9afabc961e0ee83b87201f3fd554c19e5b0c36f3a95d013595e276c9882dd0a4","ci/run_examples.sh":"d1a23c6c35374a0678ba5114b9b8fefd8be0a79e774872a8bf0898d1baca18d0","ci/runtest-android.rs":"145a8e9799a5223975061fe7e586ade5669ee4877a7d7a4cf6b4ab48e8e36c7c","ci/setup_benchmarks.sh":"fae3960023f6f3d1388cd2ad22fdbab4b075f1f29dd4292d7994a20783beb6cf","ci/test-runner-linux":"c8aa6025cff5306f4f31d0c61dc5f9d4dd5a1d189ab613ef8d4c367c694d9ccd","contributing.md":"2d2629310ad4d464c482bdbb5819f0d6ce223c576aeef2cdce6a1f6857085ea5","perf-guide/book.toml":"115a98284126c6b180178b44713314cc494f08a71662ee2ce15cf67f17a51064","perf-guide/src/SUMMARY.md":"3e03bffc991fdc2050f3d51842d72d9d21ea6abab56a3baf3b2d5973a78b89e1","perf-guide/src/ascii.css":"29afb08833b2fe2250f0412e1fa1161a2432a0820a14953c87124407417c741a","perf-guide/src/bound_checks.md":"5e4991ff58a183ef0cd9fdc1feb4cd12d083b44bdf87393bbb0927808ef3ce7d","perf-guide/src/float-math/approx.md":"8c09032fa2d795a0c5db1775826c850d28eb2627846d0965c60ee72de63735ad","perf-guide/src/float-math/fma.md":"311076ba4b741d604a82e74b83a8d7e8c318fcbd7f64c4392d1cf5af95c60243","perf-guide/src/float-math/fp.md":"04153e775ab6e4f0d7837bcc515230d327b04edfa34c84ce9c9e10ebaeef2be8","perf-guide/src/float-math/svml.md":"0798873b8eedaeda5fed62dc91645b57c20775a02d3cd74d8bd06958f1516506","perf-guide/src/introduction.md":"9f5a19e9e6751f25d2daad39891a0cc600974527ec4c8305843f9618910671bd","perf-guide/src/prof/linux.md":"447731eb5de7d69166728fdbc5ecb0c0c9db678ea493b45a592d67dd002184c0","perf-guide/src/prof/mca.md":"f56d54f3d20e7aa4d32052186e8237b03d65971eb5d112802b442570ff11d344","perf-guide/src/prof/profiling.md":"8a650c0fd6ede0964789bb6577557eeef1d8226a896788602ce61528e260e43c","perf-guide/src/target-feature/attribute.md":"615f88dca0a707b6c416fa605435dd6e1fb5361cc639429cbf68cd87624bd78b","perf-guide/src/target-feature/features.md":"17077760ff24c006b606dd21889c53d87228f4311f3ba3a574f9afdeacd86165","perf-guide/src/target-feature/inlining.md":"7ed1d7068d8173a00d84c16cfe5871cd68b9f04f8d0cca2d01ebc84957ebf2f6","perf-guide/src/target-feature/practice.md":"c4b371842e0086df178488fec97f20def8f0c62ee588bcd25fd948b9b1fa227e","perf-guide/src/target-feature/runtime.md":"835425f5ee597fb3e51d36e725a81ebee29f4561231d19563cd4da81dbb1cfcb","perf-guide/src/target-feature/rustflags.md":"01197acf6f0adec8db32b8591811f69cecb6555a2b05dc5d5ec27d0e3f7b065e","perf-guide/src/vert-hor-ops.md":"c6211c0ee91e60552ec592d89d9d957eedc21dee3cbd89e1ad6765ea06a27471","rust-toolchain":"58bea07cb6d97f9cfcd5c8f98b1feca0fb81cce5b0bf29a8e70ed2641956e9a6","rustfmt.toml":"d99a43f3f8ef9e425cf01c333fba9f0051f888f5d87ab4e8f63c2f7d0fe6620f","src/api.rs":"45508c6c0241519fc01a7f00c9105554c24c312c4e46900ef9c75139ea438305","src/api/bit_manip.rs":"27f3097fc0a11e3c4107049d9779e680dcd67407a066704008a6b9c4fd529e05","src/api/bitmask.rs":"058ebc38a2e0363f07a441d3e9a4775aaec57ccb170a0e5d5efa5dc4743ab07b","src/api/cast.rs":"03b94a3d316ac7b7be7068810044911e965e889a0ace7bae762749ca74a92747","src/api/cast/macros.rs":"b0a14d0c83ad2ebb7a275180f6d9e3f2bc312ba57a7d3d6c39fad4e0f20f9408","src/api/cast/v128.rs":"edd0994efac4379dff26e178423a52dbb3ffeb38b1fc97cae975d744c00b4fb6","src/api/cast/v16.rs":"96bd98c2d21b0663abe6c0ab33005b1fa693f3db7ee6795351391343863484da","src/api/cast/v256.rs":"8c31fe91f5e78ef737dfba6979cc1240210cb094a89d284fe459bf8a991ca24b","src/api/cast/v32.rs":"a99a79dd84d2a5e6adf9db98705675915bd03fd1287d489c7fe38e84d7e4a086","src/api/cast/v512.rs":"c0dd526f41ed7b8a71c3743d91267554ec0a0c75834ccc2e3ecb0ef3004af642","src/api/cast/v64.rs":"6572fdba2a1241a6cd666d3f0cce3306cd2cb7e5e236172e59d5d4351c8a88af","src/api/cmp.rs":"357c3a2a09c6d4611c32dd7fa95be2fae933d513e229026ec9b44451a77b884e","src/api/cmp/eq.rs":"60f70f355bae4cb5b17db53204cacc3890f70670611c17df638d4c04f7cc8075","src/api/cmp/ord.rs":"589f7234761c294fa5df8f525bc4acd5a47cdb602207d524a0d4e19804cd9695","src/api/cmp/partial_eq.rs":"902ccb8aa01fd5738b30ba0b712669c21d4801958907e03bad23432c7dba0198","src/api/cmp/partial_ord.rs":"9db0c37d7434cdfc62d8d66912e972fa3d8c115ab2af051a6f45e414bd3e4f1c","src/api/cmp/vertical.rs":"de3d62f38eba817299aa16f1e1939954c9a447e316509397465c2830852ba053","src/api/default.rs":"67bf21c134127d12a7028c8b88a57f0ceee8ccbd74976da8ca74eb9f16a174d5","src/api/fmt.rs":"67fb804bb86b6cd77cf8cd492b5733ce437071b66fe3297278b8a6552c325dda","src/api/fmt/binary.rs":"02b2b287f7404f8a983813cf70c87108c8da3835578b63ab303116885f609413","src/api/fmt/debug.rs":"56e1c3bdc092747344fffaafff9da7163ee7827857f6fb7cb1c9923eca4f6fa0","src/api/fmt/lower_hex.rs":"558fd592f7f485712fb051509cecc7174a21e6bf62e5ce64766e75afc97bb8e1","src/api/fmt/octal.rs":"3b2e70877a4f368c7704f8e254236c014c365c74d93371c1feb5f030e6c66422","src/api/fmt/upper_hex.rs":"2a442f666bc80e22d41f903f881238fe114dd49344c3ed69849250e853cafc5d","src/api/from.rs":"2e599d8329cb05eaf06224cc441355c4b7b51254fc19256619333be8c149d444","src/api/from/from_array.rs":"5d2cc700568376bf6ee1fe5e406da3bc2d488ff155644bf73d06a1349b73fc53","src/api/from/from_vector.rs":"9764371aa9e6005aace74dea14f59e5611a095b7cf42707940924749282c52f0","src/api/hash.rs":"5076ece87969592c876486f5b1ea8affbeaec379d1a14a30859e0aa5592019de","src/api/into_bits.rs":"8f8011627250e23e66b5c0ca641afb079d8232674bb1354140b536bdbea63e55","src/api/into_bits/arch_specific.rs":"e7445021f3908326bfee758835e5fc5ad56aa1baa77fc1c58abe4350c66c670a","src/api/into_bits/macros.rs":"bb4fe99be2af6a21d805efab44c8e4e61a7b2adb42a65504a0cf26d13efdadcd","src/api/into_bits/v128.rs":"145a44922b09a5ca5b62d88a461d327d399a997a15db4b11d7b17e554a9fa4c0","src/api/into_bits/v16.rs":"f4f4f61ba88aa51b158ec56ca3dce234349aea0daf2b3029a14ab5125d1e41e5","src/api/into_bits/v256.rs":"8cea9c5d9809f11323cb7cdc53b83df593fd17caf926251e412ae9777bed547f","src/api/into_bits/v32.rs":"905ba683d342fa32f4202b80bb46530807bd0a5b588f6c2e8c9f475223c47775","src/api/into_bits/v512.rs":"e25afa1fbf088a5d58e7d75d197b6cd4c56637ea28542ba18e46a451f29d04e7","src/api/into_bits/v64.rs":"d6238022ccff7b92e55b3f6017fc269acb6f36330a6d7e8fb389853a0f1b6478","src/api/math.rs":"8b2a2fc651917a850539f993aa0b9e5bf4da67b11685285b8de8cdca311719ec","src/api/math/float.rs":"969a75cdb3743c5ac7cde653d1a7f659ac65f2a5afb004c9928a7b34b79c3e39","src/api/math/float/abs.rs":"5b6b2701e2e11135b7ce58a05052ea8120e10e4702c95d046b9d21b827b26bf8","src/api/math/float/consts.rs":"6302c9261da4291d144d5bb53493cdd073498feb40955fb6860ea3c4d06c978a","src/api/math/float/cos.rs":"4c2dd7173728ef189314f1576c9486e03be21b7da98843b2f9011282a7979e31","src/api/math/float/exp.rs":"7c6d5f1e304f498a01cfa23b92380c815d7da0ad94eae3483783bc377d287eef","src/api/math/float/ln.rs":"54c7583f3df793b39ff57534fade27b41bb992439e5dc178252f5ca3190a3e54","src/api/math/float/mul_add.rs":"62cac77660d20159276d4c9ef066eb90c81cbddb808e8e157182c607625ad2eb","src/api/math/float/mul_adde.rs":"bae056ee9f3a70df39ec3c3b2f6437c65303888a7b843ef1a5bcf1f5aca0e602","src/api/math/float/powf.rs":"9ddb938984b36d39d82a82f862f80df8f7fb013f1d222d45698d41d88472f568","src/api/math/float/recpre.rs":"589225794ff1dbf31158dff660e6d4509ecc8befbb57c633900dea5ac0b840d6","src/api/math/float/rsqrte.rs":"a32abdcc318d7ccc8448231f54d75b884b7cbeb03a7d595713ab6243036f4dbf","src/api/math/float/sin.rs":"cbd3622b7df74f19691743001c8cf747a201f8977ad90542fee915f37dcd1e49","src/api/math/float/sqrt.rs":"0c66d5d63fb08e4d99c6b82a8828e41173aff1ac9fa1a2764a11fac217ccf2ac","src/api/math/float/sqrte.rs":"731e1c9f321b662accdd27dacb3aac2e8043b7aecb2f2161dde733bd9f025362","src/api/math/float/tanh.rs":"e57940434cc05981b086f0f3b92d32caceb38d67b90aebce5d3ed8e07c80538f","src/api/minimal.rs":"1f22bcc528555444e76de569ec0ae2029b9ae9d04805efeafa93369c8098036b","src/api/minimal/iuf.rs":"819cff26d3e196f807645bcc1d79eb27d9f175edb89910f2274d52a1e913cd11","src/api/minimal/mask.rs":"0cae10ae1fc65f5070e686c0c79bfba27b86b33d6c399367bd4848fb367dcec4","src/api/minimal/ptr.rs":"f74d7a4925d7209faebc26ea8315259cb2c08ec65789a70869e595649a9bc39a","src/api/ops.rs":"3e273b277a0f3019d42c3c59ca94a5afd4885d5ae6d2182e5089bbeec9de42ee","src/api/ops/scalar_arithmetic.rs":"d2d5ad897a59dd0787544f927e0e7ca4072c3e58b0f4a2324083312b0d5a21d7","src/api/ops/scalar_bitwise.rs":"482204e459ca6be79568e1c9f70adbe2d2151412ddf122fb2161be8ebb51c40c","src/api/ops/scalar_mask_bitwise.rs":"c250f52042e37b22d57256c80d4604104cfd2fbe2a2e127c676267270ca5d350","src/api/ops/scalar_shifts.rs":"c4773d435c3f9da4454327e6fbb2b5b41a1c0ebb1cca7372e69dc7a344a1b6e4","src/api/ops/vector_arithmetic.rs":"ddca15d09ddeef502c2ed66117a62300ca65d87e959e8b622d767bdf1c307910","src/api/ops/vector_bitwise.rs":"b3968f7005b649edcc22a54e2379b14d5ee19045f2e784029805781ae043b5ee","src/api/ops/vector_float_min_max.rs":"76bf8cb607e2c442923c1da1061a6b80d742d607408033c2a3761161114cf2a0","src/api/ops/vector_int_min_max.rs":"a378789c6ff9b32a51fbd0a97ffd36ed102cd1fe6a067d2b02017c1df342def6","src/api/ops/vector_mask_bitwise.rs":"5052d18517d765415d40327e6e8e55a312daaca0a5e2aec959bfa54b1675f9c8","src/api/ops/vector_neg.rs":"5c62f6b0221983cdbd23cd0a3af3672e6ba1255f0dfe8b19aae6fbd6503e231b","src/api/ops/vector_rotates.rs":"6c3f761d9d551f6365a8a95539ceace4b1a02e0b12d144f34ed68db94e88cff4","src/api/ops/vector_shifts.rs":"e510be14127c0ffd58a2573a39701da3557d66bedec09837ac8bbd44d579da00","src/api/ptr.rs":"8a793251bed6130dcfb2f1519ceaa18b751bbb15875928d0fb6deb5a5e07523a","src/api/ptr/gather_scatter.rs":"3d614f9d5b4ca201a9f7e46af4405e1d2c28ecee1620297c23b52e37b92cc0ea","src/api/reductions.rs":"ae5baca81352ecd44526d6c30c0a1feeda475ec73ddd3c3ec6b14e944e5448ee","src/api/reductions/bitwise.rs":"8bf910ae226188bd15fc7e125f058cd2566b6186fcd0cd8fd020f352c39ce139","src/api/reductions/float_arithmetic.rs":"47a5679896db2cbb56c31372fe42143da015b6beae7db5d2f3a0309ddf427ae1","src/api/reductions/integer_arithmetic.rs":"c2df3cf7493cca4174f2c65aea422a3d20d8a23af03f8d57cef72c19fee8f20d","src/api/reductions/mask.rs":"db83327a950e33a317f37fd33ca4e20c347fb415975ec024f3e23da8509425af","src/api/reductions/min_max.rs":"6af8c9aa45c69961b1b6fc205395f4767d4421869fb105fb3d563c5605fc13cd","src/api/select.rs":"6b07e7e8026df561f7307221a896f0fbb272536f41b9109040ac094c24c69331","src/api/shuffle.rs":"be7faff9b59654926df12897b2f98a4baa7d6acf2af1aaf93d388ba6e96f83ec","src/api/shuffle1_dyn.rs":"bfea5a91905b31444e9ef7ca6eddb7a9606b7e22d3f71bb842eb2795a0346620","src/api/slice.rs":"ee87484e8af329547b9a5d4f2a69e8bed6ea10bbd96270d706083843d4eea2ac","src/api/slice/from_slice.rs":"3735363000737104a8fc5f394ad8c31ec14e885952bd57647dd2a84001aee0a6","src/api/slice/write_to_slice.rs":"79d09c64d00724783c77c42e4583eeec97b18db94cf2ae146b564c3f85cfefd6","src/api/swap_bytes.rs":"05b4262eaade2f63e6cd3b780c19a03aecd2459d4cc4360051fc088887179a6e","src/codegen.rs":"db4f232fb9f5728db310b87dc8c4733be48afacab1053798c06106bef9a42b05","src/codegen/bit_manip.rs":"525ea6ff7ad1e043b6f6136992166f1803ed5563b7f6fc292c1c40257d20e264","src/codegen/llvm.rs":"12e748b4928c3be6cc12b4165c3041a3d0efccf6195338ecd3d88b8fdb0bbcc7","src/codegen/math.rs":"dfcf02ad34e2fdfe22c3f1cc2822001cc895e65031b4d06e585e5047839febb7","src/codegen/math/float.rs":"b2f31f479c5c70a6ff9ad33872c1e65506f72882b77a2e3f9e71c42e92af9355","src/codegen/math/float/abs.rs":"d5aaadcf540bdb9b4264dca6471a255fd7bf509e763bef0239c0144a68466fea","src/codegen/math/float/cos.rs":"17f28d2900c852dca221fa9c92a9cd5fe7fd2df8d427bbc60216c749b2be013d","src/codegen/math/float/cos_pi.rs":"dbaf9f443f9846a491d4ec52210a7b5835dd593b03366e3135b05c37d70f9d6c","src/codegen/math/float/exp.rs":"d300058a4bcc7ae7976f216f81902cd73a9e603ad63880dff3bbc866c27a9f37","src/codegen/math/float/ln.rs":"c851e211e43f8256093ba75b03ae0c307c9962ee66d94f09b4dd80068190cbdf","src/codegen/math/float/macros.rs":"fc9924869ed85e4795983af228cacf23158f4f35919adce16c920ad4a3f0a009","src/codegen/math/float/mul_add.rs":"041a5b69d5991d93ef795351b17560c10faf80b78fd26ad7df42a239b32cf9de","src/codegen/math/float/mul_adde.rs":"d71d5f0f3333b62a7439b823cb7adf5340ea1555ce820fb4a3f4cb922f73f5f5","src/codegen/math/float/powf.rs":"9742c3877f1a5509ca5c9492a40884b6579ba6dd11c26b7112e63f70666b395d","src/codegen/math/float/sin.rs":"0e9868d35531566509f3a01d85d5253045eb4afa8525d8407dcc1f5f33c56036","src/codegen/math/float/sin_cos_pi.rs":"8e6b6142d7dd240cdb36669722e82ab9810a2261e86e659f7d97a942ad8b1258","src/codegen/math/float/sin_pi.rs":"bb6d39db8f921e03a301fc5206ac1a61a97def8a2cb83b87ccf189f3fc48d548","src/codegen/math/float/sqrt.rs":"e6ebb0c5f428efad1f672b9a8fe4e58534dbf1ea5a8fe092ce5ce76b52fe89cb","src/codegen/math/float/sqrte.rs":"23acfaea38d0e081a6d9021c1094e813d0cfd12c58c1eca9662aade5e625d51c","src/codegen/math/float/tanh.rs":"816fd107f134920fb1a21cd792029d4b89306f6cf16d6f030cc1136823b033e7","src/codegen/pointer_sized_int.rs":"6ca13c214b6cf7e0929dbe18e96a16fc0bb7d8799608df29c4c8115490f99e01","src/codegen/reductions.rs":"8eb18ebac76985d2aa30262a2edd8cb004230b511a765d657525f677a585c12c","src/codegen/reductions/mask.rs":"e67f35a1f4d156a4894a2d6ea5a935b4d898cf70eefb2715f5c1cc165e776c11","src/codegen/reductions/mask/aarch64.rs":"84b101c17cad1ede4eb6d38cada0ac7da239dba8cea3badd3829b967e558431f","src/codegen/reductions/mask/arm.rs":"aaa07129bd078ae7e677cf8b8e67ec9f30536606a0c7ed1baaa18fd1793bb218","src/codegen/reductions/mask/fallback.rs":"3eb9319d2c7cf19216b607b8459612c4e027b643cf11b036937d36896bf76786","src/codegen/reductions/mask/fallback_impl.rs":"76547f396e55ef403327c77c314cf8db8c7a5c9b9819bfb925abeacf130249e5","src/codegen/reductions/mask/x86.rs":"36dcd8af4ab99730a078ed113d3955f74eb1a2876e2e6d9f224e0ff462c216d1","src/codegen/reductions/mask/x86/avx.rs":"3a40868b38c86e35aefb96d7578de6322efe89d8135e0366359b54ddd06f861a","src/codegen/reductions/mask/x86/avx2.rs":"677aed3f056285285daa3adff8bc65e739630b4424defa6d9665e160f027507e","src/codegen/reductions/mask/x86/sse.rs":"8522f6ed03f6c32dd577d4298df477c08aeaaa38563706f29096e1911ed731f2","src/codegen/reductions/mask/x86/sse2.rs":"54ec56e49b0c6841eccb719e4f310d65fe767c04136b2ec20bd8b9d7d9897b9e","src/codegen/shuffle.rs":"1ec2930f4e1acc43ac30b518af298d466a79e9e75734a51c380b7810efd1a27f","src/codegen/shuffle1_dyn.rs":"3f13ca1597378758d05106bf5ff3715eee531f3cb6d88f48b9182bd6c9386b51","src/codegen/swap_bytes.rs":"c67c86e91ca3fc77539e0efcea081a3c62548cccf503963ae408f2e86f4e6a21","src/codegen/v128.rs":"94226b31ec403d18d9d2fe06713f147c9c79e9b5f9105089088266313f843185","src/codegen/v16.rs":"ddec4ffb66b6f7aaffb9a1780c5ddba82557abd74f45073d335047e04cf74924","src/codegen/v256.rs":"6b63917f0444118d6b1595bff2045e59b97c4d24012bd575f69f1f0efc5a0241","src/codegen/v32.rs":"3477b3c5540aed86e61e2f5807dd31db947413cec9181c587d93ed6ec74f0eba","src/codegen/v512.rs":"5854f99d3aabc4cd42b28a20d9ce447756dc2ba024a409a69b6a8ae1f1842fc5","src/codegen/v64.rs":"e9e89caebfe63d10c0cbca61e4dfdba3b7e02ee0989170f80beed23237ddd950","src/codegen/vPtr.rs":"f0753b405cdc865bdf8e82c6505f299ea1f96136239ebbaf7f9ce93d310764b8","src/codegen/vSize.rs":"c89f5fdeb28ac4c8272ed1816fce03d9d95308cc32bb2533bd8b20cd5ac102ac","src/lib.rs":"05048c6a85ec65cf902d9dd8f757a3f76392b703a6794ea71f0d41500a89f78f","src/masks.rs":"70fc0abe4c2907ce2a491c574e1cfb9f3423385da2e1a923a48c9c13f8ba6ed8","src/sealed.rs":"ae7fdeaf5d84cd7710ed730ca72ca7eaba93df6cb0acb183e5c0a7327acf197f","src/testing.rs":"896669c08d8c801448a4d2fadc9d633eda0fbe879d229997e2a182e31278e469","src/testing/macros.rs":"403bbc5ecb7c786fe36156df302d0c07a8122408dbb15f7474d7682224ba1106","src/testing/utils.rs":"41912a92266dfe884647fc035e4242fd746100df8e839808ae0397af3759a3c8","src/v128.rs":"16cf9a8e7156b899ee9b9cd3f2dba9d13ec63289bea8c3ee9ae2e43ad9510288","src/v16.rs":"cb6465cf1e00bf530183af1819b9fe3d7eec978f8765d5e85d9b58a39a4b4045","src/v256.rs":"fe235017da18c7f3c361831c60e3173ad304d8ea1e95d64ebebc79da2d708511","src/v32.rs":"145d347855bac59b2de6508f9e594654e6c330423af9edc0e2ac8f4d1abdf45e","src/v512.rs":"f372f277f3e62eb5c945bb1c460333fdb17b6974fcc876633788ff53bded9599","src/v64.rs":"0b8079881b71575e3414be0b7f8f7eaba65281ba6732f2b2f61f73e95b6f48f7","src/vPtr.rs":"8b3e433d487180bb4304ff71245ecad90f0010f43e139a72027b672abe58facc","src/vSize.rs":"eda5aa020706cbf94d15bada41a0c2a35fc8f3f37cb7c2cd6f34d201399a495e","tests/endianness.rs":"5147f86d224c4c540b772033da2f994cad9bc9c035f38ec21e23bc4e55f8a759"},"package":"1f9f08af0c877571712e2e3e686ad79efad9657dbf0f7c3c8ba943ff6c38932d"} \ No newline at end of file -diff --git a/third_party/rust/packed_simd/Cargo.toml b/third_party/rust/packed_simd/Cargo.toml -deleted file mode 100644 --- a/third_party/rust/packed_simd/Cargo.toml +++ /dev/null @@ -1,83 +0,0 @@ @@ -3655,8 +2855,6 @@ - -[badges.maintenance] -status = "experimental" -diff --git a/third_party/rust/packed_simd/README.md b/third_party/rust/packed_simd/README.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/README.md +++ /dev/null @@ -1,144 +0,0 @@ @@ -3804,8 +3002,6 @@ -[sleef_sys]: https://crates.io/crates/sleef-sys -[contributing instructions]: contributing.md -[Code of Conduct]: https://www.rust-lang.org/en-US/conduct.html -diff --git a/third_party/rust/packed_simd/bors.toml b/third_party/rust/packed_simd/bors.toml -deleted file mode 100644 --- a/third_party/rust/packed_simd/bors.toml +++ /dev/null @@ -1,3 +0,0 @@ @@ -3813,8 +3009,6 @@ - "continuous-integration/travis-ci/push" -] \ No newline at end of file -diff --git a/third_party/rust/packed_simd/build.rs b/third_party/rust/packed_simd/build.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/build.rs +++ /dev/null @@ -1,6 +0,0 @@ @@ -3824,8 +3018,6 @@ - println!("cargo:rustc-cfg=libcore_neon"); - } -} -diff --git a/third_party/rust/packed_simd/ci/all.sh b/third_party/rust/packed_simd/ci/all.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/all.sh +++ /dev/null @@ -1,71 +0,0 @@ @@ -3900,8 +3092,6 @@ - cd micro_benchmarks - $CMD -) -diff --git a/third_party/rust/packed_simd/ci/android-install-ndk.sh b/third_party/rust/packed_simd/ci/android-install-ndk.sh -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/android-install-ndk.sh +++ /dev/null @@ -1,21 +0,0 @@ @@ -3926,8 +3116,6 @@ -rm $ANDROID_NDK_ARCHIVE -mv android-ndk-* ndk -rm -rf android-ndk-* -diff --git a/third_party/rust/packed_simd/ci/android-install-sdk.sh b/third_party/rust/packed_simd/ci/android-install-sdk.sh -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/android-install-sdk.sh +++ /dev/null @@ -1,60 +0,0 @@ @@ -3991,8 +3179,6 @@ - ./sdk/tools/bin/avdmanager create avd \ - --name "${1}" \ - --package "system-images;android-24;default;$abi" -diff --git a/third_party/rust/packed_simd/ci/android-sysimage.sh b/third_party/rust/packed_simd/ci/android-sysimage.sh -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/android-sysimage.sh +++ /dev/null @@ -1,56 +0,0 @@ @@ -4052,8 +3238,6 @@ -} - -main "${@}" -diff --git a/third_party/rust/packed_simd/ci/benchmark.sh b/third_party/rust/packed_simd/ci/benchmark.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/benchmark.sh +++ /dev/null @@ -1,32 +0,0 @@ @@ -4089,8 +3273,6 @@ - cd - -done - -diff --git a/third_party/rust/packed_simd/ci/deploy_and_run_on_ios_simulator.rs b/third_party/rust/packed_simd/ci/deploy_and_run_on_ios_simulator.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/deploy_and_run_on_ios_simulator.rs +++ /dev/null @@ -1,176 +0,0 @@ @@ -4270,8 +3452,6 @@ - install_app_to_simulator(); - run_app_on_simulator(); -} -diff --git a/third_party/rust/packed_simd/ci/docker/aarch64-linux-android/Dockerfile b/third_party/rust/packed_simd/ci/docker/aarch64-linux-android/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/aarch64-linux-android/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ @@ -4322,8 +3502,6 @@ - exec \"$@\"", \ - "--" \ -] -diff --git a/third_party/rust/packed_simd/ci/docker/aarch64-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/aarch64-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/aarch64-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ @@ -4341,8 +3519,6 @@ -ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \ - CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER="qemu-aarch64 -L /usr/aarch64-linux-gnu" \ - OBJDUMP=aarch64-linux-gnu-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/arm-unknown-linux-gnueabi/Dockerfile b/third_party/rust/packed_simd/ci/docker/arm-unknown-linux-gnueabi/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/arm-unknown-linux-gnueabi/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ @@ -4361,8 +3537,6 @@ -ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_LINKER=arm-linux-gnueabi-gcc \ - CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABI_RUNNER="qemu-arm -L /usr/arm-linux-gnueabi" \ - OBJDUMP=arm-linux-gnueabi-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile b/third_party/rust/packed_simd/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ @@ -4379,8 +3553,6 @@ -ENV CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ - CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \ - OBJDUMP=arm-linux-gnueabihf-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/armv7-linux-androideabi/Dockerfile b/third_party/rust/packed_simd/ci/docker/armv7-linux-androideabi/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/armv7-linux-androideabi/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ @@ -4431,8 +3603,6 @@ - exec \"$@\"", \ - "--" \ -] -diff --git a/third_party/rust/packed_simd/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile b/third_party/rust/packed_simd/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ @@ -4449,8 +3619,6 @@ -ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ - CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \ - OBJDUMP=arm-linux-gnueabihf-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/i586-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/i586-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/i586-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ @@ -4461,8 +3629,6 @@ - file \ - make \ - ca-certificates -diff --git a/third_party/rust/packed_simd/ci/docker/i686-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/i686-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/i686-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ @@ -4473,8 +3639,6 @@ - file \ - make \ - ca-certificates -diff --git a/third_party/rust/packed_simd/ci/docker/mips-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/mips-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/mips-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ @@ -4492,8 +3656,6 @@ - CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="qemu-mips -L /usr/mips-linux-gnu" \ - OBJDUMP=mips-linux-gnu-objdump \ No newline at end of file -diff --git a/third_party/rust/packed_simd/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile b/third_party/rust/packed_simd/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ @@ -4508,8 +3670,6 @@ - CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_RUNNER="qemu-mips64 -L /usr/mips64-linux-gnuabi64" \ - OBJDUMP=mips64-linux-gnuabi64-objdump \ No newline at end of file -diff --git a/third_party/rust/packed_simd/ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile b/third_party/rust/packed_simd/ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ @@ -4524,8 +3684,6 @@ - CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_GNUABI64_RUNNER="qemu-mips64el -L /usr/mips64el-linux-gnuabi64" \ - OBJDUMP=mips64el-linux-gnuabi64-objdump \ No newline at end of file -diff --git a/third_party/rust/packed_simd/ci/docker/mipsel-unknown-linux-musl/Dockerfile b/third_party/rust/packed_simd/ci/docker/mipsel-unknown-linux-musl/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/mipsel-unknown-linux-musl/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ @@ -4554,8 +3712,6 @@ - CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \ - CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc \ - CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mipsel -L /toolchain" -diff --git a/third_party/rust/packed_simd/ci/docker/powerpc-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/powerpc-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/powerpc-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ @@ -4572,8 +3728,6 @@ - CARGO_TARGET_POWERPC_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc -cpu Vger -L /usr/powerpc-linux-gnu" \ - CC=powerpc-linux-gnu-gcc \ - OBJDUMP=powerpc-linux-gnu-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ @@ -4594,8 +3748,6 @@ - CARGO_TARGET_POWERPC64_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64 -L /usr/powerpc64-linux-gnu" \ - CC=powerpc64-linux-gnu-gcc \ - OBJDUMP=powerpc64-linux-gnu-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ @@ -4610,8 +3762,6 @@ - CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_RUNNER="qemu-ppc64le -L /usr/powerpc64le-linux-gnu" \ - CC=powerpc64le-linux-gnu-gcc \ - OBJDUMP=powerpc64le-linux-gnu-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/s390x-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/s390x-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/s390x-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ @@ -4635,8 +3785,6 @@ - CC_s390x_unknown_linux_gnu=s390x-linux-gnu-gcc \ - CXX_s390x_unknown_linux_gnu=s390x-linux-gnu-g++ \ - OBJDUMP=s390x-linux-gnu-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/sparc64-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/sparc64-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/sparc64-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ @@ -4658,8 +3806,6 @@ - CARGO_TARGET_SPARC64_UNKNOWN_LINUX_GNU_RUNNER="/test-runner-linux sparc64" \ - CC_sparc64_unknown_linux_gnu=sparc64-linux-gnu-gcc \ - PATH=$PATH:/rust/bin -diff --git a/third_party/rust/packed_simd/ci/docker/thumbv7neon-linux-androideabi/Dockerfile b/third_party/rust/packed_simd/ci/docker/thumbv7neon-linux-androideabi/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/thumbv7neon-linux-androideabi/Dockerfile +++ /dev/null @@ -1,47 +0,0 @@ @@ -4710,8 +3856,6 @@ - exec \"$@\"", \ - "--" \ -] -diff --git a/third_party/rust/packed_simd/ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile b/third_party/rust/packed_simd/ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/thumbv7neon-unknown-linux-gnueabihf/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ @@ -4728,8 +3872,6 @@ -ENV CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \ - CARGO_TARGET_THUMBV7NEON_UNKNOWN_LINUX_GNUEABIHF_RUNNER="qemu-arm -L /usr/arm-linux-gnueabihf" \ - OBJDUMP=arm-linux-gnueabihf-objdump -diff --git a/third_party/rust/packed_simd/ci/docker/wasm32-unknown-unknown/Dockerfile b/third_party/rust/packed_simd/ci/docker/wasm32-unknown-unknown/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/wasm32-unknown-unknown/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ @@ -4772,8 +3914,6 @@ -# Rustc isn't available until this container starts, so defer compilation of the -# shim. -ENTRYPOINT /rust/bin/rustc /lld-shim.rs -o /tmp/lld-shim && exec bash "$@" -diff --git a/third_party/rust/packed_simd/ci/docker/x86_64-linux-android/Dockerfile b/third_party/rust/packed_simd/ci/docker/x86_64-linux-android/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/x86_64-linux-android/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ @@ -4808,8 +3948,6 @@ - CXX_x86_64_linux_android=x86_64-linux-android21-clang++ \ - OBJDUMP=llvm-objdump \ - HOME=/tmp -diff --git a/third_party/rust/packed_simd/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile b/third_party/rust/packed_simd/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ @@ -4829,8 +3967,6 @@ -RUN wget https://github.com/gnzlbg/intel_sde/raw/master/sde-external-8.16.0-2018-01-30-lin.tar.bz2 -RUN tar -xjf sde-external-8.16.0-2018-01-30-lin.tar.bz2 -ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="/sde-external-8.16.0-2018-01-30-lin/sde64 --" -diff --git a/third_party/rust/packed_simd/ci/docker/x86_64-unknown-linux-gnu/Dockerfile b/third_party/rust/packed_simd/ci/docker/x86_64-unknown-linux-gnu/Dockerfile -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/docker/x86_64-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ @@ -4844,8 +3980,6 @@ - cmake \ - libclang-dev \ - clang -diff --git a/third_party/rust/packed_simd/ci/dox.sh b/third_party/rust/packed_simd/ci/dox.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/dox.sh +++ /dev/null @@ -1,27 +0,0 @@ @@ -4876,8 +4010,6 @@ - ghp-import -n target/doc - git push -qf https://${GH_PAGES}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages -fi -diff --git a/third_party/rust/packed_simd/ci/linux-s390x.sh b/third_party/rust/packed_simd/ci/linux-s390x.sh -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/linux-s390x.sh +++ /dev/null @@ -1,18 +0,0 @@ @@ -4899,8 +4031,6 @@ -rm ../initrd.gz -cp /usr/s390x-linux-gnu/lib/libgcc_s.so.1 usr/lib/ -chmod a+w . -diff --git a/third_party/rust/packed_simd/ci/linux-sparc64.sh b/third_party/rust/packed_simd/ci/linux-sparc64.sh -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/linux-sparc64.sh +++ /dev/null @@ -1,17 +0,0 @@ @@ -4921,8 +4051,6 @@ -rm ../initrd.gz -cp /usr/sparc64-linux-gnu/lib/libgcc_s.so.1 usr/lib/ -chmod a+w . -diff --git a/third_party/rust/packed_simd/ci/lld-shim.rs b/third_party/rust/packed_simd/ci/lld-shim.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/lld-shim.rs +++ /dev/null @@ -1,11 +0,0 @@ @@ -4937,8 +4065,6 @@ - .collect::>(); - panic!("failed to exec: {}", Command::new("rust-lld").args(&args).exec()); -} -diff --git a/third_party/rust/packed_simd/ci/max_line_width.sh b/third_party/rust/packed_simd/ci/max_line_width.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/max_line_width.sh +++ /dev/null @@ -1,17 +0,0 @@ @@ -4959,8 +4085,6 @@ - fi -done - -diff --git a/third_party/rust/packed_simd/ci/run-docker.sh b/third_party/rust/packed_simd/ci/run-docker.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/run-docker.sh +++ /dev/null @@ -1,38 +0,0 @@ @@ -5002,8 +4126,6 @@ -else - run ${TARGET} -fi -diff --git a/third_party/rust/packed_simd/ci/run.sh b/third_party/rust/packed_simd/ci/run.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/run.sh +++ /dev/null @@ -1,99 +0,0 @@ @@ -5106,8 +4228,6 @@ - -# FIXME: Figure out which examples take too long to run and ignore or adjust those -#. ci/run_examples.sh -diff --git a/third_party/rust/packed_simd/ci/run_examples.sh b/third_party/rust/packed_simd/ci/run_examples.sh -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/run_examples.sh +++ /dev/null @@ -1,51 +0,0 @@ @@ -5162,8 +4282,6 @@ - -cp -r examples/triangle_xform target/triangle_xform -cargo_test --manifest-path=target/triangle_xform/Cargo.toml --release -diff --git a/third_party/rust/packed_simd/ci/runtest-android.rs b/third_party/rust/packed_simd/ci/runtest-android.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/ci/runtest-android.rs +++ /dev/null @@ -1,45 +0,0 @@ @@ -5212,8 +4330,6 @@ - panic!("failed to find successful test run"); - } -} -diff --git a/third_party/rust/packed_simd/ci/setup_benchmarks.sh b/third_party/rust/packed_simd/ci/setup_benchmarks.sh -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/setup_benchmarks.sh +++ /dev/null @@ -1,7 +0,0 @@ @@ -5224,8 +4340,6 @@ -# Get latest ISPC binary for the target and put it in the path -git clone https://github.com/gnzlbg/ispc-binaries -cp ispc-binaries/ispc-${TARGET} ispc -diff --git a/third_party/rust/packed_simd/ci/test-runner-linux b/third_party/rust/packed_simd/ci/test-runner-linux -deleted file mode 100755 --- a/third_party/rust/packed_simd/ci/test-runner-linux +++ /dev/null @@ -1,24 +0,0 @@ @@ -5253,8 +4367,6 @@ - -# if the output contains a failure, return error -! grep FAILED output > /dev/null -diff --git a/third_party/rust/packed_simd/contributing.md b/third_party/rust/packed_simd/contributing.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/contributing.md +++ /dev/null @@ -1,67 +0,0 @@ @@ -5325,8 +4437,6 @@ - -[perf-guide]: https://rust-lang-nursery.github.io/packed_simd/perf-guide/ -[mdBook]: https://github.com/rust-lang-nursery/mdBook -diff --git a/third_party/rust/packed_simd/perf-guide/book.toml b/third_party/rust/packed_simd/perf-guide/book.toml -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/book.toml +++ /dev/null @@ -1,12 +0,0 @@ @@ -5342,8 +4452,6 @@ - -[output.html] -additional-css = ["./src/ascii.css"] -diff --git a/third_party/rust/packed_simd/perf-guide/src/SUMMARY.md b/third_party/rust/packed_simd/perf-guide/src/SUMMARY.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/SUMMARY.md +++ /dev/null @@ -1,21 +0,0 @@ @@ -5368,8 +4476,6 @@ -- [Performance profiling](./prof/profiling.md) - - [Profiling on Linux](./prof/linux.md) - - [Using machine code analyzers](./prof/mca.md) -diff --git a/third_party/rust/packed_simd/perf-guide/src/ascii.css b/third_party/rust/packed_simd/perf-guide/src/ascii.css -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/ascii.css +++ /dev/null @@ -1,4 +0,0 @@ @@ -5377,8 +4483,6 @@ - /* "Source Code Pro" breaks ASCII art */ - font-family: Consolas, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace; -} -diff --git a/third_party/rust/packed_simd/perf-guide/src/bound_checks.md b/third_party/rust/packed_simd/perf-guide/src/bound_checks.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/bound_checks.md +++ /dev/null @@ -1,22 +0,0 @@ @@ -5404,8 +4508,6 @@ - -These assertions do often significantly impact performance and you should be -aware of them. -diff --git a/third_party/rust/packed_simd/perf-guide/src/float-math/approx.md b/third_party/rust/packed_simd/perf-guide/src/float-math/approx.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/float-math/approx.md +++ /dev/null @@ -1,8 +0,0 @@ @@ -5417,8 +4519,6 @@ -that people should check whether the error is good enough for their -applications. Explain that this error is currently unstable and might change. ---> -diff --git a/third_party/rust/packed_simd/perf-guide/src/float-math/fma.md b/third_party/rust/packed_simd/perf-guide/src/float-math/fma.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/float-math/fma.md +++ /dev/null @@ -1,6 +0,0 @@ @@ -5428,16 +4528,12 @@ -Explain that this is a compound operation, infinite precision, difference -between `mul_add` and `mul_adde`, that LLVM cannot do this by itself, etc. ---> -diff --git a/third_party/rust/packed_simd/perf-guide/src/float-math/fp.md b/third_party/rust/packed_simd/perf-guide/src/float-math/fp.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/float-math/fp.md +++ /dev/null @@ -1,3 +0,0 @@ -# Floating-point math - -This chapter contains information pertaining to working with floating-point numbers. -diff --git a/third_party/rust/packed_simd/perf-guide/src/float-math/svml.md b/third_party/rust/packed_simd/perf-guide/src/float-math/svml.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/float-math/svml.md +++ /dev/null @@ -1,7 +0,0 @@ @@ -5448,8 +4544,6 @@ - -Explain how to enable `sleef`, etc. ---> -diff --git a/third_party/rust/packed_simd/perf-guide/src/introduction.md b/third_party/rust/packed_simd/perf-guide/src/introduction.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/introduction.md +++ /dev/null @@ -1,26 +0,0 @@ @@ -5479,8 +4573,6 @@ - -This book attempts to document these best practices and provides practical examples -on how to apply the tips to _your_ code. -diff --git a/third_party/rust/packed_simd/perf-guide/src/prof/linux.md b/third_party/rust/packed_simd/perf-guide/src/prof/linux.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/prof/linux.md +++ /dev/null @@ -1,107 +0,0 @@ @@ -5591,8 +4683,6 @@ -TODO: explain valgrind's dynamic binary translation, warn about massive -slowdown, talk about `kcachegrind` for a GUI ---> -diff --git a/third_party/rust/packed_simd/perf-guide/src/prof/mca.md b/third_party/rust/packed_simd/perf-guide/src/prof/mca.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/prof/mca.md +++ /dev/null @@ -1,100 +0,0 @@ @@ -5696,8 +4786,6 @@ -TODO: once LLVM 7 gets released, write a chapter on using llvm-mca -with SIMD disassembly. ---> -diff --git a/third_party/rust/packed_simd/perf-guide/src/prof/profiling.md b/third_party/rust/packed_simd/perf-guide/src/prof/profiling.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/prof/profiling.md +++ /dev/null @@ -1,14 +0,0 @@ @@ -5715,8 +4803,6 @@ - -[profiling]: https://en.wikipedia.org/wiki/Profiling_(computer_programming) -[cargo-ref]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-profile-sections -diff --git a/third_party/rust/packed_simd/perf-guide/src/target-feature/attribute.md b/third_party/rust/packed_simd/perf-guide/src/target-feature/attribute.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/target-feature/attribute.md +++ /dev/null @@ -1,5 +0,0 @@ @@ -5725,8 +4811,6 @@ - -diff --git a/third_party/rust/packed_simd/perf-guide/src/target-feature/features.md b/third_party/rust/packed_simd/perf-guide/src/target-feature/features.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/target-feature/features.md +++ /dev/null @@ -1,13 +0,0 @@ @@ -5743,8 +4827,6 @@ -specifications [in the compiler's source code][targets]. - -[targets]: https://github.com/rust-lang/rust/tree/master/src/librustc_target/spec -diff --git a/third_party/rust/packed_simd/perf-guide/src/target-feature/inlining.md b/third_party/rust/packed_simd/perf-guide/src/target-feature/inlining.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/target-feature/inlining.md +++ /dev/null @@ -1,5 +0,0 @@ @@ -5753,8 +4835,6 @@ - -diff --git a/third_party/rust/packed_simd/perf-guide/src/target-feature/practice.md b/third_party/rust/packed_simd/perf-guide/src/target-feature/practice.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/target-feature/practice.md +++ /dev/null @@ -1,31 +0,0 @@ @@ -5789,8 +4869,6 @@ -generated instructions with the [VEX] prefix. - -[VEX]: https://en.wikipedia.org/wiki/VEX_prefix -diff --git a/third_party/rust/packed_simd/perf-guide/src/target-feature/runtime.md b/third_party/rust/packed_simd/perf-guide/src/target-feature/runtime.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/target-feature/runtime.md +++ /dev/null @@ -1,5 +0,0 @@ @@ -5799,8 +4877,6 @@ - -diff --git a/third_party/rust/packed_simd/perf-guide/src/target-feature/rustflags.md b/third_party/rust/packed_simd/perf-guide/src/target-feature/rustflags.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/target-feature/rustflags.md +++ /dev/null @@ -1,77 +0,0 @@ @@ -5881,8 +4957,6 @@ - plan to only use locally. This should never be used when the generated programs - are meant to be run on other computers, such as when packaging for distribution - or cross-compiling. -diff --git a/third_party/rust/packed_simd/perf-guide/src/vert-hor-ops.md b/third_party/rust/packed_simd/perf-guide/src/vert-hor-ops.md -deleted file mode 100644 --- a/third_party/rust/packed_simd/perf-guide/src/vert-hor-ops.md +++ /dev/null @@ -1,76 +0,0 @@ @@ -5962,14 +5036,10 @@ -than `slow_sum`. You can run the [slice_sum]() example and see for yourself. On -the particular machine tested there the algorithm using the horizontal vector -addition is 2.7x slower than the one using vertical vector operations! -diff --git a/third_party/rust/packed_simd/rust-toolchain b/third_party/rust/packed_simd/rust-toolchain -deleted file mode 100644 --- a/third_party/rust/packed_simd/rust-toolchain +++ /dev/null -@@ -1,1 +0,0 @@ +@@ -1 +0,0 @@ -nightly -diff --git a/third_party/rust/packed_simd/rustfmt.toml b/third_party/rust/packed_simd/rustfmt.toml -deleted file mode 100644 --- a/third_party/rust/packed_simd/rustfmt.toml +++ /dev/null @@ -1,5 +0,0 @@ @@ -5979,8 +5049,6 @@ -edition = "2018" -error_on_line_overflow = true \ No newline at end of file -diff --git a/third_party/rust/packed_simd/src/api.rs b/third_party/rust/packed_simd/src/api.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api.rs +++ /dev/null @@ -1,309 +0,0 @@ @@ -6293,8 +5361,6 @@ - impl_ptr_write!([$elem_ty; $elem_n]: $tuple_id, $mask_ty | $test_tt); - } -} -diff --git a/third_party/rust/packed_simd/src/api/bit_manip.rs b/third_party/rust/packed_simd/src/api/bit_manip.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/bit_manip.rs +++ /dev/null @@ -1,129 +0,0 @@ @@ -6427,8 +5493,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/bitmask.rs b/third_party/rust/packed_simd/src/api/bitmask.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/bitmask.rs +++ /dev/null @@ -1,79 +0,0 @@ @@ -6511,8 +5575,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/cast.rs b/third_party/rust/packed_simd/src/api/cast.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast.rs +++ /dev/null @@ -1,108 +0,0 @@ @@ -6624,8 +5686,6 @@ - -mod v512; -pub use self::v512::*; -diff --git a/third_party/rust/packed_simd/src/api/cast/macros.rs b/third_party/rust/packed_simd/src/api/cast/macros.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/macros.rs +++ /dev/null @@ -1,82 +0,0 @@ @@ -6711,8 +5771,6 @@ - )* - } -} -diff --git a/third_party/rust/packed_simd/src/api/cast/v128.rs b/third_party/rust/packed_simd/src/api/cast/v128.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/v128.rs +++ /dev/null @@ -1,302 +0,0 @@ @@ -7018,8 +6076,6 @@ -impl_from_cast!(i128x1[test_v128]: u128x1, m128x1); -impl_from_cast!(u128x1[test_v128]: i128x1, m128x1); -impl_from_cast!(m128x1[test_v128]: i128x1, u128x1); -diff --git a/third_party/rust/packed_simd/src/api/cast/v16.rs b/third_party/rust/packed_simd/src/api/cast/v16.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/v16.rs +++ /dev/null @@ -1,68 +0,0 @@ @@ -7091,8 +6147,6 @@ - usizex2, - msizex2 -); -diff --git a/third_party/rust/packed_simd/src/api/cast/v256.rs b/third_party/rust/packed_simd/src/api/cast/v256.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/v256.rs +++ /dev/null @@ -1,298 +0,0 @@ @@ -7394,8 +6448,6 @@ - isizex4, - usizex4 -); -diff --git a/third_party/rust/packed_simd/src/api/cast/v32.rs b/third_party/rust/packed_simd/src/api/cast/v32.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/v32.rs +++ /dev/null @@ -1,132 +0,0 @@ @@ -7531,8 +6583,6 @@ - usizex2, - msizex2 -); -diff --git a/third_party/rust/packed_simd/src/api/cast/v512.rs b/third_party/rust/packed_simd/src/api/cast/v512.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/v512.rs +++ /dev/null @@ -1,209 +0,0 @@ @@ -7745,8 +6795,6 @@ - isizex8, - usizex8 -); -diff --git a/third_party/rust/packed_simd/src/api/cast/v64.rs b/third_party/rust/packed_simd/src/api/cast/v64.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cast/v64.rs +++ /dev/null @@ -1,208 +0,0 @@ @@ -7958,8 +7006,6 @@ - usizex2, - msizex2 -); -diff --git a/third_party/rust/packed_simd/src/api/cmp.rs b/third_party/rust/packed_simd/src/api/cmp.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cmp.rs +++ /dev/null @@ -1,16 +0,0 @@ @@ -7979,8 +7025,6 @@ - -#[macro_use] -mod vertical; -diff --git a/third_party/rust/packed_simd/src/api/cmp/eq.rs b/third_party/rust/packed_simd/src/api/cmp/eq.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cmp/eq.rs +++ /dev/null @@ -1,27 +0,0 @@ @@ -8011,8 +7055,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/cmp/ord.rs b/third_party/rust/packed_simd/src/api/cmp/ord.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cmp/ord.rs +++ /dev/null @@ -1,43 +0,0 @@ @@ -8059,8 +7101,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/cmp/partial_eq.rs b/third_party/rust/packed_simd/src/api/cmp/partial_eq.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cmp/partial_eq.rs +++ /dev/null @@ -1,65 +0,0 @@ @@ -8129,8 +7169,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/cmp/partial_ord.rs b/third_party/rust/packed_simd/src/api/cmp/partial_ord.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cmp/partial_ord.rs +++ /dev/null @@ -1,230 +0,0 @@ @@ -8364,8 +7402,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/cmp/vertical.rs b/third_party/rust/packed_simd/src/api/cmp/vertical.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/cmp/vertical.rs +++ /dev/null @@ -1,114 +0,0 @@ @@ -8483,8 +7519,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/default.rs b/third_party/rust/packed_simd/src/api/default.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/default.rs +++ /dev/null @@ -1,30 +0,0 @@ @@ -8518,8 +7552,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/fmt.rs b/third_party/rust/packed_simd/src/api/fmt.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/fmt.rs +++ /dev/null @@ -1,12 +0,0 @@ @@ -8535,8 +7567,6 @@ -mod octal; -#[macro_use] -mod binary; -diff --git a/third_party/rust/packed_simd/src/api/fmt/binary.rs b/third_party/rust/packed_simd/src/api/fmt/binary.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/fmt/binary.rs +++ /dev/null @@ -1,54 +0,0 @@ @@ -8594,8 +7624,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/fmt/debug.rs b/third_party/rust/packed_simd/src/api/fmt/debug.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/fmt/debug.rs +++ /dev/null @@ -1,60 +0,0 @@ @@ -8659,8 +7687,6 @@ - impl_fmt_debug_tests!([$elem_ty; $elem_count]: $id | $test_tt); - }; -} -diff --git a/third_party/rust/packed_simd/src/api/fmt/lower_hex.rs b/third_party/rust/packed_simd/src/api/fmt/lower_hex.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/fmt/lower_hex.rs +++ /dev/null @@ -1,54 +0,0 @@ @@ -8718,8 +7744,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/fmt/octal.rs b/third_party/rust/packed_simd/src/api/fmt/octal.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/fmt/octal.rs +++ /dev/null @@ -1,54 +0,0 @@ @@ -8777,8 +7801,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/fmt/upper_hex.rs b/third_party/rust/packed_simd/src/api/fmt/upper_hex.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/fmt/upper_hex.rs +++ /dev/null @@ -1,54 +0,0 @@ @@ -8836,8 +7858,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/from.rs b/third_party/rust/packed_simd/src/api/from.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/from.rs +++ /dev/null @@ -1,7 +0,0 @@ @@ -8848,8 +7868,6 @@ - -#[macro_use] -mod from_vector; -diff --git a/third_party/rust/packed_simd/src/api/from/from_array.rs b/third_party/rust/packed_simd/src/api/from/from_array.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/from/from_array.rs +++ /dev/null @@ -1,124 +0,0 @@ @@ -8977,8 +7995,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/from/from_vector.rs b/third_party/rust/packed_simd/src/api/from/from_vector.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/from/from_vector.rs +++ /dev/null @@ -1,67 +0,0 @@ @@ -9049,8 +8065,6 @@ - )* - } -} -diff --git a/third_party/rust/packed_simd/src/api/hash.rs b/third_party/rust/packed_simd/src/api/hash.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/hash.rs +++ /dev/null @@ -1,49 +0,0 @@ @@ -9103,8 +8117,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/into_bits.rs b/third_party/rust/packed_simd/src/api/into_bits.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits.rs +++ /dev/null @@ -1,59 +0,0 @@ @@ -9167,8 +8179,6 @@ - -mod arch_specific; -pub use self::arch_specific::*; -diff --git a/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs b/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/arch_specific.rs +++ /dev/null @@ -1,345 +0,0 @@ @@ -9517,8 +8527,6 @@ - -//////////////////////////////////////////////////////////////////////////////// -// FIXME: Implementations for the 512-bit wide vector types -diff --git a/third_party/rust/packed_simd/src/api/into_bits/macros.rs b/third_party/rust/packed_simd/src/api/into_bits/macros.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/macros.rs +++ /dev/null @@ -1,74 +0,0 @@ @@ -9596,8 +8604,6 @@ - )* - } -} -diff --git a/third_party/rust/packed_simd/src/api/into_bits/v128.rs b/third_party/rust/packed_simd/src/api/into_bits/v128.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/v128.rs +++ /dev/null @@ -1,232 +0,0 @@ @@ -9833,8 +8839,6 @@ -); -// note: m128x1 cannot be constructed from all the other masks bit patterns in -// here -diff --git a/third_party/rust/packed_simd/src/api/into_bits/v16.rs b/third_party/rust/packed_simd/src/api/into_bits/v16.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/v16.rs +++ /dev/null @@ -1,9 +0,0 @@ @@ -9847,8 +8851,6 @@ -impl_from_bits!(i8x2[test_v16]: u8x2, m8x2); -impl_from_bits!(u8x2[test_v16]: i8x2, m8x2); -// note: m8x2 cannot be constructed from all i8x2 or u8x2 bit patterns -diff --git a/third_party/rust/packed_simd/src/api/into_bits/v256.rs b/third_party/rust/packed_simd/src/api/into_bits/v256.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/v256.rs +++ /dev/null @@ -1,232 +0,0 @@ @@ -10084,8 +9086,6 @@ -); -// note: m128x2 cannot be constructed from all the other masks bit patterns in -// here -diff --git a/third_party/rust/packed_simd/src/api/into_bits/v32.rs b/third_party/rust/packed_simd/src/api/into_bits/v32.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/v32.rs +++ /dev/null @@ -1,13 +0,0 @@ @@ -10102,8 +9102,6 @@ -impl_from_bits!(i16x2[test_v32]: i8x4, u8x4, m8x4, u16x2, m16x2); -impl_from_bits!(u16x2[test_v32]: i8x4, u8x4, m8x4, i16x2, m16x2); -// note: m16x2 cannot be constructed from all m8x4 bit patterns -diff --git a/third_party/rust/packed_simd/src/api/into_bits/v512.rs b/third_party/rust/packed_simd/src/api/into_bits/v512.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/v512.rs +++ /dev/null @@ -1,232 +0,0 @@ @@ -10339,8 +9337,6 @@ -); -// note: m128x4 cannot be constructed from all the other masks bit patterns in -// here -diff --git a/third_party/rust/packed_simd/src/api/into_bits/v64.rs b/third_party/rust/packed_simd/src/api/into_bits/v64.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/into_bits/v64.rs +++ /dev/null @@ -1,18 +0,0 @@ @@ -10362,8 +9358,6 @@ -impl_from_bits!(u32x2[test_v64]: i8x8, u8x8, m8x8, i16x4, u16x4, m16x4, i32x2, f32x2, m32x2); -impl_from_bits!(f32x2[test_v64]: i8x8, u8x8, m8x8, i16x4, u16x4, m16x4, i32x2, u32x2, m32x2); -// note: m32x2 cannot be constructed from all m16x4 or m8x8 bit patterns -diff --git a/third_party/rust/packed_simd/src/api/math.rs b/third_party/rust/packed_simd/src/api/math.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math.rs +++ /dev/null @@ -1,4 +0,0 @@ @@ -10371,8 +9365,6 @@ - -#[macro_use] -mod float; -diff --git a/third_party/rust/packed_simd/src/api/math/float.rs b/third_party/rust/packed_simd/src/api/math/float.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float.rs +++ /dev/null @@ -1,64 +0,0 @@ @@ -10440,8 +9432,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/abs.rs b/third_party/rust/packed_simd/src/api/math/float/abs.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/abs.rs +++ /dev/null @@ -1,31 +0,0 @@ @@ -10476,8 +9466,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/consts.rs b/third_party/rust/packed_simd/src/api/math/float/consts.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/consts.rs +++ /dev/null @@ -1,74 +0,0 @@ @@ -10555,8 +9543,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/cos.rs b/third_party/rust/packed_simd/src/api/math/float/cos.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/cos.rs +++ /dev/null @@ -1,44 +0,0 @@ @@ -10604,8 +9590,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/exp.rs b/third_party/rust/packed_simd/src/api/math/float/exp.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/exp.rs +++ /dev/null @@ -1,33 +0,0 @@ @@ -10642,8 +9626,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/ln.rs b/third_party/rust/packed_simd/src/api/math/float/ln.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/ln.rs +++ /dev/null @@ -1,33 +0,0 @@ @@ -10680,8 +9662,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/mul_add.rs b/third_party/rust/packed_simd/src/api/math/float/mul_add.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/mul_add.rs +++ /dev/null @@ -1,44 +0,0 @@ @@ -10729,8 +9709,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/mul_adde.rs b/third_party/rust/packed_simd/src/api/math/float/mul_adde.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/mul_adde.rs +++ /dev/null @@ -1,48 +0,0 @@ @@ -10782,8 +9760,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/powf.rs b/third_party/rust/packed_simd/src/api/math/float/powf.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/powf.rs +++ /dev/null @@ -1,36 +0,0 @@ @@ -10823,8 +9799,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/recpre.rs b/third_party/rust/packed_simd/src/api/math/float/recpre.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/recpre.rs +++ /dev/null @@ -1,36 +0,0 @@ @@ -10864,8 +9838,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/rsqrte.rs b/third_party/rust/packed_simd/src/api/math/float/rsqrte.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/rsqrte.rs +++ /dev/null @@ -1,40 +0,0 @@ @@ -10909,8 +9881,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/sin.rs b/third_party/rust/packed_simd/src/api/math/float/sin.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/sin.rs +++ /dev/null @@ -1,50 +0,0 @@ @@ -10964,8 +9934,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/sqrt.rs b/third_party/rust/packed_simd/src/api/math/float/sqrt.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/sqrt.rs +++ /dev/null @@ -1,35 +0,0 @@ @@ -11004,8 +9972,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/sqrte.rs b/third_party/rust/packed_simd/src/api/math/float/sqrte.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/sqrte.rs +++ /dev/null @@ -1,44 +0,0 @@ @@ -11053,8 +10019,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/math/float/tanh.rs b/third_party/rust/packed_simd/src/api/math/float/tanh.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/math/float/tanh.rs +++ /dev/null @@ -1,29 +0,0 @@ @@ -11087,8 +10051,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/minimal.rs b/third_party/rust/packed_simd/src/api/minimal.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/minimal.rs +++ /dev/null @@ -1,6 +0,0 @@ @@ -11098,8 +10060,6 @@ -mod mask; -#[macro_use] -mod ptr; -diff --git a/third_party/rust/packed_simd/src/api/minimal/iuf.rs b/third_party/rust/packed_simd/src/api/minimal/iuf.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/minimal/iuf.rs +++ /dev/null @@ -1,169 +0,0 @@ @@ -11272,8 +10232,6 @@ - } - } -} -diff --git a/third_party/rust/packed_simd/src/api/minimal/mask.rs b/third_party/rust/packed_simd/src/api/minimal/mask.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/minimal/mask.rs +++ /dev/null @@ -1,176 +0,0 @@ @@ -11453,8 +10411,6 @@ - } - } -} -diff --git a/third_party/rust/packed_simd/src/api/minimal/ptr.rs b/third_party/rust/packed_simd/src/api/minimal/ptr.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/minimal/ptr.rs +++ /dev/null @@ -1,1373 +0,0 @@ @@ -12831,8 +11787,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops.rs b/third_party/rust/packed_simd/src/api/ops.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops.rs +++ /dev/null @@ -1,32 +0,0 @@ @@ -12868,8 +11822,6 @@ - -#[macro_use] -mod vector_float_min_max; -diff --git a/third_party/rust/packed_simd/src/api/ops/scalar_arithmetic.rs b/third_party/rust/packed_simd/src/api/ops/scalar_arithmetic.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/scalar_arithmetic.rs +++ /dev/null @@ -1,203 +0,0 @@ @@ -13076,8 +12028,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/scalar_bitwise.rs b/third_party/rust/packed_simd/src/api/ops/scalar_bitwise.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/scalar_bitwise.rs +++ /dev/null @@ -1,162 +0,0 @@ @@ -13243,8 +12193,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/scalar_mask_bitwise.rs b/third_party/rust/packed_simd/src/api/ops/scalar_mask_bitwise.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/scalar_mask_bitwise.rs +++ /dev/null @@ -1,140 +0,0 @@ @@ -13388,8 +12336,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/scalar_shifts.rs b/third_party/rust/packed_simd/src/api/ops/scalar_shifts.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/scalar_shifts.rs +++ /dev/null @@ -1,106 +0,0 @@ @@ -13499,8 +12445,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_arithmetic.rs b/third_party/rust/packed_simd/src/api/ops/vector_arithmetic.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_arithmetic.rs +++ /dev/null @@ -1,148 +0,0 @@ @@ -13652,8 +12596,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_bitwise.rs b/third_party/rust/packed_simd/src/api/ops/vector_bitwise.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_bitwise.rs +++ /dev/null @@ -1,129 +0,0 @@ @@ -13786,8 +12728,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_float_min_max.rs b/third_party/rust/packed_simd/src/api/ops/vector_float_min_max.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_float_min_max.rs +++ /dev/null @@ -1,74 +0,0 @@ @@ -13865,8 +12805,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_int_min_max.rs b/third_party/rust/packed_simd/src/api/ops/vector_int_min_max.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_int_min_max.rs +++ /dev/null @@ -1,57 +0,0 @@ @@ -13927,8 +12865,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_mask_bitwise.rs b/third_party/rust/packed_simd/src/api/ops/vector_mask_bitwise.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_mask_bitwise.rs +++ /dev/null @@ -1,116 +0,0 @@ @@ -14048,8 +12984,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_neg.rs b/third_party/rust/packed_simd/src/api/ops/vector_neg.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_neg.rs +++ /dev/null @@ -1,43 +0,0 @@ @@ -14096,8 +13030,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_rotates.rs b/third_party/rust/packed_simd/src/api/ops/vector_rotates.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_rotates.rs +++ /dev/null @@ -1,92 +0,0 @@ @@ -14193,8 +13125,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ops/vector_shifts.rs b/third_party/rust/packed_simd/src/api/ops/vector_shifts.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ops/vector_shifts.rs +++ /dev/null @@ -1,106 +0,0 @@ @@ -14304,8 +13234,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/ptr.rs b/third_party/rust/packed_simd/src/api/ptr.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ptr.rs +++ /dev/null @@ -1,4 +0,0 @@ @@ -14313,8 +13241,6 @@ - -#[macro_use] -mod gather_scatter; -diff --git a/third_party/rust/packed_simd/src/api/ptr/gather_scatter.rs b/third_party/rust/packed_simd/src/api/ptr/gather_scatter.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/ptr/gather_scatter.rs +++ /dev/null @@ -1,216 +0,0 @@ @@ -14534,8 +13460,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/reductions.rs b/third_party/rust/packed_simd/src/api/reductions.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/reductions.rs +++ /dev/null @@ -1,12 +0,0 @@ @@ -14551,8 +13475,6 @@ -mod mask; -#[macro_use] -mod min_max; -diff --git a/third_party/rust/packed_simd/src/api/reductions/bitwise.rs b/third_party/rust/packed_simd/src/api/reductions/bitwise.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/reductions/bitwise.rs +++ /dev/null @@ -1,151 +0,0 @@ @@ -14707,8 +13629,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/reductions/float_arithmetic.rs b/third_party/rust/packed_simd/src/api/reductions/float_arithmetic.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/reductions/float_arithmetic.rs +++ /dev/null @@ -1,313 +0,0 @@ @@ -15025,8 +13945,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/reductions/integer_arithmetic.rs b/third_party/rust/packed_simd/src/api/reductions/integer_arithmetic.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/reductions/integer_arithmetic.rs +++ /dev/null @@ -1,193 +0,0 @@ @@ -15223,8 +14141,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/reductions/mask.rs b/third_party/rust/packed_simd/src/api/reductions/mask.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/reductions/mask.rs +++ /dev/null @@ -1,89 +0,0 @@ @@ -15317,8 +14233,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/reductions/min_max.rs b/third_party/rust/packed_simd/src/api/reductions/min_max.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/reductions/min_max.rs +++ /dev/null @@ -1,360 +0,0 @@ @@ -15682,8 +14596,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/select.rs b/third_party/rust/packed_simd/src/api/select.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/select.rs +++ /dev/null @@ -1,73 +0,0 @@ @@ -15760,8 +14672,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/shuffle.rs b/third_party/rust/packed_simd/src/api/shuffle.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/shuffle.rs +++ /dev/null @@ -1,184 +0,0 @@ @@ -15949,8 +14859,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/shuffle1_dyn.rs b/third_party/rust/packed_simd/src/api/shuffle1_dyn.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/shuffle1_dyn.rs +++ /dev/null @@ -1,159 +0,0 @@ @@ -16113,8 +15021,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/slice.rs b/third_party/rust/packed_simd/src/api/slice.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/slice.rs +++ /dev/null @@ -1,7 +0,0 @@ @@ -16125,8 +15031,6 @@ - -#[macro_use] -mod write_to_slice; -diff --git a/third_party/rust/packed_simd/src/api/slice/from_slice.rs b/third_party/rust/packed_simd/src/api/slice/from_slice.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/slice/from_slice.rs +++ /dev/null @@ -1,202 +0,0 @@ @@ -16332,8 +15236,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/slice/write_to_slice.rs b/third_party/rust/packed_simd/src/api/slice/write_to_slice.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/slice/write_to_slice.rs +++ /dev/null @@ -1,196 +0,0 @@ @@ -16533,8 +15435,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/api/swap_bytes.rs b/third_party/rust/packed_simd/src/api/swap_bytes.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/api/swap_bytes.rs +++ /dev/null @@ -1,192 +0,0 @@ @@ -16730,8 +15630,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen.rs b/third_party/rust/packed_simd/src/codegen.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen.rs +++ /dev/null @@ -1,62 +0,0 @@ @@ -16797,8 +15695,6 @@ - -pub(crate) mod vPtr; -pub(crate) use self::vPtr::*; -diff --git a/third_party/rust/packed_simd/src/codegen/bit_manip.rs b/third_party/rust/packed_simd/src/codegen/bit_manip.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/bit_manip.rs +++ /dev/null @@ -1,347 +0,0 @@ @@ -17149,8 +16045,6 @@ - compile_error!("unsupported target_pointer_width"); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/llvm.rs b/third_party/rust/packed_simd/src/codegen/llvm.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/llvm.rs +++ /dev/null @@ -1,122 +0,0 @@ @@ -17276,16 +16170,12 @@ - - pub(crate) fn simd_bitmask(value: T) -> U; -} -diff --git a/third_party/rust/packed_simd/src/codegen/math.rs b/third_party/rust/packed_simd/src/codegen/math.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math.rs +++ /dev/null @@ -1,3 +0,0 @@ -//! Vertical math operations - -pub(crate) mod float; -diff --git a/third_party/rust/packed_simd/src/codegen/math/float.rs b/third_party/rust/packed_simd/src/codegen/math/float.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float.rs +++ /dev/null @@ -1,19 +0,0 @@ @@ -17308,8 +16198,6 @@ -pub(crate) mod sqrt; -pub(crate) mod sqrte; -pub(crate) mod tanh; -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/abs.rs b/third_party/rust/packed_simd/src/codegen/math/float/abs.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/abs.rs +++ /dev/null @@ -1,103 +0,0 @@ @@ -17416,8 +16304,6 @@ - impl_unary!(f64x8: fabs_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/cos.rs b/third_party/rust/packed_simd/src/codegen/math/float/cos.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/cos.rs +++ /dev/null @@ -1,103 +0,0 @@ @@ -17524,8 +16410,6 @@ - impl_unary!(f64x8: cos_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/cos_pi.rs b/third_party/rust/packed_simd/src/codegen/math/float/cos_pi.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/cos_pi.rs +++ /dev/null @@ -1,87 +0,0 @@ @@ -17616,8 +16500,6 @@ - impl_def64!(f64x8); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/exp.rs b/third_party/rust/packed_simd/src/codegen/math/float/exp.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/exp.rs +++ /dev/null @@ -1,112 +0,0 @@ @@ -17733,8 +16615,6 @@ - impl_unary!(f64x8: exp_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/ln.rs b/third_party/rust/packed_simd/src/codegen/math/float/ln.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/ln.rs +++ /dev/null @@ -1,112 +0,0 @@ @@ -17850,8 +16730,6 @@ - impl_unary!(f64x8: ln_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/macros.rs b/third_party/rust/packed_simd/src/codegen/math/float/macros.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/macros.rs +++ /dev/null @@ -1,470 +0,0 @@ @@ -18325,8 +17203,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/mul_add.rs b/third_party/rust/packed_simd/src/codegen/math/float/mul_add.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/mul_add.rs +++ /dev/null @@ -1,109 +0,0 @@ @@ -18439,8 +17315,6 @@ - impl_tertiary!(f64x8: fma_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/mul_adde.rs b/third_party/rust/packed_simd/src/codegen/math/float/mul_adde.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/mul_adde.rs +++ /dev/null @@ -1,60 +0,0 @@ @@ -18504,8 +17378,6 @@ -impl_mul_adde!(f64x2: fmuladd_v2f64); -impl_mul_adde!(f64x4: fmuladd_v4f64); -impl_mul_adde!(f64x8: fmuladd_v8f64); -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/powf.rs b/third_party/rust/packed_simd/src/codegen/math/float/powf.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/powf.rs +++ /dev/null @@ -1,112 +0,0 @@ @@ -18621,8 +17493,6 @@ - impl_binary!(f64x8: powf_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/sin.rs b/third_party/rust/packed_simd/src/codegen/math/float/sin.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/sin.rs +++ /dev/null @@ -1,103 +0,0 @@ @@ -18729,8 +17599,6 @@ - impl_unary!(f64x8: sin_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/sin_cos_pi.rs b/third_party/rust/packed_simd/src/codegen/math/float/sin_cos_pi.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/sin_cos_pi.rs +++ /dev/null @@ -1,188 +0,0 @@ @@ -18922,8 +17790,6 @@ - impl_def64!(f64x8); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/sin_pi.rs b/third_party/rust/packed_simd/src/codegen/math/float/sin_pi.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/sin_pi.rs +++ /dev/null @@ -1,87 +0,0 @@ @@ -19014,8 +17880,6 @@ - impl_def64!(f64x8); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/sqrt.rs b/third_party/rust/packed_simd/src/codegen/math/float/sqrt.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/sqrt.rs +++ /dev/null @@ -1,103 +0,0 @@ @@ -19122,8 +17986,6 @@ - impl_unary!(f64x8: sqrt_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/sqrte.rs b/third_party/rust/packed_simd/src/codegen/math/float/sqrte.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/sqrte.rs +++ /dev/null @@ -1,67 +0,0 @@ @@ -19194,8 +18056,6 @@ - impl_unary!(f64x8[g]: simd_fsqrt); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/math/float/tanh.rs b/third_party/rust/packed_simd/src/codegen/math/float/tanh.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/math/float/tanh.rs +++ /dev/null @@ -1,120 +0,0 @@ @@ -19319,8 +18179,6 @@ - impl_unary!(f64x8: tanh_v8f64); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/pointer_sized_int.rs b/third_party/rust/packed_simd/src/codegen/pointer_sized_int.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/pointer_sized_int.rs +++ /dev/null @@ -1,28 +0,0 @@ @@ -19352,14 +18210,10 @@ - compile_error!("unsupported target_pointer_width"); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions.rs b/third_party/rust/packed_simd/src/codegen/reductions.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions.rs +++ /dev/null -@@ -1,1 +0,0 @@ +@@ -1 +0,0 @@ -pub(crate) mod mask; -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask.rs +++ /dev/null @@ -1,69 +0,0 @@ @@ -19432,8 +18286,6 @@ -impl_mask_reductions!(msizex2); -impl_mask_reductions!(msizex4); -impl_mask_reductions!(msizex8); -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/aarch64.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/aarch64.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/aarch64.rs +++ /dev/null @@ -1,81 +0,0 @@ @@ -19518,8 +18370,6 @@ - fallback_impl!($id); - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs +++ /dev/null @@ -1,56 +0,0 @@ @@ -19579,8 +18429,6 @@ - fallback_impl!($id); - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/fallback.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/fallback.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/fallback.rs +++ /dev/null @@ -1,8 +0,0 @@ @@ -19592,8 +18440,6 @@ - fallback_impl!($id); - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/fallback_impl.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/fallback_impl.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/fallback_impl.rs +++ /dev/null @@ -1,237 +0,0 @@ @@ -19834,8 +18680,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/x86.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86.rs +++ /dev/null @@ -1,216 +0,0 @@ @@ -20055,8 +18899,6 @@ - fallback_impl!($id); - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/avx.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/avx.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/avx.rs +++ /dev/null @@ -1,95 +0,0 @@ @@ -20155,8 +18997,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/avx2.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/avx2.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/avx2.rs +++ /dev/null @@ -1,35 +0,0 @@ @@ -20195,8 +19035,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse.rs +++ /dev/null @@ -1,35 +0,0 @@ @@ -20235,8 +19073,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse2.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse2.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/x86/sse2.rs +++ /dev/null @@ -1,68 +0,0 @@ @@ -20308,8 +19144,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/codegen/shuffle.rs b/third_party/rust/packed_simd/src/codegen/shuffle.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/shuffle.rs +++ /dev/null @@ -1,150 +0,0 @@ @@ -20463,8 +19297,6 @@ -impl_shuffle! { [u32; 1], m128, crate::codegen::m128x1 } -impl_shuffle! { [u32; 2], m128, crate::codegen::m128x2 } -impl_shuffle! { [u32; 4], m128, crate::codegen::m128x4 } -diff --git a/third_party/rust/packed_simd/src/codegen/shuffle1_dyn.rs b/third_party/rust/packed_simd/src/codegen/shuffle1_dyn.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/shuffle1_dyn.rs +++ /dev/null @@ -1,408 +0,0 @@ @@ -20876,8 +19708,6 @@ -impl_shuffle1_dyn_ptr!(mptrx2, usizex2); -impl_shuffle1_dyn_ptr!(mptrx4, usizex4); -impl_shuffle1_dyn_ptr!(mptrx8, usizex8); -diff --git a/third_party/rust/packed_simd/src/codegen/swap_bytes.rs b/third_party/rust/packed_simd/src/codegen/swap_bytes.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/swap_bytes.rs +++ /dev/null @@ -1,149 +0,0 @@ @@ -21030,8 +19860,6 @@ - compile_error!("unsupported target_pointer_width"); - } -} -diff --git a/third_party/rust/packed_simd/src/codegen/v128.rs b/third_party/rust/packed_simd/src/codegen/v128.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/v128.rs +++ /dev/null @@ -1,46 +0,0 @@ @@ -21081,8 +19909,6 @@ -impl_simd_array!([i128; 1]: i128x1 | i128); -impl_simd_array!([u128; 1]: u128x1 | u128); -impl_simd_array!([m128; 1]: m128x1 | i128); -diff --git a/third_party/rust/packed_simd/src/codegen/v16.rs b/third_party/rust/packed_simd/src/codegen/v16.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/v16.rs +++ /dev/null @@ -1,7 +0,0 @@ @@ -21093,8 +19919,6 @@ -impl_simd_array!([i8; 2]: i8x2 | i8, i8); -impl_simd_array!([u8; 2]: u8x2 | u8, u8); -impl_simd_array!([m8; 2]: m8x2 | i8, i8); -diff --git a/third_party/rust/packed_simd/src/codegen/v256.rs b/third_party/rust/packed_simd/src/codegen/v256.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/v256.rs +++ /dev/null @@ -1,78 +0,0 @@ @@ -21176,8 +20000,6 @@ -impl_simd_array!([i128; 2]: i128x2 | i128, i128); -impl_simd_array!([u128; 2]: u128x2 | u128, u128); -impl_simd_array!([m128; 2]: m128x2 | i128, i128); -diff --git a/third_party/rust/packed_simd/src/codegen/v32.rs b/third_party/rust/packed_simd/src/codegen/v32.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/v32.rs +++ /dev/null @@ -1,11 +0,0 @@ @@ -21192,8 +20014,6 @@ -impl_simd_array!([i16; 2]: i16x2 | i16, i16); -impl_simd_array!([u16; 2]: u16x2 | u16, u16); -impl_simd_array!([m16; 2]: m16x2 | i16, i16); -diff --git a/third_party/rust/packed_simd/src/codegen/v512.rs b/third_party/rust/packed_simd/src/codegen/v512.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/v512.rs +++ /dev/null @@ -1,145 +0,0 @@ @@ -21342,8 +20162,6 @@ -impl_simd_array!([i128; 4]: i128x4 | i128, i128, i128, i128); -impl_simd_array!([u128; 4]: u128x4 | u128, u128, u128, u128); -impl_simd_array!([m128; 4]: m128x4 | i128, i128, i128, i128); -diff --git a/third_party/rust/packed_simd/src/codegen/v64.rs b/third_party/rust/packed_simd/src/codegen/v64.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/v64.rs +++ /dev/null @@ -1,21 +0,0 @@ @@ -21368,8 +20186,6 @@ -impl_simd_array!([u64; 1]: u64x1 | u64); -impl_simd_array!([f64; 1]: f64x1 | f64); -impl_simd_array!([m64; 1]: m64x1 | i64); -diff --git a/third_party/rust/packed_simd/src/codegen/vPtr.rs b/third_party/rust/packed_simd/src/codegen/vPtr.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/vPtr.rs +++ /dev/null @@ -1,35 +0,0 @@ @@ -21408,8 +20224,6 @@ -impl_simd_ptr!([*mut T; 2]: mptrx2 | T | T, T); -impl_simd_ptr!([*mut T; 4]: mptrx4 | T | T, T, T, T); -impl_simd_ptr!([*mut T; 8]: mptrx8 | T | T, T, T, T, T, T, T, T); -diff --git a/third_party/rust/packed_simd/src/codegen/vSize.rs b/third_party/rust/packed_simd/src/codegen/vSize.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/codegen/vSize.rs +++ /dev/null @@ -1,16 +0,0 @@ @@ -21429,8 +20243,6 @@ -impl_simd_array!([isize; 8]: isizex8 | isize_, isize_, isize_, isize_, isize_, isize_, isize_, isize_); -impl_simd_array!([usize; 8]: usizex8 | usize_, usize_, usize_, usize_, usize_, usize_, usize_, usize_); -impl_simd_array!([msize; 8]: msizex8 | isize_, isize_, isize_, isize_, isize_, isize_, isize_, isize_); -diff --git a/third_party/rust/packed_simd/src/lib.rs b/third_party/rust/packed_simd/src/lib.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/lib.rs +++ /dev/null @@ -1,348 +0,0 @@ @@ -21782,8 +20594,6 @@ -pub(crate) mod llvm { - pub(crate) use crate::codegen::llvm::*; -} -diff --git a/third_party/rust/packed_simd/src/masks.rs b/third_party/rust/packed_simd/src/masks.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/masks.rs +++ /dev/null @@ -1,126 +0,0 @@ @@ -21913,8 +20723,6 @@ -); -impl_mask_ty!(msize: isize | /// isize-wide mask. -); -diff --git a/third_party/rust/packed_simd/src/sealed.rs b/third_party/rust/packed_simd/src/sealed.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/sealed.rs +++ /dev/null @@ -1,42 +0,0 @@ @@ -21960,8 +20768,6 @@ -pub trait Mask: Seal { - fn test(&self) -> bool; -} -diff --git a/third_party/rust/packed_simd/src/testing.rs b/third_party/rust/packed_simd/src/testing.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/testing.rs +++ /dev/null @@ -1,8 +0,0 @@ @@ -21973,8 +20779,6 @@ -#[cfg(test)] -#[macro_use] -pub(crate) mod utils; -diff --git a/third_party/rust/packed_simd/src/testing/macros.rs b/third_party/rust/packed_simd/src/testing/macros.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/testing/macros.rs +++ /dev/null @@ -1,44 +0,0 @@ @@ -22022,8 +20826,6 @@ - &mut $anything - }; -} -diff --git a/third_party/rust/packed_simd/src/testing/utils.rs b/third_party/rust/packed_simd/src/testing/utils.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/testing/utils.rs +++ /dev/null @@ -1,130 +0,0 @@ @@ -22157,8 +20959,6 @@ - } - }; -} -diff --git a/third_party/rust/packed_simd/src/v128.rs b/third_party/rust/packed_simd/src/v128.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/v128.rs +++ /dev/null @@ -1,80 +0,0 @@ @@ -22242,8 +21042,6 @@ - From: /*m8x1, m16x1, m32x1, m64x1 */ | // FIXME: unary small vector types - /// A 128-bit vector mask with 1 `m128` lane. -); -diff --git a/third_party/rust/packed_simd/src/v16.rs b/third_party/rust/packed_simd/src/v16.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/v16.rs +++ /dev/null @@ -1,16 +0,0 @@ @@ -22263,8 +21061,6 @@ - From: m16x2, m32x2, m64x2, m128x2 | - /// A 16-bit vector mask with 2 `m8` lanes. -); -diff --git a/third_party/rust/packed_simd/src/v256.rs b/third_party/rust/packed_simd/src/v256.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/v256.rs +++ /dev/null @@ -1,86 +0,0 @@ @@ -22354,8 +21150,6 @@ - From: m8x2, m16x2, m32x2, m64x2 | - /// A 256-bit vector mask with 2 `m128` lanes. -); -diff --git a/third_party/rust/packed_simd/src/v32.rs b/third_party/rust/packed_simd/src/v32.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/v32.rs +++ /dev/null @@ -1,29 +0,0 @@ @@ -22388,8 +21182,6 @@ - From: m8x2, m32x2, m64x2, m128x2 | - /// A 32-bit vector mask with 2 `m16` lanes. -); -diff --git a/third_party/rust/packed_simd/src/v512.rs b/third_party/rust/packed_simd/src/v512.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/v512.rs +++ /dev/null @@ -1,99 +0,0 @@ @@ -22492,8 +21284,6 @@ - From: m8x4, m16x4, m32x4, m64x4 | - /// A 512-bit vector mask with 4 `m128` lanes. -); -diff --git a/third_party/rust/packed_simd/src/v64.rs b/third_party/rust/packed_simd/src/v64.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/v64.rs +++ /dev/null @@ -1,66 +0,0 @@ @@ -22563,8 +21353,6 @@ - /// A 64-bit vector with 1 `f64` lanes. -); -*/ -diff --git a/third_party/rust/packed_simd/src/vPtr.rs b/third_party/rust/packed_simd/src/vPtr.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/vPtr.rs +++ /dev/null @@ -1,34 +0,0 @@ @@ -22602,8 +21390,6 @@ - [*mut T; 8]: mptrx8, msizex8, usizex8, isizex8 | test_v512 | x0, x1, x2, x3, x4, x5, x6, x7 | From: | - /// A vector with 8 `*mut T` lanes -); -diff --git a/third_party/rust/packed_simd/src/vSize.rs b/third_party/rust/packed_simd/src/vSize.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/src/vSize.rs +++ /dev/null @@ -1,53 +0,0 @@ @@ -22660,8 +21446,6 @@ - From: | - /// A vector mask with 8 `msize` lanes. -); -diff --git a/third_party/rust/packed_simd/tests/endianness.rs b/third_party/rust/packed_simd/tests/endianness.rs -deleted file mode 100644 --- a/third_party/rust/packed_simd/tests/endianness.rs +++ /dev/null @@ -1,268 +0,0 @@ @@ -22933,4 +21717,467 @@ - assert_eq!(x.10 as i16, e[10]); - assert_eq!(x.11 as i16, e[11]); -} - +--- /dev/null ++++ b/third_party/rust/any_all_workaround/LICENSE-APACHE +@@ -0,0 +1,201 @@ ++ Apache License ++ Version 2.0, January 2004 ++ http://www.apache.org/licenses/ ++ ++TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION ++ ++1. Definitions. ++ ++ "License" shall mean the terms and conditions for use, reproduction, ++ and distribution as defined by Sections 1 through 9 of this document. ++ ++ "Licensor" shall mean the copyright owner or entity authorized by ++ the copyright owner that is granting the License. ++ ++ "Legal Entity" shall mean the union of the acting entity and all ++ other entities that control, are controlled by, or are under common ++ control with that entity. For the purposes of this definition, ++ "control" means (i) the power, direct or indirect, to cause the ++ direction or management of such entity, whether by contract or ++ otherwise, or (ii) ownership of fifty percent (50%) or more of the ++ outstanding shares, or (iii) beneficial ownership of such entity. ++ ++ "You" (or "Your") shall mean an individual or Legal Entity ++ exercising permissions granted by this License. ++ ++ "Source" form shall mean the preferred form for making modifications, ++ including but not limited to software source code, documentation ++ source, and configuration files. ++ ++ "Object" form shall mean any form resulting from mechanical ++ transformation or translation of a Source form, including but ++ not limited to compiled object code, generated documentation, ++ and conversions to other media types. ++ ++ "Work" shall mean the work of authorship, whether in Source or ++ Object form, made available under the License, as indicated by a ++ copyright notice that is included in or attached to the work ++ (an example is provided in the Appendix below). ++ ++ "Derivative Works" shall mean any work, whether in Source or Object ++ form, that is based on (or derived from) the Work and for which the ++ editorial revisions, annotations, elaborations, or other modifications ++ represent, as a whole, an original work of authorship. For the purposes ++ of this License, Derivative Works shall not include works that remain ++ separable from, or merely link (or bind by name) to the interfaces of, ++ the Work and Derivative Works thereof. ++ ++ "Contribution" shall mean any work of authorship, including ++ the original version of the Work and any modifications or additions ++ to that Work or Derivative Works thereof, that is intentionally ++ submitted to Licensor for inclusion in the Work by the copyright owner ++ or by an individual or Legal Entity authorized to submit on behalf of ++ the copyright owner. For the purposes of this definition, "submitted" ++ means any form of electronic, verbal, or written communication sent ++ to the Licensor or its representatives, including but not limited to ++ communication on electronic mailing lists, source code control systems, ++ and issue tracking systems that are managed by, or on behalf of, the ++ Licensor for the purpose of discussing and improving the Work, but ++ excluding communication that is conspicuously marked or otherwise ++ designated in writing by the copyright owner as "Not a Contribution." ++ ++ "Contributor" shall mean Licensor and any individual or Legal Entity ++ on behalf of whom a Contribution has been received by Licensor and ++ subsequently incorporated within the Work. ++ ++2. Grant of Copyright License. Subject to the terms and conditions of ++ this License, each Contributor hereby grants to You a perpetual, ++ worldwide, non-exclusive, no-charge, royalty-free, irrevocable ++ copyright license to reproduce, prepare Derivative Works of, ++ publicly display, publicly perform, sublicense, and distribute the ++ Work and such Derivative Works in Source or Object form. ++ ++3. Grant of Patent License. Subject to the terms and conditions of ++ this License, each Contributor hereby grants to You a perpetual, ++ worldwide, non-exclusive, no-charge, royalty-free, irrevocable ++ (except as stated in this section) patent license to make, have made, ++ use, offer to sell, sell, import, and otherwise transfer the Work, ++ where such license applies only to those patent claims licensable ++ by such Contributor that are necessarily infringed by their ++ Contribution(s) alone or by combination of their Contribution(s) ++ with the Work to which such Contribution(s) was submitted. If You ++ institute patent litigation against any entity (including a ++ cross-claim or counterclaim in a lawsuit) alleging that the Work ++ or a Contribution incorporated within the Work constitutes direct ++ or contributory patent infringement, then any patent licenses ++ granted to You under this License for that Work shall terminate ++ as of the date such litigation is filed. ++ ++4. Redistribution. You may reproduce and distribute copies of the ++ Work or Derivative Works thereof in any medium, with or without ++ modifications, and in Source or Object form, provided that You ++ meet the following conditions: ++ ++ (a) You must give any other recipients of the Work or ++ Derivative Works a copy of this License; and ++ ++ (b) You must cause any modified files to carry prominent notices ++ stating that You changed the files; and ++ ++ (c) You must retain, in the Source form of any Derivative Works ++ that You distribute, all copyright, patent, trademark, and ++ attribution notices from the Source form of the Work, ++ excluding those notices that do not pertain to any part of ++ the Derivative Works; and ++ ++ (d) If the Work includes a "NOTICE" text file as part of its ++ distribution, then any Derivative Works that You distribute must ++ include a readable copy of the attribution notices contained ++ within such NOTICE file, excluding those notices that do not ++ pertain to any part of the Derivative Works, in at least one ++ of the following places: within a NOTICE text file distributed ++ as part of the Derivative Works; within the Source form or ++ documentation, if provided along with the Derivative Works; or, ++ within a display generated by the Derivative Works, if and ++ wherever such third-party notices normally appear. The contents ++ of the NOTICE file are for informational purposes only and ++ do not modify the License. You may add Your own attribution ++ notices within Derivative Works that You distribute, alongside ++ or as an addendum to the NOTICE text from the Work, provided ++ that such additional attribution notices cannot be construed ++ as modifying the License. ++ ++ You may add Your own copyright statement to Your modifications and ++ may provide additional or different license terms and conditions ++ for use, reproduction, or distribution of Your modifications, or ++ for any such Derivative Works as a whole, provided Your use, ++ reproduction, and distribution of the Work otherwise complies with ++ the conditions stated in this License. ++ ++5. Submission of Contributions. Unless You explicitly state otherwise, ++ any Contribution intentionally submitted for inclusion in the Work ++ by You to the Licensor shall be under the terms and conditions of ++ this License, without any additional terms or conditions. ++ Notwithstanding the above, nothing herein shall supersede or modify ++ the terms of any separate license agreement you may have executed ++ with Licensor regarding such Contributions. ++ ++6. Trademarks. This License does not grant permission to use the trade ++ names, trademarks, service marks, or product names of the Licensor, ++ except as required for reasonable and customary use in describing the ++ origin of the Work and reproducing the content of the NOTICE file. ++ ++7. Disclaimer of Warranty. Unless required by applicable law or ++ agreed to in writing, Licensor provides the Work (and each ++ Contributor provides its Contributions) on an "AS IS" BASIS, ++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or ++ implied, including, without limitation, any warranties or conditions ++ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A ++ PARTICULAR PURPOSE. You are solely responsible for determining the ++ appropriateness of using or redistributing the Work and assume any ++ risks associated with Your exercise of permissions under this License. ++ ++8. Limitation of Liability. In no event and under no legal theory, ++ whether in tort (including negligence), contract, or otherwise, ++ unless required by applicable law (such as deliberate and grossly ++ negligent acts) or agreed to in writing, shall any Contributor be ++ liable to You for damages, including any direct, indirect, special, ++ incidental, or consequential damages of any character arising as a ++ result of this License or out of the use or inability to use the ++ Work (including but not limited to damages for loss of goodwill, ++ work stoppage, computer failure or malfunction, or any and all ++ other commercial damages or losses), even if such Contributor ++ has been advised of the possibility of such damages. ++ ++9. Accepting Warranty or Additional Liability. While redistributing ++ the Work or Derivative Works thereof, You may choose to offer, ++ and charge a fee for, acceptance of support, warranty, indemnity, ++ or other liability obligations and/or rights consistent with this ++ License. However, in accepting such obligations, You may act only ++ on Your own behalf and on Your sole responsibility, not on behalf ++ of any other Contributor, and only if You agree to indemnify, ++ defend, and hold each Contributor harmless for any liability ++ incurred by, or claims asserted against, such Contributor by reason ++ of your accepting any such warranty or additional liability. ++ ++END OF TERMS AND CONDITIONS ++ ++APPENDIX: How to apply the Apache License to your work. ++ ++ To apply the Apache License to your work, attach the following ++ boilerplate notice, with the fields enclosed by brackets "[]" ++ replaced with your own identifying information. (Don't include ++ the brackets!) The text should be enclosed in the appropriate ++ comment syntax for the file format. We also recommend that a ++ file or class name and description of purpose be included on the ++ same "printed page" as the copyright notice for easier ++ identification within third-party archives. ++ ++Copyright [yyyy] [name of copyright owner] ++ ++Licensed under the Apache License, Version 2.0 (the "License"); ++you may not use this file except in compliance with the License. ++You may obtain a copy of the License at ++ ++ http://www.apache.org/licenses/LICENSE-2.0 ++ ++Unless required by applicable law or agreed to in writing, software ++distributed under the License is distributed on an "AS IS" BASIS, ++WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++See the License for the specific language governing permissions and ++limitations under the License. +--- /dev/null ++++ b/third_party/rust/any_all_workaround/LICENSE-MIT +@@ -0,0 +1,25 @@ ++Copyright (c) 2014 The Rust Project Developers ++ ++Permission is hereby granted, free of charge, to any ++person obtaining a copy of this software and associated ++documentation files (the "Software"), to deal in the ++Software without restriction, including without ++limitation the rights to use, copy, modify, merge, ++publish, distribute, sublicense, and/or sell copies of ++the Software, and to permit persons to whom the Software ++is furnished to do so, subject to the following ++conditions: ++ ++The above copyright notice and this permission notice ++shall be included in all copies or substantial portions ++of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ++ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED ++TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A ++PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT ++SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR ++IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++DEALINGS IN THE SOFTWARE. +--- a/third_party/rust/packed_simd/LICENSE-APACHE ++++ /dev/null +@@ -1,201 +0,0 @@ +- Apache License +- Version 2.0, January 2004 +- http://www.apache.org/licenses/ +- +-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +- +-1. Definitions. +- +- "License" shall mean the terms and conditions for use, reproduction, +- and distribution as defined by Sections 1 through 9 of this document. +- +- "Licensor" shall mean the copyright owner or entity authorized by +- the copyright owner that is granting the License. +- +- "Legal Entity" shall mean the union of the acting entity and all +- other entities that control, are controlled by, or are under common +- control with that entity. For the purposes of this definition, +- "control" means (i) the power, direct or indirect, to cause the +- direction or management of such entity, whether by contract or +- otherwise, or (ii) ownership of fifty percent (50%) or more of the +- outstanding shares, or (iii) beneficial ownership of such entity. +- +- "You" (or "Your") shall mean an individual or Legal Entity +- exercising permissions granted by this License. +- +- "Source" form shall mean the preferred form for making modifications, +- including but not limited to software source code, documentation +- source, and configuration files. +- +- "Object" form shall mean any form resulting from mechanical +- transformation or translation of a Source form, including but +- not limited to compiled object code, generated documentation, +- and conversions to other media types. +- +- "Work" shall mean the work of authorship, whether in Source or +- Object form, made available under the License, as indicated by a +- copyright notice that is included in or attached to the work +- (an example is provided in the Appendix below). +- +- "Derivative Works" shall mean any work, whether in Source or Object +- form, that is based on (or derived from) the Work and for which the +- editorial revisions, annotations, elaborations, or other modifications +- represent, as a whole, an original work of authorship. For the purposes +- of this License, Derivative Works shall not include works that remain +- separable from, or merely link (or bind by name) to the interfaces of, +- the Work and Derivative Works thereof. +- +- "Contribution" shall mean any work of authorship, including +- the original version of the Work and any modifications or additions +- to that Work or Derivative Works thereof, that is intentionally +- submitted to Licensor for inclusion in the Work by the copyright owner +- or by an individual or Legal Entity authorized to submit on behalf of +- the copyright owner. For the purposes of this definition, "submitted" +- means any form of electronic, verbal, or written communication sent +- to the Licensor or its representatives, including but not limited to +- communication on electronic mailing lists, source code control systems, +- and issue tracking systems that are managed by, or on behalf of, the +- Licensor for the purpose of discussing and improving the Work, but +- excluding communication that is conspicuously marked or otherwise +- designated in writing by the copyright owner as "Not a Contribution." +- +- "Contributor" shall mean Licensor and any individual or Legal Entity +- on behalf of whom a Contribution has been received by Licensor and +- subsequently incorporated within the Work. +- +-2. Grant of Copyright License. Subject to the terms and conditions of +- this License, each Contributor hereby grants to You a perpetual, +- worldwide, non-exclusive, no-charge, royalty-free, irrevocable +- copyright license to reproduce, prepare Derivative Works of, +- publicly display, publicly perform, sublicense, and distribute the +- Work and such Derivative Works in Source or Object form. +- +-3. Grant of Patent License. Subject to the terms and conditions of +- this License, each Contributor hereby grants to You a perpetual, +- worldwide, non-exclusive, no-charge, royalty-free, irrevocable +- (except as stated in this section) patent license to make, have made, +- use, offer to sell, sell, import, and otherwise transfer the Work, +- where such license applies only to those patent claims licensable +- by such Contributor that are necessarily infringed by their +- Contribution(s) alone or by combination of their Contribution(s) +- with the Work to which such Contribution(s) was submitted. If You +- institute patent litigation against any entity (including a +- cross-claim or counterclaim in a lawsuit) alleging that the Work +- or a Contribution incorporated within the Work constitutes direct +- or contributory patent infringement, then any patent licenses +- granted to You under this License for that Work shall terminate +- as of the date such litigation is filed. +- +-4. Redistribution. You may reproduce and distribute copies of the +- Work or Derivative Works thereof in any medium, with or without +- modifications, and in Source or Object form, provided that You +- meet the following conditions: +- +- (a) You must give any other recipients of the Work or +- Derivative Works a copy of this License; and +- +- (b) You must cause any modified files to carry prominent notices +- stating that You changed the files; and +- +- (c) You must retain, in the Source form of any Derivative Works +- that You distribute, all copyright, patent, trademark, and +- attribution notices from the Source form of the Work, +- excluding those notices that do not pertain to any part of +- the Derivative Works; and +- +- (d) If the Work includes a "NOTICE" text file as part of its +- distribution, then any Derivative Works that You distribute must +- include a readable copy of the attribution notices contained +- within such NOTICE file, excluding those notices that do not +- pertain to any part of the Derivative Works, in at least one +- of the following places: within a NOTICE text file distributed +- as part of the Derivative Works; within the Source form or +- documentation, if provided along with the Derivative Works; or, +- within a display generated by the Derivative Works, if and +- wherever such third-party notices normally appear. The contents +- of the NOTICE file are for informational purposes only and +- do not modify the License. You may add Your own attribution +- notices within Derivative Works that You distribute, alongside +- or as an addendum to the NOTICE text from the Work, provided +- that such additional attribution notices cannot be construed +- as modifying the License. +- +- You may add Your own copyright statement to Your modifications and +- may provide additional or different license terms and conditions +- for use, reproduction, or distribution of Your modifications, or +- for any such Derivative Works as a whole, provided Your use, +- reproduction, and distribution of the Work otherwise complies with +- the conditions stated in this License. +- +-5. Submission of Contributions. Unless You explicitly state otherwise, +- any Contribution intentionally submitted for inclusion in the Work +- by You to the Licensor shall be under the terms and conditions of +- this License, without any additional terms or conditions. +- Notwithstanding the above, nothing herein shall supersede or modify +- the terms of any separate license agreement you may have executed +- with Licensor regarding such Contributions. +- +-6. Trademarks. This License does not grant permission to use the trade +- names, trademarks, service marks, or product names of the Licensor, +- except as required for reasonable and customary use in describing the +- origin of the Work and reproducing the content of the NOTICE file. +- +-7. Disclaimer of Warranty. Unless required by applicable law or +- agreed to in writing, Licensor provides the Work (and each +- Contributor provides its Contributions) on an "AS IS" BASIS, +- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +- implied, including, without limitation, any warranties or conditions +- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +- PARTICULAR PURPOSE. You are solely responsible for determining the +- appropriateness of using or redistributing the Work and assume any +- risks associated with Your exercise of permissions under this License. +- +-8. Limitation of Liability. In no event and under no legal theory, +- whether in tort (including negligence), contract, or otherwise, +- unless required by applicable law (such as deliberate and grossly +- negligent acts) or agreed to in writing, shall any Contributor be +- liable to You for damages, including any direct, indirect, special, +- incidental, or consequential damages of any character arising as a +- result of this License or out of the use or inability to use the +- Work (including but not limited to damages for loss of goodwill, +- work stoppage, computer failure or malfunction, or any and all +- other commercial damages or losses), even if such Contributor +- has been advised of the possibility of such damages. +- +-9. Accepting Warranty or Additional Liability. While redistributing +- the Work or Derivative Works thereof, You may choose to offer, +- and charge a fee for, acceptance of support, warranty, indemnity, +- or other liability obligations and/or rights consistent with this +- License. However, in accepting such obligations, You may act only +- on Your own behalf and on Your sole responsibility, not on behalf +- of any other Contributor, and only if You agree to indemnify, +- defend, and hold each Contributor harmless for any liability +- incurred by, or claims asserted against, such Contributor by reason +- of your accepting any such warranty or additional liability. +- +-END OF TERMS AND CONDITIONS +- +-APPENDIX: How to apply the Apache License to your work. +- +- To apply the Apache License to your work, attach the following +- boilerplate notice, with the fields enclosed by brackets "[]" +- replaced with your own identifying information. (Don't include +- the brackets!) The text should be enclosed in the appropriate +- comment syntax for the file format. We also recommend that a +- file or class name and description of purpose be included on the +- same "printed page" as the copyright notice for easier +- identification within third-party archives. +- +-Copyright [yyyy] [name of copyright owner] +- +-Licensed under the Apache License, Version 2.0 (the "License"); +-you may not use this file except in compliance with the License. +-You may obtain a copy of the License at +- +- http://www.apache.org/licenses/LICENSE-2.0 +- +-Unless required by applicable law or agreed to in writing, software +-distributed under the License is distributed on an "AS IS" BASIS, +-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-See the License for the specific language governing permissions and +-limitations under the License. +--- a/third_party/rust/packed_simd/LICENSE-MIT ++++ /dev/null +@@ -1,25 +0,0 @@ +-Copyright (c) 2014 The Rust Project Developers +- +-Permission is hereby granted, free of charge, to any +-person obtaining a copy of this software and associated +-documentation files (the "Software"), to deal in the +-Software without restriction, including without +-limitation the rights to use, copy, modify, merge, +-publish, distribute, sublicense, and/or sell copies of +-the Software, and to permit persons to whom the Software +-is furnished to do so, subject to the following +-conditions: +- +-The above copyright notice and this permission notice +-shall be included in all copies or substantial portions +-of the Software. +- +-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +-ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +-TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +-SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +-DEALINGS IN THE SOFTWARE.