	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_dccg2_update_dpp_dto           ## -- Begin function dccg2_update_dpp_dto
	.p2align	4, 0x90
_dccg2_update_dpp_dto:                  ## @dccg2_update_dpp_dto
	.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	%ecx, %r15d
	movl	%edx, %r14d
	movl	%esi, %r12d
	movq	%rdi, %rbx
	callq	_TO_DCN_DCCG
	testl	%r14d, %r14d
	je	LBB0_10
## %bb.1:
	movl	(%rbx), %ebx
	testl	%ebx, %ebx
	je	LBB0_10
## %bb.2:
	xorl	%edi, %edi
	cmpl	%r14d, %ebx
	setge	%dil
	callq	_ASSERT
	cmpl	$256, %ebx                      ## imm = 0x100
	jl	LBB0_4
## %bb.3:
	leal	254(%rbx), %eax
	movl	$2155905153, %esi               ## imm = 0x80808081
	imulq	%rax, %rsi
	shrq	$39, %rsi
	movl	%ebx, %eax
	xorl	%edx, %edx
	divl	%esi
	leal	(%r14,%rsi), %ecx
	decl	%ecx
	movl	%eax, %ebx
	movl	%ecx, %eax
	cltd
	idivl	%esi
	cmpl	%ebx, %eax
	movl	%ebx, %r14d
	cmovll	%eax, %r14d
LBB0_4:
	movq	_DPPCLK_DTO_PARAM@GOTPCREL(%rip), %r13
	movq	(%r13), %rax
	movslq	%r12d, %r12
	movl	(%rax,%r12,4), %edi
	movq	_DPPCLK0_DTO_PHASE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_DPPCLK0_DTO_MODULO@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	-48(%rbp), %rdx
	leaq	-44(%rbp), %r8
	callq	_REG_GET_2
	testl	%r15d, %r15d
	je	LBB0_7
## %bb.5:
	movl	-44(%rbp), %r9d
	movl	%r9d, %r10d
	imull	%r14d, %r10d
	movl	-48(%rbp), %ecx
	movl	%ecx, %esi
	imull	%ebx, %esi
	movq	(%r13), %rdx
	movl	(%rdx,%r12,4), %edi
	movq	_DPPCLK0_DTO_PHASE@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movq	_DPPCLK0_DTO_MODULO@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	cmpl	%esi, %r10d
	jge	LBB0_8
## %bb.6:
	xorl	%esi, %esi
	jmp	LBB0_9
LBB0_10:
	movq	_DPPCLK_DTO_CTRL@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_DPPCLK_DTO_ENABLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movslq	%r12d, %rcx
	movl	(%rax,%rcx,4), %esi
	xorl	%edx, %edx
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_REG_UPDATE                     ## TAILCALL
LBB0_7:
	movq	(%r13), %rax
	movl	(%rax,%r12,4), %edi
	movq	_DPPCLK0_DTO_PHASE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_DPPCLK0_DTO_MODULO@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
LBB0_8:
	xorl	%esi, %esi
	movl	%r14d, %ecx
	movl	%ebx, %r9d
LBB0_9:
	callq	_REG_SET_2
	movq	_DPPCLK_DTO_CTRL@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movq	_DPPCLK_DTO_ENABLE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax,%r12,4), %esi
	movl	$1, %edx
	callq	_REG_UPDATE
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_DPPCLK_DTO_PARAM,8,3           ## @DPPCLK_DTO_PARAM
	.comm	_DPPCLK0_DTO_PHASE,4,2          ## @DPPCLK0_DTO_PHASE
	.comm	_DPPCLK0_DTO_MODULO,4,2         ## @DPPCLK0_DTO_MODULO
	.comm	_DPPCLK_DTO_CTRL,4,2            ## @DPPCLK_DTO_CTRL
	.comm	_DPPCLK_DTO_ENABLE,8,3          ## @DPPCLK_DTO_ENABLE
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_dccg2_update_dpp_dto           ; -- Begin function dccg2_update_dpp_dto
	.p2align	2
_dccg2_update_dpp_dto:                  ; @dccg2_update_dpp_dto
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	mov	x21, x3
	mov	x19, x2
	mov	x22, x1
	mov	x20, x0
	bl	_TO_DCN_DCCG
	cbz	w19, LBB0_7
; %bb.1:
	ldr	w20, [x20]
	cbz	w20, LBB0_7
