Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/crypto/external/bsd/openssl/lib/libcrypto/arch Regen



details:   https://anonhg.NetBSD.org/src/rev/333f2fdd3ef1
branches:  trunk
changeset: 374664:333f2fdd3ef1
user:      christos <christos%NetBSD.org@localhost>
date:      Tue May 09 17:21:16 2023 +0000

description:
Regen

diffstat:

 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S           |   776 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/arm64cpuid.S           |     7 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/armv8-mont.S           |   732 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/chacha-armv8.S         |  1883 ++--
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ecp_nistz256-armv8.S   |     8 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/ghashv8-armx.S         |    66 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/keccak1600-armv8.S     |   194 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/poly1305-armv8.S       |    31 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha1-armv8.S           |    54 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/sha512-armv8.S         |    28 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/vpaes-armv8.S          |   276 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/aes-armv4.S                |     7 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/aesv8-armx.S               |   776 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/arm64cpuid.S               |     7 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/armv4-gf2m.S               |    13 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/armv4-mont.S               |    17 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/armv4cpuid.S               |     3 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/armv8-mont.S               |   732 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/bsaes-armv7.S              |    45 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/chacha-armv4.S             |    11 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/chacha-armv8.S             |  1883 ++--
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/ecp_nistz256-armv4.S       |     4 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/ecp_nistz256-armv8.S       |     8 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/ghash-armv4.S              |     3 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/ghashv8-armx.S             |    66 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/keccak1600-armv4.S         |    34 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/keccak1600-armv8.S         |   194 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/poly1305-armv4.S           |    48 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/poly1305-armv8.S           |    31 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/sha1-armv4-large.S         |    15 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/sha1-armv8.S               |    54 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/sha256-armv4.S             |    17 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/sha512-armv4.S             |    15 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/sha512-armv8.S             |    28 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/arm/vpaes-armv8.S              |   276 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/aesni-x86.S               |   131 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/bf-586.S                  |    67 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/bn-586.S                  |    52 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/cast-586.S                |    67 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/chacha-x86.S              |    27 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/cmll-x86.S                |    72 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/co-586.S                  |    37 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/crypt586.S                |    22 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/des-586.S                 |   127 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/e_padlock-x86.S           |   109 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/ecp_nistz256-x86.S        |   127 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/ghash-x86.S               |    52 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/md5-586.S                 |    32 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/poly1305-x86.S            |    47 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/rc4-586.S                 |    32 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/rc5-586.S                 |    67 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/rmd-586.S                 |    22 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/sha1-586.S                |    32 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/sha256-586.S              |    22 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/sha512-586.S              |    22 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/uplink-x86.S              |   127 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/vpaes-x86.S               |    82 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S                |    77 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/mips/aes-mips.S                |   127 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/mips/aes-mips64.S              |   127 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/mips/mips.S                    |     4 +
 crypto/external/bsd/openssl/lib/libcrypto/arch/mips/mips64.S                  |     6 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/Makefile               |     8 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/poly1305-ppc.S         |  1089 ++-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/sha512-ppc.S           |  4134 ++-------
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/sha512p8-ppc.S         |  1062 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/vpaes-ppc.S            |    14 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc64/keccak1600-ppc64.S   |    32 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc64/poly1305-ppc.S       |  1014 ++-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc64/sha512-ppc.S         |   984 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc64/sha512p8-ppc.S       |  1062 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc64/vpaes-ppc.S          |    14 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/aes-sparcv9.S            |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/aesfx-sparcv9.S          |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/aest4-sparcv9.S          |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/bn-sparcv8.S             |     2 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/cmllt4-sparcv9.S         |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/des_enc-sparc.S          |     6 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/dest4-sparcv9.S          |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/ecp_nistz256-sparcv9.S   |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/ghash-sparcv9.S          |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/md5-sparcv9.S            |    13 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/poly1305-sparcv9.S       |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/sha1-sparcv9.S           |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/sha512-sparcv9.S         |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/sparct4-mont.S           |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/sparcv9-gf2m.S           |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/sparcv9-mont.S           |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/sparcv9a-mont.S          |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc/vis3-mont.S              |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/aes-sparcv9.S          |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/aesfx-sparcv9.S        |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/aest4-sparcv9.S        |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/cmllt4-sparcv9.S       |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/des_enc-sparc.S        |     6 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/dest4-sparcv9.S        |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/ecp_nistz256-sparcv9.S |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/ghash-sparcv9.S        |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/md5-sparcv9.S          |    13 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/poly1305-sparcv9.S     |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/sha1-sparcv9.S         |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/sha512-sparcv9.S       |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/sparct4-mont.S         |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/sparcv9-gf2m.S         |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/sparcv9-mont.S         |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/sparcv9a-mont.S        |     5 +-
 crypto/external/bsd/openssl/lib/libcrypto/arch/sparc64/vis3-mont.S            |     5 +-
 107 files changed, 11624 insertions(+), 8037 deletions(-)

