	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function i5100_init_dimm_csmap
_i5100_init_dimm_csmap:                 ## @i5100_init_dimm_csmap
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	(%rdi), %r9
	movq	_I5100_MAX_DIMM_SLOTS_PER_CHAN@GOTPCREL(%rip), %r8
	movl	(%r8), %ecx
	testl	%ecx, %ecx
	jle	LBB0_7
## %bb.1:
	movq	_I5100_MAX_RANKS_PER_DIMM@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edi
	xorl	%esi, %esi
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_2 Depth=1
	incq	%rsi
	movslq	%ecx, %rax
	cmpq	%rax, %rsi
	jge	LBB0_7
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_4 Depth 2
	testl	%edi, %edi
	jle	LBB0_6
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	(%r9), %rax
	movq	(%rax,%rsi,8), %rcx
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_4:                                 ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	$-1, (%rcx,%rax,4)
	incq	%rax
	movslq	(%rdx), %rdi
	cmpq	%rdi, %rax
	jl	LBB0_4
## %bb.5:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	(%r8), %ecx
	jmp	LBB0_6
LBB0_7:
	cmpl	$4, 8(%r9)
	movq	(%r9), %rax
	movq	(%rax), %rcx
	movl	$0, (%rcx)
	jne	LBB0_9
## %bb.8:
	movl	$3, 4(%rcx)
	movq	8(%rax), %rcx
	movabsq	$8589934593, %rdx               ## imm = 0x200000001
	movq	%rdx, (%rcx)
	movq	16(%rax), %rcx
	movl	$2, (%rcx)
	movq	24(%rax), %rax
	movl	$3, (%rax)
	popq	%rbp
	retq
LBB0_9:
	movl	$1, 4(%rcx)
	movq	8(%rax), %rcx
	movabsq	$12884901890, %rdx              ## imm = 0x300000002
	movq	%rdx, (%rcx)
	movq	16(%rax), %rax
	movabsq	$21474836484, %rcx              ## imm = 0x500000004
	movq	%rcx, (%rax)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_I5100_MAX_DIMM_SLOTS_PER_CHAN,4,2 ## @I5100_MAX_DIMM_SLOTS_PER_CHAN
	.comm	_I5100_MAX_RANKS_PER_DIMM,4,2   ## @I5100_MAX_RANKS_PER_DIMM
	.no_dead_strip	_i5100_init_dimm_csmap
.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 i5100_init_dimm_csmap
lCPI0_0:
	.long	2                               ; 0x2
	.long	3                               ; 0x3
lCPI0_1:
	.long	4                               ; 0x4
	.long	5                               ; 0x5
lCPI0_2:
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_i5100_init_dimm_csmap:                 ; @i5100_init_dimm_csmap
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0]
Lloh0:
	adrp	x9, _I5100_MAX_DIMM_SLOTS_PER_CHAN@GOTPAGE
Lloh1:
	ldr	x9, [x9, _I5100_MAX_DIMM_SLOTS_PER_CHAN@GOTPAGEOFF]
	ldr	w14, [x9]
	cmp	w14, #1
	b.lt	LBB0_7
; %bb.1:
	mov	x10, #0
Lloh2:
	adrp	x11, _I5100_MAX_RANKS_PER_DIMM@GOTPAGE
Lloh3:
	ldr	x11, [x11, _I5100_MAX_RANKS_PER_DIMM@GOTPAGEOFF]
	ldr	w13, [x11]
	mov	w12, #-1
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x10, x10, #1
	cmp	x10, w14, sxtw
	b.ge	LBB0_7
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_5 Depth 2
	cmp	w13, #1
	b.lt	LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x14, #0
	ldr	x13, [x8]
	ldr	x15, [x13, x10, lsl #3]
LBB0_5:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	str	w12, [x15, x14, lsl #2]
	add	x14, x14, #1
	ldrsw	x13, [x11]
	cmp	x14, x13
	b.lt	LBB0_5
; %bb.6:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w14, [x9]
	b	LBB0_2
LBB0_7:
	ldr	w10, [x8, #8]
	ldr	x8, [x8]
	ldr	x9, [x8]
	str	wzr, [x9]
	cmp	w10, #4
	b.ne	LBB0_9
; %bb.8:
	mov	w10, #3
	str	w10, [x9, #4]
Lloh4:
	adrp	x9, lCPI0_2@PAGE
Lloh5:
	ldr	d0, [x9, lCPI0_2@PAGEOFF]
	ldp	x9, x11, [x8, #8]
	str	d0, [x9]
	mov	w9, #2
	str	w9, [x11]
	ldr	x8, [x8, #24]
	str	w10, [x8]
	ret
LBB0_9:
	mov	w10, #1
	str	w10, [x9, #4]
Lloh6:
	adrp	x9, lCPI0_0@PAGE
Lloh7:
	ldr	d0, [x9, lCPI0_0@PAGEOFF]
	ldp	x9, x8, [x8, #8]
	str	d0, [x9]
Lloh8:
	adrp	x9, lCPI0_1@PAGE
Lloh9:
	ldr	d0, [x9, lCPI0_1@PAGEOFF]
	str	d0, [x8]
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdr	Lloh4, Lloh5
	.loh AdrpLdr	Lloh8, Lloh9
	.loh AdrpLdr	Lloh6, Lloh7
	.cfi_endproc
                                        ; -- End function
	.comm	_I5100_MAX_DIMM_SLOTS_PER_CHAN,4,2 ; @I5100_MAX_DIMM_SLOTS_PER_CHAN
	.comm	_I5100_MAX_RANKS_PER_DIMM,4,2   ; @I5100_MAX_RANKS_PER_DIMM
	.no_dead_strip	_i5100_init_dimm_csmap
.subsections_via_symbols
