http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52215
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-02-12 13:57:32 UTC --- It makes no sense unless the signature of __atomic_compare_exchange_n is different when -m32 is used! Looking into it ...