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