| 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 |