pgsql: Choose ppc compare_exchange constant path for more operand value

From: Noah Misch <noah(at)leadboat(dot)com>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Choose ppc compare_exchange constant path for more operand value
Date: 2020-10-12 04:38:47
Message-ID: E1kRpbj-0004lO-Li@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Choose ppc compare_exchange constant path for more operand values.

The implementation uses smaller code when the "expected" operand is a
small constant, but the implementation needlessly defined the set of
acceptable constants more narrowly than the ABI does. Core PostgreSQL
and PGXN don't use the constant path at all, so this is future-proofing.
Back-patch to v13, where commit 30ee5d17c20dbb282a9952b3048d6ad52d56c371
introduced this code.

Reviewed by Tom Lane. Reported by Christoph Berg.

Discussion: https://postgr.es/m/20201009092825.GD889580@msg.df7cb.de

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5efa788e1d070dd14cb94a8e087184dda36dc3ea

Modified Files
--------------
src/include/port/atomics/arch-ppc.h | 14 ++++----------
src/test/regress/regress.c | 8 ++++++++
2 files changed, 12 insertions(+), 10 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Noah Misch 2020-10-12 04:46:40 Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add
Previous Message Michael Paquier 2020-10-12 01:16:46 Re: powerpc pg_atomic_compare_exchange_u32_impl: error: comparison of integer expressions of different signedness (Re: pgsql: For all ppc compilers, implement compare_exchange and) fetch_add