about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2024-12-05 05:50:51 -0500
committerGitHub <noreply@github.com>2024-12-05 05:50:51 -0500
commitf5f8a1f8cee4d853d51d27831427c98c8c6923bb (patch)
tree49524918d328509c5aad0691b666129e10fe1130
parentb5a7f41a872660196bcb6d1b7af7a4cc6b773a70 (diff)
parentf4217f42967621c53dbeb1ecdd698c1d17e97b7a (diff)
downloadrust-f5f8a1f8cee4d853d51d27831427c98c8c6923bb.tar.gz
rust-f5f8a1f8cee4d853d51d27831427c98c8c6923bb.zip
Rollup merge of #133844 - RalfJung:simd_relaxed_fma-nondet, r=workingjubilee
clarify simd_relaxed_fma non-determinism

This is the safer spec in the sense that it is more likely to be satisfied by the backend -- and if people are okay with a non-deterministic result, I assume they don't care whether it's the same choice across all lanes or not?

Cc ``@calebzulawski`` ``@workingjubilee``
-rw-r--r--library/core/src/intrinsics/simd.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/core/src/intrinsics/simd.rs b/library/core/src/intrinsics/simd.rs
index 0d24b0558c5..f80a60d471c 100644
--- a/library/core/src/intrinsics/simd.rs
+++ b/library/core/src/intrinsics/simd.rs
@@ -619,7 +619,8 @@ extern "rust-intrinsic" {
     /// set has support for a fused operation, and that the fused operation is more efficient
     /// than the equivalent, separate pair of mul and add instructions. It is unspecified
     /// whether or not a fused operation is selected, and that may depend on optimization
-    /// level and context, for example.
+    /// level and context, for example. It may even be the case that some SIMD lanes get fused
+    /// and others do not.
     ///
     /// `T` must be a vector of floats.
     #[cfg(not(bootstrap))]