PPC assembly pack: remove branch hints.
authorAndy Polyakov <appro@openssl.org>
Thu, 31 Mar 2016 16:47:17 +0000 (18:47 +0200)
committerAndy Polyakov <appro@openssl.org>
Thu, 7 Apr 2016 19:27:24 +0000 (21:27 +0200)
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: Tim Hudson <tjh@openssl.org>
crypto/aes/asm/aes-ppc.pl
crypto/bn/asm/ppc-mont.pl
crypto/bn/asm/ppc.pl
crypto/bn/asm/ppc64-mont.pl
crypto/sha/asm/sha1-ppc.pl
crypto/sha/asm/sha512-ppc.pl

index 7a99fc3d0452e32370169c99b7cf114a3972ecfd..5b83016efa9800205631ddf36c28af05925c1108 100644 (file)
@@ -590,7 +590,7 @@ Lenc_loop:
        xor     $s2,$t2,$acc14
        xor     $s3,$t3,$acc15
        addi    $key,$key,16
        xor     $s2,$t2,$acc14
        xor     $s3,$t3,$acc15
        addi    $key,$key,16
-       bdnz-   Lenc_loop
+       bdnz    Lenc_loop
 
        addi    $Tbl2,$Tbl0,2048
        nop
 
        addi    $Tbl2,$Tbl0,2048
        nop
@@ -1068,7 +1068,7 @@ Ldec_loop:
        xor     $s2,$t2,$acc14
        xor     $s3,$t3,$acc15
        addi    $key,$key,16
        xor     $s2,$t2,$acc14
        xor     $s3,$t3,$acc15
        addi    $key,$key,16
-       bdnz-   Ldec_loop
+       bdnz    Ldec_loop
 
        addi    $Tbl2,$Tbl0,2048
        nop
 
        addi    $Tbl2,$Tbl0,2048
        nop
index da69c6aaaf6a55b07114333a008c39571f153721..6930a3acebd2e4bf02c3c7f9bd5d4d6da8644949 100644 (file)
@@ -191,7 +191,7 @@ L1st:
 
        addi    $j,$j,$BNSZ     ; j++
        addi    $tp,$tp,$BNSZ   ; tp++
 
        addi    $j,$j,$BNSZ     ; j++
        addi    $tp,$tp,$BNSZ   ; tp++
-       bdnz-   L1st
+       bdnz    L1st
 ;L1st
        addc    $lo0,$alo,$hi0
        addze   $hi0,$ahi
 ;L1st
        addc    $lo0,$alo,$hi0
        addze   $hi0,$ahi
@@ -253,7 +253,7 @@ Linner:
        addze   $hi1,$hi1
        $ST     $lo1,0($tp)     ; tp[j-1]
        addi    $tp,$tp,$BNSZ   ; tp++
        addze   $hi1,$hi1
        $ST     $lo1,0($tp)     ; tp[j-1]
        addi    $tp,$tp,$BNSZ   ; tp++
-       bdnz-   Linner
+       bdnz    Linner
 ;Linner
        $LD     $tj,$BNSZ($tp)  ; tp[j]
        addc    $lo0,$alo,$hi0
 ;Linner
        $LD     $tj,$BNSZ($tp)  ; tp[j]
        addc    $lo0,$alo,$hi0
@@ -276,7 +276,7 @@ Linner:
        slwi    $tj,$num,`log($BNSZ)/log(2)`
        $UCMP   $i,$tj
        addi    $i,$i,$BNSZ
        slwi    $tj,$num,`log($BNSZ)/log(2)`
        $UCMP   $i,$tj
        addi    $i,$i,$BNSZ
-       ble-    Louter
+       ble     Louter
 \f
        addi    $num,$num,2     ; restore $num
        subfc   $j,$j,$j        ; j=0 and "clear" XER[CA]
 \f
        addi    $num,$num,2     ; restore $num
        subfc   $j,$j,$j        ; j=0 and "clear" XER[CA]
@@ -289,7 +289,7 @@ Lsub:       $LDX    $tj,$tp,$j
        subfe   $aj,$nj,$tj     ; tp[j]-np[j]
        $STX    $aj,$rp,$j
        addi    $j,$j,$BNSZ
        subfe   $aj,$nj,$tj     ; tp[j]-np[j]
        $STX    $aj,$rp,$j
        addi    $j,$j,$BNSZ
