	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function maskedmerge16
_maskedmerge16:                         ## @maskedmerge16
	.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
	movq	%rcx, -72(%rbp)                 ## 8-byte Spill
	movq	%rdx, -56(%rbp)                 ## 8-byte Spill
	movq	%rsi, -48(%rbp)                 ## 8-byte Spill
	movq	%rdi, -64(%rbp)                 ## 8-byte Spill
	movl	40(%rbp), %ebx
	testl	%ebx, %ebx
	jle	LBB0_17
## %bb.1:
	movl	56(%rbp), %ecx
	movl	48(%rbp), %r15d
	movl	24(%rbp), %eax
	movl	16(%rbp), %r10d
	movl	%eax, %esi
	shrl	$31, %esi
	addl	%eax, %esi
	sarl	%esi
	movslq	%esi, %rsi
	movl	%r8d, %eax
	shrl	$31, %eax
	addl	%r8d, %eax
	sarl	%eax
	movslq	%eax, %rdi
	movl	%r9d, %eax
	shrl	$31, %eax
	addl	%r9d, %eax
	sarl	%eax
	movslq	%eax, %rdx
	movl	%r10d, %eax
	shrl	$31, %eax
	addl	%r10d, %eax
	sarl	%eax
	cltq
	movl	32(%rbp), %r9d
	shlq	$2, %rsi
	movq	%rsi, -104(%rbp)                ## 8-byte Spill
	shlq	$2, %rdi
	movq	%rdi, -96(%rbp)                 ## 8-byte Spill
	shlq	$2, %rax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	shlq	$2, %rdx
	movq	%rdx, -80(%rbp)                 ## 8-byte Spill
	movl	%r9d, %eax
	andl	$-8, %eax
	movq	%rax, -112(%rbp)                ## 8-byte Spill
	movd	%r15d, %xmm0
	pshufd	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0]
	movd	%ecx, %xmm1
	movq	%r9, %rax
	negq	%rax
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	leaq	(,%r9,4), %r13
	andq	$-32, %r13
	xorl	%r12d, %r12d
	pmovzxdq	%xmm1, %xmm1                    ## xmm1 = xmm1[0],zero,xmm1[1],zero
	movq	-72(%rbp), %rdx                 ## 8-byte Reload
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	movq	-56(%rbp), %r11                 ## 8-byte Reload
	movq	-64(%rbp), %r10                 ## 8-byte Reload
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_16:                                ##   in Loop: Header=BB0_2 Depth=1
	addq	-104(%rbp), %rdx                ## 8-byte Folded Reload
	addq	-96(%rbp), %r10                 ## 8-byte Folded Reload
	addq	-80(%rbp), %rdi                 ## 8-byte Folded Reload
	addq	-88(%rbp), %r11                 ## 8-byte Folded Reload
	incq	%r12
	cmpl	%ebx, %r12d
	je	LBB0_17
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_10 Depth 2
                                        ##     Child Loop BB0_15 Depth 2
	cmpl	$0, 32(%rbp)
	jle	LBB0_16
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$8, 32(%rbp)
	jae	LBB0_5
## %bb.4:                               ##   in Loop: Header=BB0_2 Depth=1
	xorl	%r8d, %r8d
	jmp	LBB0_12
	.p2align	4, 0x90
LBB0_5:                                 ##   in Loop: Header=BB0_2 Depth=1
	movl	%ebx, %r14d
	movq	-104(%rbp), %rbx                ## 8-byte Reload
	imulq	%r12, %rbx
	addq	-72(%rbp), %rbx                 ## 8-byte Folded Reload
	movq	-96(%rbp), %rsi                 ## 8-byte Reload
	imulq	%r12, %rsi
	addq	-64(%rbp), %rsi                 ## 8-byte Folded Reload
	movq	%rbx, %rax
	subq	%rsi, %rax
	cmpq	$32, %rax
	jb	LBB0_6
