Fix crash and latest update.

This commit is contained in:
2019-03-16 01:19:24 +09:00
parent ee0cf37f98
commit c03e0c45f8
168 changed files with 12859 additions and 1295 deletions
+20 -20
View File
@@ -27,10 +27,10 @@
#
# r=1088(*)
#
# PPC970/G5 14.6/+120%
# POWER7 10.3/+100%
# POWER8 11.5/+85%
# POWER9 9.4/+45%
# PPC970/G5 14.0/+130%
# POWER7 9.7/+110%
# POWER8 10.6/+100%
# POWER9 8.2/+66%
#
# (*) Corresponds to SHA3-256. Percentage after slash is improvement
# over gcc-4.x-generated KECCAK_1X_ALT code. Newer compilers do
@@ -384,19 +384,19 @@ KeccakF1600:
.type dword_le_load,\@function
.align 5
dword_le_load:
lbzu r0,1(r3)
lbzu r4,1(r3)
lbzu r5,1(r3)
lbz r0,1(r3)
lbz r4,2(r3)
lbz r5,3(r3)
insrdi r0,r4,8,48
lbzu r4,1(r3)
lbz r4,4(r3)
insrdi r0,r5,8,40
lbzu r5,1(r3)
lbz r5,5(r3)
insrdi r0,r4,8,32
lbzu r4,1(r3)
lbz r4,6(r3)
insrdi r0,r5,8,24
lbzu r5,1(r3)
lbz r5,7(r3)
insrdi r0,r4,8,16
lbzu r4,1(r3)
lbzu r4,8(r3)
insrdi r0,r5,8,8
insrdi r0,r4,8,0
blr
@@ -657,21 +657,21 @@ SHA3_squeeze:
${UCMP}i $len,8
blt .Lsqueeze_tail
stbu r0,1($out)
stb r0,1($out)
srdi r0,r0,8
stbu r0,1($out)
stb r0,2($out)
srdi r0,r0,8
stbu r0,1($out)
stb r0,3($out)
srdi r0,r0,8
stbu r0,1($out)
stb r0,4($out)
srdi r0,r0,8
stbu r0,1($out)
stb r0,5($out)
srdi r0,r0,8
stbu r0,1($out)
stb r0,6($out)
srdi r0,r0,8
stbu r0,1($out)
stb r0,7($out)
srdi r0,r0,8
stbu r0,1($out)
stbu r0,8($out)
subic. $len,$len,8
beq .Lsqueeze_done
+24 -24
View File
@@ -85,30 +85,30 @@ static const unsigned char rhotates[5][5] = {
};
static const uint64_t iotas[] = {
BIT_INTERLEAVE ? 0x0000000000000001U : 0x0000000000000001U,
BIT_INTERLEAVE ? 0x0000008900000000U : 0x0000000000008082U,
BIT_INTERLEAVE ? 0x8000008b00000000U : 0x800000000000808aU,
BIT_INTERLEAVE ? 0x8000808000000000U : 0x8000000080008000U,
BIT_INTERLEAVE ? 0x0000008b00000001U : 0x000000000000808bU,
BIT_INTERLEAVE ? 0x0000800000000001U : 0x0000000080000001U,
BIT_INTERLEAVE ? 0x8000808800000001U : 0x8000000080008081U,
BIT_INTERLEAVE ? 0x8000008200000001U : 0x8000000000008009U,
BIT_INTERLEAVE ? 0x0000000b00000000U : 0x000000000000008aU,
BIT_INTERLEAVE ? 0x0000000a00000000U : 0x0000000000000088U,
BIT_INTERLEAVE ? 0x0000808200000001U : 0x0000000080008009U,
BIT_INTERLEAVE ? 0x0000800300000000U : 0x000000008000000aU,
BIT_INTERLEAVE ? 0x0000808b00000001U : 0x000000008000808bU,
BIT_INTERLEAVE ? 0x8000000b00000001U : 0x800000000000008bU,
BIT_INTERLEAVE ? 0x8000008a00000001U : 0x8000000000008089U,
BIT_INTERLEAVE ? 0x8000008100000001U : 0x8000000000008003U,
BIT_INTERLEAVE ? 0x8000008100000000U : 0x8000000000008002U,
BIT_INTERLEAVE ? 0x8000000800000000U : 0x8000000000000080U,
BIT_INTERLEAVE ? 0x0000008300000000U : 0x000000000000800aU,
BIT_INTERLEAVE ? 0x8000800300000000U : 0x800000008000000aU,
BIT_INTERLEAVE ? 0x8000808800000001U : 0x8000000080008081U,
BIT_INTERLEAVE ? 0x8000008800000000U : 0x8000000000008080U,
BIT_INTERLEAVE ? 0x0000800000000001U : 0x0000000080000001U,
BIT_INTERLEAVE ? 0x8000808200000000U : 0x8000000080008008U
BIT_INTERLEAVE ? 0x0000000000000001ULL : 0x0000000000000001ULL,
BIT_INTERLEAVE ? 0x0000008900000000ULL : 0x0000000000008082ULL,
BIT_INTERLEAVE ? 0x8000008b00000000ULL : 0x800000000000808aULL,
BIT_INTERLEAVE ? 0x8000808000000000ULL : 0x8000000080008000ULL,
BIT_INTERLEAVE ? 0x0000008b00000001ULL : 0x000000000000808bULL,
BIT_INTERLEAVE ? 0x0000800000000001ULL : 0x0000000080000001ULL,
BIT_INTERLEAVE ? 0x8000808800000001ULL : 0x8000000080008081ULL,
BIT_INTERLEAVE ? 0x8000008200000001ULL : 0x8000000000008009ULL,
BIT_INTERLEAVE ? 0x0000000b00000000ULL : 0x000000000000008aULL,
BIT_INTERLEAVE ? 0x0000000a00000000ULL : 0x0000000000000088ULL,
BIT_INTERLEAVE ? 0x0000808200000001ULL : 0x0000000080008009ULL,
BIT_INTERLEAVE ? 0x0000800300000000ULL : 0x000000008000000aULL,
BIT_INTERLEAVE ? 0x0000808b00000001ULL : 0x000000008000808bULL,
BIT_INTERLEAVE ? 0x8000000b00000001ULL : 0x800000000000008bULL,
BIT_INTERLEAVE ? 0x8000008a00000001ULL : 0x8000000000008089ULL,
BIT_INTERLEAVE ? 0x8000008100000001ULL : 0x8000000000008003ULL,
BIT_INTERLEAVE ? 0x8000008100000000ULL : 0x8000000000008002ULL,
BIT_INTERLEAVE ? 0x8000000800000000ULL : 0x8000000000000080ULL,
BIT_INTERLEAVE ? 0x0000008300000000ULL : 0x000000000000800aULL,
BIT_INTERLEAVE ? 0x8000800300000000ULL : 0x800000008000000aULL,
BIT_INTERLEAVE ? 0x8000808800000001ULL : 0x8000000080008081ULL,
BIT_INTERLEAVE ? 0x8000008800000000ULL : 0x8000000000008080ULL,
BIT_INTERLEAVE ? 0x0000800000000001ULL : 0x0000000080000001ULL,
BIT_INTERLEAVE ? 0x8000808200000000ULL : 0x8000000080008008ULL
};
#if defined(KECCAK_REF)