OLD | NEW |
---|---|
1 #include "arm_arch.h" | 1 #include "arm_arch.h" |
2 | 2 |
3 .text | 3 .text |
4 #if !defined(__clang__) | |
5 .arch armv8-a+crypto | 4 .arch armv8-a+crypto |
6 #endif | |
7 .globl gcm_init_v8 | 5 .globl gcm_init_v8 |
8 .type gcm_init_v8,%function | 6 .type gcm_init_v8,%function |
9 .align 4 | 7 .align 4 |
10 gcm_init_v8: | 8 gcm_init_v8: |
11 ld1 {v17.2d},[x1] //load input H | 9 ld1 {v17.2d},[x1] //load input H |
12 movi v19.16b,#0xe1 | 10 movi v19.16b,#0xe1 |
13 shl v19.2d,v19.2d,#57 //0xc2.0 | 11 shl v19.2d,v19.2d,#57 //0xc2.0 |
14 ext v3.16b,v17.16b,v17.16b,#8 | 12 ext v3.16b,v17.16b,v17.16b,#8 |
15 ushr v18.2d,v19.2d,#63 | 13 ushr v18.2d,v19.2d,#63 |
16 dup v17.4s,v17.s[1] | 14 dup v17.4s,v17.s[1] |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
221 rev64 v0.16b,v0.16b | 219 rev64 v0.16b,v0.16b |
222 #endif | 220 #endif |
223 ext v0.16b,v0.16b,v0.16b,#8 | 221 ext v0.16b,v0.16b,v0.16b,#8 |
224 st1 {v0.2d},[x0] //write out Xi | 222 st1 {v0.2d},[x0] //write out Xi |
225 | 223 |
226 ret | 224 ret |
227 .size gcm_ghash_v8,.-gcm_ghash_v8 | 225 .size gcm_ghash_v8,.-gcm_ghash_v8 |
228 .byte 71,72,65,83,72,32,102,111,114,32,65,82,77,118,56,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,4 6,111,114,103,62,0 | 226 .byte 71,72,65,83,72,32,102,111,114,32,65,82,77,118,56,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,4 6,111,114,103,62,0 |
229 .align 2 | 227 .align 2 |
230 .align 2 | 228 .align 2 |
OLD | NEW |