Merge pull request #10740 from SparkiDev/ppc32_cond_reg

PPC32 ASM: Use condition register
This commit is contained in:
David Garske
2026-06-29 10:41:46 -07:00
committed by GitHub
3 changed files with 108 additions and 288 deletions
+36 -96
View File
@@ -3661,6 +3661,8 @@ L_SHA256_transform_len_begin:
mtctr 0
# Start of 16 rounds
L_SHA256_transform_len_start:
mfctr 5
cmpwi 7, 5, 1
# Round 0
rotlwi 0, 11, 26
rotlwi 5, 11, 21
@@ -3687,9 +3689,7 @@ L_SHA256_transform_len_start:
and 0, 0, 5
xor 0, 0, 8
add 15, 15, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_0
beq 7, L_SHA256_transform_len_after_blk_0
# Calc new W[0]
rotlwi 0, 17, 25
rotlwi 5, 17, 14
@@ -3731,9 +3731,7 @@ L_SHA256_transform_len_after_blk_0:
and 0, 0, 5
xor 0, 0, 7
add 14, 14, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_1
beq 7, L_SHA256_transform_len_after_blk_1
# Calc new W[1]
rotlwi 0, 18, 25
rotlwi 5, 18, 14
@@ -3775,9 +3773,7 @@ L_SHA256_transform_len_after_blk_1:
and 0, 0, 5
xor 0, 0, 15
add 12, 12, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_2
beq 7, L_SHA256_transform_len_after_blk_2
# Calc new W[2]
rotlwi 0, 19, 25
rotlwi 5, 19, 14
@@ -3819,9 +3815,7 @@ L_SHA256_transform_len_after_blk_2:
and 0, 0, 5
xor 0, 0, 14
add 11, 11, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_3
beq 7, L_SHA256_transform_len_after_blk_3
# Calc new W[3]
rotlwi 0, 20, 25
rotlwi 5, 20, 14
@@ -3863,9 +3857,7 @@ L_SHA256_transform_len_after_blk_3:
and 0, 0, 5
xor 0, 0, 12
add 10, 10, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_4
beq 7, L_SHA256_transform_len_after_blk_4
# Calc new W[4]
rotlwi 0, 21, 25
rotlwi 5, 21, 14
@@ -3907,9 +3899,7 @@ L_SHA256_transform_len_after_blk_4:
and 0, 0, 5
xor 0, 0, 11
add 9, 9, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_5
beq 7, L_SHA256_transform_len_after_blk_5
# Calc new W[5]
rotlwi 0, 22, 25
rotlwi 5, 22, 14
@@ -3951,9 +3941,7 @@ L_SHA256_transform_len_after_blk_5:
and 0, 0, 5
xor 0, 0, 10
add 8, 8, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_6
beq 7, L_SHA256_transform_len_after_blk_6
# Calc new W[6]
rotlwi 0, 23, 25
rotlwi 5, 23, 14
@@ -3995,9 +3983,7 @@ L_SHA256_transform_len_after_blk_6:
and 0, 0, 5
xor 0, 0, 9
add 7, 7, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_7
beq 7, L_SHA256_transform_len_after_blk_7
# Calc new W[7]
rotlwi 0, 24, 25
rotlwi 5, 24, 14
@@ -4039,9 +4025,7 @@ L_SHA256_transform_len_after_blk_7:
and 0, 0, 5
xor 0, 0, 8
add 15, 15, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_8
beq 7, L_SHA256_transform_len_after_blk_8
# Calc new W[8]
rotlwi 0, 25, 25
rotlwi 5, 25, 14
@@ -4083,9 +4067,7 @@ L_SHA256_transform_len_after_blk_8:
and 0, 0, 5
xor 0, 0, 7
add 14, 14, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_9
beq 7, L_SHA256_transform_len_after_blk_9
# Calc new W[9]
rotlwi 0, 26, 25
rotlwi 5, 26, 14
@@ -4127,9 +4109,7 @@ L_SHA256_transform_len_after_blk_9:
and 0, 0, 5
xor 0, 0, 15
add 12, 12, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_10
beq 7, L_SHA256_transform_len_after_blk_10
# Calc new W[10]
rotlwi 0, 27, 25
rotlwi 5, 27, 14
@@ -4171,9 +4151,7 @@ L_SHA256_transform_len_after_blk_10:
and 0, 0, 5
xor 0, 0, 14
add 11, 11, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_11
beq 7, L_SHA256_transform_len_after_blk_11
# Calc new W[11]
rotlwi 0, 28, 25
rotlwi 5, 28, 14
@@ -4215,9 +4193,7 @@ L_SHA256_transform_len_after_blk_11:
and 0, 0, 5
xor 0, 0, 12
add 10, 10, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_12
beq 7, L_SHA256_transform_len_after_blk_12
# Calc new W[12]
rotlwi 0, 29, 25
rotlwi 5, 29, 14
@@ -4259,9 +4235,7 @@ L_SHA256_transform_len_after_blk_12:
and 0, 0, 5
xor 0, 0, 11
add 9, 9, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_13
beq 7, L_SHA256_transform_len_after_blk_13
# Calc new W[13]
rotlwi 0, 30, 25
rotlwi 5, 30, 14
@@ -4303,9 +4277,7 @@ L_SHA256_transform_len_after_blk_13:
and 0, 0, 5
xor 0, 0, 10
add 8, 8, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_14
beq 7, L_SHA256_transform_len_after_blk_14
# Calc new W[14]
rotlwi 0, 31, 25
rotlwi 5, 31, 14
@@ -4347,9 +4319,7 @@ L_SHA256_transform_len_after_blk_14:
and 0, 0, 5
xor 0, 0, 9
add 7, 7, 0
mfctr 5
cmpwi 0, 5, 1
beq 0, L_SHA256_transform_len_after_blk_15
beq 7, L_SHA256_transform_len_after_blk_15
# Calc new W[15]
rotlwi 0, 16, 25
rotlwi 5, 16, 14
@@ -6897,6 +6867,8 @@ L_SHA256_transform_len_begin:
mtctr 3
# Start of 16 rounds
L_SHA256_transform_len_start:
mfctr 5
cmpwi 7, 5, 1
# Round 0
rotlwi 3, 9, 26
rotlwi 5, 9, 21
@@ -6923,9 +6895,7 @@ L_SHA256_transform_len_start:
and 3, 3, 5
xor 3, 3, 4
add 12, 12, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_0
beq 7, L_SHA256_transform_len_after_blk_0
# Calc new W[0]
rotlwi 3, 15, 25
rotlwi 5, 15, 14
@@ -6967,9 +6937,7 @@ L_SHA256_transform_len_after_blk_0:
and 3, 3, 5
xor 3, 3, 0
add 11, 11, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_1
beq 7, L_SHA256_transform_len_after_blk_1
# Calc new W[1]
rotlwi 3, 16, 25
rotlwi 5, 16, 14
@@ -7011,9 +6979,7 @@ L_SHA256_transform_len_after_blk_1:
and 3, 3, 5
xor 3, 3, 12
add 10, 10, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_2
beq 7, L_SHA256_transform_len_after_blk_2
# Calc new W[2]
rotlwi 3, 17, 25
rotlwi 5, 17, 14
@@ -7055,9 +7021,7 @@ L_SHA256_transform_len_after_blk_2:
and 3, 3, 5
xor 3, 3, 11
add 9, 9, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_3
beq 7, L_SHA256_transform_len_after_blk_3
# Calc new W[3]
rotlwi 3, 18, 25
rotlwi 5, 18, 14
@@ -7099,9 +7063,7 @@ L_SHA256_transform_len_after_blk_3:
and 3, 3, 5
xor 3, 3, 10
add 8, 8, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_4
beq 7, L_SHA256_transform_len_after_blk_4
# Calc new W[4]
rotlwi 3, 19, 25
rotlwi 5, 19, 14
@@ -7143,9 +7105,7 @@ L_SHA256_transform_len_after_blk_4:
and 3, 3, 5
xor 3, 3, 9
add 7, 7, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_5
beq 7, L_SHA256_transform_len_after_blk_5
# Calc new W[5]
rotlwi 3, 20, 25
rotlwi 5, 20, 14
@@ -7187,9 +7147,7 @@ L_SHA256_transform_len_after_blk_5:
and 3, 3, 5
xor 3, 3, 8
add 4, 4, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_6
beq 7, L_SHA256_transform_len_after_blk_6
# Calc new W[6]
rotlwi 3, 21, 25
rotlwi 5, 21, 14
@@ -7231,9 +7189,7 @@ L_SHA256_transform_len_after_blk_6:
and 3, 3, 5
xor 3, 3, 7
add 0, 0, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_7
beq 7, L_SHA256_transform_len_after_blk_7
# Calc new W[7]
rotlwi 3, 22, 25
rotlwi 5, 22, 14
@@ -7275,9 +7231,7 @@ L_SHA256_transform_len_after_blk_7:
and 3, 3, 5
xor 3, 3, 4
add 12, 12, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_8
beq 7, L_SHA256_transform_len_after_blk_8
# Calc new W[8]
rotlwi 3, 23, 25
rotlwi 5, 23, 14
@@ -7319,9 +7273,7 @@ L_SHA256_transform_len_after_blk_8:
and 3, 3, 5
xor 3, 3, 0
add 11, 11, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_9
beq 7, L_SHA256_transform_len_after_blk_9
# Calc new W[9]
rotlwi 3, 24, 25
rotlwi 5, 24, 14
@@ -7363,9 +7315,7 @@ L_SHA256_transform_len_after_blk_9:
and 3, 3, 5
xor 3, 3, 12
add 10, 10, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_10
beq 7, L_SHA256_transform_len_after_blk_10
# Calc new W[10]
rotlwi 3, 25, 25
rotlwi 5, 25, 14
@@ -7407,9 +7357,7 @@ L_SHA256_transform_len_after_blk_10:
and 3, 3, 5
xor 3, 3, 11
add 9, 9, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_11
beq 7, L_SHA256_transform_len_after_blk_11
# Calc new W[11]
rotlwi 3, 26, 25
rotlwi 5, 26, 14
@@ -7451,9 +7399,7 @@ L_SHA256_transform_len_after_blk_11:
and 3, 3, 5
xor 3, 3, 10
add 8, 8, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_12
beq 7, L_SHA256_transform_len_after_blk_12
# Calc new W[12]
rotlwi 3, 27, 25
rotlwi 5, 27, 14
@@ -7495,9 +7441,7 @@ L_SHA256_transform_len_after_blk_12:
and 3, 3, 5
xor 3, 3, 9
add 7, 7, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_13
beq 7, L_SHA256_transform_len_after_blk_13
# Calc new W[13]
rotlwi 3, 28, 25
rotlwi 5, 28, 14
@@ -7539,9 +7483,7 @@ L_SHA256_transform_len_after_blk_13:
and 3, 3, 5
xor 3, 3, 8
add 4, 4, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_14
beq 7, L_SHA256_transform_len_after_blk_14
# Calc new W[14]
rotlwi 3, 29, 25
rotlwi 5, 29, 14
@@ -7583,9 +7525,7 @@ L_SHA256_transform_len_after_blk_14:
and 3, 3, 5
xor 3, 3, 7
add 0, 0, 3
mfctr 5
cmpwi 3, 5, 1
beq 3, L_SHA256_transform_len_after_blk_15
beq 7, L_SHA256_transform_len_after_blk_15
# Calc new W[15]
rotlwi 3, 14, 25
rotlwi 5, 14, 14
+36 -96
View File
@@ -3649,6 +3649,8 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
/* Start of 16 rounds */
"\n"
"L_SHA256_transform_len_start_%=:\n\t"
"mfctr %[len]\n\t"
"cmpwi 7, %[len], 1\n\t"
/* Round 0 */
"rotlwi 0, 11, 26\n\t"
"rotlwi %[len], 11, 21\n\t"
@@ -3675,9 +3677,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 8\n\t"
"add 15, 15, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_0_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_0_%=\n\t"
/* Calc new W[0] */
"rotlwi 0, 17, 25\n\t"
"rotlwi %[len], 17, 14\n\t"
@@ -3720,9 +3720,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 7\n\t"
"add 14, 14, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_1_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_1_%=\n\t"
/* Calc new W[1] */
"rotlwi 0, 18, 25\n\t"
"rotlwi %[len], 18, 14\n\t"
@@ -3765,9 +3763,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 15\n\t"
"add 12, 12, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_2_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_2_%=\n\t"
/* Calc new W[2] */
"rotlwi 0, 19, 25\n\t"
"rotlwi %[len], 19, 14\n\t"
@@ -3810,9 +3806,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 14\n\t"
"add 11, 11, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_3_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_3_%=\n\t"
/* Calc new W[3] */
"rotlwi 0, 20, 25\n\t"
"rotlwi %[len], 20, 14\n\t"
@@ -3855,9 +3849,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 12\n\t"
"add 10, 10, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_4_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_4_%=\n\t"
/* Calc new W[4] */
"rotlwi 0, 21, 25\n\t"
"rotlwi %[len], 21, 14\n\t"
@@ -3900,9 +3892,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 11\n\t"
"add 9, 9, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_5_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_5_%=\n\t"
/* Calc new W[5] */
"rotlwi 0, 22, 25\n\t"
"rotlwi %[len], 22, 14\n\t"
@@ -3945,9 +3935,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 10\n\t"
"add 8, 8, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_6_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_6_%=\n\t"
/* Calc new W[6] */
"rotlwi 0, 23, 25\n\t"
"rotlwi %[len], 23, 14\n\t"
@@ -3990,9 +3978,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 9\n\t"
"add 7, 7, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_7_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_7_%=\n\t"
/* Calc new W[7] */
"rotlwi 0, 24, 25\n\t"
"rotlwi %[len], 24, 14\n\t"
@@ -4035,9 +4021,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 8\n\t"
"add 15, 15, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_8_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_8_%=\n\t"
/* Calc new W[8] */
"rotlwi 0, 25, 25\n\t"
"rotlwi %[len], 25, 14\n\t"
@@ -4080,9 +4064,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 7\n\t"
"add 14, 14, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_9_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_9_%=\n\t"
/* Calc new W[9] */
"rotlwi 0, 26, 25\n\t"
"rotlwi %[len], 26, 14\n\t"
@@ -4125,9 +4107,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 15\n\t"
"add 12, 12, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_10_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_10_%=\n\t"
/* Calc new W[10] */
"rotlwi 0, 27, 25\n\t"
"rotlwi %[len], 27, 14\n\t"
@@ -4170,9 +4150,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 14\n\t"
"add 11, 11, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_11_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_11_%=\n\t"
/* Calc new W[11] */
"rotlwi 0, 28, 25\n\t"
"rotlwi %[len], 28, 14\n\t"
@@ -4215,9 +4193,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 12\n\t"
"add 10, 10, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_12_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_12_%=\n\t"
/* Calc new W[12] */
"rotlwi 0, 29, 25\n\t"
"rotlwi %[len], 29, 14\n\t"
@@ -4260,9 +4236,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 11\n\t"
"add 9, 9, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_13_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_13_%=\n\t"
/* Calc new W[13] */
"rotlwi 0, 30, 25\n\t"
"rotlwi %[len], 30, 14\n\t"
@@ -4305,9 +4279,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 10\n\t"
"add 8, 8, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_14_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_14_%=\n\t"
/* Calc new W[14] */
"rotlwi 0, 31, 25\n\t"
"rotlwi %[len], 31, 14\n\t"
@@ -4350,9 +4322,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and 0, 0, %[len]\n\t"
"xor 0, 0, 9\n\t"
"add 7, 7, 0\n\t"
"mfctr %[len]\n\t"
"cmpwi 0, %[len], 1\n\t"
"beq 0, L_SHA256_transform_len_after_blk_15_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_15_%=\n\t"
/* Calc new W[15] */
"rotlwi 0, 16, 25\n\t"
"rotlwi %[len], 16, 14\n\t"
@@ -6893,6 +6863,8 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
/* Start of 16 rounds */
"\n"
"L_SHA256_transform_len_start_%=:\n\t"
"mfctr %[len]\n\t"
"cmpwi 7, %[len], 1\n\t"
/* Round 0 */
"rotlwi %[sha256], 9, 26\n\t"
"rotlwi %[len], 9, 21\n\t"
@@ -6919,9 +6891,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], %[data]\n\t"
"add 12, 12, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_0_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_0_%=\n\t"
/* Calc new W[0] */
"rotlwi %[sha256], 15, 25\n\t"
"rotlwi %[len], 15, 14\n\t"
@@ -6964,9 +6934,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 0\n\t"
"add 11, 11, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_1_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_1_%=\n\t"
/* Calc new W[1] */
"rotlwi %[sha256], 16, 25\n\t"
"rotlwi %[len], 16, 14\n\t"
@@ -7009,9 +6977,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 12\n\t"
"add 10, 10, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_2_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_2_%=\n\t"
/* Calc new W[2] */
"rotlwi %[sha256], 17, 25\n\t"
"rotlwi %[len], 17, 14\n\t"
@@ -7054,9 +7020,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 11\n\t"
"add 9, 9, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_3_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_3_%=\n\t"
/* Calc new W[3] */
"rotlwi %[sha256], 18, 25\n\t"
"rotlwi %[len], 18, 14\n\t"
@@ -7099,9 +7063,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 10\n\t"
"add 8, 8, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_4_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_4_%=\n\t"
/* Calc new W[4] */
"rotlwi %[sha256], 19, 25\n\t"
"rotlwi %[len], 19, 14\n\t"
@@ -7144,9 +7106,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 9\n\t"
"add 7, 7, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_5_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_5_%=\n\t"
/* Calc new W[5] */
"rotlwi %[sha256], 20, 25\n\t"
"rotlwi %[len], 20, 14\n\t"
@@ -7189,9 +7149,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 8\n\t"
"add %[data], %[data], %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_6_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_6_%=\n\t"
/* Calc new W[6] */
"rotlwi %[sha256], 21, 25\n\t"
"rotlwi %[len], 21, 14\n\t"
@@ -7234,9 +7192,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 7\n\t"
"add 0, 0, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_7_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_7_%=\n\t"
/* Calc new W[7] */
"rotlwi %[sha256], 22, 25\n\t"
"rotlwi %[len], 22, 14\n\t"
@@ -7279,9 +7235,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], %[data]\n\t"
"add 12, 12, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_8_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_8_%=\n\t"
/* Calc new W[8] */
"rotlwi %[sha256], 23, 25\n\t"
"rotlwi %[len], 23, 14\n\t"
@@ -7324,9 +7278,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 0\n\t"
"add 11, 11, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_9_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_9_%=\n\t"
/* Calc new W[9] */
"rotlwi %[sha256], 24, 25\n\t"
"rotlwi %[len], 24, 14\n\t"
@@ -7369,9 +7321,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 12\n\t"
"add 10, 10, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_10_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_10_%=\n\t"
/* Calc new W[10] */
"rotlwi %[sha256], 25, 25\n\t"
"rotlwi %[len], 25, 14\n\t"
@@ -7414,9 +7364,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 11\n\t"
"add 9, 9, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_11_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_11_%=\n\t"
/* Calc new W[11] */
"rotlwi %[sha256], 26, 25\n\t"
"rotlwi %[len], 26, 14\n\t"
@@ -7459,9 +7407,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 10\n\t"
"add 8, 8, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_12_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_12_%=\n\t"
/* Calc new W[12] */
"rotlwi %[sha256], 27, 25\n\t"
"rotlwi %[len], 27, 14\n\t"
@@ -7504,9 +7450,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 9\n\t"
"add 7, 7, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_13_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_13_%=\n\t"
/* Calc new W[13] */
"rotlwi %[sha256], 28, 25\n\t"
"rotlwi %[len], 28, 14\n\t"
@@ -7549,9 +7493,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 8\n\t"
"add %[data], %[data], %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_14_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_14_%=\n\t"
/* Calc new W[14] */
"rotlwi %[sha256], 29, 25\n\t"
"rotlwi %[len], 29, 14\n\t"
@@ -7594,9 +7536,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], 7\n\t"
"add 0, 0, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_15_%=\n\t"
"beq 7, L_SHA256_transform_len_after_blk_15_%=\n\t"
/* Calc new W[15] */
"rotlwi %[sha256], 14, 25\n\t"
"rotlwi %[len], 14, 14\n\t"
+36 -96
View File
@@ -3649,6 +3649,8 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
/* Start of 16 rounds */
"\n"
"L_SHA256_transform_len_start_%=:\n\t"
"mfctr %[len]\n\t"
"cmpwi cr7, %[len], 1\n\t"
/* Round 0 */
"rotlwi r0, r11, 26\n\t"
"rotlwi %[len], r11, 21\n\t"
@@ -3675,9 +3677,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r8\n\t"
"add r15, r15, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_0_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_0_%=\n\t"
/* Calc new W[0] */
"rotlwi r0, r17, 25\n\t"
"rotlwi %[len], r17, 14\n\t"
@@ -3720,9 +3720,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r7\n\t"
"add r14, r14, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_1_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_1_%=\n\t"
/* Calc new W[1] */
"rotlwi r0, r18, 25\n\t"
"rotlwi %[len], r18, 14\n\t"
@@ -3765,9 +3763,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r15\n\t"
"add r12, r12, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_2_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_2_%=\n\t"
/* Calc new W[2] */
"rotlwi r0, r19, 25\n\t"
"rotlwi %[len], r19, 14\n\t"
@@ -3810,9 +3806,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r14\n\t"
"add r11, r11, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_3_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_3_%=\n\t"
/* Calc new W[3] */
"rotlwi r0, r20, 25\n\t"
"rotlwi %[len], r20, 14\n\t"
@@ -3855,9 +3849,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r12\n\t"
"add r10, r10, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_4_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_4_%=\n\t"
/* Calc new W[4] */
"rotlwi r0, r21, 25\n\t"
"rotlwi %[len], r21, 14\n\t"
@@ -3900,9 +3892,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r11\n\t"
"add r9, r9, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_5_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_5_%=\n\t"
/* Calc new W[5] */
"rotlwi r0, r22, 25\n\t"
"rotlwi %[len], r22, 14\n\t"
@@ -3945,9 +3935,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r10\n\t"
"add r8, r8, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_6_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_6_%=\n\t"
/* Calc new W[6] */
"rotlwi r0, r23, 25\n\t"
"rotlwi %[len], r23, 14\n\t"
@@ -3990,9 +3978,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r9\n\t"
"add r7, r7, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_7_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_7_%=\n\t"
/* Calc new W[7] */
"rotlwi r0, r24, 25\n\t"
"rotlwi %[len], r24, 14\n\t"
@@ -4035,9 +4021,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r8\n\t"
"add r15, r15, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_8_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_8_%=\n\t"
/* Calc new W[8] */
"rotlwi r0, r25, 25\n\t"
"rotlwi %[len], r25, 14\n\t"
@@ -4080,9 +4064,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r7\n\t"
"add r14, r14, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_9_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_9_%=\n\t"
/* Calc new W[9] */
"rotlwi r0, r26, 25\n\t"
"rotlwi %[len], r26, 14\n\t"
@@ -4125,9 +4107,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r15\n\t"
"add r12, r12, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_10_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_10_%=\n\t"
/* Calc new W[10] */
"rotlwi r0, r27, 25\n\t"
"rotlwi %[len], r27, 14\n\t"
@@ -4170,9 +4150,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r14\n\t"
"add r11, r11, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_11_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_11_%=\n\t"
/* Calc new W[11] */
"rotlwi r0, r28, 25\n\t"
"rotlwi %[len], r28, 14\n\t"
@@ -4215,9 +4193,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r12\n\t"
"add r10, r10, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_12_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_12_%=\n\t"
/* Calc new W[12] */
"rotlwi r0, r29, 25\n\t"
"rotlwi %[len], r29, 14\n\t"
@@ -4260,9 +4236,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r11\n\t"
"add r9, r9, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_13_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_13_%=\n\t"
/* Calc new W[13] */
"rotlwi r0, r30, 25\n\t"
"rotlwi %[len], r30, 14\n\t"
@@ -4305,9 +4279,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r10\n\t"
"add r8, r8, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_14_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_14_%=\n\t"
/* Calc new W[14] */
"rotlwi r0, r31, 25\n\t"
"rotlwi %[len], r31, 14\n\t"
@@ -4350,9 +4322,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and r0, r0, %[len]\n\t"
"xor r0, r0, r9\n\t"
"add r7, r7, r0\n\t"
"mfctr %[len]\n\t"
"cmpwi r0, %[len], 1\n\t"
"beq r0, L_SHA256_transform_len_after_blk_15_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_15_%=\n\t"
/* Calc new W[15] */
"rotlwi r0, r16, 25\n\t"
"rotlwi %[len], r16, 14\n\t"
@@ -6893,6 +6863,8 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
/* Start of 16 rounds */
"\n"
"L_SHA256_transform_len_start_%=:\n\t"
"mfctr %[len]\n\t"
"cmpwi cr7, %[len], 1\n\t"
/* Round 0 */
"rotlwi %[sha256], r9, 26\n\t"
"rotlwi %[len], r9, 21\n\t"
@@ -6919,9 +6891,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], %[data]\n\t"
"add r12, r12, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_0_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_0_%=\n\t"
/* Calc new W[0] */
"rotlwi %[sha256], r15, 25\n\t"
"rotlwi %[len], r15, 14\n\t"
@@ -6964,9 +6934,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r0\n\t"
"add r11, r11, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_1_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_1_%=\n\t"
/* Calc new W[1] */
"rotlwi %[sha256], r16, 25\n\t"
"rotlwi %[len], r16, 14\n\t"
@@ -7009,9 +6977,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r12\n\t"
"add r10, r10, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_2_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_2_%=\n\t"
/* Calc new W[2] */
"rotlwi %[sha256], r17, 25\n\t"
"rotlwi %[len], r17, 14\n\t"
@@ -7054,9 +7020,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r11\n\t"
"add r9, r9, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_3_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_3_%=\n\t"
/* Calc new W[3] */
"rotlwi %[sha256], r18, 25\n\t"
"rotlwi %[len], r18, 14\n\t"
@@ -7099,9 +7063,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r10\n\t"
"add r8, r8, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_4_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_4_%=\n\t"
/* Calc new W[4] */
"rotlwi %[sha256], r19, 25\n\t"
"rotlwi %[len], r19, 14\n\t"
@@ -7144,9 +7106,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r9\n\t"
"add r7, r7, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_5_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_5_%=\n\t"
/* Calc new W[5] */
"rotlwi %[sha256], r20, 25\n\t"
"rotlwi %[len], r20, 14\n\t"
@@ -7189,9 +7149,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r8\n\t"
"add %[data], %[data], %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_6_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_6_%=\n\t"
/* Calc new W[6] */
"rotlwi %[sha256], r21, 25\n\t"
"rotlwi %[len], r21, 14\n\t"
@@ -7234,9 +7192,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r7\n\t"
"add r0, r0, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_7_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_7_%=\n\t"
/* Calc new W[7] */
"rotlwi %[sha256], r22, 25\n\t"
"rotlwi %[len], r22, 14\n\t"
@@ -7279,9 +7235,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], %[data]\n\t"
"add r12, r12, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_8_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_8_%=\n\t"
/* Calc new W[8] */
"rotlwi %[sha256], r23, 25\n\t"
"rotlwi %[len], r23, 14\n\t"
@@ -7324,9 +7278,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r0\n\t"
"add r11, r11, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_9_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_9_%=\n\t"
/* Calc new W[9] */
"rotlwi %[sha256], r24, 25\n\t"
"rotlwi %[len], r24, 14\n\t"
@@ -7369,9 +7321,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r12\n\t"
"add r10, r10, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_10_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_10_%=\n\t"
/* Calc new W[10] */
"rotlwi %[sha256], r25, 25\n\t"
"rotlwi %[len], r25, 14\n\t"
@@ -7414,9 +7364,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r11\n\t"
"add r9, r9, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_11_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_11_%=\n\t"
/* Calc new W[11] */
"rotlwi %[sha256], r26, 25\n\t"
"rotlwi %[len], r26, 14\n\t"
@@ -7459,9 +7407,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r10\n\t"
"add r8, r8, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_12_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_12_%=\n\t"
/* Calc new W[12] */
"rotlwi %[sha256], r27, 25\n\t"
"rotlwi %[len], r27, 14\n\t"
@@ -7504,9 +7450,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r9\n\t"
"add r7, r7, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_13_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_13_%=\n\t"
/* Calc new W[13] */
"rotlwi %[sha256], r28, 25\n\t"
"rotlwi %[len], r28, 14\n\t"
@@ -7549,9 +7493,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r8\n\t"
"add %[data], %[data], %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_14_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_14_%=\n\t"
/* Calc new W[14] */
"rotlwi %[sha256], r29, 25\n\t"
"rotlwi %[len], r29, 14\n\t"
@@ -7594,9 +7536,7 @@ WC_OMIT_FRAME_POINTER void Transform_Sha256_Len(wc_Sha256* sha256,
"and %[sha256], %[sha256], %[len]\n\t"
"xor %[sha256], %[sha256], r7\n\t"
"add r0, r0, %[sha256]\n\t"
"mfctr %[len]\n\t"
"cmpwi %[sha256], %[len], 1\n\t"
"beq %[sha256], L_SHA256_transform_len_after_blk_15_%=\n\t"
"beq cr7, L_SHA256_transform_len_after_blk_15_%=\n\t"
/* Calc new W[15] */
"rotlwi %[sha256], r14, 25\n\t"
"rotlwi %[len], r14, 14\n\t"