	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function vega10_odn_update_soc_table
_vega10_odn_update_soc_table:           ## @vega10_odn_update_soc_table
	.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
	movq	8(%rdi), %r12
	movq	_PP_OD_EDIT_SCLK_VDDC_TABLE@GOTPCREL(%rip), %rax
	cmpl	%esi, (%rax)
	jne	LBB0_9
## %bb.1:
	movq	40(%r12), %rcx
	testq	%rcx, %rcx
	je	LBB0_34
## %bb.2:
	movq	48(%r12), %r8
	movq	64(%r12), %rax
	cmpq	$4, %rcx
	jae	LBB0_4
## %bb.3:
	xorl	%edx, %edx
	jmp	LBB0_7
LBB0_9:
	movq	_PP_OD_EDIT_MCLK_VDDC_TABLE@GOTPCREL(%rip), %rax
	cmpl	%esi, (%rax)
	jne	LBB0_34
## %bb.10:
	movq	(%rdi), %rax
	movq	(%rax), %r8
	movq	88(%r12), %r10
	testq	%r10, %r10
	je	LBB0_15
## %bb.11:
	movq	32(%r12), %r14
	movq	56(%r12), %rcx
	leaq	-1(%rcx), %r9
	xorl	%edx, %edx
	movq	_DPMTABLE_OD_UPDATE_VDDC@GOTPCREL(%rip), %r11
	jmp	LBB0_12
	.p2align	4, 0x90
LBB0_20:                                ##   in Loop: Header=BB0_12 Depth=1
	leaq	(%rdx,%rdx,2), %rax
	movq	(%r14,%rax,8), %rax
	movq	64(%r12), %rsi
	movq	%rax, -8(%rsi,%rcx,8)
	movl	(%r11), %eax
	orl	%eax, (%r12)
	movq	%r9, %rbx
LBB0_21:                                ##   in Loop: Header=BB0_12 Depth=1
	leaq	(%rdx,%rdx,2), %rax
	movq	%rbx, 8(%r14,%rax,8)
	incq	%rdx
	cmpq	%r10, %rdx
	je	LBB0_15
LBB0_12:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_18 Depth 2
	testq	%rcx, %rcx
	je	LBB0_13
## %bb.17:                              ##   in Loop: Header=BB0_12 Depth=1
	movq	64(%r12), %rax
	leaq	(%rdx,%rdx,2), %rsi
	movq	(%r14,%rsi,8), %rsi
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_18:                                ##   Parent Loop BB0_12 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	cmpq	%rsi, (%rax,%rbx,8)
	jg	LBB0_14
## %bb.19:                              ##   in Loop: Header=BB0_18 Depth=2
	incq	%rbx
	cmpq	%rbx, %rcx
	jne	LBB0_18
	jmp	LBB0_20
	.p2align	4, 0x90
LBB0_13:                                ##   in Loop: Header=BB0_12 Depth=1
	xorl	%ebx, %ebx
LBB0_14:                                ##   in Loop: Header=BB0_12 Depth=1
	cmpq	%rcx, %rbx
	je	LBB0_20
	jmp	LBB0_21
LBB0_15:
	movq	(%r8), %r10
	testq	%r10, %r10
	je	LBB0_16
## %bb.22:
	movq	8(%r8), %r13
	movq	24(%r12), %r9
	movq	32(%r12), %r8
	decq	%r9
	leaq	(%r9,%r9,2), %rax
	leaq	(%r8,%rax,8), %r11
	addq	$8, %r11
	xorl	%esi, %esi
	xorl	%edx, %edx
	jmp	LBB0_23
	.p2align	4, 0x90
LBB0_29:                                ##   in Loop: Header=BB0_23 Depth=1
	movq	16(%r12), %rbx
	movq	%rcx, (%rbx,%rdx,8)
	movq	16(%r13,%rsi), %rbx
	movq	80(%r12), %rax
	movq	%rbx, (%rax,%rsi)
	movq	%r14, 8(%rax,%rsi)
	movq	%rcx, 16(%rax,%rsi)
	incq	%rdx
	addq	$24, %rsi
	cmpq	%rdx, %r10
	je	LBB0_30
LBB0_23:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r13,%rsi), %r14
	movq	8(%r13,%rsi), %rcx
	cmpq	(%r11), %r14
	jne	LBB0_29
## %bb.24:                              ##   in Loop: Header=BB0_23 Depth=1
	movq	8(%r11), %rbx
	cmpq	%rbx, %rcx
	jge	LBB0_29
