	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function tegra_i2c_tx
LCPI0_0:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	2                               ## 0x2
	.long	3                               ## 0x3
LCPI0_1:
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
LCPI0_2:
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
LCPI0_3:
	.long	64                              ## 0x40
	.long	64                              ## 0x40
	.long	64                              ## 0x40
	.long	64                              ## 0x40
LCPI0_4:
	.long	96                              ## 0x60
	.long	96                              ## 0x60
	.long	96                              ## 0x60
	.long	96                              ## 0x60
LCPI0_5:
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_tegra_i2c_tx:                          ## @tegra_i2c_tx
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdi, %r13
	movq	(%rdi), %rcx
	movq	8(%rdi), %rax
	movq	(%rax), %rdx
	cmpq	%rdx, %rcx
	jb	LBB0_2
## %bb.1:
	leaq	L_.str(%rip), %rdi
	callq	_panic
	movq	(%r13), %rcx
	movq	8(%r13), %rax
	movq	(%rax), %rdx
LBB0_2:
	cmpq	%rdx, %rcx
	jae	LBB0_21
## %bb.3:
	movq	_I2C_FIFO_STATUS@GOTPCREL(%rip), %r14
	movq	_I2C_TX_PACKET_FIFO@GOTPCREL(%rip), %r15
	jmp	LBB0_4
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_4 Depth=1
	xorl	%edx, %edx
LBB0_20:                                ##   in Loop: Header=BB0_4 Depth=1
	movl	(%r15), %esi
	movq	%r13, %rdi
	callq	_WR4
	movq	(%r13), %rcx
	movq	8(%r13), %rax
	movq	(%rax), %rdx
	cmpq	%rdx, %rcx
	jae	LBB0_21
LBB0_4:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_12 Depth 2
                                        ##     Child Loop BB0_18 Depth 2
	movl	(%r14), %esi
	movq	%r13, %rdi
	callq	_RD4
	movl	%eax, %edi
	callq	_I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT
	testq	%rax, %rax
	je	LBB0_5
## %bb.6:                               ##   in Loop: Header=BB0_4 Depth=1
	movq	8(%r13), %rax
	movq	(%rax), %rsi
	subq	(%r13), %rsi
	movl	$4, %edi
	callq	_min
                                        ## kill: def $eax killed $eax def $rax
	testl	%eax, %eax
	jle	LBB0_7
## %bb.8:                               ##   in Loop: Header=BB0_4 Depth=1
	movq	(%r13), %r11
	movq	8(%r13), %rcx
	movq	8(%rcx), %r8
	leal	-1(%rax), %r10d
	xorl	%ecx, %ecx
	movq	%r11, %rsi
	movl	$0, %edx
	cmpl	$7, %r10d
	movdqa	LCPI0_3(%rip), %xmm10           ## xmm10 = [64,64,64,64]
	movdqa	LCPI0_4(%rip), %xmm11           ## xmm11 = [96,96,96,96]
	movdqa	LCPI0_5(%rip), %xmm12           ## xmm12 = [16,16,16,16]
	jb	LBB0_17
## %bb.9:                               ##   in Loop: Header=BB0_4 Depth=1
	leaq	1(%r10), %r9
	movq	%r9, %rcx
	andq	$-8, %rcx
	leaq	-8(%rcx), %rdx
	movq	%rdx, %r12
	shrq	$3, %r12
	incq	%r12
	testq	%rdx, %rdx
	je	LBB0_10
## %bb.11:                              ##   in Loop: Header=BB0_4 Depth=1
	movq	%r12, %rdx
	andq	$-2, %rdx
	leaq	(%r8,%r11,4), %rsi
	addq	$48, %rsi
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	movdqa	LCPI0_0(%rip), %xmm1            ## xmm1 = [0,1,2,3]
	pxor	%xmm2, %xmm2
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = [32,32,32,32]
	movdqa	LCPI0_2(%rip), %xmm9            ## xmm9 = [1065353216,1065353216,1065353216,1065353216]
	.p2align	4, 0x90
