	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function mci_write_memory_to_gpio
LCPI0_0:
	.byte	0                               ## 0x0
	.byte	255                             ## 0xff
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	255                             ## 0xff
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
LCPI0_1:
	.long	138240                          ## 0x21c00
	.long	133120                          ## 0x20800
	.long	138240                          ## 0x21c00
	.long	133120                          ## 0x20800
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_mci_write_memory_to_gpio:              ## @mci_write_memory_to_gpio
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_MCI_MEMORY_DATA_BYTE0@GOTPCREL(%rip), %rax
	movl	%edx, %edi
	shll	$8, %edi
	movzwl	%di, %edi
	orl	(%rax), %edi
	shll	$10, %edi
	movd	%edi, %xmm1
	orl	$133120, %edi                   ## imm = 0x20800
	movl	%edi, (%rcx)
	movl	%edx, %eax
	shrl	$8, %eax
	movq	_MCI_MEMORY_DATA_BYTE1@GOTPCREL(%rip), %rdi
	movq	_MCI_MEMORY_DATA_BYTE2@GOTPCREL(%rip), %r8
	movd	%edx, %xmm0
	pinsrd	$1, %eax, %xmm0
	pand	LCPI0_0(%rip), %xmm0
	movd	(%rdi), %xmm2                   ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, (%r8), %xmm2
	por	%xmm0, %xmm2
	pslld	$10, %xmm2
	pshufd	$64, %xmm2, %xmm0               ## xmm0 = xmm2[0,0,0,1]
	pblendw	$252, %xmm0, %xmm1              ## xmm1 = xmm1[0,1],xmm0[2,3,4,5,6,7]
	movdqa	LCPI0_1(%rip), %xmm0            ## xmm0 = [138240,133120,138240,133120]
	por	%xmm0, %xmm1
	movdqu	%xmm1, 4(%rcx)
	movq	_MCI_MEMORY_DATA_BYTE3@GOTPCREL(%rip), %rax
	shrl	$16, %edx
	andl	$65280, %edx                    ## imm = 0xFF00
	orl	(%rax), %edx
	shll	$10, %edx
	movq	_MCI_MEMORY_ADDRESS_BYTE2@GOTPCREL(%rip), %rdi
	movq	_MCI_MODE_MEMORY_WRITE@GOTPCREL(%rip), %r8
	movl	%esi, %eax
	shrl	$8, %eax
	andl	$16128, %eax                    ## imm = 0x3F00
	orl	(%rdi), %eax
	orl	(%r8), %eax
	movl	%eax, %edi
	shll	$10, %edi
	pshufd	$85, %xmm2, %xmm1               ## xmm1 = xmm2[1,1,1,1]
	pinsrd	$1, %edx, %xmm1
	pinsrd	$2, %edx, %xmm1
	pinsrd	$3, %edi, %xmm1
	movd	%eax, %xmm2
	por	%xmm0, %xmm1
	movdqu	%xmm1, 20(%rcx)
	movq	_MCI_MEMORY_ADDRESS_BYTE1@GOTPCREL(%rip), %rax
	movl	%esi, %edx
	andl	$65280, %edx                    ## imm = 0xFF00
	orl	(%rax), %edx
	movq	_MCI_MEMORY_ADDRESS_BYTE0@GOTPCREL(%rip), %rax
	shll	$8, %esi
	movzwl	%si, %esi
	orl	(%rax), %esi
	pinsrd	$1, %edx, %xmm2
	pinsrd	$2, %edx, %xmm2
	pinsrd	$3, %esi, %xmm2
	shll	$10, %esi
	pslld	$10, %xmm2
	por	%xmm0, %xmm2
	movdqu	%xmm2, 36(%rcx)
	orl	$138240, %esi                   ## imm = 0x21C00
	movl	%esi, 52(%rcx)
	pcmpeqd	%xmm0, %xmm0
	movdqu	%xmm0, 56(%rcx)
	movq	$-1, 72(%rcx)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_MCI_MEMORY_DATA_BYTE0,4,2      ## @MCI_MEMORY_DATA_BYTE0
	.comm	_MCI_MEMORY_DATA_BYTE1,4,2      ## @MCI_MEMORY_DATA_BYTE1
	.comm	_MCI_MEMORY_DATA_BYTE2,4,2      ## @MCI_MEMORY_DATA_BYTE2
	.comm	_MCI_MEMORY_DATA_BYTE3,4,2      ## @MCI_MEMORY_DATA_BYTE3
	.comm	_MCI_MEMORY_ADDRESS_BYTE2,4,2   ## @MCI_MEMORY_ADDRESS_BYTE2
	.comm	_MCI_MODE_MEMORY_WRITE,4,2      ## @MCI_MODE_MEMORY_WRITE
	.comm	_MCI_MEMORY_ADDRESS_BYTE1,4,2   ## @MCI_MEMORY_ADDRESS_BYTE1
	.comm	_MCI_MEMORY_ADDRESS_BYTE0,4,2   ## @MCI_MEMORY_ADDRESS_BYTE0
	.no_dead_strip	_mci_write_memory_to_gpio