diffs (truncated from 26789 to 300 lines):

diff -r 073e8307e650 -r 333f2fdd3ef1 crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S
--- a/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S       Tue May 09 16:41:29 2023 +0000
+++ b/crypto/external/bsd/openssl/lib/libcrypto/arch/aarch64/aesv8-armx.S       Tue May 09 17:21:16 2023 +0000
@@ -1,11 +1,18 @@
 #include "arm_arch.h"
 
 #if __ARM_MAX_ARCH__>=7
-.text
 .arch  armv7-a @ don't confuse not-so-latest binutils with argv8 :-)
 .fpu   neon
+#ifdef __thumb2__
+.syntax        unified
+.thumb
+# define INST(a,b,c,d) .byte   c,d|0xc,a,b
+#else
 .code  32
-#undef __thumb2__
+# define INST(a,b,c,d) .byte   a,b,c,d
+#endif
+
+.text
 .align 5
 .Lrcon:
 .long  0x01,0x01,0x01,0x01
@@ -48,7 +55,7 @@ aes_v8_set_encrypt_key:
        vtbl.8  d21,{q3},d5
        vext.8  q9,q0,q3,#12
        vst1.32 {q3},[r2]!
-.byte  0x00,0x43,0xf0,0xf3     @ aese q10,q0
+       INST(0x00,0x43,0xf0,0xf3)       @ aese q10,q0
        subs    r1,r1,#1
 
        veor    q3,q3,q9
@@ -67,7 +74,7 @@ aes_v8_set_encrypt_key:
        vtbl.8  d21,{q3},d5
        vext.8  q9,q0,q3,#12
        vst1.32 {q3},[r2]!
-.byte  0x00,0x43,0xf0,0xf3     @ aese q10,q0
+       INST(0x00,0x43,0xf0,0xf3)       @ aese q10,q0
 
        veor    q3,q3,q9
        vext.8  q9,q0,q9,#12
@@ -82,7 +89,7 @@ aes_v8_set_encrypt_key:
        vtbl.8  d21,{q3},d5
        vext.8  q9,q0,q3,#12
        vst1.32 {q3},[r2]!
-.byte  0x00,0x43,0xf0,0xf3     @ aese q10,q0
+       INST(0x00,0x43,0xf0,0xf3)       @ aese q10,q0
 
        veor    q3,q3,q9
        vext.8  q9,q0,q9,#12
@@ -114,7 +121,7 @@ aes_v8_set_encrypt_key:
 #else
        vst1.32 {d16},[r2]!
 #endif
-.byte  0x00,0x43,0xf0,0xf3     @ aese q10,q0
+       INST(0x00,0x43,0xf0,0xf3)       @ aese q10,q0
        subs    r1,r1,#1
 
        veor    q3,q3,q9
@@ -150,7 +157,7 @@ aes_v8_set_encrypt_key:
        vtbl.8  d21,{q8},d5
        vext.8  q9,q0,q3,#12
        vst1.32 {q8},[r2]!
-.byte  0x00,0x43,0xf0,0xf3     @ aese q10,q0
+       INST(0x00,0x43,0xf0,0xf3)       @ aese q10,q0
        subs    r1,r1,#1
 
        veor    q3,q3,q9
@@ -166,7 +173,7 @@ aes_v8_set_encrypt_key:
 
        vdup.32 q10,d7[1]
        vext.8  q9,q0,q8,#12
-.byte  0x00,0x43,0xf0,0xf3     @ aese q10,q0
+       INST(0x00,0x43,0xf0,0xf3)       @ aese q10,q0
 
        veor    q8,q8,q9
        vext.8  q9,q0,q9,#12
@@ -209,15 +216,15 @@ aes_v8_set_decrypt_key:
 .Loop_imc:
        vld1.32 {q0},[r2]
        vld1.32 {q1},[r0]
-.byte  0xc0,0x03,0xb0,0xf3     @ aesimc q0,q0
-.byte  0xc2,0x23,0xb0,0xf3     @ aesimc q1,q1
+       INST(0xc0,0x03,0xb0,0xf3)       @ aesimc q0,q0
+       INST(0xc2,0x23,0xb0,0xf3)       @ aesimc q1,q1
        vst1.32 {q0},[r0],r4
        vst1.32 {q1},[r2]!
        cmp     r0,r2
        bhi     .Loop_imc
 
        vld1.32 {q0},[r2]
-.byte  0xc0,0x03,0xb0,0xf3     @ aesimc q0,q0
+       INST(0xc0,0x03,0xb0,0xf3)       @ aesimc q0,q0
        vst1.32 {q0},[r0]
 
        eor     r0,r0,r0                @ return value
