clang imposes some restrictions on the assembler code that
gcc does not.
Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10330)
(cherry picked from commit
6f93f06135cbbd36c3fe98d63717e8303a5d559b)
Conflicts:
crypto/perlasm/s390x.pm (non-existant)
crypto/s390xcpuid.pl (code to be changed non-existant)
lghi $NHI,0
alcgr $NHI,$nhi
- la $j,8(%r0) # j=1
+ la $j,8 # j=1
lr $count,$num
.align 16
lghi $NHI,0
alcgr $NHI,$nhi
- la $j,8(%r0) # j=1
+ la $j,8 # j=1
lr $count,$num
.align 16
la $ap,$stdframe($sp)
ahi $num,1 # restore $num, incidentally clears "borrow"
- la $j,0(%r0)
+ la $j,0
lr $count,$num
.Lsub: lg $alo,0($j,$ap)
lg $nlo,0($j,$np)
lghi $NHI,-1
xgr $NHI,$AHI
- la $j,0(%r0)
+ la $j,0
lgr $count,$num
.Lcopy: lg $ahi,$stdframe($j,$sp) # conditional copy
lg $alo,0($j,$rp)
RC4_set_key:
stm${g} %r6,%r8,6*$SIZE_T($sp)
lhi $cnt,256
- la $idx,0(%r0)
+ la $idx,0
sth $idx,0($key)
.align 4
.L1stloop:
lghi $ikey,-256
lr $cnt,$len
- la $iinp,0(%r0)
- la $idx,0(%r0)
+ la $iinp,0
+ la $idx,0
.align 16
.L2ndloop:
llgc $acc,2+256($ikey,$key)
jz .Ldone
brct $cnt,.L2ndloop
lr $cnt,$len
- la $iinp,0(%r0)
+ la $iinp,0
j .L2ndloop
.Ldone:
lm${g} %r6,%r8,6*$SIZE_T($sp)