	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function vfe_set_crop_cfg
_vfe_set_crop_cfg:                      ## @vfe_set_crop_cfg
	.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
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
	movq	%rdi, %r14
	movq	16(%rsi), %r15
	movl	(%rsi), %eax
	movl	4(%rsi), %ecx
	addl	%eax, %ecx
	decl	%ecx
	shll	$16, %eax
	orl	%ecx, %eax
	movslq	%eax, %rdi
	movq	_VFE_0_CROP_ENC_Y_WIDTH@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel_relaxed
	movl	8(%rbx), %eax
	movl	12(%rbx), %ecx
	addl	%eax, %ecx
	decl	%ecx
	shll	$16, %eax
	orl	%ecx, %eax
	movslq	%eax, %rdi
	movq	_VFE_0_CROP_ENC_Y_HEIGHT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel_relaxed
	movq	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	movdqa	%xmm0, %xmm1
	psrld	$31, %xmm1
	paddd	%xmm0, %xmm1
	psrad	$1, %xmm1
	movd	%xmm1, %eax
	pextrd	$1, %xmm1, %ecx
	addl	%eax, %ecx
	decl	%ecx
	shll	$16, %eax
	orl	%ecx, %eax
	movslq	%eax, %rdi
	movq	_VFE_0_CROP_ENC_CBCR_WIDTH@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	callq	_writel_relaxed
	movq	_V4L2_PIX_FMT_NV12@GOTPCREL(%rip), %rax
	movq	8(%rbx), %xmm0                  ## xmm0 = mem[0],zero
	cmpq	(%rax), %r15
	je	LBB0_3
## %bb.1:
	movq	_V4L2_PIX_FMT_NV21@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r15
	jne	LBB0_2
LBB0_3:
	movdqa	%xmm0, %xmm1
	psrld	$31, %xmm1
	paddd	%xmm0, %xmm1
	psrad	$1, %xmm1
	movd	%xmm1, %eax
	pextrd	$1, %xmm1, %ecx
	jmp	LBB0_4
LBB0_2:
	movd	%xmm0, %eax
	pextrd	$1, %xmm0, %ecx
LBB0_4:
	addl	%eax, %ecx
	decl	%ecx
	shll	$16, %eax
	orl	%ecx, %eax
	movslq	%eax, %rdi
	movq	_VFE_0_CROP_ENC_CBCR_HEIGHT@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	addq	(%r14), %rsi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_writel_relaxed                 ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_VFE_0_CROP_ENC_Y_WIDTH,8,3     ## @VFE_0_CROP_ENC_Y_WIDTH
	.comm	_VFE_0_CROP_ENC_Y_HEIGHT,8,3    ## @VFE_0_CROP_ENC_Y_HEIGHT
	.comm	_VFE_0_CROP_ENC_CBCR_WIDTH,8,3  ## @VFE_0_CROP_ENC_CBCR_WIDTH
	.comm	_V4L2_PIX_FMT_NV12,8,3          ## @V4L2_PIX_FMT_NV12
	.comm	_V4L2_PIX_FMT_NV21,8,3          ## @V4L2_PIX_FMT_NV21
	.comm	_VFE_0_CROP_ENC_CBCR_HEIGHT,8,3 ## @VFE_0_CROP_ENC_CBCR_HEIGHT
	.no_dead_strip	_vfe_set_crop_cfg
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function vfe_set_crop_cfg
_vfe_set_crop_cfg:                      ; @vfe_set_crop_cfg
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	ldr	x21, [x1, #16]
	ldp	w8, w9, [x1]
	add	w9, w8, w9
	sub	w9, w9, #1
	orr	w8, w9, w8, lsl #16
	sxtw	x0, w8
	ldr	x8, [x19]
Lloh0:
	adrp	x9, _VFE_0_CROP_ENC_Y_WIDTH@GOTPAGE
Lloh1:
	ldr	x9, [x9, _VFE_0_CROP_ENC_Y_WIDTH@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel_relaxed
	ldp	w8, w9, [x20, #8]
	add	w9, w8, w9
	sub	w9, w9, #1
	orr	w8, w9, w8, lsl #16
	sxtw	x0, w8
	ldr	x8, [x19]
Lloh3:
	adrp	x9, _VFE_0_CROP_ENC_Y_HEIGHT@GOTPAGE
Lloh4:
	ldr	x9, [x9, _VFE_0_CROP_ENC_Y_HEIGHT@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel_relaxed
	ldp	w8, w9, [x20]
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w8, w8, #1
	cmp	w9, #0
	cinc	w9, w9, lt
	add	w9, w8, w9, asr #1
	sub	w9, w9, #1
	orr	w8, w9, w8, lsl #16
	sxtw	x0, w8
	ldr	x8, [x19]
Lloh6:
	adrp	x9, _VFE_0_CROP_ENC_CBCR_WIDTH@GOTPAGE
Lloh7:
	ldr	x9, [x9, _VFE_0_CROP_ENC_CBCR_WIDTH@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	add	x1, x9, x8
	bl	_writel_relaxed
Lloh9:
	adrp	x8, _V4L2_PIX_FMT_NV12@GOTPAGE
Lloh10:
	ldr	x8, [x8, _V4L2_PIX_FMT_NV12@GOTPAGEOFF]
Lloh11:
	ldr	x10, [x8]
	ldp	w8, w9, [x20, #8]
	cmp	x21, x10
	b.eq	LBB0_2
; %bb.1:
Lloh12:
	adrp	x10, _V4L2_PIX_FMT_NV21@GOTPAGE
Lloh13:
	ldr	x10, [x10, _V4L2_PIX_FMT_NV21@GOTPAGEOFF]
Lloh14:
	ldr	x10, [x10]
	cmp	x21, x10
	b.ne	LBB0_3
LBB0_2:
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w8, w8, #1
	cmp	w9, #0
	cinc	w9, w9, lt
	add	w9, w8, w9, asr #1
	b	LBB0_4
LBB0_3:
	add	w9, w9, w8
LBB0_4:
	sub	w9, w9, #1
	orr	w8, w9, w8, lsl #16
	sxtw	x0, w8
	ldr	x8, [x19]
Lloh15:
	adrp	x9, _VFE_0_CROP_ENC_CBCR_HEIGHT@GOTPAGE
Lloh16:
	ldr	x9, [x9, _VFE_0_CROP_ENC_CBCR_HEIGHT@GOTPAGEOFF]
Lloh17:
	ldr	x9, [x9]
	add	x1, x9, x8
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_writel_relaxed
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.cfi_endproc
                                        ; -- End function
	.comm	_VFE_0_CROP_ENC_Y_WIDTH,8,3     ; @VFE_0_CROP_ENC_Y_WIDTH
	.comm	_VFE_0_CROP_ENC_Y_HEIGHT,8,3    ; @VFE_0_CROP_ENC_Y_HEIGHT
	.comm	_VFE_0_CROP_ENC_CBCR_WIDTH,8,3  ; @VFE_0_CROP_ENC_CBCR_WIDTH
	.comm	_V4L2_PIX_FMT_NV12,8,3          ; @V4L2_PIX_FMT_NV12
	.comm	_V4L2_PIX_FMT_NV21,8,3          ; @V4L2_PIX_FMT_NV21
	.comm	_VFE_0_CROP_ENC_CBCR_HEIGHT,8,3 ; @VFE_0_CROP_ENC_CBCR_HEIGHT
	.no_dead_strip	_vfe_set_crop_cfg
.subsections_via_symbols
