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~

Reply via email to