target-m68k: add cas/cas2 ops
commit14f944063affbcc7bd6df42b060793dbfee8a822
authorLaurent Vivier <laurent@vivier.eu>
Mon, 11 Jan 2016 00:33:26 +0000 (11 01:33 +0100)
committerLaurent Vivier <laurent@vivier.eu>
Tue, 27 Dec 2016 17:21:09 +0000 (27 18:21 +0100)
tree38b0f3ba0c2537980c27456db475917cf04a12b2
parentfb5543d820018a46b713911e7653594be727ca98
target-m68k: add cas/cas2 ops

Implement CAS using cmpxchg.
Implement CAS2 using helper and either cmpxchg when
the 32bit addresses are consecutive, or with
parallel_cpus+cpu_loop_exit_atomic() otherwise.

Suggested-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Richard Henderson <rth@twiddle.net>
target/m68k/helper.h
target/m68k/op_helper.c
target/m68k/translate.c