chiark / gitweb /
symm/rijndael-arm64-crypto.S: Fix bogus element-to-GP move.
authorMark Wooding <mdw@distorted.org.uk>
Wed, 18 Sep 2019 17:24:49 +0000 (18:24 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 21 Sep 2019 15:58:49 +0000 (16:58 +0100)
Spotted by Clang's assembler.  GAS is obviously too lenient.

(cherry picked from commit cead42fc5cf5ff8c1c13f123e4c002077b42f6cd)

symm/rijndael-arm64-crypto.S

index 8739c193f0058e326c60be3b56ee497af0eeb267..9f68ae8434ded61eaa62efd6648d2936a64e1df9 100644 (file)
@@ -108,7 +108,7 @@ FUNC(rijndael_setup_arm64_crypto)
        // the byte substitution.
        dup     v0.4s, w14
        aese    v0.16b, v1.16b          // effectively, just SubBytes
-       mov     w14, v0.4s[0]
+       mov     w14, v0.s[0]
        b       2f
 
        // First word of the cycle.  Byte substitution, rotation, and round
@@ -116,7 +116,7 @@ FUNC(rijndael_setup_arm64_crypto)
 1:     ldrb    w13, [x5], #1           // next round constant
        dup     v0.4s, w14
        aese    v0.16b, v1.16b          // effectively, just SubBytes
-       mov     w14, v0.4s[0]
+       mov     w14, v0.s[0]
        eor     w14, w13, w14, ror #8
 
        // Common ending: mix in the word from the previous cycle and store.