The infrastructure for atomic operations in the rs6000 port has not utilized the cleaner GCC internal APIs for manipulating memmodel. The appended patch converts the direct casts and use of memmodel_from_int to consistently use memmodel_base. This also allows the SYNC variants to be removed from switch case statements. This should not change any semantics or behavior of atomics in PowerPC code generation. Comments? Bootstrapped on powerpc-ibm-aix7.1.0.0 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC variants cases from switch. (rs6000_post_atomic_barrier): Same. (rs6000_expand_atomic_compare_and_swap): Use memmodel_base. (rs6000_expand_atomic_exchange): Same. (rs6000_expand_atomic_op): Same. * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove SYNC variants cases from switch. (atomic_load): Same. (atomic_store): Same. Thanks, David