@@ -235,19 +242,19 @@ aes_v8_encrypt:
        vld1.32 {q1},[r2]!
 
 .Loop_enc:
-.byte  0x00,0x43,0xb0,0xf3     @ aese q2,q0
-.byte  0x84,0x43,0xb0,0xf3     @ aesmc q2,q2
+       INST(0x00,0x43,0xb0,0xf3)       @ aese q2,q0
+       INST(0x84,0x43,0xb0,0xf3)       @ aesmc q2,q2
        vld1.32 {q0},[r2]!
        subs    r3,r3,#2
-.byte  0x02,0x43,0xb0,0xf3     @ aese q2,q1
-.byte  0x84,0x43,0xb0,0xf3     @ aesmc q2,q2
+       INST(0x02,0x43,0xb0,0xf3)       @ aese q2,q1
+       INST(0x84,0x43,0xb0,0xf3)       @ aesmc q2,q2
        vld1.32 {q1},[r2]!
        bgt     .Loop_enc
 
-.byte  0x00,0x43,0xb0,0xf3     @ aese q2,q0
-.byte  0x84,0x43,0xb0,0xf3     @ aesmc q2,q2
+       INST(0x00,0x43,0xb0,0xf3)       @ aese q2,q0
+       INST(0x84,0x43,0xb0,0xf3)       @ aesmc q2,q2
        vld1.32 {q0},[r2]
-.byte  0x02,0x43,0xb0,0xf3     @ aese q2,q1
+       INST(0x02,0x43,0xb0,0xf3)       @ aese q2,q1
        veor    q2,q2,q0
 
        vst1.8  {q2},[r1]
@@ -264,24 +271,336 @@ aes_v8_decrypt:
        vld1.32 {q1},[r2]!
 
 .Loop_dec:
-.byte  0x40,0x43,0xb0,0xf3     @ aesd q2,q0
-.byte  0xc4,0x43,0xb0,0xf3     @ aesimc q2,q2
+       INST(0x40,0x43,0xb0,0xf3)       @ aesd q2,q0
+       INST(0xc4,0x43,0xb0,0xf3)       @ aesimc q2,q2
        vld1.32 {q0},[r2]!
        subs    r3,r3,#2
-.byte  0x42,0x43,0xb0,0xf3     @ aesd q2,q1
-.byte  0xc4,0x43,0xb0,0xf3     @ aesimc q2,q2
+       INST(0x42,0x43,0xb0,0xf3)       @ aesd q2,q1
+       INST(0xc4,0x43,0xb0,0xf3)       @ aesimc q2,q2
        vld1.32 {q1},[r2]!
        bgt     .Loop_dec
 
-.byte  0x40,0x43,0xb0,0xf3     @ aesd q2,q0
-.byte  0xc4,0x43,0xb0,0xf3     @ aesimc q2,q2
+       INST(0x40,0x43,0xb0,0xf3)       @ aesd q2,q0
+       INST(0xc4,0x43,0xb0,0xf3)       @ aesimc q2,q2
        vld1.32 {q0},[r2]
-.byte  0x42,0x43,0xb0,0xf3     @ aesd q2,q1
+       INST(0x42,0x43,0xb0,0xf3)       @ aesd q2,q1
        veor    q2,q2,q0
 
        vst1.8  {q2},[r1]
        bx      lr
 .size  aes_v8_decrypt,.-aes_v8_decrypt
