The InterlockedX_{acq,nf,rel} functions deal with 32 bits which is long on
MSVC, but int on most other systems.
This also checks that ReadStatusRegister and WriteStatusRegister have
the correct type on aarch64-darwin.
This is applying the same fix as https://reviews.llvm.org/D34377
rdar://52196679