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

Side by Side Diff: third_party/boringssl/linux-arm/crypto/sha/sha512-armv4.S

Issue 2219933002: Land BoringSSL roll on master (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months 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
OLDNEW
1 #if defined(__arm__) 1 #if defined(__arm__)
2 2
3 @ ==================================================================== 3 @ ====================================================================
4 @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL 4 @ Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
5 @ project. The module is, however, dual licensed under OpenSSL and 5 @ project. The module is, however, dual licensed under OpenSSL and
6 @ CRYPTOGAMS licenses depending on where you obtain it. For further 6 @ CRYPTOGAMS licenses depending on where you obtain it. For further
7 @ details see http://www.openssl.org/~appro/cryptogams/. 7 @ details see http://www.openssl.org/~appro/cryptogams/.
8 @ 8 @
9 @ Permission to use under GPL terms is granted. 9 @ Permission to use under GPL terms is granted.
10 @ ==================================================================== 10 @ ====================================================================
(...skipping 29 matching lines...) Expand all
40 @ for further details. On side note Cortex-A15 processes one byte in 40 @ for further details. On side note Cortex-A15 processes one byte in
41 @ 16 cycles. 41 @ 16 cycles.
42 42
43 @ Byte order [in]dependence. ========================================= 43 @ Byte order [in]dependence. =========================================
44 @ 44 @
45 @ Originally caller was expected to maintain specific *dword* order in 45 @ Originally caller was expected to maintain specific *dword* order in
46 @ h[0-7], namely with most significant dword at *lower* address, which 46 @ h[0-7], namely with most significant dword at *lower* address, which
47 @ was reflected in below two parameters as 0 and 4. Now caller is 47 @ was reflected in below two parameters as 0 and 4. Now caller is
48 @ expected to maintain native byte order for whole 64-bit values. 48 @ expected to maintain native byte order for whole 64-bit values.
49 #ifndef __KERNEL__ 49 #ifndef __KERNEL__
50 # include "arm_arch.h" 50 # include <openssl/arm_arch.h>
51 # define VFP_ABI_PUSH vstmdb sp!,{d8-d15} 51 # define VFP_ABI_PUSH vstmdb sp!,{d8-d15}
52 # define VFP_ABI_POP vldmia sp!,{d8-d15} 52 # define VFP_ABI_POP vldmia sp!,{d8-d15}
53 #else 53 #else
54 # define __ARM_ARCH__ __LINUX_ARM_ARCH__ 54 # define __ARM_ARCH__ __LINUX_ARM_ARCH__
55 # define __ARM_MAX_ARCH__ 7 55 # define __ARM_MAX_ARCH__ 7
56 # define VFP_ABI_PUSH 56 # define VFP_ABI_PUSH
57 # define VFP_ABI_POP 57 # define VFP_ABI_POP
58 #endif 58 #endif
59 59
60 #ifdef __ARMEL__ 60 #ifdef __ARMEL__
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 .size K512,.-K512 126 .size K512,.-K512
127 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) 127 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
128 .LOPENSSL_armcap: 128 .LOPENSSL_armcap:
129 .word OPENSSL_armcap_P-.Lsha512_block_data_order 129 .word OPENSSL_armcap_P-.Lsha512_block_data_order
130 .skip 32-4 130 .skip 32-4
131 #else 131 #else
132 .skip 32 132 .skip 32
133 #endif 133 #endif
134 134
135 .globl sha512_block_data_order 135 .globl sha512_block_data_order
136 .hidden sha512_block_data_order
136 .type sha512_block_data_order,%function 137 .type sha512_block_data_order,%function
137 sha512_block_data_order: 138 sha512_block_data_order:
138 .Lsha512_block_data_order: 139 .Lsha512_block_data_order:
139 #if __ARM_ARCH__<7 140 #if __ARM_ARCH__<7
140 sub r3,pc,#8 @ sha512_block_data_order 141 sub r3,pc,#8 @ sha512_block_data_order
141 #else 142 #else
142 adr r3,sha512_block_data_order 143 adr r3,sha512_block_data_order
143 #endif 144 #endif
144 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) 145 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
145 ldr r12,.LOPENSSL_armcap 146 ldr r12,.LOPENSSL_armcap
146 ldr r12,[r3,r12] @ OPENSSL_armcap_P 147 ldr r12,[r3,r12] @ OPENSSL_armcap_P
147 #ifdef __APPLE__ 148 #ifdef __APPLE__
148 ldr r12,[r12] 149 ldr r12,[r12]
149 #endif 150 #endif
150 » tst» r12,#1 151 » tst» r12,#ARMV7_NEON
151 bne .LNEON 152 bne .LNEON
152 #endif 153 #endif
153 add r2,r1,r2,lsl#7 @ len to point at the end of inp 154 add r2,r1,r2,lsl#7 @ len to point at the end of inp
154 stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} 155 stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
155 sub r14,r3,#672 @ K512 156 sub r14,r3,#672 @ K512
156 sub sp,sp,#9*8 157 sub sp,sp,#9*8
157 158
158 ldr r7,[r0,#32+LO] 159 ldr r7,[r0,#32+LO]
159 ldr r8,[r0,#32+HI] 160 ldr r8,[r0,#32+HI]
160 ldr r9, [r0,#48+LO] 161 ldr r9, [r0,#48+LO]
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 tst lr,#1 527 tst lr,#1
527 moveq pc,lr @ be binary compatible with V4, yet 528 moveq pc,lr @ be binary compatible with V4, yet
528 .word 0xe12fff1e @ interoperable with Thumb ISA:-) 529 .word 0xe12fff1e @ interoperable with Thumb ISA:-)
529 #endif 530 #endif
530 .size sha512_block_data_order,.-sha512_block_data_order 531 .size sha512_block_data_order,.-sha512_block_data_order
531 #if __ARM_MAX_ARCH__>=7 532 #if __ARM_MAX_ARCH__>=7
532 .arch armv7-a 533 .arch armv7-a
533 .fpu neon 534 .fpu neon
534 535
535 .globl sha512_block_data_order_neon 536 .globl sha512_block_data_order_neon
537 .hidden sha512_block_data_order_neon
536 .type sha512_block_data_order_neon,%function 538 .type sha512_block_data_order_neon,%function
537 .align 4 539 .align 4
538 sha512_block_data_order_neon: 540 sha512_block_data_order_neon:
539 .LNEON: 541 .LNEON:
540 dmb @ errata #451034 on early Cortex A8 542 dmb @ errata #451034 on early Cortex A8
541 add r2,r1,r2,lsl#7 @ len to point at the end of inp 543 add r2,r1,r2,lsl#7 @ len to point at the end of inp
542 adr r3,K512 544 adr r3,K512
543 VFP_ABI_PUSH 545 VFP_ABI_PUSH
544 vldmia r0,{d16,d17,d18,d19,d20,d21,d22,d23} @ load context 546 vldmia r0,{d16,d17,d18,d19,d20,d21,d22,d23} @ load context
545 .Loop_neon: 547 .Loop_neon:
(...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1859 bx lr @ .word 0xe12fff1e 1861 bx lr @ .word 0xe12fff1e
1860 .size sha512_block_data_order_neon,.-sha512_block_data_order_neon 1862 .size sha512_block_data_order_neon,.-sha512_block_data_order_neon
1861 #endif 1863 #endif
1862 .byte 83,72,65,53,49,50,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,44,32,67,82,89,80,84,79,71 ,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,1 11,114,103,62,0 1864 .byte 83,72,65,53,49,50,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,44,32,67,82,89,80,84,79,71 ,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,1 11,114,103,62,0
1863 .align 2 1865 .align 2
1864 .align 2 1866 .align 2
1865 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__) 1867 #if __ARM_MAX_ARCH__>=7 && !defined(__KERNEL__)
1866 .comm OPENSSL_armcap_P,4,4 1868 .comm OPENSSL_armcap_P,4,4
1867 .hidden OPENSSL_armcap_P 1869 .hidden OPENSSL_armcap_P
1868 #endif 1870 #endif
1869 #endif 1871 #endif
OLDNEW
« no previous file with comments | « third_party/boringssl/linux-arm/crypto/sha/sha256-armv4.S ('k') | third_party/boringssl/linux-x86/crypto/chacha/chacha-x86.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698