	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function dc_parse_drm_format
_dc_parse_drm_format:                   ## @dc_parse_drm_format
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	16(%rdi), %eax
	addl	$-128, %eax
	cmpl	$7, %eax
	jae	LBB0_1
## %bb.2:
	movq	%rsi, %r15
	movq	%rdi, %r13
	movslq	%eax, %r12
	leaq	l_switch.table.dc_parse_drm_format(%rip), %rax
	movq	(%rax,%r12,8), %rax
	leaq	l_switch.table.dc_parse_drm_format.1(%rip), %rcx
	movq	(%rcx,%r12,8), %rbx
	movl	(%rax), %edi
	callq	_BYTE_SWAP
	movq	(%rbx), %r9
	movl	(%r13), %edi
	cmpl	$179, %edi
	jg	LBB0_5
## %bb.3:
	testl	%edi, %edi
	je	LBB0_8
## %bb.4:
	cmpl	$90, %edi
	je	LBB0_7
	jmp	LBB0_1
LBB0_5:
	cmpl	$180, %edi
	je	LBB0_8
## %bb.6:
	cmpl	$270, %edi                      ## imm = 0x10E
	jne	LBB0_1
LBB0_7:
	cmpq	$0, 64(%r13)
	je	LBB0_1
LBB0_8:
	xorl	%r14d, %r14d
	testq	%r15, %r15
	je	LBB0_29
## %bb.9:
	leaq	l_switch.table.dc_parse_drm_format.2(%rip), %rdx
	leaq	l_switch.table.dc_parse_drm_format.3(%rip), %rsi
	cmpq	$0, 64(%r13)
	jne	LBB0_10
## %bb.11:
	movq	_SURFACE_KIND_PITCH@GOTPCREL(%rip), %rcx
	jmp	LBB0_12
LBB0_1:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%r14d, %r14d
	subl	(%rax), %r14d
LBB0_29:
	movl	%r14d, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_10:
	movq	_SURFACE_KIND_BL_16B2@GOTPCREL(%rip), %rcx
LBB0_12:
	movl	(%rdx,%r12,4), %r8d
	movl	(%rsi,%r12,4), %esi
	movl	(%rcx), %ecx
	movl	%ecx, 68(%r15)
	movl	56(%r13), %ecx
	movl	%ecx, 64(%r15)
	cmpl	$179, %edi
	jg	LBB0_16
## %bb.13:
	testl	%edi, %edi
	je	LBB0_19
## %bb.14:
	cmpl	$90, %edi
	jne	LBB0_18
## %bb.15:
	movl	$1, (%r15)
	xorl	%edx, %edx
	movl	$1, %edi
	jmp	LBB0_22
LBB0_16:
	cmpl	$180, %edi
	je	LBB0_20
## %bb.17:
	cmpl	$270, %edi                      ## imm = 0x10E
	jne	LBB0_18
## %bb.21:
	movl	$1, (%r15)
	movl	$1, %edx
	xorl	%edi, %edi
	jmp	LBB0_22
LBB0_19:
	movl	$0, (%r15)
	xorl	%edi, %edi
	xorl	%edx, %edx
	jmp	LBB0_22
LBB0_20:
	movl	$0, (%r15)
	movl	$1, %edi
	movl	$1, %edx
	jmp	LBB0_22
LBB0_18:
	movl	4(%r15), %edx
	movl	8(%r15), %edi
LBB0_22:
	xorl	4(%r13), %edx
	movl	%edx, 4(%r15)
	xorl	8(%r13), %edi
	movl	%edi, 8(%r15)
	movq	%r9, 56(%r15)
	movq	%rax, 48(%r15)
	movl	40(%r13), %eax
	movl	%eax, 40(%r15)
	movl	%r8d, 12(%r15)
	movl	%esi, 16(%r15)
	movl	16(%r13), %edi
	callq	_drm_format_num_planes
	testl	%eax, %eax
	jle	LBB0_29
