fune/third_party/rust/any_all_workaround
2024-04-30 07:29:44 +00:00
..
src Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
.cargo-checksum.json Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
build.rs Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
Cargo.toml Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
LICENSE-APACHE Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
LICENSE-MIT Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
LICENSE-MIT-QCMS Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00
README.md Bug 1882209 - Update encoding_rs to 0.8.34 to deal with rustc changes. r=glandium,supply-chain-reviewers 2024-04-30 07:29:44 +00:00

any_all_workaround

This is a workaround for bad codegen (Rust bug, LLVM bug) for the any() and all() reductions for NEON-backed SIMD vectors on 32-bit ARM. On other platforms these delegate to any() and all() in core::simd.

The plan is to abandon this crate once the LLVM bug is fixed or core::simd works around the LLVM bug.

The code is forked from the packed_simd crate.

This crate requires Nightly Rust as it depends on the portable_simd feature.

License

MIT OR Apache-2.0, since that's how packed_simd is licensed. (The ARM intrinsics Rust version workaround is from qcms, see LICENSE-MIT-QCMS.)