Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: linux-arm/crypto/sha/sha256-armv4.S

Issue 2569253003: BoringSSL: Roll generated files forward. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « linux-arm/crypto/aes/bsaes-armv7.S ('k') | linux-ppc64le/crypto/aes/aesp8-ppc.S » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #if defined(__arm__) 1 #if defined(__arm__)
2 @ Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved.
3 @
4 @ Licensed under the OpenSSL license (the "License"). You may not use
5 @ this file except in compliance with the License. You can obtain a copy
6 @ in the file LICENSE in the source distribution or at
7 @ https://www.openssl.org/source/license.html
8
2 9
3 @ ==================================================================== 10 @ ====================================================================
4 @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 11 @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
5 @ project. The module is, however, dual licensed under OpenSSL and 12 @ project. The module is, however, dual licensed under OpenSSL and
6 @ CRYPTOGAMS licenses depending on where you obtain it. For further 13 @ CRYPTOGAMS licenses depending on where you obtain it. For further
7 @ details see http://www.openssl.org/~appro/cryptogams/. 14 @ details see http://www.openssl.org/~appro/cryptogams/.
8 @ 15 @
9 @ Permission to use under GPL terms is granted. 16 @ Permission to use under GPL terms is granted.
10 @ ==================================================================== 17 @ ====================================================================
11 18
(...skipping 26 matching lines...) Expand all
38 @ Add ARMv8 code path performing at 2.0 cpb on Apple A7. 45 @ Add ARMv8 code path performing at 2.0 cpb on Apple A7.
39 46
40 #ifndef __KERNEL__ 47 #ifndef __KERNEL__
41 # include <openssl/arm_arch.h> 48 # include <openssl/arm_arch.h>
42 #else 49 #else
43 # define __ARM_ARCH__ __LINUX_ARM_ARCH__ 50 # define __ARM_ARCH__ __LINUX_ARM_ARCH__
44 # define __ARM_MAX_ARCH__ 7 51 # define __ARM_MAX_ARCH__ 7
45 #endif 52 #endif
46 53
47 .text 54 .text
48 #if __ARM_ARCH__<7 55 #if defined(__thumb2__)
56 .syntax»unified
57 .thumb
58 #else
49 .code 32 59 .code 32
50 #else
51 .syntax unified
52 # if defined(__thumb2__) && !defined(__APPLE__)
53 # define adrl adr
54 .thumb
55 # else
56 .code 32
57 # endif
58 #endif 60 #endif
59 61
60 .type K256,%object 62 .type K256,%object
61 .align 5 63 .align 5
62 K256: 64 K256:
63 .word 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5 65 .word 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
64 .word 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5 66 .word 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
65 .word 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3 67 .word 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
66 .word 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174 68 .word 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
67 .word 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc 69 .word 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
(...skipping 14 matching lines...) Expand all
82 .LOPENSSL_armcap: 84 .LOPENSSL_armcap:
83 .word OPENSSL_armcap_P-.Lsha256_block_data_order 85 .word OPENSSL_armcap_P-.Lsha256_block_data_order
84 #endif 86 #endif
85 .align 5 87 .align 5
86 88
87 .globl sha256_block_data_order 89 .globl sha256_block_data_order
88 .hidden sha256_block_data_order 90 .hidden sha256_block_data_order
89 .type sha256_block_data_order,%function 91 .type sha256_block_data_order,%function
90 sha256_block_data_order: 92 sha256_block_data_order:
91 .Lsha256_block_data_order: 93 .Lsha256_block_data_order:
92 #if __ARM_ARCH__<7 94 #if __ARM_ARCH__<7 && !defined(__thumb2__)
93 sub r3,pc,#8 @ sha256_block_data_order 95 sub r3,pc,#8 @ sha256_block_data_order
94 #else 96 #else
95 » adr» r3,sha256_block_data_order 97 » adr» r3,.Lsha256_block_data_order
96 #endif 98 #endif
97 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) 99 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
98 ldr r12,.LOPENSSL_armcap 100 ldr r12,.LOPENSSL_armcap
99 ldr r12,[r3,r12] @ OPENSSL_armcap_P 101 ldr r12,[r3,r12] @ OPENSSL_armcap_P
100 #ifdef __APPLE__ 102 #ifdef __APPLE__
101 ldr r12,[r12] 103 ldr r12,[r12]
102 #endif 104 #endif
103 tst r12,#ARMV8_SHA256 105 tst r12,#ARMV8_SHA256
104 bne .LARMv8 106 bne .LARMv8
105 tst r12,#ARMV7_NEON 107 tst r12,#ARMV7_NEON
(...skipping 1765 matching lines...) Expand 10 before | Expand all | Expand 10 after
1871 .word 0xe12fff1e @ interoperable with Thumb ISA:-) 1873 .word 0xe12fff1e @ interoperable with Thumb ISA:-)
1872 #endif 1874 #endif
1873 .size sha256_block_data_order,.-sha256_block_data_order 1875 .size sha256_block_data_order,.-sha256_block_data_order
1874 #if __ARM_MAX_ARCH__>=7 1876 #if __ARM_MAX_ARCH__>=7
1875 .arch armv7-a 1877 .arch armv7-a
1876 .fpu neon 1878 .fpu neon
1877 1879
1878 .globl sha256_block_data_order_neon 1880 .globl sha256_block_data_order_neon
1879 .hidden sha256_block_data_order_neon 1881 .hidden sha256_block_data_order_neon
1880 .type sha256_block_data_order_neon,%function 1882 .type sha256_block_data_order_neon,%function
1881 .align» 4 1883 .align» 5
1884 .skip» 16
1882 sha256_block_data_order_neon: 1885 sha256_block_data_order_neon:
1883 .LNEON: 1886 .LNEON:
1884 stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} 1887 stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
1885 1888
1886 sub r11,sp,#16*4+16 1889 sub r11,sp,#16*4+16
1887 » adrl» r14,K256 1890 » adr» r14,K256
1888 bic r11,r11,#15 @ align for 128-bit stores 1891 bic r11,r11,#15 @ align for 128-bit stores
1889 mov r12,sp 1892 mov r12,sp
1890 mov sp,r11 @ alloca 1893 mov sp,r11 @ alloca
1891 add r2,r1,r2,lsl#6 @ len to point at the end of inp 1894 add r2,r1,r2,lsl#6 @ len to point at the end of inp
1892 1895
1893 vld1.8 {q0},[r1]! 1896 vld1.8 {q0},[r1]!
1894 vld1.8 {q1},[r1]! 1897 vld1.8 {q1},[r1]!
1895 vld1.8 {q2},[r1]! 1898 vld1.8 {q2},[r1]!
1896 vld1.8 {q3},[r1]! 1899 vld1.8 {q3},[r1]!
1897 vld1.32 {q8},[r14,:128]! 1900 vld1.32 {q8},[r14,:128]!
(...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after
2653 ldreq sp,[sp,#76] @ restore original sp 2656 ldreq sp,[sp,#76] @ restore original sp
2654 itt ne 2657 itt ne
2655 eorne r3,r5,r6 2658 eorne r3,r5,r6
2656 bne .L_00_48 2659 bne .L_00_48
2657 2660
2658 ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc} 2661 ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,pc}
2659 .size sha256_block_data_order_neon,.-sha256_block_data_order_neon 2662 .size sha256_block_data_order_neon,.-sha256_block_data_order_neon
2660 #endif 2663 #endif
2661 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) 2664 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
2662 2665
2663 # if defined(__thumb2__) && !defined(__APPLE__) 2666 # if defined(__thumb2__)
2664 # define INST(a,b,c,d) .byte c,d|0xc,a,b 2667 # define INST(a,b,c,d) .byte c,d|0xc,a,b
2665 # else 2668 # else
2666 # define INST(a,b,c,d) .byte a,b,c,d 2669 # define INST(a,b,c,d) .byte a,b,c,d
2667 # endif 2670 # endif
2668 2671
2669 .type sha256_block_data_order_armv8,%function 2672 .type sha256_block_data_order_armv8,%function
2670 .align 5 2673 .align 5
2671 sha256_block_data_order_armv8: 2674 sha256_block_data_order_armv8:
2672 .LARMv8: 2675 .LARMv8:
2673 vld1.32 {q0,q1},[r0] 2676 vld1.32 {q0,q1},[r0]
2674 # ifdef __APPLE__
2675 sub r3,r3,#256+32 2677 sub r3,r3,#256+32
2676 # elif defined(__thumb2__)
2677 adr r3,.LARMv8
2678 sub r3,r3,#.LARMv8-K256
2679 # else
2680 adrl r3,K256
2681 # endif
2682 add r2,r1,r2,lsl#6 @ len to point at the end of inp 2678 add r2,r1,r2,lsl#6 @ len to point at the end of inp
2679 b .Loop_v8
2683 2680
2681 .align 4
2684 .Loop_v8: 2682 .Loop_v8:
2685 vld1.8 {q8,q9},[r1]! 2683 vld1.8 {q8,q9},[r1]!
2686 vld1.8 {q10,q11},[r1]! 2684 vld1.8 {q10,q11},[r1]!
2687 vld1.32 {q12},[r3]! 2685 vld1.32 {q12},[r3]!
2688 vrev32.8 q8,q8 2686 vrev32.8 q8,q8
2689 vrev32.8 q9,q9 2687 vrev32.8 q9,q9
2690 vrev32.8 q10,q10 2688 vrev32.8 q10,q10
2691 vrev32.8 q11,q11 2689 vrev32.8 q11,q11
2692 vmov q14,q0 @ offload 2690 vmov q14,q0 @ offload
2693 vmov q15,q1 2691 vmov q15,q1
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2811 .size sha256_block_data_order_armv8,.-sha256_block_data_order_armv8 2809 .size sha256_block_data_order_armv8,.-sha256_block_data_order_armv8
2812 #endif 2810 #endif
2813 .byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114 ,109,32,102,111,114,32,65,82,77,118,52,47,78,69,79,78,47,65,82,77,118,56,44,32,6 7,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,1 10,115,115,108,46,111,114,103,62,0 2811 .byte 83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114 ,109,32,102,111,114,32,65,82,77,118,52,47,78,69,79,78,47,65,82,77,118,56,44,32,6 7,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,1 10,115,115,108,46,111,114,103,62,0
2814 .align 2 2812 .align 2
2815 .align 2 2813 .align 2
2816 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) 2814 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
2817 .comm OPENSSL_armcap_P,4,4 2815 .comm OPENSSL_armcap_P,4,4
2818 .hidden OPENSSL_armcap_P 2816 .hidden OPENSSL_armcap_P
2819 #endif 2817 #endif
2820 #endif 2818 #endif
OLDNEW
« no previous file with comments | « linux-arm/crypto/aes/bsaes-armv7.S ('k') | linux-ppc64le/crypto/aes/aesp8-ppc.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698