| // This file is generated from a similarly-named Perl script in the BoringSSL |
| // source tree. Do not edit by hand. |
| |
| #include <openssl/asm_base.h> |
| |
| #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__ELF__) |
| .text |
| |
| |
| |
| |
| |
| |
| |
| |
| .type abi_test_trampoline, @function |
| .globl abi_test_trampoline |
| .hidden abi_test_trampoline |
| .align 16 |
| abi_test_trampoline: |
| .cfi_startproc |
| |
| _CET_ENDBR |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| subq $120,%rsp |
| .cfi_adjust_cfa_offset 120 |
| |
| movq %r8,48(%rsp) |
| movq %rbx,64(%rsp) |
| .cfi_offset rbx, -64 |
| |
| movq %rbp,72(%rsp) |
| .cfi_offset rbp, -56 |
| |
| movq %r12,80(%rsp) |
| .cfi_offset r12, -48 |
| |
| movq %r13,88(%rsp) |
| .cfi_offset r13, -40 |
| |
| movq %r14,96(%rsp) |
| .cfi_offset r14, -32 |
| |
| movq %r15,104(%rsp) |
| .cfi_offset r15, -24 |
| |
| |
| 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 |
| |
| |
| ret |
| .cfi_endproc |
| |
| .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: |
| _CET_ENDBR |
| xorq %rax,%rax |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %rbx,%rbx |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %rcx,%rcx |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %rdx,%rdx |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %rdi,%rdi |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %rsi,%rsi |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %rbp,%rbp |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r8,%r8 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r9,%r9 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r10,%r10 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r11,%r11 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r12,%r12 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r13,%r13 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r14,%r14 |
| ret |
| .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: |
| _CET_ENDBR |
| xorq %r15,%r15 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm0,%xmm0 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm1,%xmm1 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm2,%xmm2 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm3,%xmm3 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm4,%xmm4 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm5,%xmm5 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm6,%xmm6 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm7,%xmm7 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm8,%xmm8 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm9,%xmm9 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm10,%xmm10 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm11,%xmm11 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm12,%xmm12 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm13,%xmm13 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm14,%xmm14 |
| ret |
| .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: |
| _CET_ENDBR |
| pxor %xmm15,%xmm15 |
| ret |
| .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 |
| |
| _CET_ENDBR |
| pushq %r12 |
| .cfi_adjust_cfa_offset 8 |
| .cfi_offset %r13,-16 |
| |
| |
| |
| |
| |
| nop |
| popq %r12 |
| .cfi_adjust_cfa_offset -8 |
| .cfi_restore %r12 |
| ret |
| |
| .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 |
| |
| _CET_ENDBR |
| pushq %r12 |
| .cfi_adjust_cfa_offset 8 |
| .cfi_offset %r12,-16 |
| |
| |
| |
| movq %r12,%rax |
| incq %rax |
| movq %rax,(%rsp) |
| |
| |
| |
| movq %r12,(%rsp) |
| |
| |
| popq %r12 |
| .cfi_adjust_cfa_offset -8 |
| .cfi_restore %r12 |
| ret |
| .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: |
| _CET_ENDBR |
| pushfq |
| popq %rax |
| andq $0x400,%rax |
| shrq $10,%rax |
| cld |
| ret |
| .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: |
| _CET_ENDBR |
| std |
| ret |
| .size abi_test_set_direction_flag,.-abi_test_set_direction_flag |
| #endif |