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

--- Comment #6 from Rory Bolt <rory.bolt at gmail dot com> ---
Ah... that code makes so much sense now...

So my original comment about simply using a different constant was too
simplistic; what is being attempted is to shift the constant 1 into the correct
byte position since the flag is only a single byte but the atomic store is done
on a word... so the shift logic will need to be rewritten for big endian
targets. This also explains the masking of the low order address bits...

Interesting!

Reply via email to