## %bb.25:
	movq	_DPMTABLE_UPDATE_SOCCLK@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	orl	%eax, (%r12)
	cmpq	%r10, %rdx
	jae	LBB0_30
## %bb.26:
	movq	16(%r12), %r14
	movq	80(%r12), %r15
	decq	%r10
	.p2align	4, 0x90
LBB0_27:                                ## =>This Inner Loop Header: Depth=1
	movq	%rbx, 16(%r15,%rsi)
	movq	%rbx, (%r14,%rdx,8)
	cmpq	%rdx, %r10
	je	LBB0_30
## %bb.28:                              ##   in Loop: Header=BB0_27 Depth=1
	movq	8(%r11), %rbx
	leaq	24(%rsi), %rax
	incq	%rdx
	cmpq	%rbx, 32(%r13,%rsi)
	movq	%rax, %rsi
	jl	LBB0_27
	jmp	LBB0_30
LBB0_4:
	movq	%rcx, %rdx
	andq	$-4, %rdx
	xorl	%ebx, %ebx
	movq	%r8, %rsi
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	movsd	24(%rsi), %xmm0                 ## xmm0 = mem[0],zero
	movsd	(%rsi), %xmm1                   ## xmm1 = mem[0],zero
	movlhps	%xmm0, %xmm1                    ## xmm1 = xmm1[0],xmm0[0]
	movsd	72(%rsi), %xmm0                 ## xmm0 = mem[0],zero
	movsd	48(%rsi), %xmm2                 ## xmm2 = mem[0],zero
	movlhps	%xmm0, %xmm2                    ## xmm2 = xmm2[0],xmm0[0]
	movups	%xmm1, (%rax,%rbx,8)
	movups	%xmm2, 16(%rax,%rbx,8)
	addq	$4, %rbx
	addq	$96, %rsi
	cmpq	%rbx, %rdx
	jne	LBB0_5
## %bb.6:
	cmpq	%rdx, %rcx
	je	LBB0_34
LBB0_7:
	leaq	(%rdx,%rdx,2), %rsi
	leaq	(%r8,%rsi,8), %rsi
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movq	(%rsi), %rbx
	movq	%rbx, (%rax,%rdx,8)
	incq	%rdx
	addq	$24, %rsi
	cmpq	%rdx, %rcx
	jne	LBB0_8
	jmp	LBB0_34
LBB0_16:
	movq	24(%r12), %r9
	movq	32(%r12), %r8
	decq	%r9
LBB0_30:
	movq	72(%r12), %r11
	movq	80(%r12), %rcx
	leaq	-1(%r11), %rax
	leaq	(%rax,%rax,2), %rdx
	leaq	(%r9,%r9,2), %rax
	movq	16(%r8,%rax,8), %rbx
	cmpq	%rbx, 16(%rcx,%rdx,8)
	jge	LBB0_32
## %bb.31:
	leaq	(%rcx,%rdx,8), %r9
	addq	$16, %r9
	leaq	(%r8,%rax,8), %r10
	addq	$16, %r10
	movq	_DPMTABLE_UPDATE_SOCCLK@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	orl	%esi, (%r12)
	movq	%rbx, (%r9)
	movq	(%r10), %rsi
	movq	16(%r12), %rbx
	movq	%rsi, -8(%rbx,%r11,8)
LBB0_32:
	movq	8(%r8,%rax,8), %rax
	cmpq	%rax, 8(%rcx,%rdx,8)
	jae	LBB0_34
## %bb.33:
	leaq	(%rcx,%rdx,8), %rcx
	addq	$8, %rcx
	movq	_DPMTABLE_UPDATE_SOCCLK@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	orl	%edx, (%r12)
	movq	%rax, (%rcx)
LBB0_34:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_vega10_odn_update_power_state  ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_PP_OD_EDIT_SCLK_VDDC_TABLE,4,2 ## @PP_OD_EDIT_SCLK_VDDC_TABLE
	.comm	_PP_OD_EDIT_MCLK_VDDC_TABLE,4,2 ## @PP_OD_EDIT_MCLK_VDDC_TABLE
	.comm	_DPMTABLE_OD_UPDATE_VDDC,4,2    ## @DPMTABLE_OD_UPDATE_VDDC
	.comm	_DPMTABLE_UPDATE_SOCCLK,4,2     ## @DPMTABLE_UPDATE_SOCCLK
	.no_dead_strip	_vega10_odn_update_soc_table
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function vega10_odn_update_soc_table
_vega10_odn_update_soc_table:           ; @vega10_odn_update_soc_table
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0, #8]
Lloh0:
	adrp	x9, _PP_OD_EDIT_SCLK_VDDC_TABLE@GOTPAGE
