Harmonize s390x assembler modules with "catch-all" rules from commit#19749.
[openssl.git] / crypto / bn / asm / s390x-mont.pl
index b575eb7..502fa2e 100644 (file)
@@ -32,6 +32,9 @@
 # Reschedule to minimize/avoid Address Generation Interlock hazard,
 # make inner loops counter-based.
 
+while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {}
+open STDOUT,">$output";
+
 $mn0="%r0";
 $num="%r1";
 
@@ -64,7 +67,7 @@ bn_mul_mont:
        sla     $num,3          # $num to enumerate bytes
        la      $bp,0($num,$bp)
 
-       stmg    %r2,%r15,16($sp)
+       stg     %r2,16($sp)
 
        cghi    $num,16         #
        lghi    %r2,0           #
@@ -72,6 +75,8 @@ bn_mul_mont:
        cghi    $num,128        #
        bhr     %r14            # if($num>128) return 0;
 
+       stmg    %r3,%r15,24($sp)
+
        lghi    $rp,-160-8      # leave room for carry bit
        lcgr    $j,$num         # -$num
        lgr     %r0,$sp