On 2/7/21 9:46 PM, Taylor Simpson wrote:
> +/* Using volatile because we are testing atomics */
> +static inline int atomic_inc32(volatile int *x)
> +{
> + int old, dummy;
> + __asm__ __volatile__(
> + "1: %0 = memw_locked(%2)\n\t"
> + " %1 = add(%0, #1)\n\t"
> + " memw_locked(%2, p0) = %1\n\t"
> + " if (!p0) jump 1b\n\t"
> + : "=&r"(old), "=&r"(dummy)
> + : "r"(x)
> + : "p0", "memory");
> + return old;
> +}
While I can hardly deny a cpu testcase using inline asm, I'm a bit curious why
you didn't use the compiler builtins.
r~