// 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	









.globl	_abi_test_trampoline
.private_extern _abi_test_trampoline
.p2align	4
_abi_test_trampoline:
L$abi_test_trampoline_seh_begin:










	subq	$120,%rsp

L$abi_test_trampoline_seh_prolog_alloc:
	movq	%r8,48(%rsp)
	movq	%rbx,64(%rsp)

L$abi_test_trampoline_seh_prolog_rbx:
	movq	%rbp,72(%rsp)

L$abi_test_trampoline_seh_prolog_rbp:
	movq	%r12,80(%rsp)

L$abi_test_trampoline_seh_prolog_r12:
	movq	%r13,88(%rsp)

L$abi_test_trampoline_seh_prolog_r13:
	movq	%r14,96(%rsp)

L$abi_test_trampoline_seh_prolog_r14:
	movq	%r15,104(%rsp)

L$abi_test_trampoline_seh_prolog_r15:
L$abi_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	L$args_done
	movq	(%r10),%rdi
	addq	$8,%r10
	decq	%r11
	js	L$args_done
	movq	(%r10),%rsi
	addq	$8,%r10
	decq	%r11
	js	L$args_done
	movq	(%r10),%rdx
	addq	$8,%r10
	decq	%r11
	js	L$args_done
	movq	(%r10),%rcx
	addq	$8,%r10
	decq	%r11
	js	L$args_done
	movq	(%r10),%r8
	addq	$8,%r10
	decq	%r11
	js	L$args_done
	movq	(%r10),%r9
	addq	$8,%r10
	leaq	0(%rsp),%rax
L$args_loop:
	decq	%r11
	js	L$args_done






	movq	%r11,56(%rsp)
	movq	(%r10),%r11
	movq	%r11,(%rax)
	movq	56(%rsp),%r11

	addq	$8,%r10
	addq	$8,%rax
	jmp	L$args_loop

L$args_done:
	movq	32(%rsp),%rax
	movq	48(%rsp),%r10
	testq	%r10,%r10
	jz	L$no_unwind


	pushfq
	orq	$0x100,0(%rsp)
	popfq



	nop
.globl	_abi_test_unwind_start
.private_extern _abi_test_unwind_start
_abi_test_unwind_start:

	call	*%rax
.globl	_abi_test_unwind_return
.private_extern _abi_test_unwind_return
_abi_test_unwind_return:




	pushfq
	andq	$-0x101,0(%rsp)
	popfq
.globl	_abi_test_unwind_stop
.private_extern _abi_test_unwind_stop
_abi_test_unwind_stop:

	jmp	L$call_done

L$no_unwind:
	call	*%rax

L$call_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

	movq	72(%rsp),%rbp

	movq	80(%rsp),%r12

	movq	88(%rsp),%r13

	movq	96(%rsp),%r14

	movq	104(%rsp),%r15

	addq	$120,%rsp



	.byte	0xf3,0xc3

L$abi_test_trampoline_seh_end:


