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