Update copyright year
[openssl.git] / crypto / poly1305 / asm / poly1305-armv8.pl
index 98a96b799fa5977b2512078a242a954ee938dd47..6c6c9bb05be074e442e41f2738075e9c4173017a 100755 (executable)
@@ -1,5 +1,5 @@
 #! /usr/bin/env perl
 #! /usr/bin/env perl
-# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved.
 #
 # Licensed under the OpenSSL license (the "License").  You may not use
 # this file except in compliance with the License.  You can obtain a copy
 #
 # Licensed under the OpenSSL license (the "License").  You may not use
 # this file except in compliance with the License.  You can obtain a copy
@@ -27,6 +27,8 @@
 # Cortex-A57   2.70/+7%        1.14
 # Denver       1.64/+50%       1.18(*)
 # X-Gene       2.13/+68%       2.27
 # Cortex-A57   2.70/+7%        1.14
 # Denver       1.64/+50%       1.18(*)
 # X-Gene       2.13/+68%       2.27
+# Mongoose     1.77/+75%       1.12
+# Kryo         2.70/+55%       1.13
 #
 # (*)  estimate based on resources availability is less than 1.0,
 #      i.e. measured result is worse than expected, presumably binary
 #
 # (*)  estimate based on resources availability is less than 1.0,
 #      i.e. measured result is worse than expected, presumably binary
@@ -99,7 +101,11 @@ poly1305_init:
        csel    $d0,$d0,$r0,eq
        csel    $d1,$d1,$r1,eq
 
        csel    $d0,$d0,$r0,eq
        csel    $d1,$d1,$r1,eq
 
+#ifdef __ILP32__
+       stp     w12,w13,[$len]
+#else
        stp     $d0,$d1,[$len]
        stp     $d0,$d1,[$len]
+#endif
 
        mov     x0,#1
 .Lno_key:
 
        mov     x0,#1
 .Lno_key:
@@ -285,6 +291,7 @@ poly1305_blocks_neon:
        cbz     $is_base2_26,poly1305_blocks
 
 .Lblocks_neon:
        cbz     $is_base2_26,poly1305_blocks
 
 .Lblocks_neon:
+       .inst   0xd503233f              // paciasp
        stp     x29,x30,[sp,#-80]!
        add     x29,sp,#0
 
        stp     x29,x30,[sp,#-80]!
        add     x29,sp,#0
 
@@ -853,6 +860,7 @@ poly1305_blocks_neon:
        st1     {$ACC4}[0],[$ctx]
 
 .Lno_data_neon:
        st1     {$ACC4}[0],[$ctx]
 
 .Lno_data_neon:
+       .inst   0xd50323bf              // autiasp
        ldr     x29,[sp],#80
        ret
 .size  poly1305_blocks_neon,.-poly1305_blocks_neon
        ldr     x29,[sp],#80
        ret
 .size  poly1305_blocks_neon,.-poly1305_blocks_neon