	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function do_block_ssd16
_do_block_ssd16:                        ## @do_block_ssd16
	.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
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	(%rdi), %r10d
	testl	%r10d, %r10d
	jle	LBB0_1
## %bb.2:
	imull	%ecx, %r8d
	movl	%r8d, %eax
	shrl	$31, %eax
	addl	%r8d, %eax
	sarl	%eax
	movslq	%eax, %r11
	movslq	%r9d, %r15
	movl	(%rsi), %eax
	imull	%ecx, %eax
	movl	%eax, %edi
	shrl	$31, %edi
	addl	%eax, %edi
	sarl	%edi
	movslq	%edi, %rax
	movslq	4(%rsi), %rbx
	movl	%ecx, %esi
	shrl	$31, %esi
	addl	%ecx, %esi
	sarl	%esi
	movslq	%esi, %r9
	leaq	-1(%r10), %r8
	movl	%r10d, %edi
	andl	$3, %edi
	movl	%r10d, %r14d
	andl	$-4, %r14d
	addq	%r11, %r11
	leaq	(%r11,%r15,2), %rcx
	leaq	(%rdx,%rcx,4), %rsi
	shlq	$3, %r9
	addq	%rax, %rax
	leaq	(%rax,%rbx,2), %rax
	leaq	(%rdx,%rax,4), %rdx
	xorpd	%xmm0, %xmm0
	xorl	%r11d, %r11d
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_8:                                 ##   in Loop: Header=BB0_3 Depth=1
	incl	%r11d
	addq	%r9, %rsi
	addq	%r9, %rdx
	cmpl	%r10d, %r11d
	je	LBB0_9
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_4 Depth 2
                                        ##     Child Loop BB0_7 Depth 2
	xorl	%ecx, %ecx
	cmpq	$3, %r8
	jb	LBB0_5
	.p2align	4, 0x90
LBB0_4:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movsd	(%rsi,%rcx,8), %xmm1            ## xmm1 = mem[0],zero
	movsd	8(%rsi,%rcx,8), %xmm2           ## xmm2 = mem[0],zero
	subsd	(%rdx,%rcx,8), %xmm1
	mulsd	%xmm1, %xmm1
	addsd	%xmm0, %xmm1
	subsd	8(%rdx,%rcx,8), %xmm2
	mulsd	%xmm2, %xmm2
	addsd	%xmm1, %xmm2
	movsd	16(%rsi,%rcx,8), %xmm1          ## xmm1 = mem[0],zero
	subsd	16(%rdx,%rcx,8), %xmm1
	mulsd	%xmm1, %xmm1
	addsd	%xmm2, %xmm1
	movsd	24(%rsi,%rcx,8), %xmm0          ## xmm0 = mem[0],zero
	subsd	24(%rdx,%rcx,8), %xmm0
	mulsd	%xmm0, %xmm0
	addsd	%xmm1, %xmm0
	addq	$4, %rcx
	cmpq	%rcx, %r14
	jne	LBB0_4
LBB0_5:                                 ##   in Loop: Header=BB0_3 Depth=1
	testq	%rdi, %rdi
	je	LBB0_8
## %bb.6:                               ##   in Loop: Header=BB0_3 Depth=1
	leaq	(%rdx,%rcx,8), %rbx
	leaq	(%rsi,%rcx,8), %rcx
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_7:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movsd	(%rcx,%rax,8), %xmm1            ## xmm1 = mem[0],zero
	subsd	(%rbx,%rax,8), %xmm1
	mulsd	%xmm1, %xmm1
	addsd	%xmm1, %xmm0
	incq	%rax
	cmpq	%rax, %rdi
	jne	LBB0_7
	jmp	LBB0_8
LBB0_1:
	xorpd	%xmm0, %xmm0
LBB0_9:
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_do_block_ssd16
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function do_block_ssd16
_do_block_ssd16:                        ; @do_block_ssd16
	.cfi_startproc
; %bb.0:
                                        ; kill: def $w5 killed $w5 def $x5
	ldr	w8, [x0]
	cmp	w8, #1
	b.lt	LBB0_10
; %bb.1:
	mov	w9, #0
	mul	w10, w4, w3
	cmp	w10, #0
	cinc	w10, w10, lt
	asr	w14, w10, #1
	ldp	w10, w11, [x1]
                                        ; kill: def $w11 killed $w11 def $x11
	sxtw	x11, w11
	mul	w10, w10, w3
	cmp	w10, #0
	cinc	w10, w10, lt
	asr	w12, w10, #1
	cmp	w3, #0
	cinc	w10, w3, lt
	asr	w13, w10, #1
	lsl	x11, x11, #1
	and	x10, x8, #0xfffffff8
	add	x12, x11, w12, sxtw #1
	lsl	x11, x8, #3
	and	x11, x11, #0x7ffffffc0
	add	x12, x2, x12, lsl #2
	sbfiz	x13, x13, #3, #32
	sbfiz	x15, x5, #1, #32
	add	x14, x15, w14, sxtw #1
	add	x14, x2, x14, lsl #2
	movi	d0, #0000000000000000
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	w9, w9, #1
	add	x12, x12, x13
	add	x14, x14, x13
	cmp	w9, w8
	b.eq	LBB0_9
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_6 Depth 2
                                        ;     Child Loop BB0_8 Depth 2
	cmp	w8, #8
	b.hs	LBB0_5
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x15, #0
	b	LBB0_8
LBB0_5:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	x15, #0
LBB0_6:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	x16, x14, x15
	ldp	q1, q2, [x16]
	ldp	q3, q4, [x16, #32]
	add	x16, x12, x15
	ldp	q5, q6, [x16]
	ldp	q7, q16, [x16, #32]
	fsub.2d	v1, v1, v5
	fsub.2d	v2, v2, v6
	fsub.2d	v3, v3, v7
	fsub.2d	v4, v4, v16
	fmul.2d	v1, v1, v1
	mov	d5, v1[1]
	fmul.2d	v2, v2, v2
	mov	d6, v2[1]
	fmul.2d	v3, v3, v3
	mov	d7, v3[1]
	fmul.2d	v4, v4, v4
	mov	d16, v4[1]
	fadd	d0, d0, d1
	fadd	d0, d0, d5
	fadd	d0, d0, d2
	fadd	d0, d0, d6
	fadd	d0, d0, d3
	fadd	d0, d0, d7
	fadd	d0, d0, d4
	fadd	d0, d0, d16
	add	x15, x15, #64
	cmp	x11, x15
	b.ne	LBB0_6
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x15, x10
	cmp	x10, x8
	b.eq	LBB0_2
LBB0_8:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x16, x15, #3
	ldr	d1, [x14, x16]
	ldr	d2, [x12, x16]
	fsub	d1, d1, d2
	fmadd	d0, d1, d1, d0
	add	x15, x15, #1
	cmp	x8, x15
	b.ne	LBB0_8
	b	LBB0_2
LBB0_9:
	ret
LBB0_10:
	movi	d0, #0000000000000000
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_do_block_ssd16
.subsections_via_symbols
