http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55966
--- Comment #6 from Andi Kleen <andi-gcc at firstfloor dot org> 2013-01-14 22:05:38 UTC --- Hmm that's true. x86 doesn't have xand, x_or, x_xor, only xadd Maybe cmpxchg is the only way? For some special cases it can be done (like and single bit-> btr, or single bit -> btr), but it's probably complicated to implement. In this case I would prefer to forbid those for HLE. I guess more arguments for the target hook. Other ideas?