-       bdnz-   Lsub
+       bdnz    Lsub
 
        li      $j,0
        mtctr   $num
 
        li      $j,0
        mtctr   $num
@@ -304,7 +304,7 @@ Lcopy:                              ; copy or in-place refresh
        $STX    $tj,$rp,$j
        $STX    $j,$tp,$j       ; zap at once
        addi    $j,$j,$BNSZ
        $STX    $tj,$rp,$j
        $STX    $j,$tp,$j       ; zap at once
        addi    $j,$j,$BNSZ
-       bdnz-   Lcopy
+       bdnz    Lcopy
 
        $POP    $tj,0($sp)
        li      r3,1
 
        $POP    $tj,0($sp)
        li      r3,1
index 04df1fe5cc65347b4e9d8d96272c6de91370545d..446d8ba9492bf4ecb06030025f8e3390a88e51ca 100644 (file)
@@ -1556,7 +1556,7 @@ Lppcasm_sub_mainloop:
                                # if carry = 1 this is r7-r8. Else it
                                # is r7-r8 -1 as we need.
        $STU    r6,$BNSZ(r3)
                                # if carry = 1 this is r7-r8. Else it
                                # is r7-r8 -1 as we need.
        $STU    r6,$BNSZ(r3)
-       bdnz-   Lppcasm_sub_mainloop
+       bdnz    Lppcasm_sub_mainloop
 Lppcasm_sub_adios:     
        subfze  r3,r0           # if carry bit is set then r3 = 0 else -1
        andi.   r3,r3,1         # keep only last bit.
 Lppcasm_sub_adios:     
        subfze  r3,r0           # if carry bit is set then r3 = 0 else -1
        andi.   r3,r3,1         # keep only last bit.
@@ -1603,7 +1603,7 @@ Lppcasm_add_mainloop:
        $LDU    r8,$BNSZ(r5)
        adde    r8,r7,r8
        $STU    r8,$BNSZ(r3)
        $LDU    r8,$BNSZ(r5)
        adde    r8,r7,r8
        $STU    r8,$BNSZ(r3)
-       bdnz-   Lppcasm_add_mainloop
+       bdnz    Lppcasm_add_mainloop
 Lppcasm_add_adios:     
        addze   r3,r0                   #return carry bit.
        blr
 Lppcasm_add_adios:     
        addze   r3,r0                   #return carry bit.
        blr
@@ -1762,7 +1762,7 @@ Lppcasm_sqr_mainloop:
        $UMULH  r8,r6,r6
        $STU    r7,$BNSZ(r3)
        $STU    r8,$BNSZ(r3)
        $UMULH  r8,r6,r6
        $STU    r7,$BNSZ(r3)
        $STU    r8,$BNSZ(r3)
-       bdnz-   Lppcasm_sqr_mainloop
+       bdnz    Lppcasm_sqr_mainloop
 Lppcasm_sqr_adios:     
        blr
        .long   0
 Lppcasm_sqr_adios:     
        blr
        .long   0
@@ -1827,7 +1827,7 @@ Lppcasm_mw_LOOP:
        
        addi    r3,r3,`4*$BNSZ`
        addi    r4,r4,`4*$BNSZ`
        
        addi    r3,r3,`4*$BNSZ`
        addi    r4,r4,`4*$BNSZ`
-       bdnz-   Lppcasm_mw_LOOP
+       bdnz    Lppcasm_mw_LOOP
 
 Lppcasm_mw_REM:
        andi.   r5,r5,0x3
 
 Lppcasm_mw_REM:
        andi.   r5,r5,0x3
@@ -1951,7 +1951,7 @@ Lppcasm_maw_mainloop:
        $ST     r11,`3*$BNSZ`(r3)
        addi    r3,r3,`4*$BNSZ`
        addi    r4,r4,`4*$BNSZ`
        $ST     r11,`3*$BNSZ`(r3)
        addi    r3,r3,`4*$BNSZ`
        addi    r4,r4,`4*$BNSZ`
