diff options
Diffstat (limited to 'third_party/rust/packed_simd/perf-guide/src/bound_checks.md')
-rw-r--r-- | third_party/rust/packed_simd/perf-guide/src/bound_checks.md | 22 |
1 files changed, 0 insertions, 22 deletions
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 index 2eeedb5ac8..0000000000 --- a/third_party/rust/packed_simd/perf-guide/src/bound_checks.md +++ /dev/null @@ -1,22 +0,0 @@ -# Bounds checking - -Reading and writing packed vectors to/from slices is checked by default. -Independently of the configuration options used, the safe functions: - -* `Simd<[T; N]>::from_slice_aligned(& s[..])` -* `Simd<[T; N]>::write_to_slice_aligned(&mut s[..])` - -always check that: - -* the slice is big enough to hold the vector -* the slice is suitably aligned to perform an aligned load/store for a `Simd<[T; - N]>` (this alignment is often much larger than that of `T`). - -There are `_unaligned` versions that use unaligned load and stores, as well as -`unsafe` `_unchecked` that do not perform any checks iff `debug-assertions = -false` / `debug = false`. That is, the `_unchecked` methods do still assert size -and alignment in debug builds and could also do so in release builds depending -on the configuration options. - -These assertions do often significantly impact performance and you should be -aware of them. |