LBB0_12:                                ##   Parent Loop BB0_4 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqa	%xmm1, %xmm3
	pslld	$3, %xmm3
	movdqa	%xmm3, %xmm4
	paddd	%xmm8, %xmm4
	movdqa	%xmm1, %xmm5
	pslld	$26, %xmm5
	paddd	%xmm9, %xmm5
	cvttps2dq	%xmm5, %xmm5
	movdqu	-48(%rsi,%rdi,4), %xmm6
	pmulld	%xmm5, %xmm6
	por	%xmm0, %xmm6
	movdqu	-32(%rsi,%rdi,4), %xmm0
	movdqu	-16(%rsi,%rdi,4), %xmm5
	movdqu	(%rsi,%rdi,4), %xmm7
	pslld	$23, %xmm4
	paddd	%xmm9, %xmm4
	cvttps2dq	%xmm4, %xmm4
	pmulld	%xmm0, %xmm4
	por	%xmm2, %xmm4
	movdqa	%xmm3, %xmm0
	paddd	%xmm10, %xmm0
	paddd	%xmm11, %xmm3
	pslld	$23, %xmm0
	paddd	%xmm9, %xmm0
	cvttps2dq	%xmm0, %xmm0
	pmulld	%xmm5, %xmm0
	por	%xmm6, %xmm0
	pslld	$23, %xmm3
	paddd	%xmm9, %xmm3
	cvttps2dq	%xmm3, %xmm2
	pmulld	%xmm7, %xmm2
	por	%xmm4, %xmm2
	addq	$16, %rdi
	paddd	%xmm12, %xmm1
	addq	$-2, %rdx
	jne	LBB0_12
## %bb.13:                              ##   in Loop: Header=BB0_4 Depth=1
	testb	$1, %r12b
	je	LBB0_15
LBB0_14:                                ##   in Loop: Header=BB0_4 Depth=1
	addq	%r11, %rdi
	movdqu	(%r8,%rdi,4), %xmm3
	movdqu	16(%r8,%rdi,4), %xmm4
	movdqa	%xmm1, %xmm5
	pslld	$3, %xmm5
	paddd	%xmm8, %xmm5
	pslld	$26, %xmm1
	paddd	%xmm9, %xmm1
	cvttps2dq	%xmm1, %xmm1
	pmulld	%xmm3, %xmm1
	por	%xmm1, %xmm0
	pslld	$23, %xmm5
	paddd	%xmm9, %xmm5
	cvttps2dq	%xmm5, %xmm1
	pmulld	%xmm4, %xmm1
	por	%xmm1, %xmm2
LBB0_15:                                ##   in Loop: Header=BB0_4 Depth=1
	por	%xmm2, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	por	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	por	%xmm1, %xmm0
	movd	%xmm0, %edx
	cmpq	%rcx, %r9
	je	LBB0_19
## %bb.16:                              ##   in Loop: Header=BB0_4 Depth=1
	leaq	(%r11,%rcx), %rsi
LBB0_17:                                ##   in Loop: Header=BB0_4 Depth=1
	leaq	(%r8,%rsi,4), %rsi
	subl	%ecx, %eax
	shll	$3, %ecx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_18:                                ##   Parent Loop BB0_4 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rsi,%rdi,4), %ebx
	shll	%cl, %ebx
	orl	%ebx, %edx
	incq	%rdi
	addl	$8, %ecx
	cmpl	%edi, %eax
	jne	LBB0_18
LBB0_19:                                ##   in Loop: Header=BB0_4 Depth=1
	leaq	(%r11,%r10), %rax
	incq	%rax
	movq	%rax, (%r13)
	jmp	LBB0_20
LBB0_10:                                ##   in Loop: Header=BB0_4 Depth=1
	pxor	%xmm0, %xmm0
	xorl	%edi, %edi
	movdqa	LCPI0_0(%rip), %xmm1            ## xmm1 = [0,1,2,3]
	pxor	%xmm2, %xmm2
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = [32,32,32,32]
	movdqa	LCPI0_2(%rip), %xmm9            ## xmm9 = [1065353216,1065353216,1065353216,1065353216]
	testb	$1, %r12b
	jne	LBB0_14
	jmp	LBB0_15
LBB0_5:
	movq	(%r13), %rcx
	movq	8(%r13), %rax
	movq	(%rax), %rdx
LBB0_21:
	movl	%ecx, %esi
	notl	%esi
	addl	%edx, %esi
	xorl	%eax, %eax
	cmpq	%rcx, %rdx
	cmoval	%esi, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Invalid call to tegra_i2c_tx\n"

	.comm	_I2C_FIFO_STATUS,4,2            ## @I2C_FIFO_STATUS
	.comm	_I2C_TX_PACKET_FIFO,4,2         ## @I2C_TX_PACKET_FIFO
	.no_dead_strip	_tegra_i2c_tx
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function tegra_i2c_tx
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	3                               ; 0x3
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_tegra_i2c_tx:                          ; @tegra_i2c_tx
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	x19, x0
	ldp	x8, x9, [x0]
	ldr	x9, [x9]
	cmp	x8, x9
	b.lo	LBB0_2
; %bb.1:
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_panic
	ldp	x8, x9, [x19]
	ldr	x9, [x9]
LBB0_2:
	cmp	x8, x9
	b.hs	LBB0_17
; %bb.3:
Lloh2:
	adrp	x20, _I2C_FIFO_STATUS@GOTPAGE
Lloh3:
	ldr	x20, [x20, _I2C_FIFO_STATUS@GOTPAGEOFF]
