OLD | NEW |
---|---|
1 #if defined(__arm__) | 1 #if defined(__arm__) |
2 #include "arm_arch.h" | 2 #include <openssl/arm_arch.h> |
3 | 3 |
4 .text | 4 .text |
5 .code 32 | 5 .code 32 |
6 | 6 |
7 #if __ARM_MAX_ARCH__>=7 | 7 #if __ARM_MAX_ARCH__>=7 |
8 .align 5 | 8 .align 5 |
9 .LOPENSSL_armcap: | 9 .LOPENSSL_armcap: |
10 .word OPENSSL_armcap_P-.Lbn_mul_mont | 10 .word OPENSSL_armcap_P-.Lbn_mul_mont |
11 #endif | 11 #endif |
12 | 12 |
13 .globl bn_mul_mont | 13 .globl bn_mul_mont |
14 .hidden bn_mul_mont | 14 .hidden bn_mul_mont |
15 .type bn_mul_mont,%function | 15 .type bn_mul_mont,%function |
16 | 16 |
17 .align 5 | 17 .align 5 |
18 bn_mul_mont: | 18 bn_mul_mont: |
19 .Lbn_mul_mont: | 19 .Lbn_mul_mont: |
20 ldr ip,[sp,#4] @ load num | 20 ldr ip,[sp,#4] @ load num |
21 stmdb sp!,{r0,r2} @ sp points at argument block | 21 stmdb sp!,{r0,r2} @ sp points at argument block |
22 #if __ARM_MAX_ARCH__>=7 | 22 #if __ARM_MAX_ARCH__>=7 |
23 tst ip,#7 | 23 tst ip,#7 |
24 bne .Lialu | 24 bne .Lialu |
25 adr r0,bn_mul_mont | 25 adr r0,bn_mul_mont |
26 ldr r2,.LOPENSSL_armcap | 26 ldr r2,.LOPENSSL_armcap |
27 ldr r0,[r0,r2] | 27 ldr r0,[r0,r2] |
28 #ifdef __APPLE__ | 28 #ifdef __APPLE__ |
29 ldr r0,[r0] | 29 ldr r0,[r0] |
30 #endif | 30 #endif |
31 » tst» r0,#1» » » @ NEON available? | 31 » tst» r0,#ARMV7_NEON» » @ NEON available? |
32 ldmia sp, {r0,r2} | 32 ldmia sp, {r0,r2} |
33 beq .Lialu | 33 beq .Lialu |
34 add sp,sp,#8 | 34 add sp,sp,#8 |
35 b bn_mul8x_mont_neon | 35 b bn_mul8x_mont_neon |
36 .align 4 | 36 .align 4 |
37 .Lialu: | 37 .Lialu: |
38 #endif | 38 #endif |
39 cmp ip,#2 | 39 cmp ip,#2 |
40 mov r0,ip @ load num | 40 mov r0,ip @ load num |
41 movlt r0,#0 | 41 movlt r0,#0 |
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
579 bx lr @ .word 0xe12fff 1e | 579 bx lr @ .word 0xe12fff 1e |
580 .size bn_mul8x_mont_neon,.-bn_mul8x_mont_neon | 580 .size bn_mul8x_mont_neon,.-bn_mul8x_mont_neon |
581 #endif | 581 #endif |
582 .byte 77,111,110,116,103,111,109,101,114,121,32,109,117,108,116,105,112,108,10 5,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,52,47,78,69,79,78,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 | 582 .byte 77,111,110,116,103,111,109,101,114,121,32,109,117,108,116,105,112,108,10 5,99,97,116,105,111,110,32,102,111,114,32,65,82,77,118,52,47,78,69,79,78,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 |
583 .align 2 | 583 .align 2 |
584 .align 2 | 584 .align 2 |
585 #if __ARM_MAX_ARCH__>=7 | 585 #if __ARM_MAX_ARCH__>=7 |
586 .comm OPENSSL_armcap_P,4,4 | 586 .comm OPENSSL_armcap_P,4,4 |
587 .hidden OPENSSL_armcap_P | 587 .hidden OPENSSL_armcap_P |
588 #endif | 588 #endif |
589 #endif | 589 #endif |
OLD | NEW |