Thread

Commits

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

  1. remove switch statement in vector8_shift_{left,right}

    Nathan Bossart <nathandbossart@gmail.com> — 2026-07-02T00:32:16Z

    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.
    
    -- 
    nathan
    
  2. Re: remove switch statement in vector8_shift_{left,right}

    John Naylor <johncnaylorls@gmail.com> — 2026-07-02T05:28:36Z

    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
    
    
    
    
  3. Re: remove switch statement in vector8_shift_{left,right}

    Nathan Bossart <nathandbossart@gmail.com> — 2026-07-06T16:40:56Z

    Committed.
    
    -- 
    nathan