• Ben Gamari's avatar
    nativeGen/X86: MFENCE is unnecessary for release semantics · f058e367
    Ben Gamari authored and Marge Bot's avatar Marge Bot committed
    In #22764 a user noticed that a program implementing a simple atomic
    counter via an STRef regressed significantly due to the introduction of
    necessary atomic operations in the MutVar# primops (#22468). This
    regression was caused by a bug in the NCG, which emitted an unnecessary
    MFENCE instruction for a release-ordered atomic write. MFENCE is rather
    only needed to achieve sequentially consistent ordering.
    Fixes #22764.