123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- ; This file is generated from a similarly-named Perl script in the BoringSSL
- ; source tree. Do not edit by hand.
- %ifdef BORINGSSL_PREFIX
- %include "boringssl_prefix_symbols_nasm.inc"
- %endif
- %ifidn __OUTPUT_FORMAT__,obj
- section code use32 class=code align=64
- %elifidn __OUTPUT_FORMAT__,win32
- $@feat.00 equ 1
- section .text code align=64
- %else
- section .text code
- %endif
- global _gcm_gmult_ssse3
- align 16
- _gcm_gmult_ssse3:
- L$_gcm_gmult_ssse3_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov edi,DWORD [20+esp]
- mov esi,DWORD [24+esp]
- movdqu xmm0,[edi]
- call L$000pic_point
- L$000pic_point:
- pop eax
- movdqa xmm7,[(L$reverse_bytes-L$000pic_point)+eax]
- movdqa xmm2,[(L$low4_mask-L$000pic_point)+eax]
- db 102,15,56,0,199
- movdqa xmm1,xmm2
- pandn xmm1,xmm0
- psrld xmm1,4
- pand xmm0,xmm2
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- mov eax,5
- L$001loop_row_1:
- movdqa xmm4,[esi]
- lea esi,[16+esi]
- movdqa xmm6,xmm2
- db 102,15,58,15,243,1
- movdqa xmm3,xmm6
- psrldq xmm2,1
- movdqa xmm5,xmm4
- db 102,15,56,0,224
- db 102,15,56,0,233
- pxor xmm2,xmm5
- movdqa xmm5,xmm4
- psllq xmm5,60
- movdqa xmm6,xmm5
- pslldq xmm6,8
- pxor xmm3,xmm6
- psrldq xmm5,8
- pxor xmm2,xmm5
- psrlq xmm4,4
- pxor xmm2,xmm4
- sub eax,1
- jnz NEAR L$001loop_row_1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,5
- pxor xmm2,xmm3
- pxor xmm3,xmm3
- mov eax,5
- L$002loop_row_2:
- movdqa xmm4,[esi]
- lea esi,[16+esi]
- movdqa xmm6,xmm2
- db 102,15,58,15,243,1
- movdqa xmm3,xmm6
- psrldq xmm2,1
- movdqa xmm5,xmm4
- db 102,15,56,0,224
- db 102,15,56,0,233
- pxor xmm2,xmm5
- movdqa xmm5,xmm4
- psllq xmm5,60
- movdqa xmm6,xmm5
- pslldq xmm6,8
- pxor xmm3,xmm6
- psrldq xmm5,8
- pxor xmm2,xmm5
- psrlq xmm4,4
- pxor xmm2,xmm4
- sub eax,1
- jnz NEAR L$002loop_row_2
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,5
- pxor xmm2,xmm3
- pxor xmm3,xmm3
- mov eax,6
- L$003loop_row_3:
- movdqa xmm4,[esi]
- lea esi,[16+esi]
- movdqa xmm6,xmm2
- db 102,15,58,15,243,1
- movdqa xmm3,xmm6
- psrldq xmm2,1
- movdqa xmm5,xmm4
- db 102,15,56,0,224
- db 102,15,56,0,233
- pxor xmm2,xmm5
- movdqa xmm5,xmm4
- psllq xmm5,60
- movdqa xmm6,xmm5
- pslldq xmm6,8
- pxor xmm3,xmm6
- psrldq xmm5,8
- pxor xmm2,xmm5
- psrlq xmm4,4
- pxor xmm2,xmm4
- sub eax,1
- jnz NEAR L$003loop_row_3
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,5
- pxor xmm2,xmm3
- pxor xmm3,xmm3
- db 102,15,56,0,215
- movdqu [edi],xmm2
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
- global _gcm_ghash_ssse3
- align 16
- _gcm_ghash_ssse3:
- L$_gcm_ghash_ssse3_begin:
- push ebp
- push ebx
- push esi
- push edi
- mov edi,DWORD [20+esp]
- mov esi,DWORD [24+esp]
- mov edx,DWORD [28+esp]
- mov ecx,DWORD [32+esp]
- movdqu xmm0,[edi]
- call L$004pic_point
- L$004pic_point:
- pop ebx
- movdqa xmm7,[(L$reverse_bytes-L$004pic_point)+ebx]
- and ecx,-16
- db 102,15,56,0,199
- pxor xmm3,xmm3
- L$005loop_ghash:
- movdqa xmm2,[(L$low4_mask-L$004pic_point)+ebx]
- movdqu xmm1,[edx]
- db 102,15,56,0,207
- pxor xmm0,xmm1
- movdqa xmm1,xmm2
- pandn xmm1,xmm0
- psrld xmm1,4
- pand xmm0,xmm2
- pxor xmm2,xmm2
- mov eax,5
- L$006loop_row_4:
- movdqa xmm4,[esi]
- lea esi,[16+esi]
- movdqa xmm6,xmm2
- db 102,15,58,15,243,1
- movdqa xmm3,xmm6
- psrldq xmm2,1
- movdqa xmm5,xmm4
- db 102,15,56,0,224
- db 102,15,56,0,233
- pxor xmm2,xmm5
- movdqa xmm5,xmm4
- psllq xmm5,60
- movdqa xmm6,xmm5
- pslldq xmm6,8
- pxor xmm3,xmm6
- psrldq xmm5,8
- pxor xmm2,xmm5
- psrlq xmm4,4
- pxor xmm2,xmm4
- sub eax,1
- jnz NEAR L$006loop_row_4
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,5
- pxor xmm2,xmm3
- pxor xmm3,xmm3
- mov eax,5
- L$007loop_row_5:
- movdqa xmm4,[esi]
- lea esi,[16+esi]
- movdqa xmm6,xmm2
- db 102,15,58,15,243,1
- movdqa xmm3,xmm6
- psrldq xmm2,1
- movdqa xmm5,xmm4
- db 102,15,56,0,224
- db 102,15,56,0,233
- pxor xmm2,xmm5
- movdqa xmm5,xmm4
- psllq xmm5,60
- movdqa xmm6,xmm5
- pslldq xmm6,8
- pxor xmm3,xmm6
- psrldq xmm5,8
- pxor xmm2,xmm5
- psrlq xmm4,4
- pxor xmm2,xmm4
- sub eax,1
- jnz NEAR L$007loop_row_5
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,5
- pxor xmm2,xmm3
- pxor xmm3,xmm3
- mov eax,6
- L$008loop_row_6:
- movdqa xmm4,[esi]
- lea esi,[16+esi]
- movdqa xmm6,xmm2
- db 102,15,58,15,243,1
- movdqa xmm3,xmm6
- psrldq xmm2,1
- movdqa xmm5,xmm4
- db 102,15,56,0,224
- db 102,15,56,0,233
- pxor xmm2,xmm5
- movdqa xmm5,xmm4
- psllq xmm5,60
- movdqa xmm6,xmm5
- pslldq xmm6,8
- pxor xmm3,xmm6
- psrldq xmm5,8
- pxor xmm2,xmm5
- psrlq xmm4,4
- pxor xmm2,xmm4
- sub eax,1
- jnz NEAR L$008loop_row_6
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,1
- pxor xmm2,xmm3
- psrlq xmm3,5
- pxor xmm2,xmm3
- pxor xmm3,xmm3
- movdqa xmm0,xmm2
- lea esi,[esi-256]
- lea edx,[16+edx]
- sub ecx,16
- jnz NEAR L$005loop_ghash
- db 102,15,56,0,199
- movdqu [edi],xmm0
- pxor xmm0,xmm0
- pxor xmm1,xmm1
- pxor xmm2,xmm2
- pxor xmm3,xmm3
- pxor xmm4,xmm4
- pxor xmm5,xmm5
- pxor xmm6,xmm6
- pop edi
- pop esi
- pop ebx
- pop ebp
- ret
- align 16
- L$reverse_bytes:
- db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
- align 16
- L$low4_mask:
- dd 252645135,252645135,252645135,252645135
|