base/asm-common.h, *.S: Use consistent little-endian notation for SIMD regs.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 3 Feb 2024 23:02:22 +0000 (23:02 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 3 Feb 2024 23:36:13 +0000 (23:36 +0000)
commit981a9e5d5e3af6c06ad8b3f821928852068227e4
tree64f5fd3a1de083096bb08d393e7f47bbbf8aed72
parente7ee4000d06cadd8355404c8ddfb3d16265d24ca
base/asm-common.h, *.S: Use consistent little-endian notation for SIMD regs.

This makes operations which involve changing one's perspective about the
SIMD processing elements make significantly more sense.  In particular,
I hope that this removes a layer of brain-twisting from the GCM code.

  * Adjust all of the register-contents diagrams so that less
    significant elements are on the right, rather than on the left.

  * Change the x86 `SHUF' macro so that the desired pieces are listed in
    decreasing significance order, so `SHUF(3, 2, 1, 0)' would be a
    no-op.

I would, of course, continue to use big-endian notation on a target
which actually used a big-endian ordering natively, but we don't
currently support any of them.
base/asm-common.h
math/mpx-mul4-amd64-sse2.S
math/mpx-mul4-arm-neon.S
math/mpx-mul4-arm64-simd.S
math/mpx-mul4-x86-sse2.S
symm/chacha-x86ish-sse2.S
symm/gcm-arm-crypto.S
symm/gcm-arm64-pmull.S
symm/gcm-x86ish-pclmul.S
symm/rijndael-x86ish-aesni.S
symm/salsa20-x86ish-sse2.S