	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function vertical_compose97iL1
_vertical_compose97iL1:                 ## @vertical_compose97iL1
	.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	%r13
	pushq	%r12
	pushq	%rbx
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testl	%ecx, %ecx
	jle	LBB0_13
## %bb.1:
	movl	%ecx, %r8d
	cmpl	$4, %ecx
	jae	LBB0_3
## %bb.2:
	xorl	%eax, %eax
	jmp	LBB0_11
LBB0_3:
	leaq	(%rsi,%r8,4), %rax
	movq	_W_DM@GOTPCREL(%rip), %rbx
	leaq	4(%rbx), %rcx
	cmpq	%rcx, %rsi
	setb	-42(%rbp)                       ## 1-byte Folded Spill
	cmpq	%rbx, %rax
	seta	%r10b
	leaq	(%rdi,%r8,4), %rcx
	cmpq	%rsi, %rcx
	seta	%r12b
	cmpq	%rdi, %rax
	seta	%r15b
	leaq	(%rdx,%r8,4), %rbx
	cmpq	%rsi, %rbx
	seta	%r11b
	cmpq	%rdx, %rax
	seta	-41(%rbp)                       ## 1-byte Folded Spill
	movq	_W_DO@GOTPCREL(%rip), %rcx
	leaq	4(%rcx), %rbx
	cmpq	%rbx, %rsi
	setb	%r14b
	cmpq	%rcx, %rax
	seta	%r9b
	movq	_W_DS@GOTPCREL(%rip), %rcx
	leaq	4(%rcx), %rbx
	cmpq	%rbx, %rsi
	setb	%r13b
	cmpq	%rcx, %rax
	seta	%bl
	xorl	%eax, %eax
	testb	%r10b, -42(%rbp)                ## 1-byte Folded Reload
	jne	LBB0_11
## %bb.4:
	andb	%r15b, %r12b
	jne	LBB0_11
## %bb.5:
	andb	-41(%rbp), %r11b                ## 1-byte Folded Reload
	jne	LBB0_11
## %bb.6:
	andb	%r9b, %r14b
	jne	LBB0_11
## %bb.7:
	andb	%bl, %r13b
	jne	LBB0_11
## %bb.8:
	movl	%r8d, %eax
	andl	$-4, %eax
	movq	%rcx, %rbx
	movq	_W_DM@GOTPCREL(%rip), %rcx
	movd	(%rcx), %xmm0                   ## xmm0 = mem[0],zero,zero,zero
	pshufd	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0]
	movq	_W_DO@GOTPCREL(%rip), %rcx
	movd	(%rcx), %xmm1                   ## xmm1 = mem[0],zero,zero,zero
	pshufd	$0, %xmm1, %xmm1                ## xmm1 = xmm1[0,0,0,0]
	movd	(%rbx), %xmm2                   ## xmm2 = mem[0],zero,zero,zero
	leaq	(,%r8,4), %r9
	andq	$-16, %r9
	xorl	%ecx, %ecx
	pmovzxdq	%xmm2, %xmm2                    ## xmm2 = xmm2[0],zero,xmm2[1],zero
	.p2align	4, 0x90
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rdi,%rcx), %xmm3
	movdqu	(%rdx,%rcx), %xmm4
	paddd	%xmm3, %xmm4
	pmulld	%xmm0, %xmm4
	paddd	%xmm1, %xmm4
	psrad	%xmm2, %xmm4
	movdqu	(%rsi,%rcx), %xmm3
	psubd	%xmm4, %xmm3
	movdqu	%xmm3, (%rsi,%rcx)
	addq	$16, %rcx
	cmpq	%rcx, %r9
	jne	LBB0_9
## %bb.10:
	cmpq	%r8, %rax
	je	LBB0_13
LBB0_11:
	movq	_W_DM@GOTPCREL(%rip), %r9
	movq	_W_DO@GOTPCREL(%rip), %r10
	movq	_W_DS@GOTPCREL(%rip), %r11
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	movl	(%rdx,%rax,4), %ebx
	addl	(%rdi,%rax,4), %ebx
	imull	(%r9), %ebx
	addl	(%r10), %ebx
	movzbl	(%r11), %ecx
	sarl	%cl, %ebx
	subl	%ebx, (%rsi,%rax,4)
	incq	%rax
	cmpq	%rax, %r8
	jne	LBB0_12