.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 mci_write_memory_to_gpio
lCPI0_0:
	.long	133120                          ; 0x20800
	.long	138240                          ; 0x21c00
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
lCPI0_1:
	.long	133120                          ; 0x20800
	.long	138240                          ; 0x21c00
	.long	133120                          ; 0x20800
	.long	138240                          ; 0x21c00
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_mci_write_memory_to_gpio:              ; @mci_write_memory_to_gpio
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _MCI_MEMORY_DATA_BYTE0@GOTPAGE
Lloh1:
	ldr	x8, [x8, _MCI_MEMORY_DATA_BYTE0@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	ubfiz	w9, w2, #8, #8
	orr	w8, w8, w9
	lsl	w8, w8, #10
	dup.2s	v0, w8
Lloh3:
	adrp	x8, lCPI0_0@PAGE
Lloh4:
	ldr	d1, [x8, lCPI0_0@PAGEOFF]
	orr.8b	v0, v0, v1
	str	d0, [x3]
	lsr	w8, w2, #8
Lloh5:
	adrp	x9, _MCI_MEMORY_DATA_BYTE1@GOTPAGE
Lloh6:
	ldr	x9, [x9, _MCI_MEMORY_DATA_BYTE1@GOTPAGEOFF]
	lsr	w10, w2, #16
	fmov	s0, w2
Lloh7:
	adrp	x11, _MCI_MEMORY_DATA_BYTE2@GOTPAGE
Lloh8:
	ldr	x11, [x11, _MCI_MEMORY_DATA_BYTE2@GOTPAGEOFF]
	mov.s	v0[1], w8
	movi	d2, #0x00ff000000ff00
Lloh9:
	ldr	s3, [x9]
	ld1.s	{ v3 }[1], [x11]
	and.8b	v0, v0, v2
	orr.8b	v0, v3, v0
	shl.2s	v0, v0, #10
	zip1.4s	v0, v0, v0
Lloh10:
	adrp	x8, lCPI0_1@PAGE
Lloh11:
	ldr	q3, [x8, lCPI0_1@PAGEOFF]
	orr.16b	v0, v0, v3
	stur	q0, [x3, #8]
Lloh12:
	adrp	x8, _MCI_MEMORY_DATA_BYTE3@GOTPAGE
Lloh13:
	ldr	x8, [x8, _MCI_MEMORY_DATA_BYTE3@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	and	w9, w10, #0xff00
	orr	w8, w8, w9
	lsl	w8, w8, #10
	dup.2s	v0, w8
Lloh15:
	adrp	x8, _MCI_MEMORY_ADDRESS_BYTE2@GOTPAGE
Lloh16:
	ldr	x8, [x8, _MCI_MEMORY_ADDRESS_BYTE2@GOTPAGEOFF]
	orr.8b	v0, v0, v1
Lloh17:
	ldr	w8, [x8]
Lloh18:
	adrp	x9, _MCI_MODE_MEMORY_WRITE@GOTPAGE
Lloh19:
	ldr	x9, [x9, _MCI_MODE_MEMORY_WRITE@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	lsr	w10, w1, #8
	and	w10, w10, #0x3f00
	orr	w8, w8, w10
	orr	w8, w8, w9
	lsl	w8, w8, #10
	dup.2s	v4, w8
	orr.8b	v1, v4, v1
	stp	d0, d1, [x3, #24]
	lsl	w8, w1, #8
Lloh21:
	adrp	x9, _MCI_MEMORY_ADDRESS_BYTE1@GOTPAGE
Lloh22:
	ldr	x9, [x9, _MCI_MEMORY_ADDRESS_BYTE1@GOTPAGEOFF]
Lloh23:
	adrp	x10, _MCI_MEMORY_ADDRESS_BYTE0@GOTPAGE
Lloh24:
	ldr	x10, [x10, _MCI_MEMORY_ADDRESS_BYTE0@GOTPAGEOFF]
	fmov	s0, w1
	mov.s	v0[1], w8
	and.8b	v0, v0, v2
Lloh25:
	ldr	s1, [x9]
	ld1.s	{ v1 }[1], [x10]
	orr.8b	v0, v1, v0
	shl.2s	v0, v0, #10
	zip1.4s	v0, v0, v0
	orr.16b	v0, v0, v3
	stur	q0, [x3, #40]
	mov	x8, #-1
	stp	x8, x8, [x3, #64]
	str	x8, [x3, #56]
	ret
	.loh AdrpLdrGot	Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh25
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpAdrp	Lloh10, Lloh12
	.loh AdrpLdr	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh9
	.loh AdrpLdr	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_MCI_MEMORY_DATA_BYTE0,4,2      ; @MCI_MEMORY_DATA_BYTE0
	.comm	_MCI_MEMORY_DATA_BYTE1,4,2      ; @MCI_MEMORY_DATA_BYTE1
	.comm	_MCI_MEMORY_DATA_BYTE2,4,2      ; @MCI_MEMORY_DATA_BYTE2
	.comm	_MCI_MEMORY_DATA_BYTE3,4,2      ; @MCI_MEMORY_DATA_BYTE3
	.comm	_MCI_MEMORY_ADDRESS_BYTE2,4,2   ; @MCI_MEMORY_ADDRESS_BYTE2
	.comm	_MCI_MODE_MEMORY_WRITE,4,2      ; @MCI_MODE_MEMORY_WRITE
	.comm	_MCI_MEMORY_ADDRESS_BYTE1,4,2   ; @MCI_MEMORY_ADDRESS_BYTE1
	.comm	_MCI_MEMORY_ADDRESS_BYTE0,4,2   ; @MCI_MEMORY_ADDRESS_BYTE0
	.no_dead_strip	_mci_write_memory_to_gpio
.subsections_via_symbols
