I wrote:
> Ah. I was not thinking of touching pg_atomic_read_u32/u64_impl,
> although now that you mention it, it's not clear to me why we
> couldn't simplify
> - return *(&ptr->value);
> + return ptr->value;
Just to check, I applied that change to pg_atomic_read_u32_impl and
pg_atomic_read_u64_impl, and recompiled. I get bit-for-bit the
same backend executable. Maybe it would have an effect on some
other compiler, but I doubt it, except perhaps at -O0.
regards, tom lane