@@ -25,9 +25,8 @@ use core::arch::x86_64::{
2525
2626use internals:: slice:: SliceExt ;
2727
28- use crate :: sha256d;
29-
3028use super :: { HashEngine , Midstate , BLOCK_SIZE } ;
29+ use crate :: sha256d;
3130
3231#[ cfg( all( feature = "cpufeatures" , target_arch = "aarch64" ) ) ]
3332// cpufeatures crate internally uses `u8::max_value()` which will be deprecated.
@@ -836,8 +835,8 @@ impl HashEngine {
836835
837836 // initial state
838837 const INIT : [ u32 ; 8 ] = [
839- 0x6a09e667 , 0xbb67ae85 , 0x3c6ef372 , 0xa54ff53a ,
840- 0x510e527f , 0x9b05688c , 0x1f83d9ab , 0x5be0cd19
838+ 0x6a09e667 , 0xbb67ae85 , 0x3c6ef372 , 0xa54ff53a , 0x510e527f , 0x9b05688c , 0x1f83d9ab ,
839+ 0x5be0cd19 ,
841840 ] ;
842841
843842 // SHA256 round constants
@@ -863,22 +862,16 @@ impl HashEngine {
863862
864863 // Precomputed W[i] + K[i] for the 2nd transform (padding block).
865864 const MIDS : [ u32 ; 64 ] = [
866- 0xc28a2f98 , 0x71374491 , 0xb5c0fbcf , 0xe9b5dba5 ,
867- 0x3956c25b , 0x59f111f1 , 0x923f82a4 , 0xab1c5ed5 ,
868- 0xd807aa98 , 0x12835b01 , 0x243185be , 0x550c7dc3 ,
869- 0x72be5d74 , 0x80deb1fe , 0x9bdc06a7 , 0xc19bf374 ,
870- 0x649b69c1 , 0xf0fe4786 , 0x0fe1edc6 , 0x240cf254 ,
871- 0x4fe9346f , 0x6cc984be , 0x61b9411e , 0x16f988fa ,
872- 0xf2c65152 , 0xa88e5a6d , 0xb019fc65 , 0xb9d99ec7 ,
873- 0x9a1231c3 , 0xe70eeaa0 , 0xfdb1232b , 0xc7353eb0 ,
874- 0x3069bad5 , 0xcb976d5f , 0x5a0f118f , 0xdc1eeefd ,
875- 0x0a35b689 , 0xde0b7a04 , 0x58f4ca9d , 0xe15d5b16 ,
876- 0x007f3e86 , 0x37088980 , 0xa507ea32 , 0x6fab9537 ,
877- 0x17406110 , 0x0d8cd6f1 , 0xcdaa3b6d , 0xc0bbbe37 ,
878- 0x83613bda , 0xdb48a363 , 0x0b02e931 , 0x6fd15ca7 ,
879- 0x521afaca , 0x31338431 , 0x6ed41a95 , 0x6d437890 ,
880- 0xc39c91f2 , 0x9eccabbd , 0xb5c9a0e6 , 0x532fb63c ,
881- 0xd2c741c6 , 0x07237ea3 , 0xa4954b68 , 0x4c191d76
865+ 0xc28a2f98 , 0x71374491 , 0xb5c0fbcf , 0xe9b5dba5 , 0x3956c25b , 0x59f111f1 , 0x923f82a4 ,
866+ 0xab1c5ed5 , 0xd807aa98 , 0x12835b01 , 0x243185be , 0x550c7dc3 , 0x72be5d74 , 0x80deb1fe ,
867+ 0x9bdc06a7 , 0xc19bf374 , 0x649b69c1 , 0xf0fe4786 , 0x0fe1edc6 , 0x240cf254 , 0x4fe9346f ,
868+ 0x6cc984be , 0x61b9411e , 0x16f988fa , 0xf2c65152 , 0xa88e5a6d , 0xb019fc65 , 0xb9d99ec7 ,
869+ 0x9a1231c3 , 0xe70eeaa0 , 0xfdb1232b , 0xc7353eb0 , 0x3069bad5 , 0xcb976d5f , 0x5a0f118f ,
870+ 0xdc1eeefd , 0x0a35b689 , 0xde0b7a04 , 0x58f4ca9d , 0xe15d5b16 , 0x007f3e86 , 0x37088980 ,
871+ 0xa507ea32 , 0x6fab9537 , 0x17406110 , 0x0d8cd6f1 , 0xcdaa3b6d , 0xc0bbbe37 , 0x83613bda ,
872+ 0xdb48a363 , 0x0b02e931 , 0x6fd15ca7 , 0x521afaca , 0x31338431 , 0x6ed41a95 , 0x6d437890 ,
873+ 0xc39c91f2 , 0x9eccabbd , 0xb5c9a0e6 , 0x532fb63c , 0xd2c741c6 , 0x07237ea3 , 0xa4954b68 ,
874+ 0x4c191d76 ,
882875 ] ;
883876
884877 // Precomputed values for Transform 3 rounds 9-16.
@@ -893,14 +886,21 @@ impl HashEngine {
893886 ] ;
894887
895888 // Padding processed in the 3rd transform (byteswapped).
896- const FINAL : [ u32 ; 8 ] = [
897- 0x80000000 , 0 , 0 , 0 , 0 , 0 , 0 , 0x100 ,
898- ] ;
889+ const FINAL : [ u32 ; 8 ] = [ 0x80000000 , 0 , 0 , 0 , 0 , 0 , 0 , 0x100 ] ;
899890
900891 let ( mut state0_a, mut state0_b, mut state1_a, mut state1_b) ;
901892 let ( abcd_save_a, abcd_save_b, efgh_save_a, efgh_save_b) ;
902893
903- let ( mut msg0_a, mut msg0_b, mut msg1_a, mut msg1_b, mut msg2_a, mut msg2_b, mut msg3_a, mut msg3_b) ;
894+ let (
895+ mut msg0_a,
896+ mut msg0_b,
897+ mut msg1_a,
898+ mut msg1_b,
899+ mut msg2_a,
900+ mut msg2_b,
901+ mut msg3_a,
902+ mut msg3_b,
903+ ) ;
904904 let ( mut tmp0_a, mut tmp0_b, mut tmp2_a, mut tmp2_b, mut tmp) ;
905905
906906 // Load state
@@ -928,7 +928,7 @@ impl HashEngine {
928928 msg1_b = vreinterpretq_u32_u8 ( vrev32q_u8 ( vreinterpretq_u8_u32 ( msg1_b) ) ) ;
929929 msg2_b = vreinterpretq_u32_u8 ( vrev32q_u8 ( vreinterpretq_u8_u32 ( msg2_b) ) ) ;
930930 msg3_b = vreinterpretq_u32_u8 ( vrev32q_u8 ( vreinterpretq_u8_u32 ( msg3_b) ) ) ;
931-
931+
932932 // Transform 1: Rounds 1-4
933933 tmp = vld1q_u32 ( K . as_ptr ( ) . add ( 0 ) ) ;
934934 tmp0_a = vaddq_u32 ( msg0_a, tmp) ;
@@ -1571,7 +1571,6 @@ impl HashEngine {
15711571 vst1q_u8 ( output[ 1 ] . as_mut_ptr ( ) . add ( 16 ) , vrev32q_u8 ( vreinterpretq_u8_u32 ( state1_b) ) ) ;
15721572 }
15731573
1574-
15751574 // Algorithm copied from libsecp256k1
15761575 fn software_process_block ( state : & mut [ u32 ; 8 ] , blocks : & [ u8 ] ) {
15771576 debug_assert ! ( !blocks. is_empty( ) && blocks. len( ) % BLOCK_SIZE == 0 ) ;
0 commit comments