You cannot say that C instructions are atomic or not, it depends of the MCU platform, and the assembler code generated by the compiler (your article was talking about Win32 platform).
In the case of STM32, take a look at Ride assembler view, and at the ARM Thumb2 instructions.
Concerning the peripheral access, the only STM32 atomic instructions are the bit set and reset by GPIOx_BSRR and GPIOx_BRR registers access.