LBB0_13:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_W_DM,4,2                       ## @W_DM
	.comm	_W_DO,4,2                       ## @W_DO
	.comm	_W_DS,4,2                       ## @W_DS
	.no_dead_strip	_vertical_compose97iL1
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function vertical_compose97iL1
_vertical_compose97iL1:                 ; @vertical_compose97iL1
	.cfi_startproc
; %bb.0:
	cmp	w3, #1
	b.lt	LBB0_13
; %bb.1:
Lloh0:
	adrp	x8, _W_DM@GOTPAGE
Lloh1:
	ldr	x8, [x8, _W_DM@GOTPAGEOFF]
	mov	w11, w3
Lloh2:
	adrp	x9, _W_DO@GOTPAGE
Lloh3:
	ldr	x9, [x9, _W_DO@GOTPAGEOFF]
Lloh4:
	adrp	x10, _W_DS@GOTPAGE
Lloh5:
	ldr	x10, [x10, _W_DS@GOTPAGEOFF]
	cmp	w3, #16
	b.hs	LBB0_3
; %bb.2:
	mov	x12, #0
	b	LBB0_11
LBB0_3:
	mov	x12, #0
	lsl	x14, x11, #2
	add	x17, x1, x14
	add	x13, x0, x14
	cmp	x13, x1
	ccmp	x17, x0, #0, hi
	cset	w13, hi
	add	x14, x2, x14
	cmp	x14, x1
	ccmp	x17, x2, #0, hi
	cset	w14, hi
	add	x15, x9, #4
	cmp	x1, x15
	ccmp	x17, x9, #0, lo
	cset	w15, hi
	add	x16, x10, #4
	cmp	x1, x16
	ccmp	x17, x10, #0, lo
	cset	w16, hi
	cmp	x17, x8
	add	x17, x8, #4
	ccmp	x1, x17, #2, hi
	b.lo	LBB0_11
; %bb.4:
	tbnz	w13, #0, LBB0_11
; %bb.5:
	tbnz	w14, #0, LBB0_11
; %bb.6:
	tbnz	w15, #0, LBB0_11
; %bb.7:
	tbnz	w16, #0, LBB0_11
; %bb.8:
	ld1r.4s	{ v0 }, [x8]
	ld1r.4s	{ v1 }, [x9]
	ld1r.4s	{ v2 }, [x10]
	and	x12, x11, #0xfffffff0
	add	x13, x1, #32
	add	x14, x0, #32
	add	x15, x2, #32
	neg.4s	v2, v2
	mov	x16, x12
LBB0_9:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q3, q4, [x14, #-32]
	ldp	q5, q6, [x14], #64
	ldp	q7, q16, [x15, #-32]
	ldp	q17, q18, [x15], #64
	add.4s	v3, v7, v3
	add.4s	v4, v16, v4
	add.4s	v5, v17, v5
	add.4s	v6, v18, v6
	mov.16b	v7, v1
	mla.4s	v7, v3, v0
	mov.16b	v3, v1
	mla.4s	v3, v4, v0
	mov.16b	v4, v1
	mla.4s	v4, v5, v0
	mov.16b	v5, v1
	mla.4s	v5, v6, v0
	sshl.4s	v6, v7, v2
	sshl.4s	v3, v3, v2
	sshl.4s	v4, v4, v2
	sshl.4s	v5, v5, v2
	ldp	q7, q16, [x13, #-32]
	ldp	q17, q18, [x13]
	sub.4s	v6, v7, v6
	sub.4s	v3, v16, v3
	sub.4s	v4, v17, v4
	sub.4s	v5, v18, v5
	stp	q6, q3, [x13, #-32]
	stp	q4, q5, [x13], #64
	subs	x16, x16, #16
	b.ne	LBB0_9
; %bb.10:
	cmp	x12, x11
	b.eq	LBB0_13
LBB0_11:
	lsl	x15, x12, #2
	add	x13, x1, x15
	add	x14, x2, x15
	add	x15, x0, x15
	sub	x11, x11, x12
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x8]
	ldr	w16, [x15], #4
	ldr	w17, [x14], #4
	add	w16, w17, w16
	ldr	w17, [x9]
	madd	w12, w16, w12, w17
	ldr	w16, [x10]
	asr	w12, w12, w16
	ldr	w16, [x13]
	sub	w12, w16, w12
	str	w12, [x13], #4
	subs	x11, x11, #1
	b.ne	LBB0_12
LBB0_13:
	ret
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	_W_DM,4,2                       ; @W_DM
	.comm	_W_DO,4,2                       ; @W_DO
	.comm	_W_DS,4,2                       ; @W_DS
	.no_dead_strip	_vertical_compose97iL1
.subsections_via_symbols
