aboutsummaryrefslogtreecommitdiff
path: root/sys/crypto
diff options
context:
space:
mode:
authorEnji Cooper <ngie@FreeBSD.org>2026-04-09 01:54:40 +0000
committerEnji Cooper <ngie@FreeBSD.org>2026-04-09 01:55:43 +0000
commit5254e16213ff1bb136ef24e0b0fe30625ac53563 (patch)
tree2ce807715711631f46b9830af517ce3e62e851a7 /sys/crypto
parent10a428653ee7216475f1ddce3fb4cbf1200319f8 (diff)
Diffstat (limited to 'sys/crypto')
-rw-r--r--sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S104
-rw-r--r--sys/crypto/openssl/amd64/rsaz-2k-avxifma.S1
-rw-r--r--sys/crypto/openssl/amd64/rsaz-3k-avxifma.S3
-rw-r--r--sys/crypto/openssl/amd64/rsaz-4k-avxifma.S3
-rw-r--r--sys/crypto/openssl/powerpc/aes-gcm-ppc.S5
-rw-r--r--sys/crypto/openssl/powerpc64/aes-gcm-ppc.S5
-rw-r--r--sys/crypto/openssl/powerpc64le/aes-gcm-ppc.S5
7 files changed, 61 insertions, 65 deletions
diff --git a/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S b/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S
index b8c728e68683..7c44c1791f28 100644
--- a/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S
+++ b/sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S
@@ -63,12 +63,13 @@ _vpsm4_ex_set_key:
AARCH64_VALID_CALL_TARGET
ld1 {v5.4s},[x0]
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
#ifndef __AARCH64EB__
rev32 v5.16b,v5.16b
#endif
@@ -640,12 +641,13 @@ vpsm4_ex_encrypt:
AARCH64_VALID_CALL_TARGET
ld1 {v4.4s},[x0]
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
#ifndef __AARCH64EB__
rev32 v4.16b,v4.16b
#endif
@@ -782,12 +784,13 @@ vpsm4_ex_decrypt:
AARCH64_VALID_CALL_TARGET
ld1 {v4.4s},[x0]
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
#ifndef __AARCH64EB__
rev32 v4.16b,v4.16b
#endif
@@ -930,12 +933,13 @@ vpsm4_ex_ecb_encrypt:
stp d14,d15,[sp,#48]
stp x29,x30,[sp,#64]
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
.Lecb_8_blocks_process:
cmp w2,#8
b.lt .Lecb_4_blocks_process
@@ -1178,12 +1182,13 @@ vpsm4_ex_cbc_encrypt:
AARCH64_VALID_CALL_TARGET
lsr x2,x2,4
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
cbz w5,.Ldec
ld1 {v3.4s},[x4]
.Lcbc_4_blocks_enc:
@@ -2170,12 +2175,13 @@ vpsm4_ex_ctr32_encrypt_blocks:
rev32 v3.16b,v3.16b
#endif
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
cmp w2,#1
b.ne 1f
// fast processing for one single block without
@@ -2570,12 +2576,13 @@ vpsm4_ex_xts_encrypt_gb:
ld1 {v16.4s}, [x5]
mov x3,x27
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
#ifndef __AARCH64EB__
rev32 v16.16b,v16.16b
#endif
@@ -3574,12 +3581,13 @@ vpsm4_ex_xts_encrypt:
ld1 {v16.4s}, [x5]
mov x3,x27
adrp x9, .Lsbox_magic
- ldr q26, [x9, #:lo12:.Lsbox_magic]
- ldr q27, [x9, #:lo12:.Lsbox_magic+16]
- ldr q28, [x9, #:lo12:.Lsbox_magic+32]
- ldr q29, [x9, #:lo12:.Lsbox_magic+48]
- ldr q30, [x9, #:lo12:.Lsbox_magic+64]
- ldr q31, [x9, #:lo12:.Lsbox_magic+80]
+ add x9, x9, #:lo12:.Lsbox_magic
+ ldr q26, [x9]
+ ldr q27, [x9, 16]
+ ldr q28, [x9, 32]
+ ldr q29, [x9, 48]
+ ldr q30, [x9, 64]
+ ldr q31, [x9, 80]
#ifndef __AARCH64EB__
rev32 v16.16b,v16.16b
#endif
diff --git a/sys/crypto/openssl/amd64/rsaz-2k-avxifma.S b/sys/crypto/openssl/amd64/rsaz-2k-avxifma.S
index 05c846c96c10..ac6e103ed068 100644
--- a/sys/crypto/openssl/amd64/rsaz-2k-avxifma.S
+++ b/sys/crypto/openssl/amd64/rsaz-2k-avxifma.S
@@ -1136,6 +1136,7 @@ ossl_extract_multiplier_2x20_win5_avx:
vmovdqu %ymm7,224(%rdi)
vmovdqu %ymm8,256(%rdi)
vmovdqu %ymm9,288(%rdi)
+ vzeroupper
.byte 0xf3,0xc3
.cfi_endproc
.size ossl_extract_multiplier_2x20_win5_avx, .-ossl_extract_multiplier_2x20_win5_avx
diff --git a/sys/crypto/openssl/amd64/rsaz-3k-avxifma.S b/sys/crypto/openssl/amd64/rsaz-3k-avxifma.S
index 5d9f97d52bc1..8f384b054f47 100644
--- a/sys/crypto/openssl/amd64/rsaz-3k-avxifma.S
+++ b/sys/crypto/openssl/amd64/rsaz-3k-avxifma.S
@@ -1266,7 +1266,7 @@ ossl_rsaz_amm52x30_x2_avxifma256:
vmovdqu %ymm9,192(%rdi)
vmovdqu %ymm10,224(%rdi)
- xorl %r15d,%r15d
+ xorl %r9d,%r9d
leaq 16(%r11),%r11
movq $0xfffffffffffff,%rax
@@ -1736,6 +1736,7 @@ ossl_extract_multiplier_2x30_win5_avx:
vmovdqu %ymm5,416(%rdi)
vmovdqu %ymm6,448(%rdi)
vmovdqu %ymm7,480(%rdi)
+ vzeroupper
.byte 0xf3,0xc3
.cfi_endproc
diff --git a/sys/crypto/openssl/amd64/rsaz-4k-avxifma.S b/sys/crypto/openssl/amd64/rsaz-4k-avxifma.S
index f1f86f2fd783..b7ecbc3b1b2b 100644
--- a/sys/crypto/openssl/amd64/rsaz-4k-avxifma.S
+++ b/sys/crypto/openssl/amd64/rsaz-4k-avxifma.S
@@ -1317,7 +1317,7 @@ ossl_rsaz_amm52x40_x2_avxifma256:
vmovdqu %ymm11,256(%rdi)
vmovdqu %ymm12,288(%rdi)
- xorl %r15d,%r15d
+ xorl %r9d,%r9d
movq $0xfffffffffffff,%rax
@@ -1890,6 +1890,7 @@ ossl_extract_multiplier_2x40_win5_avx:
vmovdqu %ymm7,544(%rdi)
vmovdqu %ymm8,576(%rdi)
vmovdqu %ymm9,608(%rdi)
+ vzeroupper
.byte 0xf3,0xc3
.cfi_endproc
diff --git a/sys/crypto/openssl/powerpc/aes-gcm-ppc.S b/sys/crypto/openssl/powerpc/aes-gcm-ppc.S
index 51cfac7e45fc..7878b8e3254a 100644
--- a/sys/crypto/openssl/powerpc/aes-gcm-ppc.S
+++ b/sys/crypto/openssl/powerpc/aes-gcm-ppc.S
@@ -355,7 +355,6 @@
################################################################################
.align 4
aes_gcm_crypt_1x:
-.localentry aes_gcm_crypt_1x,0
cmpdi 5, 16
bge __More_1x
@@ -438,7 +437,6 @@ __Encrypt_1x:
################################################################################
.align 4
__Process_partial:
-.localentry __Process_partial,0
# create partial mask
vspltisb 16, -1
@@ -510,7 +508,6 @@ __Encrypt_partial:
.global ppc_aes_gcm_encrypt
.align 5
ppc_aes_gcm_encrypt:
-.localentry ppc_aes_gcm_encrypt,0
SAVE_REGS
LOAD_HASH_TABLE
@@ -698,7 +695,6 @@ __Process_more_enc:
.global ppc_aes_gcm_decrypt
.align 5
ppc_aes_gcm_decrypt:
-.localentry ppc_aes_gcm_decrypt, 0
SAVE_REGS
LOAD_HASH_TABLE
@@ -978,7 +974,6 @@ __Process_more_dec:
.size ppc_aes_gcm_decrypt,.-ppc_aes_gcm_decrypt
aes_gcm_out:
-.localentry aes_gcm_out,0
mr 3, 11 # return count
diff --git a/sys/crypto/openssl/powerpc64/aes-gcm-ppc.S b/sys/crypto/openssl/powerpc64/aes-gcm-ppc.S
index 51cfac7e45fc..7878b8e3254a 100644
--- a/sys/crypto/openssl/powerpc64/aes-gcm-ppc.S
+++ b/sys/crypto/openssl/powerpc64/aes-gcm-ppc.S
@@ -355,7 +355,6 @@
################################################################################
.align 4
aes_gcm_crypt_1x:
-.localentry aes_gcm_crypt_1x,0
cmpdi 5, 16
bge __More_1x
@@ -438,7 +437,6 @@ __Encrypt_1x:
################################################################################
.align 4
__Process_partial:
-.localentry __Process_partial,0
# create partial mask
vspltisb 16, -1
@@ -510,7 +508,6 @@ __Encrypt_partial:
.global ppc_aes_gcm_encrypt
.align 5
ppc_aes_gcm_encrypt:
-.localentry ppc_aes_gcm_encrypt,0
SAVE_REGS
LOAD_HASH_TABLE
@@ -698,7 +695,6 @@ __Process_more_enc:
.global ppc_aes_gcm_decrypt
.align 5
ppc_aes_gcm_decrypt:
-.localentry ppc_aes_gcm_decrypt, 0
SAVE_REGS
LOAD_HASH_TABLE
@@ -978,7 +974,6 @@ __Process_more_dec:
.size ppc_aes_gcm_decrypt,.-ppc_aes_gcm_decrypt
aes_gcm_out:
-.localentry aes_gcm_out,0
mr 3, 11 # return count
diff --git a/sys/crypto/openssl/powerpc64le/aes-gcm-ppc.S b/sys/crypto/openssl/powerpc64le/aes-gcm-ppc.S
index 51cfac7e45fc..7878b8e3254a 100644
--- a/sys/crypto/openssl/powerpc64le/aes-gcm-ppc.S
+++ b/sys/crypto/openssl/powerpc64le/aes-gcm-ppc.S
@@ -355,7 +355,6 @@
################################################################################
.align 4
aes_gcm_crypt_1x:
-.localentry aes_gcm_crypt_1x,0
cmpdi 5, 16
bge __More_1x
@@ -438,7 +437,6 @@ __Encrypt_1x:
################################################################################
.align 4
__Process_partial:
-.localentry __Process_partial,0
# create partial mask
vspltisb 16, -1
@@ -510,7 +508,6 @@ __Encrypt_partial:
.global ppc_aes_gcm_encrypt
.align 5
ppc_aes_gcm_encrypt:
-.localentry ppc_aes_gcm_encrypt,0
SAVE_REGS
LOAD_HASH_TABLE
@@ -698,7 +695,6 @@ __Process_more_enc:
.global ppc_aes_gcm_decrypt
.align 5
ppc_aes_gcm_decrypt:
-.localentry ppc_aes_gcm_decrypt, 0
SAVE_REGS
LOAD_HASH_TABLE
@@ -978,7 +974,6 @@ __Process_more_dec:
.size ppc_aes_gcm_decrypt,.-ppc_aes_gcm_decrypt
aes_gcm_out:
-.localentry aes_gcm_out,0
mr 3, 11 # return count