Lloh1:
	ldr	x9, [x9, _PP_OD_EDIT_SCLK_VDDC_TABLE@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	cmp	w9, w1
	b.ne	LBB0_4
; %bb.1:
	ldr	x9, [x8, #40]
	cbz	x9, LBB0_28
; %bb.2:
	ldr	x10, [x8, #48]
	ldr	x8, [x8, #64]
	cmp	x9, #4
	b.hs	LBB0_23
; %bb.3:
	mov	x11, #0
	b	LBB0_26
LBB0_4:
Lloh3:
	adrp	x9, _PP_OD_EDIT_MCLK_VDDC_TABLE@GOTPAGE
Lloh4:
	ldr	x9, [x9, _PP_OD_EDIT_MCLK_VDDC_TABLE@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	cmp	w9, w1
	b.ne	LBB0_28
; %bb.5:
	ldr	x9, [x0]
	ldr	x9, [x9]
	ldr	x10, [x8, #88]
	cbz	x10, LBB0_14
; %bb.6:
	mov	x11, #0
	ldr	x12, [x8, #56]
	sub	x13, x12, #1
	ldr	x14, [x8, #32]
	mov	w15, #24
Lloh6:
	adrp	x16, _DPMTABLE_OD_UPDATE_VDDC@GOTPAGE
Lloh7:
	ldr	x16, [x16, _DPMTABLE_OD_UPDATE_VDDC@GOTPAGEOFF]
	b	LBB0_9
LBB0_7:                                 ;   in Loop: Header=BB0_9 Depth=1
	mul	x17, x11, x15
	ldr	x17, [x14, x17]
	ldr	x1, [x8, #64]
	str	x17, [x1, x13, lsl #3]
	ldr	w17, [x16]
	ldr	w1, [x8]
	orr	w17, w1, w17
	str	w17, [x8]
	mov	x17, x13
LBB0_8:                                 ;   in Loop: Header=BB0_9 Depth=1
	madd	x1, x11, x15, x14
	str	x17, [x1, #8]
	add	x11, x11, #1
	cmp	x11, x10
	b.eq	LBB0_14
LBB0_9:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_11 Depth 2
	mov	x17, #0
	cbz	x12, LBB0_13
; %bb.10:                               ;   in Loop: Header=BB0_9 Depth=1
	ldr	x1, [x8, #64]
	mul	x2, x11, x15
	ldr	x2, [x14, x2]
LBB0_11:                                ;   Parent Loop BB0_9 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x3, [x1, x17, lsl #3]
	cmp	x3, x2
	b.gt	LBB0_13
; %bb.12:                               ;   in Loop: Header=BB0_11 Depth=2
	add	x17, x17, #1
	cmp	x12, x17
	b.ne	LBB0_11
	b	LBB0_7
LBB0_13:                                ;   in Loop: Header=BB0_9 Depth=1
	cmp	x17, x12
	b.eq	LBB0_7
	b	LBB0_8
LBB0_14:
	ldr	x14, [x9]
	cbz	x14, LBB0_29
; %bb.15:
	mov	x13, #0
	mov	x12, #0
	mov	x16, #0
	ldr	x15, [x9, #8]
	ldp	x10, x9, [x8, #24]
	sub	x10, x10, #1
	mov	w11, #24
	madd	x11, x10, x11, x9
	add	x1, x11, #8
	add	x11, x11, #16
	b	LBB0_17
LBB0_16:                                ;   in Loop: Header=BB0_17 Depth=1
	ldr	x17, [x8, #16]
	str	x2, [x17, x16, lsl #3]
	ldr	x17, [x4, #16]
	ldr	x4, [x8, #80]
	add	x4, x4, x12
	stp	x17, x3, [x4]
	str	x2, [x4, #16]
	add	x16, x16, #1
	add	x12, x12, #24
	sub	x13, x13, #8
	cmp	x14, x16
	b.eq	LBB0_30
LBB0_17:                                ; =>This Inner Loop Header: Depth=1
	add	x4, x15, x12
	ldr	x17, [x1]
	ldp	x3, x2, [x4]
	cmp	x3, x17
	b.ne	LBB0_16
; %bb.18:                               ;   in Loop: Header=BB0_17 Depth=1
	ldr	x17, [x11]
	cmp	x2, x17
	b.ge	LBB0_16
; %bb.19:
Lloh8:
	adrp	x1, _DPMTABLE_UPDATE_SOCCLK@GOTPAGE
Lloh9:
	ldr	x1, [x1, _DPMTABLE_UPDATE_SOCCLK@GOTPAGEOFF]
Lloh10:
	ldr	w1, [x1]
	ldr	w2, [x8]
	orr	w1, w2, w1
	str	w1, [x8]
	cmp	x14, x16
	b.ls	LBB0_30
; %bb.20:
	mvn	x16, x16
	add	x14, x16, x14
	add	x15, x15, x12
	add	x15, x15, #32
	ldr	x16, [x8, #80]
	ldr	x1, [x8, #16]
	sub	x13, x1, x13
	add	x12, x16, x12
	add	x12, x12, #16
LBB0_21:                                ; =>This Inner Loop Header: Depth=1
	str	x17, [x12]
	str	x17, [x13]
	cbz	x14, LBB0_30
; %bb.22:                               ;   in Loop: Header=BB0_21 Depth=1
	ldr	x16, [x15], #24
	ldr	x17, [x11]
	add	x13, x13, #8
	add	x12, x12, #24
	sub	x14, x14, #1
	cmp	x16, x17
	b.lt	LBB0_21
	b	LBB0_30
LBB0_23:
	and	x11, x9, #0xfffffffffffffffc
	add	x12, x10, #48
	add	x13, x8, #16
	mov	x14, x11
LBB0_24:                                ; =>This Inner Loop Header: Depth=1
	ldur	x15, [x12, #-48]
	ldur	x16, [x12, #-24]
	ldr	x17, [x12]
	ldr	x1, [x12, #24]
	stp	x15, x16, [x13, #-16]
	stp	x17, x1, [x13], #32
	add	x12, x12, #96
	subs	x14, x14, #4
	b.ne	LBB0_24
; %bb.25:
	cmp	x9, x11
	b.eq	LBB0_28
LBB0_26:
	sub	x9, x9, x11
	mov	w12, #24
	madd	x10, x11, x12, x10
	add	x8, x8, x11, lsl #3
LBB0_27:                                ; =>This Inner Loop Header: Depth=1
	ldr	x11, [x10], #24
	str	x11, [x8], #8
	subs	x9, x9, #1
	b.ne	LBB0_27
LBB0_28:
	b	_vega10_odn_update_power_state
LBB0_29:
	ldp	x10, x9, [x8, #24]
	sub	x10, x10, #1
LBB0_30:
	ldp	x12, x11, [x8, #72]
	sub	x12, x12, #1
	mov	w14, #24
	madd	x13, x12, x14, x11
	ldr	x16, [x13, #16]!
	madd	x14, x10, x14, x9
	ldr	x15, [x14, #16]!
	cmp	x16, x15
	b.ge	LBB0_32
; %bb.31:
Lloh11:
	adrp	x16, _DPMTABLE_UPDATE_SOCCLK@GOTPAGE
Lloh12:
	ldr	x16, [x16, _DPMTABLE_UPDATE_SOCCLK@GOTPAGEOFF]
Lloh13:
	ldr	w16, [x16]
	ldr	w17, [x8]
	orr	w16, w17, w16
	str	w16, [x8]
	str	x15, [x13]
	ldr	x13, [x14]
	ldr	x14, [x8, #16]
	str	x13, [x14, x12, lsl #3]
LBB0_32:
	mov	w13, #24
	madd	x11, x12, x13, x11
	ldr	x12, [x11, #8]!
	madd	x9, x10, x13, x9
	ldr	x9, [x9, #8]
	cmp	x12, x9
	b.hs	LBB0_28
; %bb.33:
Lloh14:
	adrp	x10, _DPMTABLE_UPDATE_SOCCLK@GOTPAGE
Lloh15:
	ldr	x10, [x10, _DPMTABLE_UPDATE_SOCCLK@GOTPAGEOFF]
Lloh16:
	ldr	w10, [x10]
	ldr	w12, [x8]
	orr	w10, w12, w10
	str	w10, [x8]
	str	x9, [x11]
	b	_vega10_odn_update_power_state
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_PP_OD_EDIT_SCLK_VDDC_TABLE,4,2 ; @PP_OD_EDIT_SCLK_VDDC_TABLE
	.comm	_PP_OD_EDIT_MCLK_VDDC_TABLE,4,2 ; @PP_OD_EDIT_MCLK_VDDC_TABLE
	.comm	_DPMTABLE_OD_UPDATE_VDDC,4,2    ; @DPMTABLE_OD_UPDATE_VDDC
	.comm	_DPMTABLE_UPDATE_SOCCLK,4,2     ; @DPMTABLE_UPDATE_SOCCLK
	.no_dead_strip	_vega10_odn_update_soc_table
.subsections_via_symbols
