please consider below scenario,
with command(A extension disabled )
$clang --target=riscv64 -march=rv64imfdc -mabi=lp64d -c atomic.o atomic.c
after dumping atomic.o we see that
(atomic.c#L95) lock -> (atomic.c#L198) __atomic_compare_exchange ->
any thought on, how can we break this loop?
do we need to provide platform-specific lock here since the generic
lock is causing the problem?