	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function s3c24xx_i2c_calcdivisor
_s3c24xx_i2c_calcdivisor:               ## @s3c24xx_i2c_calcdivisor
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	.cfi_offset %rbx, -24
	movq	%rcx, %r9
	movq	%rdx, %r8
	movq	%rdi, %r11
	movl	%esi, %ecx
	movq	%rdi, %rbx
	shrq	$32, %rbx
	je	LBB0_1
## %bb.2:
	movq	%r11, %rax
	xorl	%edx, %edx
	divq	%rcx
	jmp	LBB0_3
LBB0_1:
	movl	%r11d, %eax
	xorl	%edx, %edx
	divl	%ecx
                                        ## kill: def $eax killed $eax def $rax
LBB0_3:
	leal	-1(%rax), %edx
	xorl	%ecx, %ecx
	cmpl	$257, %eax                      ## imm = 0x101
	movl	$512, %r10d                     ## imm = 0x200
	movl	$16, %eax
	cmovael	%r10d, %eax
	setae	%cl
	leal	(%rdx,%rax), %edi
	leal	(%rcx,%rcx,4), %ecx
	addl	$4, %ecx
                                        ## kill: def $cl killed $cl killed $ecx
	shrl	%cl, %edi
	cmpl	$17, %edi
	movl	$17, %esi
	cmovbl	%edi, %esi
	addl	%eax, %edx
	movl	$1, %ecx
	cmovael	%esi, %ecx
	movl	%ecx, (%r9)
	movl	%eax, (%r8)
	imull	%eax, %ecx
	testq	%rbx, %rbx
	je	LBB0_4
## %bb.5:
	movq	%r11, %rax
	xorl	%edx, %edx
	divq	%rcx
	jmp	LBB0_6
LBB0_4:
	movl	%r11d, %eax
	xorl	%edx, %edx
	divl	%ecx
                                        ## kill: def $eax killed $eax def $rax
LBB0_6:
                                        ## kill: def $eax killed $eax killed $rax
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_s3c24xx_i2c_calcdivisor
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function s3c24xx_i2c_calcdivisor
_s3c24xx_i2c_calcdivisor:               ; @s3c24xx_i2c_calcdivisor
	.cfi_startproc
; %bb.0:
	mov	w8, w1
	udiv	x8, x0, x8
	sub	w9, w8, #1
	mov	w10, #16
	mov	w11, #512
	cmp	w8, #256
	csel	w8, w11, w10, hi
	mov	w10, #4
	mov	w11, #9
	csel	w10, w11, w10, hi
	adds	w11, w9, w8
	lsr	w10, w11, w10
	mov	w11, #17
	cmp	w10, #17
	csel	w10, w10, w11, lo
	cmn	w9, w8
	csinc	w9, w10, wzr, lo
	str	w9, [x3]
	str	w8, [x2]
	mul	w8, w9, w8
	udiv	x0, x0, x8
                                        ; kill: def $w0 killed $w0 killed $x0
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_s3c24xx_i2c_calcdivisor
.subsections_via_symbols
