	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_TWIInit                        ## -- Begin function TWIInit
	.p2align	4, 0x90
_TWIInit:                               ## @TWIInit
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_Ready@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_TWIInfo@GOTPCREL(%rip), %rcx
	movl	%eax, 16(%rcx)
	movl	$255, (%rcx)
	movq	$0, 8(%rcx)
	movq	_TWSR@GOTPCREL(%rip), %rax
	movq	$0, (%rax)
	movq	_F_CPU@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_TWI_FREQ@GOTPCREL(%rip), %rcx
	cltd
	idivl	(%rcx)
                                        ## kill: def $eax killed $eax def $rax
	movl	%eax, %ecx
	addl	$-16, %ecx
	shrl	$31, %ecx
	addl	%ecx, %eax
	addl	$-16, %eax
	sarl	%eax
	movq	_TWBR@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	_TWIE@GOTPCREL(%rip), %rax
	movq	_TWEN@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	movl	$1, %edx
	shll	%cl, %edx
	movb	(%rax), %al
	btsl	%eax, %edx
	movq	_TWCR@GOTPCREL(%rip), %rax
	movl	%edx, (%rax)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_Ready,4,2                      ## @Ready
	.comm	_TWIInfo,24,3                   ## @TWIInfo
	.comm	_TWSR,8,3                       ## @TWSR
	.comm	_F_CPU,4,2                      ## @F_CPU
	.comm	_TWI_FREQ,4,2                   ## @TWI_FREQ
	.comm	_TWBR,4,2                       ## @TWBR
	.comm	_TWIE,4,2                       ## @TWIE
	.comm	_TWEN,4,2                       ## @TWEN
	.comm	_TWCR,4,2                       ## @TWCR
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_TWIInit                        ; -- Begin function TWIInit
	.p2align	2
_TWIInit:                               ; @TWIInit
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _Ready@GOTPAGE
Lloh1:
	ldr	x8, [x8, _Ready@GOTPAGEOFF]
Lloh2:
	adrp	x9, _TWIInfo@GOTPAGE
Lloh3:
	ldr	x9, [x9, _TWIInfo@GOTPAGEOFF]
Lloh4:
	ldr	w8, [x8]
	str	w8, [x9, #16]
	mov	w8, #255
	str	w8, [x9]
Lloh5:
	adrp	x8, _TWSR@GOTPAGE
Lloh6:
	ldr	x8, [x8, _TWSR@GOTPAGEOFF]
	str	xzr, [x9, #8]
Lloh7:
	str	xzr, [x8]
Lloh8:
	adrp	x8, _F_CPU@GOTPAGE
Lloh9:
	ldr	x8, [x8, _F_CPU@GOTPAGEOFF]
Lloh10:
	adrp	x9, _TWI_FREQ@GOTPAGE
Lloh11:
	ldr	x9, [x9, _TWI_FREQ@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
Lloh13:
	ldr	w9, [x9]
	sdiv	w8, w8, w9
	sub	w9, w8, #16
	sub	w8, w8, #15
	cmp	w9, #0
	csel	w8, w8, w9, lt
	asr	w8, w8, #1
Lloh14:
	adrp	x9, _TWBR@GOTPAGE
Lloh15:
	ldr	x9, [x9, _TWBR@GOTPAGEOFF]
Lloh16:
	adrp	x10, _TWIE@GOTPAGE
Lloh17:
	ldr	x10, [x10, _TWIE@GOTPAGEOFF]
Lloh18:
	str	w8, [x9]
Lloh19:
	ldr	w8, [x10]
	mov	w9, #1
	lsl	w8, w9, w8
Lloh20:
	adrp	x10, _TWEN@GOTPAGE
Lloh21:
	ldr	x10, [x10, _TWEN@GOTPAGEOFF]
Lloh22:
	ldr	w10, [x10]
	lsl	w9, w9, w10
	orr	w8, w9, w8
Lloh23:
	adrp	x9, _TWCR@GOTPAGE
Lloh24:
	ldr	x9, [x9, _TWCR@GOTPAGEOFF]
Lloh25:
	str	w8, [x9]
	ret
	.loh AdrpLdrGotStr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh19
	.loh AdrpLdrGotStr	Lloh14, Lloh15, Lloh18
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh12
	.loh AdrpLdrGotStr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh4
	.cfi_endproc
                                        ; -- End function
	.comm	_Ready,4,2                      ; @Ready
	.comm	_TWIInfo,24,3                   ; @TWIInfo
	.comm	_TWSR,8,3                       ; @TWSR
	.comm	_F_CPU,4,2                      ; @F_CPU
	.comm	_TWI_FREQ,4,2                   ; @TWI_FREQ
	.comm	_TWBR,4,2                       ; @TWBR
	.comm	_TWIE,4,2                       ; @TWIE
	.comm	_TWEN,4,2                       ; @TWEN
	.comm	_TWCR,4,2                       ; @TWCR
.subsections_via_symbols