-       bdnz-   Lppcasm_maw_mainloop
+       bdnz    Lppcasm_maw_mainloop
        
 Lppcasm_maw_leftover:
        andi.   r5,r5,0x3
        
 Lppcasm_maw_leftover:
        andi.   r5,r5,0x3
index 9e3c12d788e5fde089f6ea33e98b4913d2a44f5b..595fc6d31f60cbac7212f0a95d02b7a1e5d0a006 100644 (file)
@@ -734,7 +734,7 @@ $code.=<<___;
 ___
 }
 $code.=<<___;
 ___
 }
 $code.=<<___;
-       bdnz-   L1st
+       bdnz    L1st
 \f
        fctid   $dota,$dota
        fctid   $dotb,$dotb
 \f
        fctid   $dota,$dota
        fctid   $dotb,$dotb
@@ -1280,7 +1280,7 @@ $code.=<<___;
 ___
 }
 $code.=<<___;
 ___
 }
 $code.=<<___;
-       bdnz-   Linner
+       bdnz    Linner
 \f
        fctid   $dota,$dota
        fctid   $dotb,$dotb
 \f
        fctid   $dota,$dota
        fctid   $dotb,$dotb
@@ -1490,7 +1490,7 @@ Lsub:     ldx     $t0,$tp,$i
        stdx    $t0,$rp,$i
        stdx    $t2,$t6,$i
        addi    $i,$i,16
        stdx    $t0,$rp,$i
        stdx    $t2,$t6,$i
        addi    $i,$i,16
-       bdnz-   Lsub
+       bdnz    Lsub
 
        li      $i,0
        subfe   $ovf,$i,$ovf    ; handle upmost overflow bit
 
        li      $i,0
        subfe   $ovf,$i,$ovf    ; handle upmost overflow bit
@@ -1517,7 +1517,7 @@ Lcopy:                            ; copy or in-place refresh
        stdx    $i,$tp,$i       ; zap tp at once
        stdx    $i,$t4,$i
        addi    $i,$i,16
        stdx    $i,$tp,$i       ; zap tp at once
        stdx    $i,$t4,$i
        addi    $i,$i,16
-       bdnz-   Lcopy
+       bdnz    Lcopy
 ___
 $code.=<<___ if ($SIZE_T==4);
        subf    $np,$num,$np    ; rewind np
 ___
 $code.=<<___ if ($SIZE_T==4);
        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
        stw     $t5,8($rp)
        stw     $t6,12($rp)
        stwu    $t7,16($rp)
        stw     $t5,8($rp)
        stw     $t6,12($rp)
        stwu    $t7,16($rp)
-       bdnz-   Lsub
+       bdnz    Lsub
 
        li      $i,0
        subfe   $ovf,$i,$ovf    ; handle upmost overflow bit
 
        li      $i,0
        subfe   $ovf,$i,$ovf    ; handle upmost overflow bit
@@ -1582,7 +1582,7 @@ Lcopy:                            ; copy or in-place refresh
        stwu    $t3,16($rp)
        std     $i,8($tp)       ; zap tp at once
        stdu    $i,16($tp)
        stwu    $t3,16($rp)
        std     $i,8($tp)       ; zap tp at once
        stdu    $i,16($tp)
-       bdnz-   Lcopy
+       bdnz    Lcopy
 ___
 \f
 $code.=<<___;
 ___
 \f
 $code.=<<___;
index df5989610c4c70571e30499ce3bc7b69d02e59bc..ab655021ccd611dccb5ba986ac4b451feecf64ff 100755 (executable)
@@ -227,7 +227,7 @@ Lunaligned:
        srwi.   $t1,$t1,6       ; t1/=64
        beq     Lcross_page
        $UCMP   $num,$t1
        srwi.   $t1,$t1,6       ; t1/=64
        beq     Lcross_page
        $UCMP   $num,$t1
-       ble-    Laligned        ; didn't cross the page boundary
+       ble     Laligned        ; didn't cross the page boundary
        mtctr   $t1
        subfc   $num,$t1,$num
        bl      Lsha1_block_private
        mtctr   $t1
        subfc   $num,$t1,$num
        bl      Lsha1_block_private
