Latest update.
This commit is contained in:
@@ -2995,4 +2995,4 @@ sub deckey()
|
||||
|
||||
&asm_finish();
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1245,4 +1245,4 @@ while(<SELF>) {
|
||||
close SELF;
|
||||
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT"; # enforce flush
|
||||
close STDOUT or die "error closing STDOUT: $!"; # enforce flush
|
||||
@@ -1378,4 +1378,4 @@ AES_Td4:
|
||||
___
|
||||
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -2203,4 +2203,4 @@ foreach (split("\n",$code)) {
|
||||
print $_,"\n";
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1038,4 +1038,4 @@ foreach (split("\n",$code)) {
|
||||
|
||||
print $_,"\n";
|
||||
}
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1460,4 +1460,4 @@ ___
|
||||
|
||||
$code =~ s/\`([^\`]*)\`/eval $1/gem;
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -2281,4 +2281,4 @@ ___
|
||||
|
||||
$code =~ s/\`([^\`]*)\`/eval $1/gem;
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT"; # force flush
|
||||
close STDOUT or die "error closing STDOUT: $!"; # force flush
|
||||
@@ -1188,4 +1188,4 @@ ___
|
||||
$code =~ s/fmovs.*$//gm;
|
||||
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT"; # ensure flush
|
||||
close STDOUT or die "error closing STDOUT: $!"; # ensure flush
|
||||
@@ -606,6 +606,7 @@ $code.=<<___;
|
||||
asm_AES_encrypt:
|
||||
AES_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
mov %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
push %rbx
|
||||
@@ -1226,6 +1227,7 @@ $code.=<<___;
|
||||
asm_AES_decrypt:
|
||||
AES_decrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
mov %rsp,%rax
|
||||
.cfi_def_cfa_register %rax
|
||||
push %rbx
|
||||
@@ -1343,6 +1345,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
AES_set_encrypt_key:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
push %rbx
|
||||
.cfi_push %rbx
|
||||
push %rbp
|
||||
@@ -1623,6 +1626,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
AES_set_decrypt_key:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
push %rbx
|
||||
.cfi_push %rbx
|
||||
push %rbp
|
||||
@@ -1737,6 +1741,7 @@ $code.=<<___;
|
||||
asm_AES_cbc_encrypt:
|
||||
AES_cbc_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
cmp \$0,%rdx # check length
|
||||
je .Lcbc_epilogue
|
||||
pushfq
|
||||
@@ -2919,4 +2924,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
|
||||
|
||||
print $code;
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1266,4 +1266,4 @@ foreach (split("\n",$code)) {
|
||||
print $_,"\n";
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1473,4 +1473,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
|
||||
$code =~ s/\b(aes.*%xmm[0-9]+).*$/aesni($1)/gem;
|
||||
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -2145,4 +2145,4 @@ foreach (split("\n",$code)) {
|
||||
|
||||
print $_,"\n";
|
||||
}
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1801,4 +1801,4 @@ sub rex {
|
||||
$code =~ s/\`([^\`]*)\`/eval $1/gem;
|
||||
$code =~ s/\b(sha256[^\s]*)\s+(.*)/sha256op38($1,$2)/gem;
|
||||
print $code;
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -3410,4 +3410,4 @@ my ($l_,$block,$i1,$i3,$i5) = ($rounds_,$key_,$rounds,$len,$out);
|
||||
|
||||
&asm_finish();
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -277,6 +277,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
movups ($inp),$inout0 # load input
|
||||
mov 240($key),$rounds # key->rounds
|
||||
___
|
||||
@@ -295,6 +296,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_decrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
movups ($inp),$inout0 # load input
|
||||
mov 240($key),$rounds # key->rounds
|
||||
___
|
||||
@@ -615,6 +617,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
aesni_ecb_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0x58(%rsp),%rsp
|
||||
@@ -987,6 +990,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
aesni_ccm64_encrypt_blocks:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0x58(%rsp),%rsp
|
||||
@@ -1079,6 +1083,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
aesni_ccm64_decrypt_blocks:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0x58(%rsp),%rsp
|
||||
@@ -1205,6 +1210,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
aesni_ctr32_encrypt_blocks:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
cmp \$1,$len
|
||||
jne .Lctr32_bulk
|
||||
|
||||
@@ -1777,6 +1783,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
aesni_xts_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
lea (%rsp),%r11 # frame pointer
|
||||
.cfi_def_cfa_register %r11
|
||||
push %rbp
|
||||
@@ -2260,6 +2267,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
aesni_xts_decrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
lea (%rsp),%r11 # frame pointer
|
||||
.cfi_def_cfa_register %r11
|
||||
push %rbp
|
||||
@@ -2785,6 +2793,7 @@ $code.=<<___;
|
||||
.align 32
|
||||
aesni_ocb_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
lea (%rsp),%rax
|
||||
push %rbx
|
||||
.cfi_push %rbx
|
||||
@@ -3251,6 +3260,7 @@ __ocb_encrypt1:
|
||||
.align 32
|
||||
aesni_ocb_decrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
lea (%rsp),%rax
|
||||
push %rbx
|
||||
.cfi_push %rbx
|
||||
@@ -3739,6 +3749,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_cbc_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
test $len,$len # check length
|
||||
jz .Lcbc_ret
|
||||
|
||||
@@ -5156,4 +5167,4 @@ $code =~ s/\bmovbe\s+%eax,\s*([0-9]+)\(%rsp\)/movbe($1)/gem;
|
||||
|
||||
print $code;
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -3808,4 +3808,4 @@ foreach(split("\n",$code)) {
|
||||
print $_,"\n";
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -925,4 +925,4 @@ ___
|
||||
|
||||
&emit_assembler();
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -211,7 +211,12 @@ $code.=<<___;
|
||||
.Loop192:
|
||||
vtbl.8 $key,{$in1},$mask
|
||||
vext.8 $tmp,$zero,$in0,#12
|
||||
#ifdef __ARMEB__
|
||||
vst1.32 {$in1},[$out],#16
|
||||
sub $out,$out,#8
|
||||
#else
|
||||
vst1.32 {$in1},[$out],#8
|
||||
#endif
|
||||
aese $key,$zero
|
||||
subs $bits,$bits,#1
|
||||
|
||||
@@ -1772,8 +1777,11 @@ $code.=<<___;
|
||||
ldr $rounds,[$key,#240]
|
||||
|
||||
ldr $ctr, [$ivp, #12]
|
||||
#ifdef __ARMEB__
|
||||
vld1.8 {$dat0},[$ivp]
|
||||
#else
|
||||
vld1.32 {$dat0},[$ivp]
|
||||
|
||||
#endif
|
||||
vld1.32 {q8-q9},[$key] // load key schedule...
|
||||
sub $rounds,$rounds,#4
|
||||
mov $step,#16
|
||||
@@ -2237,4 +2245,4 @@ if ($flavour =~ /64/) { ######## 64-bit code
|
||||
}
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -2491,4 +2491,4 @@ close SELF;
|
||||
|
||||
print $code;
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1616,6 +1616,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
bsaes_cbc_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
mov 48(%rsp),$arg6 # pull direction flag
|
||||
@@ -1921,6 +1922,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
bsaes_ctr32_encrypt_blocks:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
mov %rsp, %rax
|
||||
.Lctr_enc_prologue:
|
||||
push %rbp
|
||||
@@ -3238,4 +3240,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
|
||||
|
||||
print $code;
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1278,4 +1278,4 @@ ___
|
||||
} }
|
||||
print $code;
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -1595,4 +1595,4 @@ foreach (split("\n",$code)) {
|
||||
print $_,"\n";
|
||||
}
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -911,4 +911,4 @@ $k_dsbo=0x2c0; # decryption sbox final output
|
||||
|
||||
&asm_finish();
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
@@ -698,6 +698,7 @@ _vpaes_schedule_mangle:
|
||||
.align 16
|
||||
${PREFIX}_set_encrypt_key:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0xb8(%rsp),%rsp
|
||||
@@ -748,6 +749,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_set_decrypt_key:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0xb8(%rsp),%rsp
|
||||
@@ -803,6 +805,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0xb8(%rsp),%rsp
|
||||
@@ -848,6 +851,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_decrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
___
|
||||
$code.=<<___ if ($win64);
|
||||
lea -0xb8(%rsp),%rsp
|
||||
@@ -899,6 +903,7 @@ $code.=<<___;
|
||||
.align 16
|
||||
${PREFIX}_cbc_encrypt:
|
||||
.cfi_startproc
|
||||
endbranch
|
||||
xchg $key,$len
|
||||
___
|
||||
($len,$key)=($key,$len);
|
||||
@@ -1240,4 +1245,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
|
||||
|
||||
print $code;
|
||||
|
||||
close STDOUT or die "error closing STDOUT";
|
||||
close STDOUT or die "error closing STDOUT: $!";
|
||||
Reference in New Issue
Block a user