	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function planar_rgb_to_uv
_planar_rgb_to_uv:                      ## @planar_rgb_to_uv
	.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_3
## %bb.1:
	movq	_RU_IDX@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%r8,%rax,4), %eax
	movl	%eax, -64(%rbp)                 ## 4-byte Spill
	movq	_GU_IDX@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%r8,%rax,4), %eax
	movl	%eax, -60(%rbp)                 ## 4-byte Spill
	movq	_BU_IDX@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%r8,%rax,4), %eax
	movl	%eax, -56(%rbp)                 ## 4-byte Spill
	movq	_RV_IDX@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%r8,%rax,4), %eax
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	movq	_GV_IDX@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%r8,%rax,4), %eax
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movq	_BV_IDX@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%r8,%rax,4), %eax
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movq	(%rdx), %rax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	movq	8(%rdx), %rax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	movq	16(%rdx), %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movl	%ecx, %ebx
	xorl	%r9d, %r9d
	movq	_RGB2YUV_SHIFT@GOTPCREL(%rip), %r12
	.p2align	4, 0x90
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax,%r9,4), %r11d
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax,%r9,4), %r13d
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax,%r9,4), %r14d
	movl	%r14d, %r10d
	movl	%r11d, %eax
	imull	-60(%rbp), %eax                 ## 4-byte Folded Reload
	movl	%r13d, %r15d
	imull	-56(%rbp), %r15d                ## 4-byte Folded Reload
	addl	%eax, %r15d
	movzbl	(%r12), %eax
	leal	-7(%rax), %ecx
	movl	$16385, %r8d                    ## imm = 0x4001
                                        ## kill: def $cl killed $cl killed $ecx
	shll	%cl, %r8d
	imull	-64(%rbp), %r10d                ## 4-byte Folded Reload
	addl	%r10d, %r15d
	addl	%r15d, %r8d
	addb	$-6, %al
	movl	%eax, %ecx
	sarl	%cl, %r8d
	movl	%r8d, (%rdi,%r9,4)
	imull	-52(%rbp), %r14d                ## 4-byte Folded Reload
	imull	-48(%rbp), %r11d                ## 4-byte Folded Reload
	imull	-44(%rbp), %r13d                ## 4-byte Folded Reload
	addl	%r11d, %r13d
	addl	%r14d, %r13d
	movzbl	(%r12), %eax
	leal	-7(%rax), %ecx
	movl	$16385, %edx                    ## imm = 0x4001
                                        ## kill: def $cl killed $cl killed $ecx
	shll	%cl, %edx
	addl	%r13d, %edx
	addb	$-6, %al
	movl	%eax, %ecx
	sarl	%cl, %edx
	movl	%edx, (%rsi,%r9,4)
	incq	%r9
	cmpq	%r9, %rbx
	jne	LBB0_2
LBB0_3:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_RU_IDX,8,3                     ## @RU_IDX
	.comm	_GU_IDX,8,3                     ## @GU_IDX
	.comm	_BU_IDX,8,3                     ## @BU_IDX
	.comm	_RV_IDX,8,3                     ## @RV_IDX
	.comm	_GV_IDX,8,3                     ## @GV_IDX
	.comm	_BV_IDX,8,3                     ## @BV_IDX
	.comm	_RGB2YUV_SHIFT,4,2              ## @RGB2YUV_SHIFT
	.no_dead_strip	_planar_rgb_to_uv
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function planar_rgb_to_uv
_planar_rgb_to_uv:                      ; @planar_rgb_to_uv
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	cmp	w3, #1
	b.lt	LBB0_3
; %bb.1:
Lloh0:
	adrp	x8, _RU_IDX@GOTPAGE
Lloh1:
	ldr	x8, [x8, _RU_IDX@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	ldr	w8, [x4, x8, lsl #2]
Lloh3:
	adrp	x9, _GU_IDX@GOTPAGE
Lloh4:
	ldr	x9, [x9, _GU_IDX@GOTPAGEOFF]
Lloh5:
	ldr	x9, [x9]
	ldr	w9, [x4, x9, lsl #2]
Lloh6:
	adrp	x10, _BU_IDX@GOTPAGE
Lloh7:
	ldr	x10, [x10, _BU_IDX@GOTPAGEOFF]
Lloh8:
	ldr	x10, [x10]
	ldr	w10, [x4, x10, lsl #2]
Lloh9:
	adrp	x11, _RV_IDX@GOTPAGE
Lloh10:
	ldr	x11, [x11, _RV_IDX@GOTPAGEOFF]
Lloh11:
	ldr	x11, [x11]
	ldr	w11, [x4, x11, lsl #2]
Lloh12:
	adrp	x12, _GV_IDX@GOTPAGE
Lloh13:
	ldr	x12, [x12, _GV_IDX@GOTPAGEOFF]
Lloh14:
	ldr	x12, [x12]
	ldr	w12, [x4, x12, lsl #2]
Lloh15:
	adrp	x13, _BV_IDX@GOTPAGE
Lloh16:
	ldr	x13, [x13, _BV_IDX@GOTPAGEOFF]
Lloh17:
	ldr	x13, [x13]
	ldr	w13, [x4, x13, lsl #2]
	ldp	x14, x15, [x2]
	ldr	x16, [x2, #16]
	mov	w17, w3
	mov	w2, #16385
Lloh18:
	adrp	x3, _RGB2YUV_SHIFT@GOTPAGE
Lloh19:
	ldr	x3, [x3, _RGB2YUV_SHIFT@GOTPAGEOFF]
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w4, [x14], #4
	ldr	w5, [x15], #4
	ldr	w6, [x16], #4
	mul	w7, w4, w9
	ldr	w19, [x3]
	sub	w20, w19, #7
	lsl	w20, w2, w20
	madd	w7, w5, w10, w7
	madd	w7, w6, w8, w7
	add	w7, w7, w20
	sub	w19, w19, #6
	asr	w7, w7, w19
	str	w7, [x0], #4
	mul	w4, w4, w12
	ldr	w7, [x3]
	sub	w19, w7, #7
	lsl	w19, w2, w19
	madd	w4, w5, w13, w4
	madd	w4, w6, w11, w4
	add	w4, w4, w19
	sub	w5, w7, #6
	asr	w4, w4, w5
	str	w4, [x1], #4
	subs	x17, x17, #1
	b.ne	LBB0_2
LBB0_3:
	ldp	x20, x19, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_RU_IDX,8,3                     ; @RU_IDX
	.comm	_GU_IDX,8,3                     ; @GU_IDX
	.comm	_BU_IDX,8,3                     ; @BU_IDX
	.comm	_RV_IDX,8,3                     ; @RV_IDX
	.comm	_GV_IDX,8,3                     ; @GV_IDX
	.comm	_BV_IDX,8,3                     ; @BV_IDX
	.comm	_RGB2YUV_SHIFT,4,2              ; @RGB2YUV_SHIFT
	.no_dead_strip	_planar_rgb_to_uv
.subsections_via_symbols
