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

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

Issue 862133002: Update from https://crrev.com/312398 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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__)
2 #include "arm_arch.h" 1 #include "arm_arch.h"
3 #ifdef __ARMEL__ 2 #ifdef __ARMEL__
4 # define LO 0 3 # define LO 0
5 # define HI 4 4 # define HI 4
6 # define WORD64(hi0,lo0,hi1,lo1) .word lo0,hi0, lo1,hi1 5 # define WORD64(hi0,lo0,hi1,lo1) .word lo0,hi0, lo1,hi1
7 #else 6 #else
8 # define HI 0 7 # define HI 0
9 # define LO 4 8 # define LO 4
10 # define WORD64(hi0,lo0,hi1,lo1) .word hi0,lo0, hi1,lo1 9 # define WORD64(hi0,lo0,hi1,lo1) .word hi0,lo0, hi1,lo1
11 #endif 10 #endif
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 WORD64(0xbef9a3f7,0xb2c67915, 0xc67178f2,0xe372532b) 48 WORD64(0xbef9a3f7,0xb2c67915, 0xc67178f2,0xe372532b)
50 WORD64(0xca273ece,0xea26619c, 0xd186b8c7,0x21c0c207) 49 WORD64(0xca273ece,0xea26619c, 0xd186b8c7,0x21c0c207)
51 WORD64(0xeada7dd6,0xcde0eb1e, 0xf57d4f7f,0xee6ed178) 50 WORD64(0xeada7dd6,0xcde0eb1e, 0xf57d4f7f,0xee6ed178)
52 WORD64(0x06f067aa,0x72176fba, 0x0a637dc5,0xa2c898a6) 51 WORD64(0x06f067aa,0x72176fba, 0x0a637dc5,0xa2c898a6)
53 WORD64(0x113f9804,0xbef90dae, 0x1b710b35,0x131c471b) 52 WORD64(0x113f9804,0xbef90dae, 0x1b710b35,0x131c471b)
54 WORD64(0x28db77f5,0x23047d84, 0x32caab7b,0x40c72493) 53 WORD64(0x28db77f5,0x23047d84, 0x32caab7b,0x40c72493)
55 WORD64(0x3c9ebe0a,0x15c9bebc, 0x431d67c4,0x9c100d4c) 54 WORD64(0x3c9ebe0a,0x15c9bebc, 0x431d67c4,0x9c100d4c)
56 WORD64(0x4cc5d4be,0xcb3e42b6, 0x597f299c,0xfc657e2a) 55 WORD64(0x4cc5d4be,0xcb3e42b6, 0x597f299c,0xfc657e2a)
57 WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817) 56 WORD64(0x5fcb6fab,0x3ad6faec, 0x6c44198c,0x4a475817)
58 .size K512,.-K512 57 .size K512,.-K512
58 #if __ARM_MAX_ARCH__>=7
59 .LOPENSSL_armcap: 59 .LOPENSSL_armcap:
60 .word OPENSSL_armcap_P-sha512_block_data_order 60 .word OPENSSL_armcap_P-sha512_block_data_order
61 .skip 32-4 61 .skip 32-4
62 #else
63 .skip 32
64 #endif
62 65
63 .global sha512_block_data_order 66 .global sha512_block_data_order
64 .hidden sha512_block_data_order
65 .type sha512_block_data_order,%function 67 .type sha512_block_data_order,%function
66 sha512_block_data_order: 68 sha512_block_data_order:
67 sub r3,pc,#8 @ sha512_block_data_order 69 sub r3,pc,#8 @ sha512_block_data_order
68 add r2,r1,r2,lsl#7 @ len to point at the end of inp 70 add r2,r1,r2,lsl#7 @ len to point at the end of inp
69 #if __ARM_ARCH__>=7 71 #if __ARM_MAX_ARCH__>=7
70 ldr r12,.LOPENSSL_armcap 72 ldr r12,.LOPENSSL_armcap
71 ldr r12,[r3,r12] @ OPENSSL_armcap_P 73 ldr r12,[r3,r12] @ OPENSSL_armcap_P
72 tst r12,#1 74 tst r12,#1
73 bne .LNEON 75 bne .LNEON
74 #endif 76 #endif
75 stmdb sp!,{r4-r12,lr} 77 stmdb sp!,{r4-r12,lr}
76 sub r14,r3,#672 @ K512 78 sub r14,r3,#672 @ K512
77 sub sp,sp,#9*8 79 sub sp,sp,#9*8
78 80
79 ldr r7,[r0,#32+LO] 81 ldr r7,[r0,#32+LO]
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 434
433 add sp,sp,#8*9 @ destroy frame 435 add sp,sp,#8*9 @ destroy frame
434 #if __ARM_ARCH__>=5 436 #if __ARM_ARCH__>=5
435 ldmia sp!,{r4-r12,pc} 437 ldmia sp!,{r4-r12,pc}
436 #else 438 #else
437 ldmia sp!,{r4-r12,lr} 439 ldmia sp!,{r4-r12,lr}
438 tst lr,#1 440 tst lr,#1
439 moveq pc,lr @ be binary compatible with V4, yet 441 moveq pc,lr @ be binary compatible with V4, yet
440 .word 0xe12fff1e @ interoperable with Thumb ISA:- ) 442 .word 0xe12fff1e @ interoperable with Thumb ISA:- )
441 #endif 443 #endif
442 #if __ARM_ARCH__>=7 444 #if __ARM_MAX_ARCH__>=7
445 .arch» armv7-a
443 .fpu neon 446 .fpu neon
444 447
445 .align 4 448 .align 4
446 .LNEON: 449 .LNEON:
447 dmb @ errata #451034 on early Cortex A8 450 dmb @ errata #451034 on early Cortex A8
448 vstmdb sp!,{d8-d15} @ ABI specification says so 451 vstmdb sp!,{d8-d15} @ ABI specification says so
449 sub r3,r3,#672 @ K512 452 sub r3,r3,#672 @ K512
450 vldmia r0,{d16-d23} @ load context 453 vldmia r0,{d16-d23} @ load context
451 .Loop_neon: 454 .Loop_neon:
452 vshr.u64 d24,d20,#14 @ 0 455 vshr.u64 d24,d20,#14 @ 0
(...skipping 1302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 vadd.i64 q8,q12 @ vectorized accumulate 1758 vadd.i64 q8,q12 @ vectorized accumulate
1756 vadd.i64 q9,q13 1759 vadd.i64 q9,q13
1757 vadd.i64 q10,q14 1760 vadd.i64 q10,q14
1758 vadd.i64 q11,q15 1761 vadd.i64 q11,q15
1759 vstmia r0,{d16-d23} @ save context 1762 vstmia r0,{d16-d23} @ save context
1760 teq r1,r2 1763 teq r1,r2
1761 sub r3,#640 @ rewind K512 1764 sub r3,#640 @ rewind K512
1762 bne .Loop_neon 1765 bne .Loop_neon
1763 1766
1764 vldmia sp!,{d8-d15} @ epilogue 1767 vldmia sp!,{d8-d15} @ epilogue
1765 » .word» 0xe12fff1e 1768 » bx» lr» » » » @ .word»0xe12fff1e
1766 #endif 1769 #endif
1767 .size sha512_block_data_order,.-sha512_block_data_order 1770 .size sha512_block_data_order,.-sha512_block_data_order
1768 .asciz "SHA512 block transform for ARMv4/NEON, CRYPTOGAMS by <appro@openssl.org >" 1771 .asciz "SHA512 block transform for ARMv4/NEON, CRYPTOGAMS by <appro@openssl.org >"
1769 .align 2 1772 .align 2
1773 #if __ARM_MAX_ARCH__>=7
1770 .comm OPENSSL_armcap_P,4,4 1774 .comm OPENSSL_armcap_P,4,4
1771
1772 #endif 1775 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698