File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed
library/core/src/intrinsics Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -612,10 +612,14 @@ extern "rust-intrinsic" {
612612 #[ rustc_nounwind]
613613 pub fn simd_fma < T > ( x : T , y : T , z : T ) -> T ;
614614
615- /// Computes `(x*y) + z` for each element, with unspecified rounding.
616- ///
617- /// This may be equivalent to `simd_fma`, or it may relax to rounding each
618- /// operation if that's more efficient.
615+ /// Computes `(x*y) + z` for each element, non-deterministically executing either
616+ /// a fused multiply-add or two operations with rounding of the intermediate result.
617+ ///
618+ /// The operation is fused if the code generator determines that target instruction
619+ /// set has support for a fused operation, and that the fused operation is more efficient
620+ /// than the equivalent, separate pair of mul and add instructions. It is unspecified
621+ /// whether or not a fused operation is selected, and that may depend on optimization
622+ /// level and context, for example.
619623 ///
620624 /// `T` must be a vector of floats.
621625 #[ cfg( not( bootstrap) ) ]
You can’t perform that action at this time.
0 commit comments