Re: [PATCH v2 cmpxchg 12/13] sh: Emulate one-byte cmpxchg

From: D. Jeff Dionne
Date: Thu May 02 2024 - 01:42:59 EST


On May 2, 2024, at 14:07, Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:

> That would be 8-bit xchg() rather than 8-byte cmpxchg(), correct?
>
> Or am I missing something subtle here that makes sh also support one-byte
> (8-bit) cmpxchg()?

The native SH atomic operation is test and set TAS.B. J2 adds a compare and swap CAS.L instruction, carefully chosen for patent free prior art (s360, IIRC).

The (relatively expensive) encoding space we allocated for CAS.L does not contain size bits.

Not all SH4 patents had expired when J2 was under development, but now have (watch this space). Not sure (me myself) if there are more atomic operations in sh4.

Cheers,
J

>
> Thanx, Paul