	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function abituguru_detect_no_pwms
_abituguru_detect_no_pwms:              ## @abituguru_detect_no_pwms
	.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, %r14
	movq	_pwms@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	movq	_ABIT_UGURU_MAX_PWMS@GOTPCREL(%rip), %rbx
	testq	%rdx, %rdx
	jle	LBB0_4
## %bb.1:
	cmpq	(%rbx), %rdx
	jg	LBB0_4
## %bb.2:
	movl	%edx, (%r14)
	leaq	L_.str(%rip), %rsi
	movl	$2, %edi
                                        ## kill: def $edx killed $edx killed $rdx
	jmp	LBB0_3
LBB0_4:
	leaq	L_.str.1(%rip), %rsi
	xorl	%r15d, %r15d
	movl	$2, %edi
	xorl	%eax, %eax
	callq	_ABIT_UGURU_DEBUG
	movq	(%rbx), %r11
	testq	%r11, %r11
	jle	LBB0_48
## %bb.5:
	movq	8(%r14), %r8
	movq	_ABIT_UGURU_TEMP_SENSOR@GOTPCREL(%rip), %rax
	movq	(%rax), %r12
	movq	_abituguru_pwm_min@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
	movq	_abituguru_pwm_max@GOTPCREL(%rip), %rax
	movq	(%rax), %r10
	xorl	%r15d, %r15d
LBB0_6:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_15 Depth 2
	movq	(%r8,%r15,8), %rbx
	movl	(%rbx), %ecx
	testl	$-144, %ecx
	jne	LBB0_12
## %bb.7:                               ##   in Loop: Header=BB0_6 Depth=1
	movq	16(%r14), %rax
	movl	(%rax,%r12,4), %eax
	testl	%eax, %eax
	jle	LBB0_8
## %bb.14:                              ##   in Loop: Header=BB0_6 Depth=1
	movq	24(%r14), %rdx
	movq	(%rdx,%r12,8), %rsi
	movl	%ecx, %edx
	andl	$15, %edx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_15:                                ##   Parent Loop BB0_6 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	cmpl	%edx, (%rsi,%rdi,4)
	je	LBB0_9
## %bb.16:                              ##   in Loop: Header=BB0_15 Depth=2
	incq	%rdi
	cmpq	%rdi, %rax
	jne	LBB0_15
	jmp	LBB0_17
	.p2align	4, 0x90
LBB0_8:                                 ##   in Loop: Header=BB0_6 Depth=1
	xorl	%edi, %edi
LBB0_9:                                 ##   in Loop: Header=BB0_6 Depth=1
	cmpl	%eax, %edi
	je	LBB0_17
## %bb.10:                              ##   in Loop: Header=BB0_6 Depth=1
	movq	%r8, %rdx
	testq	%r15, %r15
	je	LBB0_11
## %bb.18:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	4(%r13), %r9d
	jmp	LBB0_19
LBB0_11:                                ##   in Loop: Header=BB0_6 Depth=1
	movl	$77, %r9d
LBB0_19:                                ##   in Loop: Header=BB0_6 Depth=1
	movl	4(%rbx), %r8d
	cmpl	%r9d, %r8d
	jl	LBB0_20
## %bb.23:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	4(%r10), %r9d
	cmpl	%r9d, %r8d
	jg	LBB0_24
## %bb.26:                              ##   in Loop: Header=BB0_6 Depth=1
	testq	%r15, %r15
	je	LBB0_27
## %bb.28:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	8(%r13), %r9d
	jmp	LBB0_29
LBB0_27:                                ##   in Loop: Header=BB0_6 Depth=1
	movl	$77, %r9d
LBB0_29:                                ##   in Loop: Header=BB0_6 Depth=1
	movl	8(%rbx), %eax
	cmpl	%r9d, %eax
	jl	LBB0_30
## %bb.31:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	8(%r10), %r9d
	cmpl	%r9d, %eax
	jg	LBB0_32
## %bb.33:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	12(%r13), %r9d
	movl	12(%rbx), %ecx
	cmpl	%r9d, %ecx
	jl	LBB0_34
## %bb.35:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	12(%r10), %r9d
	cmpl	%r9d, %ecx
	jg	LBB0_36
## %bb.37:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	16(%r13), %r9d
	movl	16(%rbx), %ebx
	cmpl	%r9d, %ebx
	jl	LBB0_38
## %bb.39:                              ##   in Loop: Header=BB0_6 Depth=1
	movl	16(%r10), %r9d
	cmpl	%r9d, %ebx
	jg	LBB0_40
## %bb.41:                              ##   in Loop: Header=BB0_6 Depth=1
	cmpl	%eax, %r8d
	jge	LBB0_42