## %bb.7:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	imulq	%r12, %rax
	addq	-56(%rbp), %rax                 ## 8-byte Folded Reload
	movq	%rbx, %rsi
	subq	%rax, %rsi
	cmpq	$32, %rsi
	jb	LBB0_6
## %bb.8:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	imulq	%r12, %rax
	addq	-48(%rbp), %rax                 ## 8-byte Folded Reload
	subq	%rax, %rbx
	movl	$0, %r8d
	cmpq	$32, %rbx
	movl	%r14d, %ebx
	jb	LBB0_12
## %bb.9:                               ##   in Loop: Header=BB0_2 Depth=1
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_10:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	(%r10,%rax), %xmm2
	movdqu	16(%r10,%rax), %xmm3
	movdqu	(%r11,%rax), %xmm4
	movdqu	16(%r11,%rax), %xmm5
	movdqu	(%rdi,%rax), %xmm6
	movdqu	16(%rdi,%rax), %xmm7
	psubd	%xmm2, %xmm6
	pmulld	%xmm4, %xmm6
	psubd	%xmm3, %xmm7
	pmulld	%xmm5, %xmm7
	paddd	%xmm0, %xmm6
	paddd	%xmm0, %xmm7
	psrad	%xmm1, %xmm6
	psrad	%xmm1, %xmm7
	paddd	%xmm2, %xmm6
	paddd	%xmm3, %xmm7
	movdqu	%xmm6, (%rdx,%rax)
	movdqu	%xmm7, 16(%rdx,%rax)
	addq	$32, %rax
	cmpq	%rax, %r13
	jne	LBB0_10
## %bb.11:                              ##   in Loop: Header=BB0_2 Depth=1
	movq	-112(%rbp), %rax                ## 8-byte Reload
	movq	%rax, %r8
	cmpq	%r9, %rax
	je	LBB0_16
	jmp	LBB0_12
LBB0_6:                                 ##   in Loop: Header=BB0_2 Depth=1
	xorl	%r8d, %r8d
	movl	%r14d, %ebx
	.p2align	4, 0x90
LBB0_12:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%r8, %r14
	testb	$1, %r9b
	je	LBB0_14
## %bb.13:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	(%r10,%r8,4), %eax
	movl	(%rdi,%r8,4), %esi
	subl	%eax, %esi
	imull	(%r11,%r8,4), %esi
	addl	%r15d, %esi
	sarl	%cl, %esi
	addl	%eax, %esi
	movl	%esi, (%rdx,%r8,4)
	movq	%r8, %r14
	orq	$1, %r14
LBB0_14:                                ##   in Loop: Header=BB0_2 Depth=1
	notq	%r8
	cmpq	-120(%rbp), %r8                 ## 8-byte Folded Reload
	je	LBB0_16
	.p2align	4, 0x90
LBB0_15:                                ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%r10,%r14,4), %eax
	movl	(%rdi,%r14,4), %esi
	subl	%eax, %esi
	imull	(%r11,%r14,4), %esi
	addl	%r15d, %esi
	sarl	%cl, %esi
	addl	%eax, %esi
	movl	%esi, (%rdx,%r14,4)
	movl	4(%r10,%r14,4), %eax
	movl	4(%rdi,%r14,4), %esi
	subl	%eax, %esi
	imull	4(%r11,%r14,4), %esi
	addl	%r15d, %esi
	sarl	%cl, %esi
	addl	%eax, %esi
	movl	%esi, 4(%rdx,%r14,4)
	addq	$2, %r14
	cmpq	%r14, %r9
	jne	LBB0_15
	jmp	LBB0_16
