	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_i2c_start                      ## -- Begin function i2c_start
	.p2align	4, 0x90
_i2c_start:                             ## @i2c_start
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_TWINT@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_TWSTA@GOTPCREL(%rip), %rax
	movb	(%rax), %sil
	movq	_TWEN@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	$1, %eax
	shll	%cl, %eax
	btsl	%edx, %eax
	movl	%eax, %ecx
	btsl	%esi, %ecx
	movq	_TWCR@GOTPCREL(%rip), %rsi
	movl	%ecx, (%rsi)
	btl	%edx, %ecx
	jae	LBB0_1
## %bb.2:
	movq	_TW_STATUS@GOTPCREL(%rip), %rcx
	movl	$248, %edx
	andl	(%rcx), %edx
	movq	_TW_START@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %edx
	je	LBB0_4
## %bb.3:
	movq	_TW_REP_START@GOTPCREL(%rip), %r8
	movb	$1, %cl
	cmpl	(%r8), %edx
	jne	LBB0_5
LBB0_4:
	movq	_TWDR@GOTPCREL(%rip), %rcx
	movb	%dil, (%rcx)
	movl	%eax, (%rsi)
	movq	_TW_MT_SLA_ACK@GOTPCREL(%rip), %rax
	cmpl	(%rax), %edx
	setne	%al
	movq	_TW_MR_SLA_ACK@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %edx
	setne	%cl
	andb	%al, %cl
LBB0_5:
	movzbl	%cl, %eax
	popq	%rbp
	retq
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	jmp	LBB0_1
	.cfi_endproc
                                        ## -- End function
	.comm	_TWINT,4,2                      ## @TWINT
	.comm	_TWSTA,4,2                      ## @TWSTA
	.comm	_TWEN,4,2                       ## @TWEN
	.comm	_TWCR,4,2                       ## @TWCR
	.comm	_TW_STATUS,4,2                  ## @TW_STATUS
	.comm	_TW_START,4,2                   ## @TW_START
	.comm	_TW_REP_START,4,2               ## @TW_REP_START
	.comm	_TWDR,1,0                       ## @TWDR
	.comm	_TW_MT_SLA_ACK,4,2              ## @TW_MT_SLA_ACK
	.comm	_TW_MR_SLA_ACK,4,2              ## @TW_MR_SLA_ACK
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_i2c_start                      ; -- Begin function i2c_start
	.p2align	2
_i2c_start:                             ; @i2c_start
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _TWINT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _TWINT@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	mov	w9, #1
	lsl	w10, w9, w8
Lloh3:
	adrp	x8, _TWSTA@GOTPAGE
Lloh4:
	ldr	x8, [x8, _TWSTA@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	lsl	w11, w9, w8
Lloh6:
	adrp	x8, _TWEN@GOTPAGE
Lloh7:
	ldr	x8, [x8, _TWEN@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
	lsl	w8, w9, w8
	orr	w8, w8, w10
	orr	w11, w8, w11
Lloh9:
	adrp	x9, _TWCR@GOTPAGE
Lloh10:
	ldr	x9, [x9, _TWCR@GOTPAGEOFF]
	str	w11, [x9]
	tst	w11, w10
	b.eq	LBB0_3
; %bb.1:
Lloh11:
	adrp	x10, _TW_STATUS@GOTPAGE
Lloh12:
	ldr	x10, [x10, _TW_STATUS@GOTPAGEOFF]
Lloh13:
	ldr	w10, [x10]
	and	w10, w10, #0xf8
Lloh14:
	adrp	x11, _TW_START@GOTPAGE
Lloh15:
	ldr	x11, [x11, _TW_START@GOTPAGEOFF]
Lloh16:
	ldr	w11, [x11]
Lloh17:
	adrp	x12, _TW_REP_START@GOTPAGE
Lloh18:
	ldr	x12, [x12, _TW_REP_START@GOTPAGEOFF]
Lloh19:
	ldr	w12, [x12]
	cmp	w10, w11
	ccmp	w10, w12, #4, ne
	b.ne	LBB0_4
; %bb.2:
Lloh20:
	adrp	x11, _TWDR@GOTPAGE
Lloh21:
	ldr	x11, [x11, _TWDR@GOTPAGEOFF]
Lloh22:
	strb	w0, [x11]
	str	w8, [x9]
Lloh23:
	adrp	x8, _TW_MT_SLA_ACK@GOTPAGE
Lloh24:
	ldr	x8, [x8, _TW_MT_SLA_ACK@GOTPAGEOFF]
Lloh25:
	ldr	w8, [x8]
	cmp	w10, w8
Lloh26:
	adrp	x8, _TW_MR_SLA_ACK@GOTPAGE
Lloh27:
	ldr	x8, [x8, _TW_MR_SLA_ACK@GOTPAGEOFF]
Lloh28:
	ldr	w8, [x8]
	ccmp	w10, w8, #4, ne
	cset	w0, ne
	ret
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	b	LBB0_3
LBB0_4:
	mov	w0, #1
	ret
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotStr	Lloh20, Lloh21, Lloh22
	.cfi_endproc
                                        ; -- End function
	.comm	_TWINT,4,2                      ; @TWINT
	.comm	_TWSTA,4,2                      ; @TWSTA
	.comm	_TWEN,4,2                       ; @TWEN
	.comm	_TWCR,4,2                       ; @TWCR
	.comm	_TW_STATUS,4,2                  ; @TW_STATUS
	.comm	_TW_START,4,2                   ; @TW_START
	.comm	_TW_REP_START,4,2               ; @TW_REP_START
	.comm	_TWDR,1,0                       ; @TWDR
	.comm	_TW_MT_SLA_ACK,4,2              ; @TW_MT_SLA_ACK
	.comm	_TW_MR_SLA_ACK,4,2              ; @TW_MR_SLA_ACK
.subsections_via_symbols
