	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function salsa20_wordtobyte
_salsa20_wordtobyte:                    ## @salsa20_wordtobyte
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%rbx
	subq	$136, %rsp
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r14
	movq	%rdi, %r15
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -32(%rbp)
	leaq	-160(%rbp), %rdi
	movl	$128, %edx
	callq	_memcpy
	movl	$22, %ebx
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movq	-64(%rbp), %rdi
	addq	-160(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-128(%rbp), %rax
	movq	%rax, -128(%rbp)
	addq	-160(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-96(%rbp), %rax
	movq	%rax, -96(%rbp)
	addq	-128(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-64(%rbp), %rax
	movq	%rax, -64(%rbp)
	addq	-96(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -160(%rbp)
	movq	-152(%rbp), %rdi
	addq	-120(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-88(%rbp), %rax
	movq	%rax, -88(%rbp)
	addq	-120(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-56(%rbp), %rax
	movq	%rax, -56(%rbp)
	addq	-88(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-152(%rbp), %rax
	movq	%rax, -152(%rbp)
	addq	-56(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -120(%rbp)
	movq	-112(%rbp), %rdi
	addq	-80(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-48(%rbp), %rax
	movq	%rax, -48(%rbp)
	addq	-80(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-144(%rbp), %rax
	movq	%rax, -144(%rbp)
	addq	-48(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-112(%rbp), %rax
	movq	%rax, -112(%rbp)
	addq	-144(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -80(%rbp)
	movq	-72(%rbp), %rdi
	addq	-40(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-136(%rbp), %rax
	movq	%rax, -136(%rbp)
	addq	-40(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-104(%rbp), %rax
	movq	%rax, -104(%rbp)
	addq	-136(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-72(%rbp), %rax
	movq	%rax, -72(%rbp)
	addq	-104(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -40(%rbp)
	movq	-136(%rbp), %rdi
	addq	-160(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-152(%rbp), %rax
	movq	%rax, -152(%rbp)
	addq	-160(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-144(%rbp), %rax
	movq	%rax, -144(%rbp)
	addq	-152(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-136(%rbp), %rax
	movq	%rax, -136(%rbp)
	addq	-144(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -160(%rbp)
	movq	-128(%rbp), %rdi
	addq	-120(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-112(%rbp), %rax
	movq	%rax, -112(%rbp)
	addq	-120(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-104(%rbp), %rax
	movq	%rax, -104(%rbp)
	addq	-112(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-128(%rbp), %rax
	movq	%rax, -128(%rbp)
	addq	-104(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -120(%rbp)
	movq	-88(%rbp), %rdi
	addq	-80(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-72(%rbp), %rax
	movq	%rax, -72(%rbp)
	addq	-80(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-96(%rbp), %rax
	movq	%rax, -96(%rbp)
	addq	-72(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-88(%rbp), %rax
	movq	%rax, -88(%rbp)
	addq	-96(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	%rax, -80(%rbp)
	movq	-48(%rbp), %rdi
	addq	-40(%rbp), %rdi
	movl	$7, %esi
	callq	_rol32
	xorq	-64(%rbp), %rax
	movq	%rax, -64(%rbp)
	addq	-40(%rbp), %rax
	movq	%rax, %rdi
	movl	$9, %esi
	callq	_rol32
	xorq	-56(%rbp), %rax
	movq	%rax, -56(%rbp)
	addq	-64(%rbp), %rax
	movq	%rax, %rdi
	movl	$13, %esi
	callq	_rol32
	xorq	-48(%rbp), %rax
	movq	%rax, -48(%rbp)
	addq	-56(%rbp), %rax
	movq	%rax, %rdi
	movl	$18, %esi
	callq	_rol32
	xorq	-40(%rbp), %rax
	movq	%rax, -40(%rbp)
	addl	$-2, %ebx
	cmpl	$2, %ebx
	ja	LBB0_1
## %bb.2:
	movdqu	(%r14), %xmm0
	paddq	-160(%rbp), %xmm0
	movdqa	%xmm0, -160(%rbp)
	movdqu	16(%r14), %xmm1
	paddq	-144(%rbp), %xmm1
	movdqa	%xmm1, -144(%rbp)
	movdqu	32(%r14), %xmm1
	paddq	-128(%rbp), %xmm1
	movdqa	%xmm1, -128(%rbp)
	movdqu	48(%r14), %xmm1
	paddq	-112(%rbp), %xmm1
	movdqa	%xmm1, -112(%rbp)
	movdqu	64(%r14), %xmm1
	paddq	-96(%rbp), %xmm1
	movdqa	%xmm1, -96(%rbp)
	movdqu	80(%r14), %xmm1
	paddq	-80(%rbp), %xmm1
	movdqa	%xmm1, -80(%rbp)
	movdqu	96(%r14), %xmm1
	paddq	-64(%rbp), %xmm1
	movdqa	%xmm1, -64(%rbp)
	movdqa	-48(%rbp), %xmm1
	pinsrq	$1, %rax, %xmm1
	movdqu	112(%r14), %xmm2
	paddq	%xmm2, %xmm1
	movdqa	%xmm1, -48(%rbp)
	movq	%xmm0, %rsi
	movq	%r15, %rdi
	callq	_U32TO8_LITTLE
	leaq	16(%r15), %rdi
	movq	-152(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	32(%r15), %rdi
	movq	-144(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	48(%r15), %rdi
	movq	-136(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	64(%r15), %rdi
	movq	-128(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	80(%r15), %rdi
	movq	-120(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	96(%r15), %rdi
	movq	-112(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	112(%r15), %rdi
	movq	-104(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	128(%r15), %rdi
	movq	-96(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	144(%r15), %rdi
	movq	-88(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	160(%r15), %rdi
	movq	-80(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	176(%r15), %rdi
	movq	-72(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	192(%r15), %rdi
	movq	-64(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	208(%r15), %rdi
	movq	-56(%rbp), %rsi
	callq	_U32TO8_LITTLE
	leaq	224(%r15), %rdi
	movq	-48(%rbp), %rsi
	callq	_U32TO8_LITTLE
	addq	$240, %r15
	movq	-40(%rbp), %rsi
	movq	%r15, %rdi
	callq	_U32TO8_LITTLE
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-32(%rbp), %rax
	jne	LBB0_4
## %bb.3:
	addq	$136, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_4:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_salsa20_wordtobyte
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function salsa20_wordtobyte
_salsa20_wordtobyte:                    ; @salsa20_wordtobyte
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #192
	.cfi_def_cfa_offset 192
	stp	x22, x21, [sp, #144]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #160]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #176]            ; 16-byte Folded Spill
	add	x29, sp, #176
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x20, x1
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-40]
	mov	x0, sp
	mov	w2, #128
	bl	_memcpy
	mov	w21, #22
LBB0_1:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x8, [sp]
	ldr	x9, [sp, #96]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldr	x8, [sp, #32]
	ldr	x9, [sp]
	eor	x8, x8, x0
	str	x8, [sp, #32]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldr	x8, [sp, #64]
	ldr	x9, [sp, #32]
	eor	x8, x8, x0
	str	x8, [sp, #64]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldr	x8, [sp, #96]
	ldr	x9, [sp, #64]
	eor	x8, x8, x0
	str	x8, [sp, #96]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldp	x8, x9, [sp]
	eor	x8, x8, x0
	str	x8, [sp]
	ldr	x8, [sp, #40]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldr	x8, [sp, #72]
	ldr	x9, [sp, #40]
	eor	x8, x8, x0
	str	x8, [sp, #72]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldr	x8, [sp, #104]
	ldr	x9, [sp, #72]
	eor	x8, x8, x0
	str	x8, [sp, #104]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldr	x8, [sp, #8]
	ldr	x9, [sp, #104]
	eor	x8, x8, x0
	str	x8, [sp, #8]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldp	x8, x9, [sp, #40]
	eor	x8, x8, x0
	str	x8, [sp, #40]
	ldr	x8, [sp, #80]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldr	x8, [sp, #112]
	ldr	x9, [sp, #80]
	eor	x8, x8, x0
	str	x8, [sp, #112]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldr	x8, [sp, #16]
	ldr	x9, [sp, #112]
	eor	x8, x8, x0
	str	x8, [sp, #16]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldr	x8, [sp, #48]
	ldr	x9, [sp, #16]
	eor	x8, x8, x0
	str	x8, [sp, #48]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldp	x8, x9, [sp, #80]
	eor	x8, x8, x0
	str	x8, [sp, #80]
	ldr	x8, [sp, #120]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldr	x8, [sp, #24]
	ldr	x9, [sp, #120]
	eor	x8, x8, x0
	str	x8, [sp, #24]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldr	x8, [sp, #56]
	ldr	x9, [sp, #24]
	eor	x8, x8, x0
	str	x8, [sp, #56]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldr	x8, [sp, #88]
	ldr	x9, [sp, #56]
	eor	x8, x8, x0
	str	x8, [sp, #88]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldr	x8, [sp, #120]
	eor	x8, x8, x0
	str	x8, [sp, #120]
	ldr	x8, [sp]
	ldr	x9, [sp, #24]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldp	x9, x8, [sp]
	eor	x8, x8, x0
	str	x8, [sp, #8]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldp	x9, x8, [sp, #8]
	eor	x8, x8, x0
	str	x8, [sp, #16]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldp	x9, x8, [sp, #16]
	eor	x8, x8, x0
	str	x8, [sp, #24]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldr	x8, [sp]
	eor	x8, x8, x0
	str	x8, [sp]
	ldp	x9, x8, [sp, #32]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldp	x9, x8, [sp, #40]
	eor	x8, x8, x0
	str	x8, [sp, #48]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldp	x9, x8, [sp, #48]
	eor	x8, x8, x0
	str	x8, [sp, #56]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldr	x8, [sp, #32]
	ldr	x9, [sp, #56]
	eor	x8, x8, x0
	str	x8, [sp, #32]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldr	x8, [sp, #40]
	eor	x8, x8, x0
	str	x8, [sp, #40]
	ldp	x9, x8, [sp, #72]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldp	x9, x8, [sp, #80]
	eor	x8, x8, x0
	str	x8, [sp, #88]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldr	x8, [sp, #64]
	ldr	x9, [sp, #88]
	eor	x8, x8, x0
	str	x8, [sp, #64]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldp	x9, x8, [sp, #64]
	eor	x8, x8, x0
	str	x8, [sp, #72]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldr	x8, [sp, #80]
	eor	x8, x8, x0
	str	x8, [sp, #80]
	ldp	x9, x8, [sp, #112]
	add	x0, x9, x8
	mov	w1, #7
	bl	_rol32
	ldr	x8, [sp, #96]
	ldr	x9, [sp, #120]
	eor	x8, x8, x0
	str	x8, [sp, #96]
	add	x0, x9, x8
	mov	w1, #9
	bl	_rol32
	ldp	x9, x8, [sp, #96]
	eor	x8, x8, x0
	str	x8, [sp, #104]
	add	x0, x9, x8
	mov	w1, #13
	bl	_rol32
	ldp	x9, x8, [sp, #104]
	eor	x8, x8, x0
	str	x8, [sp, #112]
	add	x0, x9, x8
	mov	w1, #18
	bl	_rol32
	ldr	x8, [sp, #120]
	eor	x8, x8, x0
	str	x8, [sp, #120]
	sub	w21, w21, #2
	cmp	w21, #2
	b.hi	LBB0_1
; %bb.2:
	ldp	q0, q1, [x20]
	ldp	q2, q3, [sp]
	add.2d	v0, v2, v0
	add.2d	v1, v3, v1
	stp	q0, q1, [sp]
	ldp	q1, q2, [x20, #32]
	ldp	q3, q4, [sp, #32]
	add.2d	v1, v3, v1
	add.2d	v2, v4, v2
	stp	q1, q2, [sp, #32]
	ldp	q1, q2, [x20, #64]
	ldp	q3, q4, [sp, #64]
	add.2d	v1, v3, v1
	add.2d	v2, v4, v2
	stp	q1, q2, [sp, #64]
	ldr	q1, [x20, #96]
	ldr	q2, [sp, #96]
	add.2d	v1, v2, v1
	str	q1, [sp, #96]
	ldr	x9, [sp, #112]
	ldp	x10, x11, [x20, #112]
	add	x9, x9, x10
	add	x8, x8, x11
	fmov	x1, d0
	stp	x9, x8, [sp, #112]
	mov	x0, x19
	bl	_U32TO8_LITTLE
	add	x0, x19, #16
	ldr	x1, [sp, #8]
	bl	_U32TO8_LITTLE
	add	x0, x19, #32
	ldr	x1, [sp, #16]
	bl	_U32TO8_LITTLE
	add	x0, x19, #48
	ldr	x1, [sp, #24]
	bl	_U32TO8_LITTLE
	add	x0, x19, #64
	ldr	x1, [sp, #32]
	bl	_U32TO8_LITTLE
	add	x0, x19, #80
	ldr	x1, [sp, #40]
	bl	_U32TO8_LITTLE
	add	x0, x19, #96
	ldr	x1, [sp, #48]
	bl	_U32TO8_LITTLE
	add	x0, x19, #112
	ldr	x1, [sp, #56]
	bl	_U32TO8_LITTLE
	add	x0, x19, #128
	ldr	x1, [sp, #64]
	bl	_U32TO8_LITTLE
	add	x0, x19, #144
	ldr	x1, [sp, #72]
	bl	_U32TO8_LITTLE
	add	x0, x19, #160
	ldr	x1, [sp, #80]
	bl	_U32TO8_LITTLE
	add	x0, x19, #176
	ldr	x1, [sp, #88]
	bl	_U32TO8_LITTLE
	add	x0, x19, #192
	ldr	x1, [sp, #96]
	bl	_U32TO8_LITTLE
	add	x0, x19, #208
	ldr	x1, [sp, #104]
	bl	_U32TO8_LITTLE
	add	x0, x19, #224
	ldr	x1, [sp, #112]
	bl	_U32TO8_LITTLE
	add	x0, x19, #240
	ldr	x1, [sp, #120]
	bl	_U32TO8_LITTLE
	ldur	x8, [x29, #-40]
Lloh3:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh4:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_4
; %bb.3:
	ldp	x29, x30, [sp, #176]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #160]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #144]            ; 16-byte Folded Reload
	add	sp, sp, #192
	ret
LBB0_4:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_salsa20_wordtobyte
.subsections_via_symbols
