bsaes-armv7.pl: remove partial register operations in CTR subroutine.

This commit is contained in:
Andy Polyakov 2013-09-15 19:47:51 +02:00
parent 29f41e8a80
commit 612f4e2384

View File

@ -716,7 +716,7 @@ _bsaes_const:
.LM0: .LM0:
.quad 0x02060a0e03070b0f, 0x0004080c0105090d .quad 0x02060a0e03070b0f, 0x0004080c0105090d
.LREVM0SR: .LREVM0SR:
.quad 0x090d02060c030708, 0x00040b0f050a0e01 .quad 0x090d01050c000408, 0x03070b0f060a0e02
.Lxts_magic: .Lxts_magic:
.quad 1, 0x87 .quad 1, 0x87
.asciz "Bit-sliced AES for NEON, CRYPTOGAMS by <appro\@openssl.org>" .asciz "Bit-sliced AES for NEON, CRYPTOGAMS by <appro\@openssl.org>"
@ -1258,11 +1258,11 @@ bsaes_ctr32_encrypt_blocks:
add $ctr, $const, #.LREVM0SR-.LM0 @ borrow $ctr add $ctr, $const, #.LREVM0SR-.LM0 @ borrow $ctr
vldmia $keysched, {@XMM[4]} @ load round0 key vldmia $keysched, {@XMM[4]} @ load round0 key
vmov.i32 `&Dhi("@XMM[8]")`,#1 @ compose 1<<96 vmov.i32 @XMM[8],#1 @ compose 1<<96
vmov.i32 `&Dlo("@XMM[8]")`,#0 veor @XMM[9],@XMM[9],@XMM[9]
vrev32.8 `&Dhi("@XMM[0]")`,`&Dhi("@XMM[0]")` vrev32.8 @XMM[0],@XMM[0]
vshl.u64 `&Dhi("@XMM[8]")`,#32 vext.8 @XMM[8],@XMM[9],@XMM[8],#4
vrev32.8 `&Dhi("@XMM[4]")`,`&Dhi("@XMM[4]")` vrev32.8 @XMM[4],@XMM[4]
vadd.u32 @XMM[9],@XMM[8],@XMM[8] @ compose 2<<96 vadd.u32 @XMM[9],@XMM[8],@XMM[8] @ compose 2<<96
vstmia $keysched, {@XMM[4]} @ save adjusted round0 key vstmia $keysched, {@XMM[4]} @ save adjusted round0 key
b .Lctr_enc_loop b .Lctr_enc_loop
@ -1309,11 +1309,11 @@ bsaes_ctr32_encrypt_blocks:
vst1.8 {@XMM[4]}, [$out]! vst1.8 {@XMM[4]}, [$out]!
veor @XMM[5], @XMM[15] veor @XMM[5], @XMM[15]
vst1.8 {@XMM[6]}, [$out]! vst1.8 {@XMM[6]}, [$out]!
vmov.i32 `&Dhi("@XMM[8]")`,#1 @ compose 1<<96 vmov.i32 @XMM[8], #1 @ compose 1<<96
vst1.8 {@XMM[3]}, [$out]! vst1.8 {@XMM[3]}, [$out]!
vmov.i32 `&Dlo("@XMM[8]")`,#0 veor @XMM[9], @XMM[9], @XMM[9]
vst1.8 {@XMM[7]}, [$out]! vst1.8 {@XMM[7]}, [$out]!
vshl.u64 `&Dhi("@XMM[8]")`,#32 vext.8 @XMM[8], @XMM[9], @XMM[8], #4
vst1.8 {@XMM[2]}, [$out]! vst1.8 {@XMM[2]}, [$out]!
vadd.u32 @XMM[9],@XMM[8],@XMM[8] @ compose 2<<96 vadd.u32 @XMM[9],@XMM[8],@XMM[8] @ compose 2<<96
vst1.8 {@XMM[5]}, [$out]! vst1.8 {@XMM[5]}, [$out]!