; %bb.2:
	cmp	w20, w19
	cset	w0, ge
	bl	_ASSERT
	cmp	w20, #256
	b.lt	LBB0_4
; %bb.3:
	add	w8, w20, #254
	mov	w9, #32897
	movk	w9, #32896, lsl #16
	umull	x8, w8, w9
	lsr	x8, x8, #39
	udiv	w20, w20, w8
	add	w9, w19, w8
	sub	w9, w9, #1
	sdiv	w8, w9, w8
	cmp	w8, w20
	csel	w19, w8, w20, lt
LBB0_4:
Lloh0:
	adrp	x24, _DPPCLK_DTO_PARAM@GOTPAGE
Lloh1:
	ldr	x24, [x24, _DPPCLK_DTO_PARAM@GOTPAGEOFF]
	ldr	x8, [x24]
	sxtw	x23, w22
	ldr	w0, [x8, w22, sxtw #2]
Lloh2:
	adrp	x25, _DPPCLK0_DTO_PHASE@GOTPAGE
Lloh3:
	ldr	x25, [x25, _DPPCLK0_DTO_PHASE@GOTPAGEOFF]
	ldr	w1, [x25]
Lloh4:
	adrp	x22, _DPPCLK0_DTO_MODULO@GOTPAGE
Lloh5:
	ldr	x22, [x22, _DPPCLK0_DTO_MODULO@GOTPAGEOFF]
	ldr	w3, [x22]
	add	x2, sp, #12
	add	x4, sp, #8
	bl	_REG_GET_2
	cbz	w21, LBB0_8
; %bb.5:
	ldp	w5, w3, [sp, #8]
	mul	w8, w5, w19
	mul	w9, w3, w20
	ldr	x10, [x24]
	ldr	w0, [x10, x23, lsl #2]
	ldr	w2, [x25]
	ldr	w4, [x22]
	cmp	w8, w9
	b.ge	LBB0_9
; %bb.6:
	mov	w1, #0
	b	LBB0_10
LBB0_7:
Lloh6:
	adrp	x8, _DPPCLK_DTO_CTRL@GOTPAGE
Lloh7:
	ldr	x8, [x8, _DPPCLK_DTO_CTRL@GOTPAGEOFF]
Lloh8:
	ldr	w0, [x8]
Lloh9:
	adrp	x8, _DPPCLK_DTO_ENABLE@GOTPAGE
Lloh10:
	ldr	x8, [x8, _DPPCLK_DTO_ENABLE@GOTPAGEOFF]
Lloh11:
	ldr	x8, [x8]
	ldr	w1, [x8, w22, sxtw #2]
	mov	w2, #0
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_REG_UPDATE
LBB0_8:
	ldr	x8, [x24]
	ldr	w0, [x8, x23, lsl #2]
	ldr	w2, [x25]
	ldr	w4, [x22]
LBB0_9:
	mov	w1, #0
	mov	x3, x19
	mov	x5, x20
LBB0_10:
	bl	_REG_SET_2
Lloh12:
	adrp	x8, _DPPCLK_DTO_CTRL@GOTPAGE
Lloh13:
	ldr	x8, [x8, _DPPCLK_DTO_CTRL@GOTPAGEOFF]
Lloh14:
	ldr	w0, [x8]
Lloh15:
	adrp	x8, _DPPCLK_DTO_ENABLE@GOTPAGE
Lloh16:
	ldr	x8, [x8, _DPPCLK_DTO_ENABLE@GOTPAGEOFF]
Lloh17:
	ldr	x8, [x8]
	ldr	w1, [x8, x23, lsl #2]
	mov	w2, #1
	bl	_REG_UPDATE
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #96
	ret
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.cfi_endproc
                                        ; -- End function
	.comm	_DPPCLK_DTO_PARAM,8,3           ; @DPPCLK_DTO_PARAM
	.comm	_DPPCLK0_DTO_PHASE,4,2          ; @DPPCLK0_DTO_PHASE
	.comm	_DPPCLK0_DTO_MODULO,4,2         ; @DPPCLK0_DTO_MODULO
	.comm	_DPPCLK_DTO_CTRL,4,2            ; @DPPCLK_DTO_CTRL
	.comm	_DPPCLK_DTO_ENABLE,8,3          ; @DPPCLK_DTO_ENABLE
.subsections_via_symbols