## %bb.43:                              ##   in Loop: Header=BB0_6 Depth=1
	cmpl	%ebx, %ecx
	jge	LBB0_44
## %bb.46:                              ##   in Loop: Header=BB0_6 Depth=1
	incq	%r15
	cmpq	%r11, %r15
	movq	%rdx, %r8
	jne	LBB0_6
## %bb.47:
	movl	%r11d, %r15d
	jmp	LBB0_48
LBB0_17:
	andl	$15, %ecx
	leaq	L_.str.3(%rip), %rsi
LBB0_13:
	movl	$2, %edi
	movl	%r15d, %edx
	xorl	%eax, %eax
	callq	_ABIT_UGURU_DEBUG
	jmp	LBB0_48
LBB0_12:
	leaq	L_.str.2(%rip), %rsi
	jmp	LBB0_13
LBB0_20:
	movl	$1, %r10d
	jmp	LBB0_21
LBB0_24:
	movl	$1, %r10d
	leaq	L_.str.5(%rip), %rsi
	jmp	LBB0_22
LBB0_30:
	movl	$2, %r10d
	movl	%eax, %r8d
	jmp	LBB0_21
LBB0_32:
	movl	$2, %r10d
	movl	%eax, %r8d
	leaq	L_.str.5(%rip), %rsi
	jmp	LBB0_22
LBB0_34:
	movl	$3, %r10d
	movl	%ecx, %r8d
	jmp	LBB0_21
LBB0_36:
	movl	$3, %r10d
	movl	%ecx, %r8d
	leaq	L_.str.5(%rip), %rsi
	jmp	LBB0_22
LBB0_38:
	movl	$4, %r10d
	movl	%ebx, %r8d
LBB0_21:
	leaq	L_.str.4(%rip), %rsi
LBB0_22:
	movl	$2, %edi
	movl	%r15d, %edx
	movl	%r10d, %ecx
	xorl	%eax, %eax
	callq	_ABIT_UGURU_DEBUG
LBB0_48:
	movl	%r15d, (%r14)
	leaq	L_.str.8(%rip), %rsi
	movl	$2, %edi
	movl	%r15d, %edx
LBB0_3:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_ABIT_UGURU_DEBUG               ## TAILCALL
LBB0_40:
	movl	$4, %r10d
	movl	%ebx, %r8d
	leaq	L_.str.5(%rip), %rsi
	jmp	LBB0_22
LBB0_42:
	leaq	L_.str.6(%rip), %rsi
	movl	$2, %edi
	movl	%r15d, %edx
	movl	%r8d, %ecx
	movl	%eax, %r8d
	jmp	LBB0_45
LBB0_44:
	leaq	L_.str.7(%rip), %rsi
	movl	$2, %edi
	movl	%r15d, %edx
	movl	%ebx, %r8d
LBB0_45:
	xorl	%eax, %eax
	callq	_ABIT_UGURU_DEBUG
	jmp	LBB0_48
	.cfi_endproc
                                        ## -- End function
	.comm	_pwms,8,3                       ## @pwms
	.comm	_ABIT_UGURU_MAX_PWMS,8,3        ## @ABIT_UGURU_MAX_PWMS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"assuming %d PWM outputs because of \"pwms\" module param\n"

L_.str.1:                               ## @.str.1
	.asciz	"detecting number of PWM outputs\n"

L_.str.2:                               ## @.str.2
	.asciz	"  pwm channel %d does not seem to be a pwm channel: settings[0] = %02X\n"

	.comm	_ABIT_UGURU_TEMP_SENSOR,8,3     ## @ABIT_UGURU_TEMP_SENSOR
L_.str.3:                               ## @.str.3
	.asciz	"  pwm channel %d does not seem to be a pwm channel: %d is not a valid temp sensor address\n"

	.comm	_abituguru_pwm_min,8,3          ## @abituguru_pwm_min
L_.str.4:                               ## @.str.4
	.asciz	"  pwm channel %d does not seem to be a pwm channel: setting %d (%d) is below the minimum value (%d)\n"

	.comm	_abituguru_pwm_max,8,3          ## @abituguru_pwm_max
L_.str.5:                               ## @.str.5
	.asciz	"  pwm channel %d does not seem to be a pwm channel: setting %d (%d) is above the maximum value (%d)\n"

L_.str.6:                               ## @.str.6
	.asciz	"  pwm channel %d does not seem to be a pwm channel: min pwm (%d) >= max pwm (%d)\n"

L_.str.7:                               ## @.str.7
	.asciz	"  pwm channel %d does not seem to be a pwm channel: min temp (%d) >= max temp (%d)\n"

L_.str.8:                               ## @.str.8
	.asciz	" found: %d PWM outputs\n"

	.no_dead_strip	_abituguru_detect_no_pwms
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function abituguru_detect_no_pwms
_abituguru_detect_no_pwms:              ; @abituguru_detect_no_pwms
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	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
	mov	x19, x0