+.globl aes_v8_ecb_encrypt
+.type  aes_v8_ecb_encrypt,%function
+.align 5
+aes_v8_ecb_encrypt:
+       mov     ip,sp
+       stmdb   sp!,{r4,r5,r6,r7,r8,lr}
+       vstmdb  sp!,{d8,d9,d10,d11,d12,d13,d14,d15}                     @ ABI specification says so
+       ldmia   ip,{r4,r5}                      @ load remaining args
+       subs    r2,r2,#16
+       mov     r8,#16
+       blo     .Lecb_done
+       it      eq
+       moveq   r8,#0
+
+       cmp     r4,#0                                   @ en- or decrypting?
+       ldr     r5,[r3,#240]
+       and     r2,r2,#-16
+       vld1.8  {q0},[r0],r8
+
+       vld1.32 {q8,q9},[r3]                            @ load key schedule...
+       sub     r5,r5,#6
+       add     r7,r3,r5,lsl#4                          @ pointer to last 7 round keys
+       sub     r5,r5,#2
+       vld1.32 {q10,q11},[r7]!
+       vld1.32 {q12,q13},[r7]!
+       vld1.32 {q14,q15},[r7]!
+       vld1.32 {q7},[r7]
+
+       add     r7,r3,#32
+       mov     r6,r5
+       beq     .Lecb_dec
+
+       vld1.8  {q1},[r0]!
+       subs    r2,r2,#32                               @ bias
+       add     r6,r5,#2
+       vorr    q3,q1,q1
+       vorr    q10,q1,q1
+       vorr    q1,q0,q0
+       blo     .Lecb_enc_tail
+
+       vorr    q1,q3,q3
+       vld1.8  {q10},[r0]!
+.Loop3x_ecb_enc:
+       INST(0x20,0x03,0xb0,0xf3)       @ aese q0,q8
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x20,0x23,0xb0,0xf3)       @ aese q1,q8
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x20,0x43,0xf0,0xf3)       @ aese q10,q8
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.32 {q8},[r7]!
+       subs    r6,r6,#2
+       INST(0x22,0x03,0xb0,0xf3)       @ aese q0,q9
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x22,0x23,0xb0,0xf3)       @ aese q1,q9
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x22,0x43,0xf0,0xf3)       @ aese q10,q9
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.32 {q9},[r7]!
+       bgt     .Loop3x_ecb_enc
+
+       INST(0x20,0x03,0xb0,0xf3)       @ aese q0,q8
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x20,0x23,0xb0,0xf3)       @ aese q1,q8
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x20,0x43,0xf0,0xf3)       @ aese q10,q8
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       subs    r2,r2,#0x30
+       it      lo
+       movlo   r6,r2                           @ r6, r6, is zero at this point
+       INST(0x22,0x03,0xb0,0xf3)       @ aese q0,q9
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x22,0x23,0xb0,0xf3)       @ aese q1,q9
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x22,0x43,0xf0,0xf3)       @ aese q10,q9
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       add     r0,r0,r6                        @ r0 is adjusted in such way that
+                                               @ at exit from the loop q1-q10
+                                               @ are loaded with last "words"
+       mov     r7,r3
+       INST(0x28,0x03,0xb0,0xf3)       @ aese q0,q12
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x28,0x23,0xb0,0xf3)       @ aese q1,q12
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x28,0x43,0xf0,0xf3)       @ aese q10,q12
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.8  {q2},[r0]!
+       INST(0x2a,0x03,0xb0,0xf3)       @ aese q0,q13
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x2a,0x23,0xb0,0xf3)       @ aese q1,q13
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x2a,0x43,0xf0,0xf3)       @ aese q10,q13
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.8  {q3},[r0]!
+       INST(0x2c,0x03,0xb0,0xf3)       @ aese q0,q14
+       INST(0x80,0x03,0xb0,0xf3)       @ aesmc q0,q0
+       INST(0x2c,0x23,0xb0,0xf3)       @ aese q1,q14
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x2c,0x43,0xf0,0xf3)       @ aese q10,q14
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.8  {q11},[r0]!
+       INST(0x2e,0x03,0xb0,0xf3)       @ aese q0,q15
+       INST(0x2e,0x23,0xb0,0xf3)       @ aese q1,q15
+       INST(0x2e,0x43,0xf0,0xf3)       @ aese q10,q15
+       vld1.32 {q8},[r7]!              @ re-pre-load rndkey[0]
+       add     r6,r5,#2
+       veor    q4,q7,q0
+       veor    q5,q7,q1
+       veor    q10,q10,q7
+       vld1.32 {q9},[r7]!              @ re-pre-load rndkey[1]
+       vst1.8  {q4},[r1]!
+       vorr    q0,q2,q2
+       vst1.8  {q5},[r1]!
+       vorr    q1,q3,q3
+       vst1.8  {q10},[r1]!
+       vorr    q10,q11,q11
+       bhs     .Loop3x_ecb_enc
+
+       cmn     r2,#0x30
+       beq     .Lecb_done
+       nop
+
+.Lecb_enc_tail:
+       INST(0x20,0x23,0xb0,0xf3)       @ aese q1,q8
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x20,0x43,0xf0,0xf3)       @ aese q10,q8
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.32 {q8},[r7]!
+       subs    r6,r6,#2
+       INST(0x22,0x23,0xb0,0xf3)       @ aese q1,q9
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x22,0x43,0xf0,0xf3)       @ aese q10,q9
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       vld1.32 {q9},[r7]!
+       bgt     .Lecb_enc_tail
+
+       INST(0x20,0x23,0xb0,0xf3)       @ aese q1,q8
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x20,0x43,0xf0,0xf3)       @ aese q10,q8
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       INST(0x22,0x23,0xb0,0xf3)       @ aese q1,q9
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x22,0x43,0xf0,0xf3)       @ aese q10,q9
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10
+       INST(0x28,0x23,0xb0,0xf3)       @ aese q1,q12
+       INST(0x82,0x23,0xb0,0xf3)       @ aesmc q1,q1
+       INST(0x28,0x43,0xf0,0xf3)       @ aese q10,q12
+       INST(0xa4,0x43,0xf0,0xf3)       @ aesmc q10,q10



Home | Main Index | Thread Index | Old Index