OLD | NEW |
1 #if defined(__aarch64__) | 1 #if defined(__aarch64__) |
2 #include <openssl/arm_arch.h> | 2 #include "arm_arch.h" |
3 | 3 |
4 .text | 4 .text |
5 #if !defined(__clang__) | 5 #if !defined(__clang__) |
6 .arch armv8-a+crypto | 6 .arch armv8-a+crypto |
7 #endif | 7 #endif |
8 .globl gcm_init_v8 | 8 .globl gcm_init_v8 |
9 .hidden gcm_init_v8 | |
10 .type gcm_init_v8,%function | 9 .type gcm_init_v8,%function |
11 .align 4 | 10 .align 4 |
12 gcm_init_v8: | 11 gcm_init_v8: |
13 ld1 {v17.2d},[x1] //load input H | 12 ld1 {v17.2d},[x1] //load input H |
14 movi v19.16b,#0xe1 | 13 movi v19.16b,#0xe1 |
15 shl v19.2d,v19.2d,#57 //0xc2.0 | 14 shl v19.2d,v19.2d,#57 //0xc2.0 |
16 ext v3.16b,v17.16b,v17.16b,#8 | 15 ext v3.16b,v17.16b,v17.16b,#8 |
17 ushr v18.2d,v19.2d,#63 | 16 ushr v18.2d,v19.2d,#63 |
18 dup v17.4s,v17.s[1] | 17 dup v17.4s,v17.s[1] |
19 ext v16.16b,v18.16b,v19.16b,#8 //t0=0xc2....01 | 18 ext v16.16b,v18.16b,v19.16b,#8 //t0=0xc2....01 |
(...skipping 30 matching lines...) Expand all Loading... |
50 eor v22.16b,v0.16b,v18.16b | 49 eor v22.16b,v0.16b,v18.16b |
51 | 50 |
52 ext v17.16b,v22.16b,v22.16b,#8 //Karatsuba pre-processi
ng | 51 ext v17.16b,v22.16b,v22.16b,#8 //Karatsuba pre-processi
ng |
53 eor v17.16b,v17.16b,v22.16b | 52 eor v17.16b,v17.16b,v22.16b |
54 ext v21.16b,v16.16b,v17.16b,#8 //pack Karatsuba pre-pro
cessed | 53 ext v21.16b,v16.16b,v17.16b,#8 //pack Karatsuba pre-pro
cessed |
55 st1 {v21.2d,v22.2d},[x0] //store Htable[1..2] | 54 st1 {v21.2d,v22.2d},[x0] //store Htable[1..2] |
56 | 55 |
57 ret | 56 ret |
58 .size gcm_init_v8,.-gcm_init_v8 | 57 .size gcm_init_v8,.-gcm_init_v8 |
59 .globl gcm_gmult_v8 | 58 .globl gcm_gmult_v8 |
60 .hidden gcm_gmult_v8 | |
61 .type gcm_gmult_v8,%function | 59 .type gcm_gmult_v8,%function |
62 .align 4 | 60 .align 4 |
63 gcm_gmult_v8: | 61 gcm_gmult_v8: |
64 ld1 {v17.2d},[x0] //load Xi | 62 ld1 {v17.2d},[x0] //load Xi |
65 movi v19.16b,#0xe1 | 63 movi v19.16b,#0xe1 |
66 ld1 {v20.2d,v21.2d},[x1] //load twisted H, ... | 64 ld1 {v20.2d,v21.2d},[x1] //load twisted H, ... |
67 shl v19.2d,v19.2d,#57 | 65 shl v19.2d,v19.2d,#57 |
68 #ifndef __ARMEB__ | 66 #ifndef __ARMEB__ |
69 rev64 v17.16b,v17.16b | 67 rev64 v17.16b,v17.16b |
error: old chunk mismatch |
None
OLD | NEW |