On Tue, Apr 30, 2019 at 1:29 AM Jakub Jelinek <ja...@redhat.com> wrote:
> From what I can see in riscv/sync.md, there is 32 bit and 64 bit compare and
> swap, but not 16 bit (no idea why it doesn't emulate 8 bit and 16 bit
> cas using 32 bit one).

This is a known problem on our to do list, and there is already a
bugzilla or two about this.  There are unfortunately a lot of items on
our to do list as RISC-V is still a relatively new target.  This is
also complicated by the fact that we didn't have a formal memory model
defined until last year, and now that we do have one, the gcc support
needs to be updated to follow the formal memory model.  There are a
number of cleanup issues to fix here, such as the fact that we are
emitting fences in places where the formal memory model says we don't
need them.  Anyways, we do want to fix this, but it is not clear when
we will have time to do it.

Jim

Reply via email to