LBB0_17:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_maskedmerge16
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function maskedmerge16
_maskedmerge16:                         ; @maskedmerge16
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	.cfi_offset w21, -24
	.cfi_offset w22, -32
	.cfi_offset w23, -40
	.cfi_offset w24, -48
	ldr	w8, [sp, #52]
	cmp	w8, #1
	b.lt	LBB0_13
; %bb.1:
	mov	x9, #0
	ldp	w11, w10, [sp, #56]
	ldr	w12, [sp, #48]
	cmp	w7, #0
	cinc	w13, w7, lt
	asr	w13, w13, #1
	cmp	w4, #0
	cinc	w14, w4, lt
	asr	w14, w14, #1
	cmp	w5, #0
	cinc	w15, w5, lt
	asr	w16, w15, #1
	cmp	w6, #0
	cinc	w15, w6, lt
	asr	w15, w15, #1
	sbfiz	x13, x13, #2, #32
	sbfiz	x14, x14, #2, #32
	sbfiz	x15, x15, #2, #32
	sbfiz	x16, x16, #2, #32
	and	x17, x12, #0xfffffff0
	dup.4s	v0, w11
	dup.4s	v1, w10
	lsl	x4, x12, #2
	and	x4, x4, #0x3ffffffc0
	neg.4s	v1, v1
	mov	x5, x2
	mov	x6, x1
	mov	x7, x0
	mov	x19, x3
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x9, x9, #1
	add	x19, x19, x13
	add	x7, x7, x14
	add	x6, x6, x16
	add	x5, x5, x15
	cmp	w9, w8
	b.eq	LBB0_13
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_10 Depth 2
                                        ;     Child Loop BB0_12 Depth 2
	cmp	w12, #1
	b.lt	LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	cmp	w12, #16
	b.hs	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x20, #0
	b	LBB0_12
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	x20, #0
	madd	x21, x13, x9, x3
	madd	x22, x14, x9, x0
	sub	x22, x21, x22
	cmp	x22, #64
	b.lo	LBB0_12
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	madd	x22, x15, x9, x2
	sub	x22, x21, x22
	cmp	x22, #64
	b.lo	LBB0_12
; %bb.8:                                ;   in Loop: Header=BB0_3 Depth=1
	madd	x22, x16, x9, x1
	sub	x21, x21, x22
	cmp	x21, #64
	b.lo	LBB0_12
; %bb.9:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x20, #0
LBB0_10:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	x21, x7, x20
	ldp	q2, q3, [x21]
	ldp	q4, q5, [x21, #32]
	add	x21, x5, x20
	ldp	q6, q7, [x21]
	ldp	q16, q17, [x21, #32]
	add	x21, x6, x20
	ldp	q18, q19, [x21]
	ldp	q20, q21, [x21, #32]
	sub.4s	v18, v18, v2
	sub.4s	v19, v19, v3
	sub.4s	v20, v20, v4
	sub.4s	v21, v21, v5
	mov.16b	v22, v0
	mla.4s	v22, v18, v6
	mov.16b	v6, v0
	mla.4s	v6, v19, v7
	mov.16b	v7, v0
	mla.4s	v7, v20, v16
	mov.16b	v16, v0
	mla.4s	v16, v21, v17
	sshl.4s	v17, v22, v1
	sshl.4s	v6, v6, v1
	sshl.4s	v7, v7, v1
	sshl.4s	v16, v16, v1
	add.4s	v2, v17, v2
	add.4s	v3, v6, v3
	add.4s	v4, v7, v4
	add.4s	v5, v16, v5
	add	x21, x19, x20
	stp	q2, q3, [x21]
	stp	q4, q5, [x21, #32]
	add	x20, x20, #64
	cmp	x4, x20
	b.ne	LBB0_10
; %bb.11:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	x20, x17
	cmp	x17, x12
	b.eq	LBB0_2
LBB0_12:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x21, x20, #2
	ldr	w22, [x7, x21]
	ldr	w23, [x5, x21]
	ldr	w24, [x6, x21]
	sub	w24, w24, w22
	madd	w23, w24, w23, w11
	asr	w23, w23, w10
	add	w22, w23, w22
	str	w22, [x19, x21]
	add	x20, x20, #1
	cmp	x12, x20
	b.ne	LBB0_12
	b	LBB0_2
LBB0_13:
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #48             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_maskedmerge16
.subsections_via_symbols