.globl	_abi_test_clobber_rax
.private_extern _abi_test_clobber_rax
.p2align	4
_abi_test_clobber_rax:
	xorq	%rax,%rax
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_rbx
.private_extern _abi_test_clobber_rbx
.p2align	4
_abi_test_clobber_rbx:
	xorq	%rbx,%rbx
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_rcx
.private_extern _abi_test_clobber_rcx
.p2align	4
_abi_test_clobber_rcx:
	xorq	%rcx,%rcx
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_rdx
.private_extern _abi_test_clobber_rdx
.p2align	4
_abi_test_clobber_rdx:
	xorq	%rdx,%rdx
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_rdi
.private_extern _abi_test_clobber_rdi
.p2align	4
_abi_test_clobber_rdi:
	xorq	%rdi,%rdi
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_rsi
.private_extern _abi_test_clobber_rsi
.p2align	4
_abi_test_clobber_rsi:
	xorq	%rsi,%rsi
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_rbp
.private_extern _abi_test_clobber_rbp
.p2align	4
_abi_test_clobber_rbp:
	xorq	%rbp,%rbp
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r8
.private_extern _abi_test_clobber_r8
.p2align	4
_abi_test_clobber_r8:
	xorq	%r8,%r8
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r9
.private_extern _abi_test_clobber_r9
.p2align	4
_abi_test_clobber_r9:
	xorq	%r9,%r9
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r10
.private_extern _abi_test_clobber_r10
.p2align	4
_abi_test_clobber_r10:
	xorq	%r10,%r10
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r11
.private_extern _abi_test_clobber_r11
.p2align	4
_abi_test_clobber_r11:
	xorq	%r11,%r11
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r12
.private_extern _abi_test_clobber_r12
.p2align	4
_abi_test_clobber_r12:
	xorq	%r12,%r12
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r13
.private_extern _abi_test_clobber_r13
.p2align	4
_abi_test_clobber_r13:
	xorq	%r13,%r13
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r14
.private_extern _abi_test_clobber_r14
.p2align	4
_abi_test_clobber_r14:
	xorq	%r14,%r14
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_r15
.private_extern _abi_test_clobber_r15
.p2align	4
_abi_test_clobber_r15:
	xorq	%r15,%r15
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm0
.private_extern _abi_test_clobber_xmm0
.p2align	4
_abi_test_clobber_xmm0:
	pxor	%xmm0,%xmm0
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm1
.private_extern _abi_test_clobber_xmm1
.p2align	4
_abi_test_clobber_xmm1:
	pxor	%xmm1,%xmm1
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm2
.private_extern _abi_test_clobber_xmm2
.p2align	4
_abi_test_clobber_xmm2:
	pxor	%xmm2,%xmm2
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm3
.private_extern _abi_test_clobber_xmm3
.p2align	4
_abi_test_clobber_xmm3:
	pxor	%xmm3,%xmm3
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm4
.private_extern _abi_test_clobber_xmm4
.p2align	4
_abi_test_clobber_xmm4:
	pxor	%xmm4,%xmm4
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm5
.private_extern _abi_test_clobber_xmm5
.p2align	4
_abi_test_clobber_xmm5:
	pxor	%xmm5,%xmm5
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm6
.private_extern _abi_test_clobber_xmm6
.p2align	4
_abi_test_clobber_xmm6:
	pxor	%xmm6,%xmm6
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm7
.private_extern _abi_test_clobber_xmm7
.p2align	4
_abi_test_clobber_xmm7:
	pxor	%xmm7,%xmm7
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm8
.private_extern _abi_test_clobber_xmm8
.p2align	4
_abi_test_clobber_xmm8:
	pxor	%xmm8,%xmm8
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm9
.private_extern _abi_test_clobber_xmm9
.p2align	4
_abi_test_clobber_xmm9:
	pxor	%xmm9,%xmm9
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm10
.private_extern _abi_test_clobber_xmm10
.p2align	4
_abi_test_clobber_xmm10:
	pxor	%xmm10,%xmm10
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm11
.private_extern _abi_test_clobber_xmm11
.p2align	4
_abi_test_clobber_xmm11:
	pxor	%xmm11,%xmm11
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm12
.private_extern _abi_test_clobber_xmm12
.p2align	4
_abi_test_clobber_xmm12:
	pxor	%xmm12,%xmm12
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm13
.private_extern _abi_test_clobber_xmm13
.p2align	4
_abi_test_clobber_xmm13:
	pxor	%xmm13,%xmm13
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm14
.private_extern _abi_test_clobber_xmm14
.p2align	4
_abi_test_clobber_xmm14:
	pxor	%xmm14,%xmm14
	.byte	0xf3,0xc3


.globl	_abi_test_clobber_xmm15
.private_extern _abi_test_clobber_xmm15
.p2align	4
_abi_test_clobber_xmm15:
	pxor	%xmm15,%xmm15
	.byte	0xf3,0xc3





.globl	_abi_test_bad_unwind_wrong_register
.private_extern _abi_test_bad_unwind_wrong_register
.p2align	4
_abi_test_bad_unwind_wrong_register:

L$abi_test_bad_unwind_wrong_register_seh_begin:
	pushq	%r12

L$abi_test_bad_unwind_wrong_register_seh_push_r13:



	nop
	popq	%r12

	.byte	0xf3,0xc3
L$abi_test_bad_unwind_wrong_register_seh_end:







.globl	_abi_test_bad_unwind_temporary
.private_extern _abi_test_bad_unwind_temporary
.p2align	4
_abi_test_bad_unwind_temporary:

L$abi_test_bad_unwind_temporary_seh_begin:
	pushq	%r12

L$abi_test_bad_unwind_temporary_seh_push_r12:

	movq	%r12,%rax
	incq	%rax
	movq	%rax,(%rsp)



	movq	%r12,(%rsp)


	popq	%r12

	.byte	0xf3,0xc3
L$abi_test_bad_unwind_temporary_seh_end:







.globl	_abi_test_get_and_clear_direction_flag
.private_extern _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





.globl	_abi_test_set_direction_flag
.private_extern _abi_test_set_direction_flag
_abi_test_set_direction_flag:
	std
	.byte	0xf3,0xc3

#endif
