Re: Remove dependence on integer wrapping

Поиск
Список
Период
Сортировка
От Nathan Bossart
Тема Re: Remove dependence on integer wrapping
Дата
Msg-id ZrvUOkL19KHEH2sb@nathan
обсуждение исходный текст
Ответ на Re: Remove dependence on integer wrapping  (jian he <jian.universality@gmail.com>)
Ответы Re: Remove dependence on integer wrapping
Список pgsql-hackers
I've been preparing 0001 for commit.  I've attached what I have so far.

The main changes are the implementations of pg_abs_* and pg_neg_*.  For the
former, I've used abs()/i64abs() for the short/int implementations.  For
the latter, I've tried to use __builtin_sub_overflow() when possible, as
that appears to produce slightly better code.  When
__builtin_sub_overflow() is not available, the values are upcasted before
negation, and we check that result before casting to the return type.  That
approach more closely matches the surrounding functions.  (One exception is
pg_neg_u64_overflow() when we have neither HAVE__BUILTIN_OP_OVERFLOW nor
HAVE_INT128.  In that case, we have to hand-roll everything.)

Thoughts?

-- 
nathan

Вложения

В списке pgsql-hackers по дате отправления: