On Thu, 12 Jun 2025, Brian Inglis wrote: > Rust apparently uses yield on arm32, and isb (instruction sync barrier) on > aarch64, as yield is effectively a NOP (although it could be implemented to > free up pipeline slots, SMT switch, or signal), while isb (with optional sy > operand) is more like pause on x86_64:
I looked up what mingw-w64 does, and for both arm32 and aarch64 they use "dmb ishst" followed by "yield" for YieldProcessor(). I think this makes sense, since you'd want any pending stores to be available before re-checking the spin condition.
