s390x assembly pack: 32-bit fixups.
Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
6bfb7db35a
commit
8d51db86f7
@ -238,7 +238,7 @@
|
|||||||
},
|
},
|
||||||
s390x_asm => {
|
s390x_asm => {
|
||||||
template => 1,
|
template => 1,
|
||||||
cpuid_asm_src => "s390xcap.c s390xcpuid.s",
|
cpuid_asm_src => "s390xcap.c s390xcpuid.S",
|
||||||
bn_asm_src => "asm/s390x.S s390x-mont.S s390x-gf2m.s",
|
bn_asm_src => "asm/s390x.S s390x-mont.S s390x-gf2m.s",
|
||||||
aes_asm_src => "aes-s390x.S aes-ctr.fake aes-xts.fake",
|
aes_asm_src => "aes-s390x.S aes-ctr.fake aes-xts.fake",
|
||||||
sha1_asm_src => "sha1-s390x.S sha256-s390x.S sha512-s390x.S",
|
sha1_asm_src => "sha1-s390x.S sha256-s390x.S sha512-s390x.S",
|
||||||
|
@ -781,7 +781,7 @@ sub vc_wince_info {
|
|||||||
#
|
#
|
||||||
inherit_from => [ "linux-generic32", asm("s390x_asm") ],
|
inherit_from => [ "linux-generic32", asm("s390x_asm") ],
|
||||||
cflags => add("-m31 -Wa,-mzarch -DB_ENDIAN"),
|
cflags => add("-m31 -Wa,-mzarch -DB_ENDIAN"),
|
||||||
bn_obj => sub { my $r=join(" ",@_); $r=~s/bn\-s390x/bn_asm/; $r; },
|
bn_asm_src => sub { my $r=join(" ",@_); $r=~s|asm/s390x\.S|bn_asm.c|; $r; },
|
||||||
perlasm_scheme => "31",
|
perlasm_scheme => "31",
|
||||||
shared_ldflag => "-m31",
|
shared_ldflag => "-m31",
|
||||||
multilib => "/highgprs",
|
multilib => "/highgprs",
|
||||||
|
@ -78,13 +78,15 @@ $code.=<<___;
|
|||||||
.type poly1305_blocks,\@function
|
.type poly1305_blocks,\@function
|
||||||
.align 16
|
.align 16
|
||||||
poly1305_blocks:
|
poly1305_blocks:
|
||||||
srl${g} $len,$len,4
|
srl${g} $len,4 # fixed-up in 64-bit build
|
||||||
lghi %r0,0
|
lghi %r0,0
|
||||||
cl${g}r $len,%r0
|
cl${g}r $len,%r0
|
||||||
je .Lno_data
|
je .Lno_data
|
||||||
|
|
||||||
stm${g} %r6,%r14,`6*$SIZE_T`($sp)
|
stm${g} %r6,%r14,`6*$SIZE_T`($sp)
|
||||||
|
|
||||||
|
llgfr $padbit,$padbit # clear upper half, much needed with
|
||||||
|
# non-64-bit ABI
|
||||||
lg $r0,32($ctx) # load key
|
lg $r0,32($ctx) # load key
|
||||||
lg $r1,40($ctx)
|
lg $r1,40($ctx)
|
||||||
|
|
||||||
@ -211,6 +213,7 @@ ___
|
|||||||
}
|
}
|
||||||
|
|
||||||
$code =~ s/\`([^\`]*)\`/eval $1/gem;
|
$code =~ s/\`([^\`]*)\`/eval $1/gem;
|
||||||
|
$code =~ s/\b(srlg\s+)(%r[0-9]+\s*,)\s*([0-9]+)/$1$2$2$3/gm;
|
||||||
|
|
||||||
print $code;
|
print $code;
|
||||||
close STDOUT;
|
close STDOUT;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user