https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110096
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Peter Dimov from comment #7) > These intrinsics are typically used in spinlocks as in > ``` > while( flag_.test_and_set() ) > { > // issue a power-saving NOP here > } > ``` > (where `flag_` is `std::atomic_flag`) and this use is generic and not > target-dependent. But yield is not the right thing for spinlocks for ARMv8. You want to use wfe instead. yield is only for multi-threaded cores and can be used anytime.