## %bb.23:
	movq	48(%r13), %rsi
	movq	24(%r13), %r10
	movq	32(%r13), %rbx
	movq	24(%r15), %r11
	movq	32(%r15), %rdi
	movl	%eax, %r8d
	xorl	%r14d, %r14d
	cmpl	$1, %eax
	jne	LBB0_25
## %bb.24:
	xorl	%eax, %eax
	jmp	LBB0_27
LBB0_25:
	movl	%r8d, %r9d
	andl	$-2, %r9d
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_26:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rsi,%rax,8), %rcx
	movq	(%rbx,%rax,8), %rdx
	addq	(%rcx), %rdx
	movq	%rdx, (%rdi,%rax,8)
	movl	(%r10,%rax,4), %ecx
	movl	%ecx, (%r11,%rax,4)
	movq	8(%rsi,%rax,8), %rcx
	movq	8(%rbx,%rax,8), %rdx
	addq	(%rcx), %rdx
	movq	%rdx, 8(%rdi,%rax,8)
	movl	4(%r10,%rax,4), %ecx
	movl	%ecx, 4(%r11,%rax,4)
	addq	$2, %rax
	cmpq	%rax, %r9
	jne	LBB0_26
LBB0_27:
	testb	$1, %r8b
	je	LBB0_29
## %bb.28:
	movq	(%rsi,%rax,8), %rcx
	movq	(%rbx,%rax,8), %rdx
	addq	(%rcx), %rdx
	movq	%rdx, (%rdi,%rax,8)
	movl	(%r10,%rax,4), %ecx
	movl	%ecx, (%r11,%rax,4)
	jmp	LBB0_29
	.cfi_endproc
                                        ## -- End function
	.comm	_NOSWAP,4,2                     ## @NOSWAP
	.comm	_WIN_COLOR_DEPTH_R8G8B8A8,8,3   ## @WIN_COLOR_DEPTH_R8G8B8A8
	.comm	_WIN_COLOR_DEPTH_B8G8R8A8,8,3   ## @WIN_COLOR_DEPTH_B8G8R8A8
	.comm	_WIN_COLOR_DEPTH_B5G6R5,8,3     ## @WIN_COLOR_DEPTH_B5G6R5
	.comm	_WIN_COLOR_DEPTH_YCbCr422,8,3   ## @WIN_COLOR_DEPTH_YCbCr422
	.comm	_SWAP2,4,2                      ## @SWAP2
	.comm	_WIN_COLOR_DEPTH_YCbCr420P,8,3  ## @WIN_COLOR_DEPTH_YCbCr420P
	.comm	_WIN_COLOR_DEPTH_YCbCr422P,8,3  ## @WIN_COLOR_DEPTH_YCbCr422P
	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_SURFACE_KIND_BL_16B2,4,2       ## @SURFACE_KIND_BL_16B2
	.comm	_SURFACE_KIND_PITCH,4,2         ## @SURFACE_KIND_PITCH
	.no_dead_strip	_dc_parse_drm_format
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.dc_parse_drm_format
l_switch.table.dc_parse_drm_format:
	.quad	_SWAP2
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP

	.p2align	3                               ## @switch.table.dc_parse_drm_format.1
l_switch.table.dc_parse_drm_format.1:
	.quad	_WIN_COLOR_DEPTH_YCbCr422
	.quad	_WIN_COLOR_DEPTH_YCbCr422P
	.quad	_WIN_COLOR_DEPTH_YCbCr420P
	.quad	_WIN_COLOR_DEPTH_B8G8R8A8
	.quad	_WIN_COLOR_DEPTH_R8G8B8A8
	.quad	_WIN_COLOR_DEPTH_YCbCr422
	.quad	_WIN_COLOR_DEPTH_B5G6R5

	.section	__TEXT,__const
	.p2align	2                               ## @switch.table.dc_parse_drm_format.2
l_switch.table.dc_parse_drm_format.2:
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	0                               ## 0x0

	.p2align	2                               ## @switch.table.dc_parse_drm_format.3
