aklomp / base64

Fast Base64 stream encoder/decoder in C99, with SIMD acceleration
BSD 2-Clause "Simplified" License
865 stars 162 forks source link

Investigate `gf2p8affineqb` for the shuffle step #117

Open aklomp opened 1 year ago

aklomp commented 1 year ago

This is a placeholder issue to make sure this gets noted somewhere.

It looks like the gf2p8affineqb instruction can do arbitrary bit permutations on 8-bit characters. This could be very interesting to implement the bit shifts needed by the encoders and decoders.

This instruction is only available on post-2019 Sunny Cove CPUs with GFNI extensions enabled.