On 05/12/2015 01:46 PM, Alexander Graf wrote: > On 05/12/2015 10:27 PM, Richard Henderson wrote: >> On 05/12/2015 01:20 PM, Alexander Graf wrote: >>> +static void in2_m2_32s_atomic(DisasContext *s, DisasFields *f, DisasOps *o) >>> +{ >>> + /* XXX should reserve the address */ >>> + in2_m2_32s(s, f, o); >>> +} >>> +#define SPEC_in2_m2_32s_atomic 0 >>> + >>> +static void in2_m2_64_atomic(DisasContext *s, DisasFields *f, DisasOps *o) >>> +{ >>> + /* XXX should reserve the address */ >>> + in2_m2_64(s, f, o); >>> +} >>> +#define SPEC_in2_m2_64_atomic 0 >>> + >> I think these should save the address in o->addr1 so that you don't have to >> recompute it in the wout functions. > > But I suppose you basically mean something like this?
Yes. There's an in1_la2 that does what your get_a2 does. Again, slightly misnamed, but that's the beauty of these atomic ops -- same fields have gotten renamed. r~