提交 20b88bb1 编写于 作者: A Andy Polyakov

PPC assembly pack: remove branch hints.

As it turns out branch hints grew as kind of a misconception. In
addition their interpretation by GNU assembler is affected by
assembler flags and can end up with opposite meaning on different
processors. As we have to loose quite a lot on misinterprerations,
especially on newer processors, we just omit them altogether.
Reviewed-by: NTim Hudson <tjh@openssl.org>
上级 463a7b8c
...@@ -590,7 +590,7 @@ Lenc_loop: ...@@ -590,7 +590,7 @@ Lenc_loop:
xor $s2,$t2,$acc14 xor $s2,$t2,$acc14
xor $s3,$t3,$acc15 xor $s3,$t3,$acc15
addi $key,$key,16 addi $key,$key,16
bdnz- Lenc_loop bdnz Lenc_loop
addi $Tbl2,$Tbl0,2048 addi $Tbl2,$Tbl0,2048
nop nop
...@@ -1068,7 +1068,7 @@ Ldec_loop: ...@@ -1068,7 +1068,7 @@ Ldec_loop:
xor $s2,$t2,$acc14 xor $s2,$t2,$acc14
xor $s3,$t3,$acc15 xor $s3,$t3,$acc15
addi $key,$key,16 addi $key,$key,16
bdnz- Ldec_loop bdnz Ldec_loop
addi $Tbl2,$Tbl0,2048 addi $Tbl2,$Tbl0,2048
nop nop
......
...@@ -191,7 +191,7 @@ L1st: ...@@ -191,7 +191,7 @@ L1st:
addi $j,$j,$BNSZ ; j++ addi $j,$j,$BNSZ ; j++
addi $tp,$tp,$BNSZ ; tp++ addi $tp,$tp,$BNSZ ; tp++
bdnz- L1st bdnz L1st
;L1st ;L1st
addc $lo0,$alo,$hi0 addc $lo0,$alo,$hi0
addze $hi0,$ahi addze $hi0,$ahi
...@@ -253,7 +253,7 @@ Linner: ...@@ -253,7 +253,7 @@ Linner:
addze $hi1,$hi1 addze $hi1,$hi1
$ST $lo1,0($tp) ; tp[j-1] $ST $lo1,0($tp) ; tp[j-1]
addi $tp,$tp,$BNSZ ; tp++ addi $tp,$tp,$BNSZ ; tp++
bdnz- Linner bdnz Linner
;Linner ;Linner
$LD $tj,$BNSZ($tp) ; tp[j] $LD $tj,$BNSZ($tp) ; tp[j]
addc $lo0,$alo,$hi0 addc $lo0,$alo,$hi0
...@@ -276,7 +276,7 @@ Linner: ...@@ -276,7 +276,7 @@ Linner:
slwi $tj,$num,`log($BNSZ)/log(2)` slwi $tj,$num,`log($BNSZ)/log(2)`
$UCMP $i,$tj $UCMP $i,$tj
addi $i,$i,$BNSZ addi $i,$i,$BNSZ
ble- Louter ble Louter
addi $num,$num,2 ; restore $num addi $num,$num,2 ; restore $num
subfc $j,$j,$j ; j=0 and "clear" XER[CA] subfc $j,$j,$j ; j=0 and "clear" XER[CA]
...@@ -289,7 +289,7 @@ Lsub: $LDX $tj,$tp,$j ...@@ -289,7 +289,7 @@ Lsub: $LDX $tj,$tp,$j
subfe $aj,$nj,$tj ; tp[j]-np[j] subfe $aj,$nj,$tj ; tp[j]-np[j]
$STX $aj,$rp,$j $STX $aj,$rp,$j
addi $j,$j,$BNSZ addi $j,$j,$BNSZ
bdnz- Lsub bdnz Lsub
li $j,0 li $j,0
mtctr $num mtctr $num
...@@ -304,7 +304,7 @@ Lcopy: ; copy or in-place refresh ...@@ -304,7 +304,7 @@ Lcopy: ; copy or in-place refresh
$STX $tj,$rp,$j $STX $tj,$rp,$j
$STX $j,$tp,$j ; zap at once $STX $j,$tp,$j ; zap at once
addi $j,$j,$BNSZ addi $j,$j,$BNSZ
bdnz- Lcopy bdnz Lcopy
$POP $tj,0($sp) $POP $tj,0($sp)
li r3,1 li r3,1
......
...@@ -1556,7 +1556,7 @@ Lppcasm_sub_mainloop: ...@@ -1556,7 +1556,7 @@ Lppcasm_sub_mainloop:
# if carry = 1 this is r7-r8. Else it # if carry = 1 this is r7-r8. Else it
# is r7-r8 -1 as we need. # is r7-r8 -1 as we need.
$STU r6,$BNSZ(r3) $STU r6,$BNSZ(r3)
bdnz- Lppcasm_sub_mainloop bdnz Lppcasm_sub_mainloop
Lppcasm_sub_adios: Lppcasm_sub_adios:
subfze r3,r0 # if carry bit is set then r3 = 0 else -1 subfze r3,r0 # if carry bit is set then r3 = 0 else -1
andi. r3,r3,1 # keep only last bit. andi. r3,r3,1 # keep only last bit.
...@@ -1603,7 +1603,7 @@ Lppcasm_add_mainloop: ...@@ -1603,7 +1603,7 @@ Lppcasm_add_mainloop:
$LDU r8,$BNSZ(r5) $LDU r8,$BNSZ(r5)
adde r8,r7,r8 adde r8,r7,r8
$STU r8,$BNSZ(r3) $STU r8,$BNSZ(r3)
bdnz- Lppcasm_add_mainloop bdnz Lppcasm_add_mainloop
Lppcasm_add_adios: Lppcasm_add_adios:
addze r3,r0 #return carry bit. addze r3,r0 #return carry bit.
blr blr
...@@ -1762,7 +1762,7 @@ Lppcasm_sqr_mainloop: ...@@ -1762,7 +1762,7 @@ Lppcasm_sqr_mainloop:
$UMULH r8,r6,r6 $UMULH r8,r6,r6
$STU r7,$BNSZ(r3) $STU r7,$BNSZ(r3)
$STU r8,$BNSZ(r3) $STU r8,$BNSZ(r3)
bdnz- Lppcasm_sqr_mainloop bdnz Lppcasm_sqr_mainloop
Lppcasm_sqr_adios: Lppcasm_sqr_adios:
blr blr
.long 0 .long 0
...@@ -1827,7 +1827,7 @@ Lppcasm_mw_LOOP: ...@@ -1827,7 +1827,7 @@ Lppcasm_mw_LOOP:
addi r3,r3,`4*$BNSZ` addi r3,r3,`4*$BNSZ`
addi r4,r4,`4*$BNSZ` addi r4,r4,`4*$BNSZ`
bdnz- Lppcasm_mw_LOOP bdnz Lppcasm_mw_LOOP
Lppcasm_mw_REM: Lppcasm_mw_REM:
andi. r5,r5,0x3 andi. r5,r5,0x3
...@@ -1951,7 +1951,7 @@ Lppcasm_maw_mainloop: ...@@ -1951,7 +1951,7 @@ Lppcasm_maw_mainloop:
$ST r11,`3*$BNSZ`(r3) $ST r11,`3*$BNSZ`(r3)
addi r3,r3,`4*$BNSZ` addi r3,r3,`4*$BNSZ`
addi r4,r4,`4*$BNSZ` addi r4,r4,`4*$BNSZ`
bdnz- Lppcasm_maw_mainloop bdnz Lppcasm_maw_mainloop
Lppcasm_maw_leftover: Lppcasm_maw_leftover:
andi. r5,r5,0x3 andi. r5,r5,0x3
......
...@@ -734,7 +734,7 @@ $code.=<<___; ...@@ -734,7 +734,7 @@ $code.=<<___;
___ ___
} }
$code.=<<___; $code.=<<___;
bdnz- L1st bdnz L1st
fctid $dota,$dota fctid $dota,$dota
fctid $dotb,$dotb fctid $dotb,$dotb
...@@ -1280,7 +1280,7 @@ $code.=<<___; ...@@ -1280,7 +1280,7 @@ $code.=<<___;
___ ___
} }
$code.=<<___; $code.=<<___;
bdnz- Linner bdnz Linner
fctid $dota,$dota fctid $dota,$dota
fctid $dotb,$dotb fctid $dotb,$dotb
...@@ -1490,7 +1490,7 @@ Lsub: ldx $t0,$tp,$i ...@@ -1490,7 +1490,7 @@ Lsub: ldx $t0,$tp,$i
stdx $t0,$rp,$i stdx $t0,$rp,$i
stdx $t2,$t6,$i stdx $t2,$t6,$i
addi $i,$i,16 addi $i,$i,16
bdnz- Lsub bdnz Lsub
li $i,0 li $i,0
subfe $ovf,$i,$ovf ; handle upmost overflow bit subfe $ovf,$i,$ovf ; handle upmost overflow bit
...@@ -1517,7 +1517,7 @@ Lcopy: ; copy or in-place refresh ...@@ -1517,7 +1517,7 @@ Lcopy: ; copy or in-place refresh
stdx $i,$tp,$i ; zap tp at once stdx $i,$tp,$i ; zap tp at once
stdx $i,$t4,$i stdx $i,$t4,$i
addi $i,$i,16 addi $i,$i,16
bdnz- Lcopy bdnz Lcopy
___ ___
$code.=<<___ if ($SIZE_T==4); $code.=<<___ if ($SIZE_T==4);
subf $np,$num,$np ; rewind np subf $np,$num,$np ; rewind np
...@@ -1550,7 +1550,7 @@ Lsub: lwz $t0,12($tp) ; load tp[j..j+3] in 64-bit word order ...@@ -1550,7 +1550,7 @@ Lsub: lwz $t0,12($tp) ; load tp[j..j+3] in 64-bit word order
stw $t5,8($rp) stw $t5,8($rp)
stw $t6,12($rp) stw $t6,12($rp)
stwu $t7,16($rp) stwu $t7,16($rp)
bdnz- Lsub bdnz Lsub
li $i,0 li $i,0
subfe $ovf,$i,$ovf ; handle upmost overflow bit subfe $ovf,$i,$ovf ; handle upmost overflow bit
...@@ -1582,7 +1582,7 @@ Lcopy: ; copy or in-place refresh ...@@ -1582,7 +1582,7 @@ Lcopy: ; copy or in-place refresh
stwu $t3,16($rp) stwu $t3,16($rp)
std $i,8($tp) ; zap tp at once std $i,8($tp) ; zap tp at once
stdu $i,16($tp) stdu $i,16($tp)
bdnz- Lcopy bdnz Lcopy
___ ___
$code.=<<___; $code.=<<___;
......
...@@ -227,7 +227,7 @@ Lunaligned: ...@@ -227,7 +227,7 @@ Lunaligned:
srwi. $t1,$t1,6 ; t1/=64 srwi. $t1,$t1,6 ; t1/=64
beq Lcross_page beq Lcross_page
$UCMP $num,$t1 $UCMP $num,$t1
ble- Laligned ; didn't cross the page boundary ble Laligned ; didn't cross the page boundary
mtctr $t1 mtctr $t1
subfc $num,$t1,$num subfc $num,$t1,$num
bl Lsha1_block_private bl Lsha1_block_private
...@@ -255,7 +255,7 @@ Lmemcpy: ...@@ -255,7 +255,7 @@ Lmemcpy:
bl Lsha1_block_private bl Lsha1_block_private
$POP $inp,`$FRAME-$SIZE_T*18`($sp) $POP $inp,`$FRAME-$SIZE_T*18`($sp)
addic. $num,$num,-1 addic. $num,$num,-1
bne- Lunaligned bne Lunaligned
Ldone: Ldone:
$POP r0,`$FRAME+$LRSAVE`($sp) $POP r0,`$FRAME+$LRSAVE`($sp)
...@@ -329,7 +329,7 @@ $code.=<<___; ...@@ -329,7 +329,7 @@ $code.=<<___;
stw r20,16($ctx) stw r20,16($ctx)
mr $E,r20 mr $E,r20
addi $inp,$inp,`16*4` addi $inp,$inp,`16*4`
bdnz- Lsha1_block_private bdnz Lsha1_block_private
blr blr
.long 0 .long 0
.byte 0,12,0x14,0,0,0,0,0 .byte 0,12,0x14,0,0,0,0,0
......
...@@ -259,7 +259,7 @@ Lunaligned: ...@@ -259,7 +259,7 @@ Lunaligned:
andi. $t1,$t1,`4096-16*$SZ` ; distance to closest page boundary andi. $t1,$t1,`4096-16*$SZ` ; distance to closest page boundary
beq Lcross_page beq Lcross_page
$UCMP $num,$t1 $UCMP $num,$t1
ble- Laligned ; didn't cross the page boundary ble Laligned ; didn't cross the page boundary
subfc $num,$t1,$num subfc $num,$t1,$num
add $t1,$inp,$t1 add $t1,$inp,$t1
$PUSH $num,`$FRAME-$SIZE_T*25`($sp) ; save real remaining num $PUSH $num,`$FRAME-$SIZE_T*25`($sp) ; save real remaining num
...@@ -317,7 +317,7 @@ $code.=<<___; ...@@ -317,7 +317,7 @@ $code.=<<___;
$POP $inp,`$FRAME-$SIZE_T*26`($sp) ; restore real inp $POP $inp,`$FRAME-$SIZE_T*26`($sp) ; restore real inp
$POP $num,`$FRAME-$SIZE_T*25`($sp) ; restore real num $POP $num,`$FRAME-$SIZE_T*25`($sp) ; restore real num
addic. $num,$num,`-16*$SZ` ; num-- addic. $num,$num,`-16*$SZ` ; num--
bne- Lunaligned bne Lunaligned
Ldone: Ldone:
$POP r0,`$FRAME+$LRSAVE`($sp) $POP r0,`$FRAME+$LRSAVE`($sp)
...@@ -396,7 +396,7 @@ for(;$i<32;$i++) { ...@@ -396,7 +396,7 @@ for(;$i<32;$i++) {
unshift(@V,pop(@V)); unshift(@V,pop(@V));
} }
$code.=<<___; $code.=<<___;
bdnz- Lrounds bdnz Lrounds
$POP $ctx,`$FRAME-$SIZE_T*22`($sp) $POP $ctx,`$FRAME-$SIZE_T*22`($sp)
$POP $inp,`$FRAME-$SIZE_T*23`($sp) ; inp pointer $POP $inp,`$FRAME-$SIZE_T*23`($sp) ; inp pointer
...@@ -644,7 +644,7 @@ for(;$i<32;$i++) { ...@@ -644,7 +644,7 @@ for(;$i<32;$i++) {
($a0,$a1,$a2,$a3) = ($a2,$a3,$a0,$a1); ($a0,$a1,$a2,$a3) = ($a2,$a3,$a0,$a1);
} }
$code.=<<___; $code.=<<___;
bdnz- Lrounds bdnz Lrounds
$POP $ctx,`$FRAME-$SIZE_T*22`($sp) $POP $ctx,`$FRAME-$SIZE_T*22`($sp)
$POP $inp,`$FRAME-$SIZE_T*23`($sp) ; inp pointer $POP $inp,`$FRAME-$SIZE_T*23`($sp) ; inp pointer
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册