Deleted Added
full compact
bsaes-armv7.pl (325335) bsaes-armv7.pl (326663)
1#!/usr/bin/env perl
2
3# ====================================================================
4# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
5# project. The module is, however, dual licensed under OpenSSL and
6# CRYPTOGAMS licenses depending on where you obtain it. For further
7# details see http://www.openssl.org/~appro/cryptogams/.
8#

--- 710 unchanged lines hidden (view full) ---

719.thumb
720#else
721.code 32
722#endif
723
724.type _bsaes_decrypt8,%function
725.align 4
726_bsaes_decrypt8:
1#!/usr/bin/env perl
2
3# ====================================================================
4# Written by Andy Polyakov <appro@openssl.org> for the OpenSSL
5# project. The module is, however, dual licensed under OpenSSL and
6# CRYPTOGAMS licenses depending on where you obtain it. For further
7# details see http://www.openssl.org/~appro/cryptogams/.
8#

--- 710 unchanged lines hidden (view full) ---

719.thumb
720#else
721.code 32
722#endif
723
724.type _bsaes_decrypt8,%function
725.align 4
726_bsaes_decrypt8:
727 adr $const,_bsaes_decrypt8
727 adr $const,.
728 vldmia $key!, {@XMM[9]} @ round 0 key
729 add $const,$const,#.LM0ISR-_bsaes_decrypt8
730
731 vldmia $const!, {@XMM[8]} @ .LM0ISR
732 veor @XMM[10], @XMM[0], @XMM[9] @ xor with round0 key
733 veor @XMM[11], @XMM[1], @XMM[9]
734 vtbl.8 `&Dlo(@XMM[0])`, {@XMM[10]}, `&Dlo(@XMM[8])`
735 vtbl.8 `&Dhi(@XMM[0])`, {@XMM[10]}, `&Dhi(@XMM[8])`

--- 78 unchanged lines hidden (view full) ---

814 .quad 0x090d01050c000408, 0x03070b0f060a0e02
815.asciz "Bit-sliced AES for NEON, CRYPTOGAMS by <appro\@openssl.org>"
816.align 6
817.size _bsaes_const,.-_bsaes_const
818
819.type _bsaes_encrypt8,%function
820.align 4
821_bsaes_encrypt8:
728 vldmia $key!, {@XMM[9]} @ round 0 key
729 add $const,$const,#.LM0ISR-_bsaes_decrypt8
730
731 vldmia $const!, {@XMM[8]} @ .LM0ISR
732 veor @XMM[10], @XMM[0], @XMM[9] @ xor with round0 key
733 veor @XMM[11], @XMM[1], @XMM[9]
734 vtbl.8 `&Dlo(@XMM[0])`, {@XMM[10]}, `&Dlo(@XMM[8])`
735 vtbl.8 `&Dhi(@XMM[0])`, {@XMM[10]}, `&Dhi(@XMM[8])`

--- 78 unchanged lines hidden (view full) ---

814 .quad 0x090d01050c000408, 0x03070b0f060a0e02
815.asciz "Bit-sliced AES for NEON, CRYPTOGAMS by <appro\@openssl.org>"
816.align 6
817.size _bsaes_const,.-_bsaes_const
818
819.type _bsaes_encrypt8,%function
820.align 4
821_bsaes_encrypt8:
822 adr $const,_bsaes_encrypt8
822 adr $const,.
823 vldmia $key!, {@XMM[9]} @ round 0 key
824 sub $const,$const,#_bsaes_encrypt8-.LM0SR
825
826 vldmia $const!, {@XMM[8]} @ .LM0SR
827_bsaes_encrypt8_alt:
828 veor @XMM[10], @XMM[0], @XMM[9] @ xor with round0 key
829 veor @XMM[11], @XMM[1], @XMM[9]
830 vtbl.8 `&Dlo(@XMM[0])`, {@XMM[10]}, `&Dlo(@XMM[8])`

--- 87 unchanged lines hidden (view full) ---

918 &swapmove2x (@x[0,4,1,5],4,$bs2,$t2,$t3);
919 &swapmove2x (@x[2,6,3,7],4,$bs2,$t2,$t3);
920}
921
922$code.=<<___;
923.type _bsaes_key_convert,%function
924.align 4
925_bsaes_key_convert:
823 vldmia $key!, {@XMM[9]} @ round 0 key
824 sub $const,$const,#_bsaes_encrypt8-.LM0SR
825
826 vldmia $const!, {@XMM[8]} @ .LM0SR
827_bsaes_encrypt8_alt:
828 veor @XMM[10], @XMM[0], @XMM[9] @ xor with round0 key
829 veor @XMM[11], @XMM[1], @XMM[9]
830 vtbl.8 `&Dlo(@XMM[0])`, {@XMM[10]}, `&Dlo(@XMM[8])`

--- 87 unchanged lines hidden (view full) ---

918 &swapmove2x (@x[0,4,1,5],4,$bs2,$t2,$t3);
919 &swapmove2x (@x[2,6,3,7],4,$bs2,$t2,$t3);
920}
921
922$code.=<<___;
923.type _bsaes_key_convert,%function
924.align 4
925_bsaes_key_convert:
926 adr $const,_bsaes_key_convert
926 adr $const,.
927 vld1.8 {@XMM[7]}, [$inp]! @ load round 0 key
928 sub $const,$const,#_bsaes_key_convert-.LM0
929 vld1.8 {@XMM[15]}, [$inp]! @ load round 1 key
930
931 vmov.i8 @XMM[8], #0x01 @ bit masks
932 vmov.i8 @XMM[9], #0x02
933 vmov.i8 @XMM[10], #0x04
934 vmov.i8 @XMM[11], #0x08

--- 1517 unchanged lines hidden ---
927 vld1.8 {@XMM[7]}, [$inp]! @ load round 0 key
928 sub $const,$const,#_bsaes_key_convert-.LM0
929 vld1.8 {@XMM[15]}, [$inp]! @ load round 1 key
930
931 vmov.i8 @XMM[8], #0x01 @ bit masks
932 vmov.i8 @XMM[9], #0x02
933 vmov.i8 @XMM[10], #0x04
934 vmov.i8 @XMM[11], #0x08

--- 1517 unchanged lines hidden ---