Noah Misch <noah@leadboat.com> writes:
> Done. fetch-add-variable-test-v1.patch just adds tests for non-constant
> addends and 16-bit edge cases. Today's implementation handles those,
> PostgreSQL doesn't use them, and I might easily have broken them.
> fetch-add-xlc-asm-v1.patch moves xlc builds from the __fetch_and_add()
> intrinsic to inline asm. fetch-add-gcc-xlc-unify-v1.patch moves fetch_add to
> inline asm for all other ppc compilers. gcc-7.2.0 generates equivalent code
> before and after. I plan to keep the third patch HEAD-only, back-patching the
> other two. I tested with xlc v12 and v13.
Hm, no objection to the first two patches, but I don't understand
why the third patch goes to so much effort just to use "addi" rather
than (one assumes) "li" then "add"? It doesn't seem likely that
that's buying much.
regards, tom lane