Lloh0:
	adrp	x8, _pwms@GOTPAGE
Lloh1:
	ldr	x8, [x8, _pwms@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
Lloh3:
	adrp	x20, _ABIT_UGURU_MAX_PWMS@GOTPAGE
Lloh4:
	ldr	x20, [x20, _ABIT_UGURU_MAX_PWMS@GOTPAGEOFF]
	ldr	x9, [x20]
	cmp	x8, #1
	ccmp	x8, x9, #0, ge
	b.le	LBB0_28
; %bb.1:
Lloh5:
	adrp	x1, l_.str.1@PAGE
Lloh6:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #2
	bl	_ABIT_UGURU_DEBUG
	ldr	x8, [x20]
	cmp	x8, #1
	b.lt	LBB0_29
; %bb.2:
	mov	x20, #0
	ldr	x9, [x19, #8]
Lloh7:
	adrp	x10, _ABIT_UGURU_TEMP_SENSOR@GOTPAGE
Lloh8:
	ldr	x10, [x10, _ABIT_UGURU_TEMP_SENSOR@GOTPAGEOFF]
Lloh9:
	adrp	x11, _abituguru_pwm_min@GOTPAGE
Lloh10:
	ldr	x11, [x11, _abituguru_pwm_min@GOTPAGEOFF]
Lloh11:
	ldr	x10, [x10]
Lloh12:
	ldr	x11, [x11]
Lloh13:
	adrp	x12, _abituguru_pwm_max@GOTPAGE
Lloh14:
	ldr	x12, [x12, _abituguru_pwm_max@GOTPAGEOFF]
Lloh15:
	ldr	x12, [x12]
	mov	w13, #-144
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_6 Depth 2
	ldr	x15, [x9, x20, lsl #3]
	ldr	w14, [x15]
	tst	w14, w13
	b.ne	LBB0_34
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	x16, [x19, #16]
	ldr	w16, [x16, x10, lsl #2]
	cmp	w16, #1
	b.lt	LBB0_8
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x17, #0
	ldr	x0, [x19, #24]
	ldr	x0, [x0, x10, lsl #3]
	and	w1, w14, #0xf
LBB0_6:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w2, [x0, x17, lsl #2]
	cmp	w2, w1
	b.eq	LBB0_9
; %bb.7:                                ;   in Loop: Header=BB0_6 Depth=2
	add	x17, x17, #1
	cmp	x16, x17
	b.ne	LBB0_6
	b	LBB0_30
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	w17, #0
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	cmp	w17, w16
	b.eq	LBB0_30
; %bb.10:                               ;   in Loop: Header=BB0_3 Depth=1
	cbz	x20, LBB0_12
; %bb.11:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x11, #4]
	b	LBB0_13
LBB0_12:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w16, #77
LBB0_13:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w14, [x15, #4]
	cmp	w14, w16
	b.lt	LBB0_35
; %bb.14:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x12, #4]
	cmp	w14, w16
	b.gt	LBB0_36
; %bb.15:                               ;   in Loop: Header=BB0_3 Depth=1
	cbz	x20, LBB0_17
; %bb.16:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x11, #8]
	b	LBB0_18
LBB0_17:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w16, #77
LBB0_18:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w17, [x15, #8]
	cmp	w17, w16
	b.lt	LBB0_37
; %bb.19:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x12, #8]
	cmp	w17, w16
	b.gt	LBB0_38
; %bb.20:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x11, #12]
	ldr	w0, [x15, #12]
	cmp	w0, w16
	b.lt	LBB0_39
; %bb.21:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x12, #12]
	cmp	w0, w16
	b.gt	LBB0_40
; %bb.22:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x11, #16]
	ldr	w15, [x15, #16]
	cmp	w15, w16
	b.lt	LBB0_41
; %bb.23:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w16, [x12, #16]
	cmp	w15, w16
	b.gt	LBB0_43
; %bb.24:                               ;   in Loop: Header=BB0_3 Depth=1
	cmp	w14, w17
	b.ge	LBB0_45
; %bb.25:                               ;   in Loop: Header=BB0_3 Depth=1
	cmp	w0, w15
	b.ge	LBB0_46
; %bb.26:                               ;   in Loop: Header=BB0_3 Depth=1
	add	x20, x20, #1
	cmp	x20, x8
	b.ne	LBB0_3
; %bb.27:
	mov	x20, x8
	b	LBB0_32
LBB0_28:
	str	w8, [x19]
	str	x8, [sp]
Lloh16:
	adrp	x1, l_.str@PAGE
Lloh17:
	add	x1, x1, l_.str@PAGEOFF
	b	LBB0_33
LBB0_29:
	mov	w20, #0
	b	LBB0_32
LBB0_30:
	and	w8, w14, #0xf
	stp	x20, x8, [sp]
Lloh18:
	adrp	x1, l_.str.3@PAGE
Lloh19:
	add	x1, x1, l_.str.3@PAGEOFF
LBB0_31:
	mov	w0, #2
	bl	_ABIT_UGURU_DEBUG
                                        ; kill: def $w20 killed $w20 killed $x20 def $x20
LBB0_32:
	str	w20, [x19]
	str	x20, [sp]
Lloh20:
	adrp	x1, l_.str.8@PAGE
Lloh21:
	add	x1, x1, l_.str.8@PAGEOFF
LBB0_33:
	mov	w0, #2
	bl	_ABIT_UGURU_DEBUG
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_34:
	stp	x20, x14, [sp]
Lloh22:
	adrp	x1, l_.str.2@PAGE
Lloh23:
	add	x1, x1, l_.str.2@PAGEOFF
	b	LBB0_31
LBB0_35:
	mov	w8, #1
	b	LBB0_42
LBB0_36:
	mov	w8, #1
	b	LBB0_44
LBB0_37:
	mov	w8, #2
	mov	x14, x17
	b	LBB0_42
LBB0_38:
	mov	w8, #2
	mov	x14, x17
	b	LBB0_44
LBB0_39:
	mov	w8, #3
	mov	x14, x0
	b	LBB0_42
LBB0_40:
	mov	w8, #3
	mov	x14, x0
	b	LBB0_44
LBB0_41:
	mov	w8, #4
	mov	x14, x15
LBB0_42:
	stp	x14, x16, [sp, #16]
	stp	x20, x8, [sp]
Lloh24:
	adrp	x1, l_.str.4@PAGE
Lloh25:
	add	x1, x1, l_.str.4@PAGEOFF
	b	LBB0_31
LBB0_43:
	mov	w8, #4
	mov	x14, x15
LBB0_44:
                                        ; kill: def $w14 killed $w14 killed $x14 def $x14
	stp	x14, x16, [sp, #16]
	stp	x20, x8, [sp]
Lloh26:
	adrp	x1, l_.str.5@PAGE
Lloh27:
	add	x1, x1, l_.str.5@PAGEOFF
	b	LBB0_31
LBB0_45:
                                        ; kill: def $w14 killed $w14 killed $x14 def $x14
	stp	x14, x17, [sp, #8]
	str	x20, [sp]
Lloh28:
	adrp	x1, l_.str.6@PAGE
Lloh29:
	add	x1, x1, l_.str.6@PAGEOFF
	b	LBB0_31
LBB0_46:
	stp	x0, x15, [sp, #8]
	str	x20, [sp]
Lloh30:
	adrp	x1, l_.str.7@PAGE
Lloh31:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_31
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh12
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh11
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpAdd	Lloh30, Lloh31
	.cfi_endproc
                                        ; -- End function
	.comm	_pwms,8,3                       ; @pwms
	.comm	_ABIT_UGURU_MAX_PWMS,8,3        ; @ABIT_UGURU_MAX_PWMS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"assuming %d PWM outputs because of \"pwms\" module param\n"

l_.str.1:                               ; @.str.1
	.asciz	"detecting number of PWM outputs\n"

l_.str.2:                               ; @.str.2
	.asciz	"  pwm channel %d does not seem to be a pwm channel: settings[0] = %02X\n"

	.comm	_ABIT_UGURU_TEMP_SENSOR,8,3     ; @ABIT_UGURU_TEMP_SENSOR
l_.str.3:                               ; @.str.3
	.asciz	"  pwm channel %d does not seem to be a pwm channel: %d is not a valid temp sensor address\n"

	.comm	_abituguru_pwm_min,8,3          ; @abituguru_pwm_min
l_.str.4:                               ; @.str.4
	.asciz	"  pwm channel %d does not seem to be a pwm channel: setting %d (%d) is below the minimum value (%d)\n"

	.comm	_abituguru_pwm_max,8,3          ; @abituguru_pwm_max
l_.str.5:                               ; @.str.5
	.asciz	"  pwm channel %d does not seem to be a pwm channel: setting %d (%d) is above the maximum value (%d)\n"

l_.str.6:                               ; @.str.6
	.asciz	"  pwm channel %d does not seem to be a pwm channel: min pwm (%d) >= max pwm (%d)\n"

l_.str.7:                               ; @.str.7
	.asciz	"  pwm channel %d does not seem to be a pwm channel: min temp (%d) >= max temp (%d)\n"

l_.str.8:                               ; @.str.8
	.asciz	" found: %d PWM outputs\n"

	.no_dead_strip	_abituguru_detect_no_pwms
.subsections_via_symbols
