On 26/05/2016 14:53, Sergey Fedorov wrote: >>> I'm afraid even our recent efforts in >>> multi-threaded TCG won't change the situation. The problem is that it >>> would require to translate somehow ARM's exclusive access monitor to x86 >>> model. >>> >> The cmpxchg-based variant would work. It doesn't implement LL/SC >> exactly, but it works fine if the program is written against GCC atomic >> builtins. > > I'm afraid, GCC can still generate ldrex/strex pair for > __atomic_compare_exchange(): >
I mean the version of mttcg that uses cmpxchg to implement ldrex/strex (save the value on ldrex, do a cmpxchg on strex). Thanks, Paolo