The following is from EREF: A Programmer’s Reference Manual for Freescale Power Architecture Processors (EREF_RM Rev. 1 (EIS 2.1) 06/2014)
5.1.4 Atomic Accesses
A memory access is “single-copy atomic,” or simply “atomic,” if it is always performed in its entirety with no visible fragmentation. Atomic memory accesses are thus serialized: each happens in its entirety in some order, even when that order is not specified in the program or enforced between processors.
Vector accesses are not guaranteed to be atomic. The following other types of single-register accesses are always atomic:
• Byte accesses (all bytes are aligned on byte boundaries)
• Halfword accesses aligned on halfword boundaries
• Word accesses aligned on word boundaries
• Doubleword accesses aligned on doubleword boundaries
No other accesses are guaranteed to be atomic. For example, the access caused by the following instructions is not guaranteed to be atomic:
• Any load or store instruction for which the operand is unaligned
• lmw, stmw
• Any cache management instruction
Does the above imply, given that a data word is aligned on a word boundary, the standard lwz/stw instructions would provide atomic access and therefore lwarx/stwcx instructions would not need to be used instead?