Commit 2114378be6 for openssl.org
commit 2114378be6903fd298bed3f9242d24ed25ebbec8
Author: WANG Xuerui <git@xen0n.name>
Date: Mon Aug 4 18:18:28 2025 +0800
LoongArch: Strip excess whitespace from SHA256 and SHA512 perlasm output
No functional change.
Signed-off-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Wed Mar 11 13:56:03 2026
(Merged from https://github.com/openssl/openssl/pull/28192)
diff --git a/crypto/sha/asm/sha256-loongarch64.pl b/crypto/sha/asm/sha256-loongarch64.pl
index d23205521b..a08ad5f229 100644
--- a/crypto/sha/asm/sha256-loongarch64.pl
+++ b/crypto/sha/asm/sha256-loongarch64.pl
@@ -60,6 +60,12 @@ my ($INP, $LEN, $ADDR) = ($a1, $a2, $sp);
my ($KT, $T1, $T2, $T3, $T4, $T5, $T6) = ($t0, $t1, $t2, $t3, $t4, $t5, $t6);
my ($A, $B, $C, $D ,$E ,$F ,$G ,$H) = ($s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7);
+sub strip {
+ my ($str) = @_;
+ $str =~ s/^\s+|\s+$//g;
+ return $str;
+}
+
sub MSGSCHEDULE0 {
my ($index) = @_;
my $code=<<___;
@@ -67,7 +73,7 @@ sub MSGSCHEDULE0 {
revb.2w $T1, $T1
st.w $T1, $ADDR, 4*$index
___
- return $code;
+ return strip($code);
}
sub MSGSCHEDULE1 {
@@ -92,7 +98,7 @@ sub MSGSCHEDULE1 {
add.w $T1, $T1, $T4
st.w $T1, $ADDR, ($index&0x0f)*4
___
- return $code;
+ return strip($code);
}
sub sha256_T1 {
@@ -112,7 +118,7 @@ sub sha256_T1 {
xor $T1, $T1, $g
add.w $T1, $T1, $h
___
- return $code;
+ return strip($code);
}
sub sha256_T2 {
@@ -129,7 +135,7 @@ sub sha256_T2 {
xor $T4, $T4, $T3
add.w $T2, $T2, $T4
___
- return $code;
+ return strip($code);
}
sub SHA256ROUND {
@@ -140,7 +146,7 @@ sub SHA256ROUND {
add.w $d, $d, $T1
add.w $h, $T2, $T1
___
- return $code;
+ return strip($code);
}
sub SHA256ROUND0 {
@@ -149,7 +155,7 @@ sub SHA256ROUND0 {
@{[MSGSCHEDULE0 $index]}
@{[SHA256ROUND $index, $a, $b, $c, $d, $e, $f, $g, $h]}
___
- return $code;
+ return strip($code);
}
sub SHA256ROUND1 {
@@ -158,7 +164,7 @@ sub SHA256ROUND1 {
@{[MSGSCHEDULE1 $index]}
@{[SHA256ROUND $index, $a, $b, $c, $d, $e, $f, $g, $h]}
___
- return $code;
+ return strip($code);
}
################################################################################
diff --git a/crypto/sha/asm/sha512-loongarch64.pl b/crypto/sha/asm/sha512-loongarch64.pl
index 4e4b09976e..b6c28473c5 100644
--- a/crypto/sha/asm/sha512-loongarch64.pl
+++ b/crypto/sha/asm/sha512-loongarch64.pl
@@ -61,6 +61,12 @@ my ($INP, $LEN, $ADDR) = ($a1, $a2, $sp);
my ($KT, $T1, $T2, $T3, $T4, $T5, $T6) = ($t0, $t1, $t2, $t3, $t4, $t5, $t6);
my ($A, $B, $C, $D ,$E ,$F ,$G ,$H) = ($s0, $s1, $s2, $s3, $s4, $s5, $s6, $s7);
+sub strip {
+ my ($str) = @_;
+ $str =~ s/^\s+|\s+$//g;
+ return $str;
+}
+
sub MSGSCHEDULE0 {
my ($index) = @_;
my $code=<<___;
@@ -68,7 +74,7 @@ sub MSGSCHEDULE0 {
revb.d $T1, $T1
st.d $T1, $ADDR, 8*$index
___
- return $code;
+ return strip($code);
}
sub MSGSCHEDULE1 {
@@ -93,7 +99,7 @@ sub MSGSCHEDULE1 {
add.d $T1, $T1, $T4
st.d $T1, $ADDR, 8*($index&0x0f)
___
- return $code;
+ return strip($code);
}
sub sha512_T1 {
@@ -113,7 +119,7 @@ sub sha512_T1 {
xor $T1, $T1, $g
add.d $T1, $T1, $h
___
- return $code;
+ return strip($code);
}
sub sha512_T2 {
@@ -130,7 +136,7 @@ sub sha512_T2 {
xor $T3, $T3, $T5
add.d $T2, $T2, $T3
___
- return $code;
+ return strip($code);
}
sub SHA512ROUND {
@@ -141,7 +147,7 @@ sub SHA512ROUND {
add.d $d, $d, $T1
add.d $h, $T2, $T1
___
- return $code;
+ return strip($code);
}
sub SHA512ROUND0 {
@@ -150,7 +156,7 @@ sub SHA512ROUND0 {
@{[MSGSCHEDULE0 $index]}
@{[SHA512ROUND $index, $a, $b, $c, $d, $e, $f, $g, $h]}
___
- return $code;
+ return strip($code);
}
sub SHA512ROUND1 {
@@ -159,7 +165,7 @@ sub SHA512ROUND1 {
@{[MSGSCHEDULE1 $index]}
@{[SHA512ROUND $index, $a, $b, $c, $d, $e, $f, $g, $h]}
___
- return $code;
+ return strip($code);
}
################################################################################