https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90271

--- Comment #6 from Eyal Rozenberg <eyalroz at technion dot ac.il> ---
> Is the example from real-world code?

Yes. Example: Some machines support atomic instructions on aligned 32 bits or
on 64 bits, but not directly on 1, 2, 3, 5, 6 or 7 bytes. So in order to
atomically change a value of one of those "undesirable" sizes, you have to work
on its corresponding 4-byte or 8-byte stretch: You read it, change it in the
middle, then apply atomic compare-and-swap to it.

Reply via email to