s390x assembly pack: enable clang build
authorPatrick Steuer <patrick.steuer@de.ibm.com>
Fri, 1 Nov 2019 22:29:04 +0000 (23:29 +0100)
committerPatrick Steuer <patrick.steuer@de.ibm.com>
Sun, 3 Nov 2019 10:48:57 +0000 (11:48 +0100)
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)

crypto/bn/asm/s390x-mont.pl
crypto/rc4/asm/rc4-s390x.pl

index c2fc5adffe0d145dcb5a4bb15ec2c97c9044cca9..21b935a96252fb6cea40c87184df377e717d3823 100644 (file)
@@ -145,7 +145,7 @@ $code.=<<___;
        lghi    $NHI,0
        alcgr   $NHI,$nhi
 
-       la      $j,8(%r0)       # j=1
+       la      $j,8            # j=1
        lr      $count,$num
 
 .align 16
@@ -197,7 +197,7 @@ $code.=<<___;
        lghi    $NHI,0
        alcgr   $NHI,$nhi
 
-       la      $j,8(%r0)       # j=1
+       la      $j,8            # j=1
        lr      $count,$num
 
 .align 16
@@ -241,7 +241,7 @@ $code.=<<___;
        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)
@@ -255,7 +255,7 @@ $code.=<<___;
        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)
index 469f110fafeec287d4a90725e0a841e2aa5655f9..984afaab5caef404714484af33d112b1fd6c674b 100644 (file)
@@ -184,7 +184,7 @@ $code.=<<___;
 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:
@@ -194,8 +194,8 @@ RC4_set_key:
 
        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)
@@ -212,7 +212,7 @@ RC4_set_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)