mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-01 03:52:15 +00:00
165 lines
3.2 KiB
NASM
165 lines
3.2 KiB
NASM
; 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
|
|
%ifdef __YASM_VERSION_ID__
|
|
%if __YASM_VERSION_ID__ < 01010000h
|
|
%error yasm version 1.1.0 or later needed.
|
|
%endif
|
|
; Yasm automatically includes .00 and complains about redefining it.
|
|
; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
|
|
%else
|
|
$@feat.00 equ 1
|
|
%endif
|
|
section .text code align=64
|
|
%else
|
|
section .text code
|
|
%endif
|
|
global _abi_test_trampoline
|
|
align 16
|
|
_abi_test_trampoline:
|
|
L$_abi_test_trampoline_begin:
|
|
push ebp
|
|
push ebx
|
|
push esi
|
|
push edi
|
|
mov ecx,DWORD [24+esp]
|
|
mov esi,DWORD [ecx]
|
|
mov edi,DWORD [4+ecx]
|
|
mov ebx,DWORD [8+ecx]
|
|
mov ebp,DWORD [12+ecx]
|
|
sub esp,44
|
|
mov eax,DWORD [72+esp]
|
|
xor ecx,ecx
|
|
L$000loop:
|
|
cmp ecx,DWORD [76+esp]
|
|
jae NEAR L$001loop_done
|
|
mov edx,DWORD [ecx*4+eax]
|
|
mov DWORD [ecx*4+esp],edx
|
|
add ecx,1
|
|
jmp NEAR L$000loop
|
|
L$001loop_done:
|
|
call DWORD [64+esp]
|
|
add esp,44
|
|
mov ecx,DWORD [24+esp]
|
|
mov DWORD [ecx],esi
|
|
mov DWORD [4+ecx],edi
|
|
mov DWORD [8+ecx],ebx
|
|
mov DWORD [12+ecx],ebp
|
|
pop edi
|
|
pop esi
|
|
pop ebx
|
|
pop ebp
|
|
ret
|
|
global _abi_test_get_and_clear_direction_flag
|
|
align 16
|
|
_abi_test_get_and_clear_direction_flag:
|
|
L$_abi_test_get_and_clear_direction_flag_begin:
|
|
pushfd
|
|
pop eax
|
|
and eax,1024
|
|
shr eax,10
|
|
cld
|
|
ret
|
|
global _abi_test_set_direction_flag
|
|
align 16
|
|
_abi_test_set_direction_flag:
|
|
L$_abi_test_set_direction_flag_begin:
|
|
std
|
|
ret
|
|
global _abi_test_clobber_eax
|
|
align 16
|
|
_abi_test_clobber_eax:
|
|
L$_abi_test_clobber_eax_begin:
|
|
xor eax,eax
|
|
ret
|
|
global _abi_test_clobber_ebx
|
|
align 16
|
|
_abi_test_clobber_ebx:
|
|
L$_abi_test_clobber_ebx_begin:
|
|
xor ebx,ebx
|
|
ret
|
|
global _abi_test_clobber_ecx
|
|
align 16
|
|
_abi_test_clobber_ecx:
|
|
L$_abi_test_clobber_ecx_begin:
|
|
xor ecx,ecx
|
|
ret
|
|
global _abi_test_clobber_edx
|
|
align 16
|
|
_abi_test_clobber_edx:
|
|
L$_abi_test_clobber_edx_begin:
|
|
xor edx,edx
|
|
ret
|
|
global _abi_test_clobber_edi
|
|
align 16
|
|
_abi_test_clobber_edi:
|
|
L$_abi_test_clobber_edi_begin:
|
|
xor edi,edi
|
|
ret
|
|
global _abi_test_clobber_esi
|
|
align 16
|
|
_abi_test_clobber_esi:
|
|
L$_abi_test_clobber_esi_begin:
|
|
xor esi,esi
|
|
ret
|
|
global _abi_test_clobber_ebp
|
|
align 16
|
|
_abi_test_clobber_ebp:
|
|
L$_abi_test_clobber_ebp_begin:
|
|
xor ebp,ebp
|
|
ret
|
|
global _abi_test_clobber_xmm0
|
|
align 16
|
|
_abi_test_clobber_xmm0:
|
|
L$_abi_test_clobber_xmm0_begin:
|
|
pxor xmm0,xmm0
|
|
ret
|
|
global _abi_test_clobber_xmm1
|
|
align 16
|
|
_abi_test_clobber_xmm1:
|
|
L$_abi_test_clobber_xmm1_begin:
|
|
pxor xmm1,xmm1
|
|
ret
|
|
global _abi_test_clobber_xmm2
|
|
align 16
|
|
_abi_test_clobber_xmm2:
|
|
L$_abi_test_clobber_xmm2_begin:
|
|
pxor xmm2,xmm2
|
|
ret
|
|
global _abi_test_clobber_xmm3
|
|
align 16
|
|
_abi_test_clobber_xmm3:
|
|
L$_abi_test_clobber_xmm3_begin:
|
|
pxor xmm3,xmm3
|
|
ret
|
|
global _abi_test_clobber_xmm4
|
|
align 16
|
|
_abi_test_clobber_xmm4:
|
|
L$_abi_test_clobber_xmm4_begin:
|
|
pxor xmm4,xmm4
|
|
ret
|
|
global _abi_test_clobber_xmm5
|
|
align 16
|
|
_abi_test_clobber_xmm5:
|
|
L$_abi_test_clobber_xmm5_begin:
|
|
pxor xmm5,xmm5
|
|
ret
|
|
global _abi_test_clobber_xmm6
|
|
align 16
|
|
_abi_test_clobber_xmm6:
|
|
L$_abi_test_clobber_xmm6_begin:
|
|
pxor xmm6,xmm6
|
|
ret
|
|
global _abi_test_clobber_xmm7
|
|
align 16
|
|
_abi_test_clobber_xmm7:
|
|
L$_abi_test_clobber_xmm7_begin:
|
|
pxor xmm7,xmm7
|
|
ret
|