Re: use ARM intrinsics in pg_lfind32() where available

Поиск
Список
Период
Сортировка
От John Naylor
Тема Re: use ARM intrinsics in pg_lfind32() where available
Дата
Msg-id CAFBsxsHoJUgXfSYuuhuasTDCw85DtrKx=Wga8j7y5+sPMOam6g@mail.gmail.com
обсуждение исходный текст
Ответ на Re: use ARM intrinsics in pg_lfind32() where available  (John Naylor <john.naylor@enterprisedb.com>)
Ответы Re: use ARM intrinsics in pg_lfind32() where available  (Nathan Bossart <nathandbossart@gmail.com>)
Список pgsql-hackers
On Mon, Aug 29, 2022 at 4:28 PM John Naylor
<john.naylor@enterprisedb.com> wrote:
>
> Here's the simplest fix I can think of:
>
> /*
>  * Exactly like vector8_is_highbit_set except for the input type, so
> it still looks
>  * at each _byte_ separately.
>  *
>  * XXX x86 uses the same underlying type for vectors with 8-bit,
> 16-bit, and 32-bit
>  * integer elements, but Arm does not, hence the need for a separate function.
>  * We could instead adopt the behavior of Arm's vmaxvq_u32(), i.e. check each
>  * 32-bit element, but that would require an additional mask operation on x86.
>  */
> static inline bool
> vector32_is_highbit_set(const Vector32 v)
> {
> #if defined(USE_NEON)
>     return vector8_is_highbit_set((Vector8) v);
> #else
>     return vector8_is_highbit_set(v);
> #endif
> }

Bowerbird just reported the same error, so I went ahead and pushed a
fix with this.

--
John Naylor
EDB: http://www.enterprisedb.com



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

Предыдущее
От: Jelte Fennema
Дата:
Сообщение: Re: [PATCH] Optimize json_lex_string by batching character copying
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: Handle infinite recursion in logical replication setup