[PATCH 6/7] s390x-asm: move constant data to read-only section
Jussi Kivilinna
jussi.kivilinna at iki.fi
Tue Jan 17 20:17:40 CET 2023
* cipher/chacha20-s390x.S: Move constant data to read-only
section; Align functions to 16 bytes.
* cipher/poly1305-s390x.S: Likewise.
--
Signed-off-by: Jussi Kivilinna <jussi.kivilinna at iki.fi>
---
cipher/chacha20-s390x.S | 15 ++++++++++-----
cipher/poly1305-s390x.S | 2 +-
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/cipher/chacha20-s390x.S b/cipher/chacha20-s390x.S
index 9b1d59c6..5a931998 100644
--- a/cipher/chacha20-s390x.S
+++ b/cipher/chacha20-s390x.S
@@ -26,9 +26,12 @@
#include "asm-poly1305-s390x.h"
.machine "z13+vx"
-.text
+.section .rodata
+
+ELF(.type _gcry_chacha20_s390x_vx_constants, at function;)
.balign 16
+_gcry_chacha20_s390x_vx_constants:
.Lconsts:
.Lwordswap:
.byte 12, 13, 14, 15, 8, 9, 10, 11, 4, 5, 6, 7, 0, 1, 2, 3
@@ -302,7 +305,9 @@
4-way && 2-way && 1-way chacha20 ("horizontal")
**********************************************************************/
-.balign 8
+.text
+
+.balign 16
.globl _gcry_chacha20_s390x_vx_blocks4_2_1
ELF(.type _gcry_chacha20_s390x_vx_blocks4_2_1, at function;)
@@ -578,7 +583,7 @@ ELF(.size _gcry_chacha20_s390x_vx_blocks4_2_1,
4-way && 2-way && 1-way stitched chacha20-poly1305 ("horizontal")
**********************************************************************/
-.balign 8
+.balign 16
.globl _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1
ELF(.type _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1, at function;)
@@ -1058,7 +1063,7 @@ ELF(.size _gcry_chacha20_poly1305_s390x_vx_blocks4_2_1,
vpdi vc, tmpc, vd, 0; \
vpdi vd, tmpc, vd, 5;
-.balign 8
+.balign 16
.globl _gcry_chacha20_s390x_vx_blocks8
ELF(.type _gcry_chacha20_s390x_vx_blocks8, at function;)
@@ -1276,7 +1281,7 @@ ELF(.size _gcry_chacha20_s390x_vx_blocks8,
8-way stitched chacha20-poly1305 ("vertical")
**********************************************************************/
-.balign 8
+.balign 16
.globl _gcry_chacha20_poly1305_s390x_vx_blocks8
ELF(.type _gcry_chacha20_poly1305_s390x_vx_blocks8, at function;)
diff --git a/cipher/poly1305-s390x.S b/cipher/poly1305-s390x.S
index 28bed560..5ba424e4 100644
--- a/cipher/poly1305-s390x.S
+++ b/cipher/poly1305-s390x.S
@@ -26,7 +26,7 @@
.text
-.balign 8
+.balign 16
.globl _gcry_poly1305_s390x_blocks1
ELF(.type _gcry_poly1305_s390x_blocks1, at function;)
--
2.37.2
More information about the Gcrypt-devel
mailing list