l_switch.table.dc_parse_drm_format.3:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0
	.long	0                               ## 0x0

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function dc_parse_drm_format
lCPI0_0:
	.long	1                               ; 0x1
	.long	0                               ; 0x0
lCPI0_1:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_dc_parse_drm_format:                   ; @dc_parse_drm_format
	.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
	ldr	w8, [x0, #16]
	sub	w21, w8, #128
	cmp	w21, #7
	b.hs	LBB0_12
; %bb.1:
	mov	x19, x1
	mov	x20, x0
	sbfiz	x8, x21, #3, #32
Lloh0:
	adrp	x9, l_switch.table.dc_parse_drm_format@PAGE
Lloh1:
	add	x9, x9, l_switch.table.dc_parse_drm_format@PAGEOFF
	ldr	x9, [x9, x8]
Lloh2:
	adrp	x10, l_switch.table.dc_parse_drm_format.1@PAGE
Lloh3:
	add	x10, x10, l_switch.table.dc_parse_drm_format.1@PAGEOFF
	ldr	x22, [x10, x8]
	ldr	w0, [x9]
	bl	_BYTE_SWAP
	ldr	x8, [x22]
	ldr	w11, [x20]
	cmp	w11, #179
	b.gt	LBB0_4
; %bb.2:
	cbz	w11, LBB0_7
; %bb.3:
	cmp	w11, #90
	b.eq	LBB0_6
	b	LBB0_12
LBB0_4:
	cmp	w11, #180
	b.eq	LBB0_7
; %bb.5:
	cmp	w11, #270
	b.ne	LBB0_12
LBB0_6:
	ldr	x9, [x20, #64]
	cbz	x9, LBB0_12
LBB0_7:
	cbz	x19, LBB0_22
; %bb.8:
	sbfiz	x10, x21, #2, #32
Lloh4:
	adrp	x9, l_switch.table.dc_parse_drm_format.2@PAGE
Lloh5:
	add	x9, x9, l_switch.table.dc_parse_drm_format.2@PAGEOFF
	ldr	w9, [x9, x10]
Lloh6:
	adrp	x12, l_switch.table.dc_parse_drm_format.3@PAGE
Lloh7:
	add	x12, x12, l_switch.table.dc_parse_drm_format.3@PAGEOFF
	ldr	w10, [x12, x10]
	ldr	x12, [x20, #64]
Lloh8:
	adrp	x13, _SURFACE_KIND_BL_16B2@GOTPAGE
Lloh9:
	ldr	x13, [x13, _SURFACE_KIND_BL_16B2@GOTPAGEOFF]
Lloh10:
	adrp	x14, _SURFACE_KIND_PITCH@GOTPAGE
Lloh11:
	ldr	x14, [x14, _SURFACE_KIND_PITCH@GOTPAGEOFF]
	cmp	x12, #0
	csel	x12, x14, x13, eq
	ldr	w12, [x12]
	ldr	w13, [x20, #56]
	stp	w13, w12, [x19, #64]
	cmp	w11, #179
	b.gt	LBB0_13
; %bb.9:
	cbz	w11, LBB0_16
; %bb.10:
	cmp	w11, #90
	b.ne	LBB0_18
; %bb.11:
	mov	w11, #1
	str	w11, [x19]
Lloh12:
	adrp	x11, lCPI0_1@PAGE
Lloh13:
	ldr	d0, [x11, lCPI0_1@PAGEOFF]
	b	LBB0_19
LBB0_12:
Lloh14:
	adrp	x8, _EINVAL@GOTPAGE
Lloh15:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
	neg	w0, w8
	b	LBB0_23
LBB0_13:
	cmp	w11, #180
	b.eq	LBB0_17
; %bb.14:
	cmp	w11, #270
	b.ne	LBB0_18
; %bb.15:
	mov	w11, #1
	str	w11, [x19]
Lloh17:
	adrp	x11, lCPI0_0@PAGE
Lloh18:
	ldr	d0, [x11, lCPI0_0@PAGEOFF]
	b	LBB0_19
LBB0_16:
	str	wzr, [x19]
	movi.2d	v0, #0000000000000000
	b	LBB0_19
LBB0_17:
	str	wzr, [x19]
	movi.2s	v0, #1
	b	LBB0_19
LBB0_18:
	ldur	d0, [x19, #4]
LBB0_19:
	ldur	d1, [x20, #4]
	eor.8b	v0, v0, v1
	stur	d0, [x19, #4]
	stp	x0, x8, [x19, #48]
	ldr	w8, [x20, #40]
	str	w8, [x19, #40]
	stp	w9, w10, [x19, #12]
	ldr	w0, [x20, #16]
	bl	_drm_format_num_planes
	cmp	w0, #1
	b.lt	LBB0_22
; %bb.20:
	ldr	x8, [x20, #48]
	ldp	x10, x9, [x20, #24]
	mov	w11, w0
	ldp	x13, x12, [x19, #24]
LBB0_21:                                ; =>This Inner Loop Header: Depth=1
	ldr	x14, [x8], #8
	ldr	x14, [x14]
	ldr	x15, [x9], #8
	add	x14, x15, x14
	str	x14, [x12], #8
	ldr	w14, [x10], #4
	str	w14, [x13], #4
	subs	x11, x11, #1
	b.ne	LBB0_21
LBB0_22:
	mov	w0, #0
LBB0_23:
	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
	ret
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpLdr	Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdr	Lloh17, Lloh18
	.cfi_endproc
                                        ; -- End function
	.comm	_NOSWAP,4,2                     ; @NOSWAP
	.comm	_WIN_COLOR_DEPTH_R8G8B8A8,8,3   ; @WIN_COLOR_DEPTH_R8G8B8A8
	.comm	_WIN_COLOR_DEPTH_B8G8R8A8,8,3   ; @WIN_COLOR_DEPTH_B8G8R8A8
	.comm	_WIN_COLOR_DEPTH_B5G6R5,8,3     ; @WIN_COLOR_DEPTH_B5G6R5
	.comm	_WIN_COLOR_DEPTH_YCbCr422,8,3   ; @WIN_COLOR_DEPTH_YCbCr422
	.comm	_SWAP2,4,2                      ; @SWAP2
	.comm	_WIN_COLOR_DEPTH_YCbCr420P,8,3  ; @WIN_COLOR_DEPTH_YCbCr420P
	.comm	_WIN_COLOR_DEPTH_YCbCr422P,8,3  ; @WIN_COLOR_DEPTH_YCbCr422P
	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_SURFACE_KIND_BL_16B2,4,2       ; @SURFACE_KIND_BL_16B2
	.comm	_SURFACE_KIND_PITCH,4,2         ; @SURFACE_KIND_PITCH
	.no_dead_strip	_dc_parse_drm_format
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.dc_parse_drm_format
l_switch.table.dc_parse_drm_format:
	.quad	_SWAP2
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP
	.quad	_NOSWAP

	.p2align	3                               ; @switch.table.dc_parse_drm_format.1
l_switch.table.dc_parse_drm_format.1:
	.quad	_WIN_COLOR_DEPTH_YCbCr422
	.quad	_WIN_COLOR_DEPTH_YCbCr422P
	.quad	_WIN_COLOR_DEPTH_YCbCr420P
	.quad	_WIN_COLOR_DEPTH_B8G8R8A8
	.quad	_WIN_COLOR_DEPTH_R8G8B8A8
	.quad	_WIN_COLOR_DEPTH_YCbCr422
	.quad	_WIN_COLOR_DEPTH_B5G6R5

	.section	__TEXT,__const
	.p2align	2                               ; @switch.table.dc_parse_drm_format.2
l_switch.table.dc_parse_drm_format.2:
	.long	1                               ; 0x1
	.long	1                               ; 0x1
	.long	1                               ; 0x1
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	0                               ; 0x0

	.p2align	2                               ; @switch.table.dc_parse_drm_format.3
l_switch.table.dc_parse_drm_format.3:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	1                               ; 0x1
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0
	.long	0                               ; 0x0

.subsections_via_symbols
