	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function add_8x8basis_c
LCPI0_0:
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_add_8x8basis_c:                        ## @add_8x8basis_c
	.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
	leaq	256(%rsi), %rax
	cmpq	%rdi, %rax
	seta	%r14b
	leaq	256(%rdi), %rbx
	cmpq	%rsi, %rbx
	seta	%r15b
	movq	_BASIS_SHIFT@GOTPCREL(%rip), %r8
	leaq	4(%r8), %rax
	cmpq	%rax, %rdi
	setb	%al
	cmpq	%r8, %rbx
	seta	%r10b
	movq	_RECON_SHIFT@GOTPCREL(%rip), %r9
	leaq	4(%r9), %rcx
	cmpq	%rcx, %rdi
	setb	%cl
	cmpq	%r9, %rbx
	seta	%r11b
	testb	%r15b, %r14b
	jne	LBB0_3
## %bb.1:
	andb	%r10b, %al
	jne	LBB0_3
## %bb.2:
	andb	%r11b, %cl
	jne	LBB0_3
## %bb.5:
	movd	%edx, %xmm0
	pshufd	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0]
	movl	(%r8), %eax
	subl	(%r9), %eax
	movd	%eax, %xmm2
	pcmpeqd	%xmm1, %xmm1
	paddd	%xmm2, %xmm1
	pmovzxdq	%xmm1, %xmm3                    ## xmm3 = xmm1[0],zero,xmm1[1],zero
	movdqa	LCPI0_0(%rip), %xmm1            ## xmm1 = [1,1,1,1]
	pslld	%xmm3, %xmm1
	xorl	%eax, %eax
	pmovzxdq	%xmm2, %xmm2                    ## xmm2 = xmm2[0],zero,xmm2[1],zero
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rsi,%rax,4), %xmm3
	pmulld	%xmm0, %xmm3
	paddd	%xmm1, %xmm3
	psrad	%xmm2, %xmm3
	movdqu	(%rdi,%rax,4), %xmm4
	paddd	%xmm3, %xmm4
	movdqu	%xmm4, (%rdi,%rax,4)
	addq	$4, %rax
	cmpq	$64, %rax
	jne	LBB0_6
	jmp	LBB0_7
LBB0_3:
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_4:                                 ## =>This Inner Loop Header: Depth=1
	movl	(%rsi,%rax,4), %r11d
	imull	%edx, %r11d
	movl	(%r8), %r10d
	subl	(%r9), %r10d
	leal	-1(%r10), %ecx
	movl	$1, %ebx
                                        ## kill: def $cl killed $cl killed $ecx
	shll	%cl, %ebx
	addl	%r11d, %ebx
	movl	%r10d, %ecx
	sarl	%cl, %ebx
	addl	%ebx, (%rdi,%rax,4)
	incq	%rax
	cmpq	$64, %rax
	jne	LBB0_4
LBB0_7:
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_BASIS_SHIFT,4,2                ## @BASIS_SHIFT
	.comm	_RECON_SHIFT,4,2                ## @RECON_SHIFT
	.no_dead_strip	_add_8x8basis_c
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function add_8x8basis_c
_add_8x8basis_c:                        ; @add_8x8basis_c
	.cfi_startproc
; %bb.0:
	add	x12, x0, #256
	add	x13, x1, #256
Lloh0:
	adrp	x8, _BASIS_SHIFT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _BASIS_SHIFT@GOTPAGEOFF]
	add	x9, x8, #4
	cmp	x0, x9
	ccmp	x12, x8, #0, lo
	cset	w10, hi
Lloh2:
	adrp	x9, _RECON_SHIFT@GOTPAGE
Lloh3:
	ldr	x9, [x9, _RECON_SHIFT@GOTPAGEOFF]
	add	x11, x9, #4
	cmp	x0, x11
	ccmp	x12, x9, #0, lo
	cset	w11, hi
	cmp	x12, x1
	ccmp	x13, x0, #0, hi
	b.hi	LBB0_5
; %bb.1:
	tbnz	w10, #0, LBB0_5
; %bb.2:
	cbnz	w11, LBB0_5
; %bb.3:
	mov	x10, #0
	dup.4s	v0, w2
	ldr	w8, [x8]
	ldr	w9, [x9]
	sub	w8, w8, w9
	dup.4s	v2, w8
	movi.2d	v1, #0xffffffffffffffff
	add.4s	v1, v2, v1
	movi.4s	v3, #1
	ushl.4s	v1, v3, v1
	neg.4s	v2, v2
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	ldr	q3, [x1, x10]
	mov.16b	v4, v1
	mla.4s	v4, v3, v0
	ldr	q3, [x0, x10]
	sshl.4s	v4, v4, v2
	add.4s	v3, v4, v3
	str	q3, [x0, x10]
	add	x10, x10, #16
	cmp	x10, #256
	b.ne	LBB0_4
	b	LBB0_7
LBB0_5:
	mov	x10, #0
	mov	w11, #1
LBB0_6:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x1, x10]
	ldr	w13, [x8]
	ldr	w14, [x9]
	sub	w13, w13, w14
	sub	w14, w13, #1
	lsl	w14, w11, w14
	madd	w12, w12, w2, w14
	ldr	w14, [x0, x10]
	asr	w12, w12, w13
	add	w12, w12, w14
	str	w12, [x0, x10]
	add	x10, x10, #4
	cmp	x10, #256
	b.ne	LBB0_6
LBB0_7:
	ret
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	_BASIS_SHIFT,4,2                ; @BASIS_SHIFT
	.comm	_RECON_SHIFT,4,2                ; @RECON_SHIFT
	.no_dead_strip	_add_8x8basis_c
.subsections_via_symbols
