The base RISC-V 'A' extension lacks sub-word AMO instructions. This
implements the missing 8/16-bit atomic operations (add, sub, set,
clear) using fcmpset-based CAS loops.
This serves as a software fallback until the Zabha extension becomes
widely available.