Pattern

Acquire/Release Memory Ordering

acquire-release-mismatched-cas

CAS success and failure use mismatched acquire/release semantics, so the fail path doesn’t perform the needed acquire for the next iteration, breaking required happens-before edges and preventing safe compiler optimizations.