Re: remove switch statement in vector8_shift_{left,right}

John Naylor <johncnaylorls@gmail.com>

From: John Naylor <johncnaylorls@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2026-07-02T05:28:36Z
Lists: pgsql-hackers
On Thu, Jul 2, 2026 at 7:32 AM Nathan Bossart <nathandbossart@gmail.com> wrote:
> In commit ec8719ccbf, I added a switch statement with all expected shift
> counts for vector8_shift_{left,right} because AArch64's vshlq_n_u32 and
> vshrq_n_u32 require an integer literal.  I discovered that we can use
> vshlq_u32 instead for both cases, which avoids the need for the switch
> statement and compiles to the same machine code on recent gcc/clang.

Hmm! +1

--
John Naylor
Amazon Web Services



Commits

  1. Optimize hex_encode() and hex_decode() using SIMD.