mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-05 22:12:21 +00:00
519 lines
11 KiB
ArmAsm
519 lines
11 KiB
ArmAsm
|
# This file is generated from a similarly-named Perl script in the BoringSSL
|
||
|
# source tree. Do not edit by hand.
|
||
|
|
||
|
#if defined(__has_feature)
|
||
|
#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
|
||
|
#define OPENSSL_NO_ASM
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
|
||
|
#if defined(BORINGSSL_PREFIX)
|
||
|
#include <boringssl_prefix_symbols_asm.h>
|
||
|
#endif
|
||
|
.text
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.type abi_test_trampoline, @function
|
||
|
.globl abi_test_trampoline
|
||
|
.hidden abi_test_trampoline
|
||
|
.align 16
|
||
|
abi_test_trampoline:
|
||
|
.Labi_test_trampoline_seh_begin:
|
||
|
.cfi_startproc
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
subq $120,%rsp
|
||
|
.cfi_adjust_cfa_offset 120
|
||
|
.Labi_test_trampoline_seh_prolog_alloc:
|
||
|
movq %r8,48(%rsp)
|
||
|
movq %rbx,64(%rsp)
|
||
|
.cfi_offset rbx, -64
|
||
|
.Labi_test_trampoline_seh_prolog_rbx:
|
||
|
movq %rbp,72(%rsp)
|
||
|
.cfi_offset rbp, -56
|
||
|
.Labi_test_trampoline_seh_prolog_rbp:
|
||
|
movq %r12,80(%rsp)
|
||
|
.cfi_offset r12, -48
|
||
|
.Labi_test_trampoline_seh_prolog_r12:
|
||
|
movq %r13,88(%rsp)
|
||
|
.cfi_offset r13, -40
|
||
|
.Labi_test_trampoline_seh_prolog_r13:
|
||
|
movq %r14,96(%rsp)
|
||
|
.cfi_offset r14, -32
|
||
|
.Labi_test_trampoline_seh_prolog_r14:
|
||
|
movq %r15,104(%rsp)
|
||
|
.cfi_offset r15, -24
|
||
|
.Labi_test_trampoline_seh_prolog_r15:
|
||
|
.Labi_test_trampoline_seh_prolog_end:
|
||
|
movq 0(%rsi),%rbx
|
||
|
movq 8(%rsi),%rbp
|
||
|
movq 16(%rsi),%r12
|
||
|
movq 24(%rsi),%r13
|
||
|
movq 32(%rsi),%r14
|
||
|
movq 40(%rsi),%r15
|
||
|
|
||
|
movq %rdi,32(%rsp)
|
||
|
movq %rsi,40(%rsp)
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
movq %rdx,%r10
|
||
|
movq %rcx,%r11
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
movq (%r10),%rdi
|
||
|
addq $8,%r10
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
movq (%r10),%rsi
|
||
|
addq $8,%r10
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
movq (%r10),%rdx
|
||
|
addq $8,%r10
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
movq (%r10),%rcx
|
||
|
addq $8,%r10
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
movq (%r10),%r8
|
||
|
addq $8,%r10
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
movq (%r10),%r9
|
||
|
addq $8,%r10
|
||
|
leaq 0(%rsp),%rax
|
||
|
.Largs_loop:
|
||
|
decq %r11
|
||
|
js .Largs_done
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
movq %r11,56(%rsp)
|
||
|
movq (%r10),%r11
|
||
|
movq %r11,(%rax)
|
||
|
movq 56(%rsp),%r11
|
||
|
|
||
|
addq $8,%r10
|
||
|
addq $8,%rax
|
||
|
jmp .Largs_loop
|
||
|
|
||
|
.Largs_done:
|
||
|
movq 32(%rsp),%rax
|
||
|
movq 48(%rsp),%r10
|
||
|
testq %r10,%r10
|
||
|
jz .Lno_unwind
|
||
|
|
||
|
|
||
|
pushfq
|
||
|
orq $0x100,0(%rsp)
|
||
|
popfq
|
||
|
|
||
|
|
||
|
|
||
|
nop
|
||
|
.globl abi_test_unwind_start
|
||
|
.hidden abi_test_unwind_start
|
||
|
abi_test_unwind_start:
|
||
|
|
||
|
call *%rax
|
||
|
.globl abi_test_unwind_return
|
||
|
.hidden abi_test_unwind_return
|
||
|
abi_test_unwind_return:
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
pushfq
|
||
|
andq $-0x101,0(%rsp)
|
||
|
popfq
|
||
|
.globl abi_test_unwind_stop
|
||
|
.hidden abi_test_unwind_stop
|
||
|
abi_test_unwind_stop:
|
||
|
|
||
|
jmp .Lcall_done
|
||
|
|
||
|
.Lno_unwind:
|
||
|
call *%rax
|
||
|
|
||
|
.Lcall_done:
|
||
|
|
||
|
movq 40(%rsp),%rsi
|
||
|
movq %rbx,0(%rsi)
|
||
|
movq %rbp,8(%rsi)
|
||
|
movq %r12,16(%rsi)
|
||
|
movq %r13,24(%rsi)
|
||
|
movq %r14,32(%rsi)
|
||
|
movq %r15,40(%rsi)
|
||
|
movq 64(%rsp),%rbx
|
||
|
.cfi_restore rbx
|
||
|
movq 72(%rsp),%rbp
|
||
|
.cfi_restore rbp
|
||
|
movq 80(%rsp),%r12
|
||
|
.cfi_restore r12
|
||
|
movq 88(%rsp),%r13
|
||
|
.cfi_restore r13
|
||
|
movq 96(%rsp),%r14
|
||
|
.cfi_restore r14
|
||
|
movq 104(%rsp),%r15
|
||
|
.cfi_restore r15
|
||
|
addq $120,%rsp
|
||
|
.cfi_adjust_cfa_offset -120
|
||
|
|
||
|
|
||
|
.byte 0xf3,0xc3
|
||
|
.cfi_endproc
|
||
|
.Labi_test_trampoline_seh_end:
|
||
|
.size abi_test_trampoline,.-abi_test_trampoline
|
||
|
.type abi_test_clobber_rax, @function
|
||
|
.globl abi_test_clobber_rax
|
||
|
.hidden abi_test_clobber_rax
|
||
|
.align 16
|
||
|
abi_test_clobber_rax:
|
||
|
xorq %rax,%rax
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rax,.-abi_test_clobber_rax
|
||
|
.type abi_test_clobber_rbx, @function
|
||
|
.globl abi_test_clobber_rbx
|
||
|
.hidden abi_test_clobber_rbx
|
||
|
.align 16
|
||
|
abi_test_clobber_rbx:
|
||
|
xorq %rbx,%rbx
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rbx,.-abi_test_clobber_rbx
|
||
|
.type abi_test_clobber_rcx, @function
|
||
|
.globl abi_test_clobber_rcx
|
||
|
.hidden abi_test_clobber_rcx
|
||
|
.align 16
|
||
|
abi_test_clobber_rcx:
|
||
|
xorq %rcx,%rcx
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rcx,.-abi_test_clobber_rcx
|
||
|
.type abi_test_clobber_rdx, @function
|
||
|
.globl abi_test_clobber_rdx
|
||
|
.hidden abi_test_clobber_rdx
|
||
|
.align 16
|
||
|
abi_test_clobber_rdx:
|
||
|
xorq %rdx,%rdx
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rdx,.-abi_test_clobber_rdx
|
||
|
.type abi_test_clobber_rdi, @function
|
||
|
.globl abi_test_clobber_rdi
|
||
|
.hidden abi_test_clobber_rdi
|
||
|
.align 16
|
||
|
abi_test_clobber_rdi:
|
||
|
xorq %rdi,%rdi
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rdi,.-abi_test_clobber_rdi
|
||
|
.type abi_test_clobber_rsi, @function
|
||
|
.globl abi_test_clobber_rsi
|
||
|
.hidden abi_test_clobber_rsi
|
||
|
.align 16
|
||
|
abi_test_clobber_rsi:
|
||
|
xorq %rsi,%rsi
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rsi,.-abi_test_clobber_rsi
|
||
|
.type abi_test_clobber_rbp, @function
|
||
|
.globl abi_test_clobber_rbp
|
||
|
.hidden abi_test_clobber_rbp
|
||
|
.align 16
|
||
|
abi_test_clobber_rbp:
|
||
|
xorq %rbp,%rbp
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_rbp,.-abi_test_clobber_rbp
|
||
|
.type abi_test_clobber_r8, @function
|
||
|
.globl abi_test_clobber_r8
|
||
|
.hidden abi_test_clobber_r8
|
||
|
.align 16
|
||
|
abi_test_clobber_r8:
|
||
|
xorq %r8,%r8
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r8,.-abi_test_clobber_r8
|
||
|
.type abi_test_clobber_r9, @function
|
||
|
.globl abi_test_clobber_r9
|
||
|
.hidden abi_test_clobber_r9
|
||
|
.align 16
|
||
|
abi_test_clobber_r9:
|
||
|
xorq %r9,%r9
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r9,.-abi_test_clobber_r9
|
||
|
.type abi_test_clobber_r10, @function
|
||
|
.globl abi_test_clobber_r10
|
||
|
.hidden abi_test_clobber_r10
|
||
|
.align 16
|
||
|
abi_test_clobber_r10:
|
||
|
xorq %r10,%r10
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r10,.-abi_test_clobber_r10
|
||
|
.type abi_test_clobber_r11, @function
|
||
|
.globl abi_test_clobber_r11
|
||
|
.hidden abi_test_clobber_r11
|
||
|
.align 16
|
||
|
abi_test_clobber_r11:
|
||
|
xorq %r11,%r11
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r11,.-abi_test_clobber_r11
|
||
|
.type abi_test_clobber_r12, @function
|
||
|
.globl abi_test_clobber_r12
|
||
|
.hidden abi_test_clobber_r12
|
||
|
.align 16
|
||
|
abi_test_clobber_r12:
|
||
|
xorq %r12,%r12
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r12,.-abi_test_clobber_r12
|
||
|
.type abi_test_clobber_r13, @function
|
||
|
.globl abi_test_clobber_r13
|
||
|
.hidden abi_test_clobber_r13
|
||
|
.align 16
|
||
|
abi_test_clobber_r13:
|
||
|
xorq %r13,%r13
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r13,.-abi_test_clobber_r13
|
||
|
.type abi_test_clobber_r14, @function
|
||
|
.globl abi_test_clobber_r14
|
||
|
.hidden abi_test_clobber_r14
|
||
|
.align 16
|
||
|
abi_test_clobber_r14:
|
||
|
xorq %r14,%r14
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r14,.-abi_test_clobber_r14
|
||
|
.type abi_test_clobber_r15, @function
|
||
|
.globl abi_test_clobber_r15
|
||
|
.hidden abi_test_clobber_r15
|
||
|
.align 16
|
||
|
abi_test_clobber_r15:
|
||
|
xorq %r15,%r15
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_r15,.-abi_test_clobber_r15
|
||
|
.type abi_test_clobber_xmm0, @function
|
||
|
.globl abi_test_clobber_xmm0
|
||
|
.hidden abi_test_clobber_xmm0
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm0:
|
||
|
pxor %xmm0,%xmm0
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm0,.-abi_test_clobber_xmm0
|
||
|
.type abi_test_clobber_xmm1, @function
|
||
|
.globl abi_test_clobber_xmm1
|
||
|
.hidden abi_test_clobber_xmm1
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm1:
|
||
|
pxor %xmm1,%xmm1
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm1,.-abi_test_clobber_xmm1
|
||
|
.type abi_test_clobber_xmm2, @function
|
||
|
.globl abi_test_clobber_xmm2
|
||
|
.hidden abi_test_clobber_xmm2
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm2:
|
||
|
pxor %xmm2,%xmm2
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm2,.-abi_test_clobber_xmm2
|
||
|
.type abi_test_clobber_xmm3, @function
|
||
|
.globl abi_test_clobber_xmm3
|
||
|
.hidden abi_test_clobber_xmm3
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm3:
|
||
|
pxor %xmm3,%xmm3
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm3,.-abi_test_clobber_xmm3
|
||
|
.type abi_test_clobber_xmm4, @function
|
||
|
.globl abi_test_clobber_xmm4
|
||
|
.hidden abi_test_clobber_xmm4
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm4:
|
||
|
pxor %xmm4,%xmm4
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm4,.-abi_test_clobber_xmm4
|
||
|
.type abi_test_clobber_xmm5, @function
|
||
|
.globl abi_test_clobber_xmm5
|
||
|
.hidden abi_test_clobber_xmm5
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm5:
|
||
|
pxor %xmm5,%xmm5
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm5,.-abi_test_clobber_xmm5
|
||
|
.type abi_test_clobber_xmm6, @function
|
||
|
.globl abi_test_clobber_xmm6
|
||
|
.hidden abi_test_clobber_xmm6
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm6:
|
||
|
pxor %xmm6,%xmm6
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm6,.-abi_test_clobber_xmm6
|
||
|
.type abi_test_clobber_xmm7, @function
|
||
|
.globl abi_test_clobber_xmm7
|
||
|
.hidden abi_test_clobber_xmm7
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm7:
|
||
|
pxor %xmm7,%xmm7
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm7,.-abi_test_clobber_xmm7
|
||
|
.type abi_test_clobber_xmm8, @function
|
||
|
.globl abi_test_clobber_xmm8
|
||
|
.hidden abi_test_clobber_xmm8
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm8:
|
||
|
pxor %xmm8,%xmm8
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm8,.-abi_test_clobber_xmm8
|
||
|
.type abi_test_clobber_xmm9, @function
|
||
|
.globl abi_test_clobber_xmm9
|
||
|
.hidden abi_test_clobber_xmm9
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm9:
|
||
|
pxor %xmm9,%xmm9
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm9,.-abi_test_clobber_xmm9
|
||
|
.type abi_test_clobber_xmm10, @function
|
||
|
.globl abi_test_clobber_xmm10
|
||
|
.hidden abi_test_clobber_xmm10
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm10:
|
||
|
pxor %xmm10,%xmm10
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm10,.-abi_test_clobber_xmm10
|
||
|
.type abi_test_clobber_xmm11, @function
|
||
|
.globl abi_test_clobber_xmm11
|
||
|
.hidden abi_test_clobber_xmm11
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm11:
|
||
|
pxor %xmm11,%xmm11
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm11,.-abi_test_clobber_xmm11
|
||
|
.type abi_test_clobber_xmm12, @function
|
||
|
.globl abi_test_clobber_xmm12
|
||
|
.hidden abi_test_clobber_xmm12
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm12:
|
||
|
pxor %xmm12,%xmm12
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm12,.-abi_test_clobber_xmm12
|
||
|
.type abi_test_clobber_xmm13, @function
|
||
|
.globl abi_test_clobber_xmm13
|
||
|
.hidden abi_test_clobber_xmm13
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm13:
|
||
|
pxor %xmm13,%xmm13
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm13,.-abi_test_clobber_xmm13
|
||
|
.type abi_test_clobber_xmm14, @function
|
||
|
.globl abi_test_clobber_xmm14
|
||
|
.hidden abi_test_clobber_xmm14
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm14:
|
||
|
pxor %xmm14,%xmm14
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm14,.-abi_test_clobber_xmm14
|
||
|
.type abi_test_clobber_xmm15, @function
|
||
|
.globl abi_test_clobber_xmm15
|
||
|
.hidden abi_test_clobber_xmm15
|
||
|
.align 16
|
||
|
abi_test_clobber_xmm15:
|
||
|
pxor %xmm15,%xmm15
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_clobber_xmm15,.-abi_test_clobber_xmm15
|
||
|
|
||
|
|
||
|
|
||
|
.type abi_test_bad_unwind_wrong_register, @function
|
||
|
.globl abi_test_bad_unwind_wrong_register
|
||
|
.hidden abi_test_bad_unwind_wrong_register
|
||
|
.align 16
|
||
|
abi_test_bad_unwind_wrong_register:
|
||
|
.cfi_startproc
|
||
|
.Labi_test_bad_unwind_wrong_register_seh_begin:
|
||
|
pushq %r12
|
||
|
.cfi_adjust_cfa_offset 8
|
||
|
.cfi_offset %r13,-16
|
||
|
.Labi_test_bad_unwind_wrong_register_seh_push_r13:
|
||
|
|
||
|
|
||
|
|
||
|
nop
|
||
|
popq %r12
|
||
|
.cfi_adjust_cfa_offset -8
|
||
|
.cfi_restore %r12
|
||
|
.byte 0xf3,0xc3
|
||
|
.Labi_test_bad_unwind_wrong_register_seh_end:
|
||
|
.cfi_endproc
|
||
|
.size abi_test_bad_unwind_wrong_register,.-abi_test_bad_unwind_wrong_register
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.type abi_test_bad_unwind_temporary, @function
|
||
|
.globl abi_test_bad_unwind_temporary
|
||
|
.hidden abi_test_bad_unwind_temporary
|
||
|
.align 16
|
||
|
abi_test_bad_unwind_temporary:
|
||
|
.cfi_startproc
|
||
|
.Labi_test_bad_unwind_temporary_seh_begin:
|
||
|
pushq %r12
|
||
|
.cfi_adjust_cfa_offset 8
|
||
|
.cfi_offset %r12,-16
|
||
|
.Labi_test_bad_unwind_temporary_seh_push_r12:
|
||
|
|
||
|
movq %r12,%rax
|
||
|
incq %rax
|
||
|
movq %rax,(%rsp)
|
||
|
|
||
|
|
||
|
|
||
|
movq %r12,(%rsp)
|
||
|
|
||
|
|
||
|
popq %r12
|
||
|
.cfi_adjust_cfa_offset -8
|
||
|
.cfi_restore %r12
|
||
|
.byte 0xf3,0xc3
|
||
|
.Labi_test_bad_unwind_temporary_seh_end:
|
||
|
.cfi_endproc
|
||
|
.size abi_test_bad_unwind_temporary,.-abi_test_bad_unwind_temporary
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
.type abi_test_set_direction_flag, @function
|
||
|
.globl abi_test_get_and_clear_direction_flag
|
||
|
.hidden abi_test_get_and_clear_direction_flag
|
||
|
abi_test_get_and_clear_direction_flag:
|
||
|
pushfq
|
||
|
popq %rax
|
||
|
andq $0x400,%rax
|
||
|
shrq $10,%rax
|
||
|
cld
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_get_and_clear_direction_flag,.-abi_test_get_and_clear_direction_flag
|
||
|
|
||
|
|
||
|
|
||
|
.type abi_test_set_direction_flag, @function
|
||
|
.globl abi_test_set_direction_flag
|
||
|
.hidden abi_test_set_direction_flag
|
||
|
abi_test_set_direction_flag:
|
||
|
std
|
||
|
.byte 0xf3,0xc3
|
||
|
.size abi_test_set_direction_flag,.-abi_test_set_direction_flag
|
||
|
#endif
|
||
|
.section .note.GNU-stack,"",@progbits
|