Lloh4:
	adrp	x8, lCPI0_0@PAGE
Lloh5:
	ldr	q0, [x8, lCPI0_0@PAGEOFF]
	str	q0, [sp]                        ; 16-byte Folded Spill
Lloh6:
	adrp	x21, _I2C_TX_PACKET_FIFO@GOTPAGE
Lloh7:
	ldr	x21, [x21, _I2C_TX_PACKET_FIFO@GOTPAGEOFF]
	b	LBB0_6
LBB0_4:                                 ;   in Loop: Header=BB0_6 Depth=1
	mov	w2, #0
LBB0_5:                                 ;   in Loop: Header=BB0_6 Depth=1
	ldr	w1, [x21]
	mov	x0, x19
	bl	_WR4
	ldp	x8, x9, [x19]
	ldr	x9, [x9]
	cmp	x8, x9
	b.hs	LBB0_17
LBB0_6:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_11 Depth 2
                                        ;     Child Loop BB0_14 Depth 2
	ldr	w1, [x20]
	mov	x0, x19
	bl	_RD4
	bl	_I2C_FIFO_STATUS_TX_FIFO_EMPTY_CNT
	cbz	x0, LBB0_16
; %bb.7:                                ;   in Loop: Header=BB0_6 Depth=1
	ldp	x9, x8, [x19]
	ldr	x8, [x8]
	sub	x1, x8, x9
	mov	w0, #4
	bl	_min
	subs	w8, w0, #1
	b.lt	LBB0_4
; %bb.8:                                ;   in Loop: Header=BB0_6 Depth=1
	ldp	x9, x10, [x19]
	ldr	x10, [x10, #8]
	cmp	w8, #15
	b.hs	LBB0_10
; %bb.9:                                ;   in Loop: Header=BB0_6 Depth=1
	mov	w11, #0
	mov	w2, #0
	mov	x12, x9
	b	LBB0_13
LBB0_10:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x13, x8, #1
	and	x11, x13, #0x1fffffff0
	add	x12, x9, x11
	add	x14, x10, x9, lsl #2
	add	x14, x14, #32
	movi.2d	v0, #0000000000000000
	mov	x15, x11
	ldr	q1, [sp]                        ; 16-byte Folded Reload
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
	movi.2d	v4, #0000000000000000
	movi.4s	v21, #32
	movi.4s	v22, #64
	movi.4s	v23, #96
	movi.4s	v24, #16
LBB0_11:                                ;   Parent Loop BB0_6 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q5, q6, [x14, #-32]
	ldp	q7, q16, [x14], #64
	shl.4s	v17, v1, #3
	add.4s	v18, v17, v21
	add.4s	v19, v17, v22
	add.4s	v20, v17, v23
	ushl.4s	v5, v5, v17
	ushl.4s	v6, v6, v18
	ushl.4s	v7, v7, v19
	ushl.4s	v16, v16, v20
	orr.16b	v0, v5, v0
	orr.16b	v2, v6, v2
	orr.16b	v3, v7, v3
	orr.16b	v4, v16, v4
	add.4s	v1, v1, v24
	subs	x15, x15, #16
	b.ne	LBB0_11
; %bb.12:                               ;   in Loop: Header=BB0_6 Depth=1
	orr.16b	v0, v2, v0
	orr.16b	v0, v3, v0
	orr.16b	v0, v4, v0
	ext.16b	v1, v0, v0, #8
	orr.8b	v0, v0, v1
	fmov	w14, s0
	mov.s	w15, v0[1]
	orr	w2, w14, w15
	cmp	x13, x11
	b.eq	LBB0_15
LBB0_13:                                ;   in Loop: Header=BB0_6 Depth=1
	sub	w13, w0, w11
	lsl	w11, w11, #3
	add	x10, x10, x12, lsl #2
LBB0_14:                                ;   Parent Loop BB0_6 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w12, [x10], #4
	lsl	w12, w12, w11
	orr	w2, w12, w2
	add	w11, w11, #8
	subs	w13, w13, #1
	b.ne	LBB0_14
LBB0_15:                                ;   in Loop: Header=BB0_6 Depth=1
	add	x8, x9, x8
	add	x8, x8, #1
	str	x8, [x19]
	b	LBB0_5
LBB0_16:
	ldp	x8, x9, [x19]
	ldr	x9, [x9]
LBB0_17:
	mvn	w10, w8
	add	w10, w9, w10
	cmp	x9, x8
	csel	w0, w10, wzr, hi
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdr	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Invalid call to tegra_i2c_tx\n"

	.comm	_I2C_FIFO_STATUS,4,2            ; @I2C_FIFO_STATUS
	.comm	_I2C_TX_PACKET_FIFO,4,2         ; @I2C_TX_PACKET_FIFO
	.no_dead_strip	_tegra_i2c_tx
.subsections_via_symbols
