Some of the instructions used in latest additions are extension
ones. There is no real reason to limit ourselves to specific
processors, so [re-]adhere to base instruction set.
RT#4548
Reviewed-by: Rich Salz <rsalz@openssl.org>
.type ChaCha20_ctr32,\@function
.align 32
ChaCha20_ctr32:
- cl${g}ije $len,0,.Lno_data # $len==0?
+ lt${g}r $len,$len # $len==0?
+ bzr %r14
a${g}hi $len,-64
l${g}hi %r1,-$frame
stm${g} %r6,%r15,`6*$SIZE_T`($sp)
stmg %r0,%r3,$stdframe+4*12($sp)
lm${g} %r6,%r15,`$frame+6*$SIZE_T`($sp)
-.Lno_data:
br %r14
.align 16
je .Lno_data
.Loop_cmp:
- llc %r0,0(%r2)
+ llgc %r0,0(%r2)
la %r2,1(%r2)
- llc %r1,0(%r3)
+ llgc %r1,0(%r3)
la %r3,1(%r3)
xr %r1,%r0
or %r5,%r1