@@ -255,7 +255,7 @@ Lmemcpy:
        bl      Lsha1_block_private
        $POP    $inp,`$FRAME-$SIZE_T*18`($sp)
        addic.  $num,$num,-1
        bl      Lsha1_block_private
        $POP    $inp,`$FRAME-$SIZE_T*18`($sp)
        addic.  $num,$num,-1
-       bne-    Lunaligned
+       bne     Lunaligned
 
 Ldone:
        $POP    r0,`$FRAME+$LRSAVE`($sp)
 
 Ldone:
        $POP    r0,`$FRAME+$LRSAVE`($sp)
@@ -329,7 +329,7 @@ $code.=<<___;
        stw     r20,16($ctx)
        mr      $E,r20
        addi    $inp,$inp,`16*4`
        stw     r20,16($ctx)
        mr      $E,r20
        addi    $inp,$inp,`16*4`
-       bdnz-   Lsha1_block_private
+       bdnz    Lsha1_block_private
        blr
        .long   0
        .byte   0,12,0x14,0,0,0,0,0
        blr
        .long   0
        .byte   0,12,0x14,0,0,0,0,0
index 734f3c1ca0f092ffa316317b117048433fe5ded7..17fdc6e8e5a9c1331c43974b55440550c807cee6 100755 (executable)
@@ -259,7 +259,7 @@ Lunaligned:
        andi.   $t1,$t1,`4096-16*$SZ`   ; distance to closest page boundary
        beq     Lcross_page
        $UCMP   $num,$t1
        andi.   $t1,$t1,`4096-16*$SZ`   ; distance to closest page boundary
        beq     Lcross_page
        $UCMP   $num,$t1
-       ble-    Laligned                ; didn't cross the page boundary
+       ble     Laligned                ; didn't cross the page boundary
        subfc   $num,$t1,$num
        add     $t1,$inp,$t1
        $PUSH   $num,`$FRAME-$SIZE_T*25`($sp)   ; save real remaining num
        subfc   $num,$t1,$num
        add     $t1,$inp,$t1
        $PUSH   $num,`$FRAME-$SIZE_T*25`($sp)   ; save real remaining num
@@ -317,7 +317,7 @@ $code.=<<___;
        $POP    $inp,`$FRAME-$SIZE_T*26`($sp)   ; restore real inp
        $POP    $num,`$FRAME-$SIZE_T*25`($sp)   ; restore real num
        addic.  $num,$num,`-16*$SZ`             ; num--
        $POP    $inp,`$FRAME-$SIZE_T*26`($sp)   ; restore real inp
        $POP    $num,`$FRAME-$SIZE_T*25`($sp)   ; restore real num
        addic.  $num,$num,`-16*$SZ`             ; num--
-       bne-    Lunaligned
+       bne     Lunaligned
 
 Ldone:
        $POP    r0,`$FRAME+$LRSAVE`($sp)
 
 Ldone:
        $POP    r0,`$FRAME+$LRSAVE`($sp)
@@ -396,7 +396,7 @@ for(;$i<32;$i++) {
        unshift(@V,pop(@V));
 }
 $code.=<<___;
        unshift(@V,pop(@V));
 }
 $code.=<<___;
-       bdnz-   Lrounds
+       bdnz    Lrounds
 
        $POP    $ctx,`$FRAME-$SIZE_T*22`($sp)
        $POP    $inp,`$FRAME-$SIZE_T*23`($sp)   ; inp pointer
 
        $POP    $ctx,`$FRAME-$SIZE_T*22`($sp)
        $POP    $inp,`$FRAME-$SIZE_T*23`($sp)   ; inp pointer
@@ -644,7 +644,7 @@ for(;$i<32;$i++) {
        ($a0,$a1,$a2,$a3) = ($a2,$a3,$a0,$a1);
 }
 $code.=<<___;
        ($a0,$a1,$a2,$a3) = ($a2,$a3,$a0,$a1);
 }
 $code.=<<___;
-       bdnz-   Lrounds
+       bdnz    Lrounds
 
        $POP    $ctx,`$FRAME-$SIZE_T*22`($sp)
        $POP    $inp,`$FRAME-$SIZE_T*23`($sp)   ; inp pointer
 
        $POP    $ctx,`$FRAME-$SIZE_T*22`($sp)
        $POP    $inp,`$FRAME-$SIZE_T*23`($sp)   ; inp pointer