On Wed, May 29, 2024 at 2:29 PM Alexandre Ghiti <alexghiti@xxxxxxxxxxxx> wrote: > > On Wed, May 29, 2024 at 1:54 AM Andrea Parri <parri.andrea@xxxxxxxxx> wrote: > > > > > +zabha: \ > > > + __asm__ __volatile__ ( \ > > > + prepend \ > > > + " amocas" cas_sfx " %0, %z2, %1\n" \ > > > + append \ > > > + : "+&r" (r), "+A" (*(p)) \ > > > + : "rJ" (n) \ > > > + : "memory"); \ > > > > Couldn't a platform have Zabha but not have Zacas? I don't see how this > > asm goto could work in such case, what am I missing? > > Zabha amocas.[b|h] instructions are only implemented if Zacas is > present, as the specification states: "If Zacas [2] extension is also > implemented, Zabha further provides the AMOCAS.[B|H] instructions." > > But the code you mention is only for 8 and 16bit operations, so I > think we are good anyway? And I was wrong like Andrea noted privately. So I'll fix that too, thanks! > > Thanks, > > Alex > > > > > Andrea