Looking through code I noticed that in target/arm/translate.c there is the following comment in the decode for the load-acquire/store-release instructions:
/* Since the emulation does not have barriers, the acquire/release semantics need no special handling */ This is out of date now we have MTTCG, isn't it? The equivalent code in translate-a64.c has some calls to tcg_gen_mb() to emit barriers...presumably we need to fix the a32 code to do the same. (We haven't noticed this because I think in practice nobody much is compiling Armv8-specific AArch32 code.) thanks -- PMM