	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function as3722_gpio_get_mode
_as3722_gpio_get_mode:                  ## @as3722_gpio_get_mode
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	(%rdi), %rax
	movq	(%rax,%rsi,8), %rax
	movl	(%rax), %ecx
	movq	_AS3722_CFG_BIAS_HIGH_IMPEDANCE@GOTPCREL(%rip), %rsi
	movq	_AS3722_MODE_TRISTATE@GOTPCREL(%rip), %rax
	testl	%ecx, (%rsi)
	jne	LBB0_22
## %bb.1:
	movq	_GPIO_PIN_TRISTATE@GOTPCREL(%rip), %rsi
	testq	%rdx, (%rsi)
	jne	LBB0_22
## %bb.2:
	movq	_AS3722_CFG_OPEN_DRAIN@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	jne	LBB0_4
## %bb.3:
	movq	_GPIO_PIN_OPENDRAIN@GOTPCREL(%rip), %rax
	testq	%rdx, (%rax)
	je	LBB0_9
LBB0_4:
	movq	_AS3722_CFG_BIAS_PULL_UP@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	jne	LBB0_5
## %bb.6:
	movq	_GPIO_PIN_PULLUP@GOTPCREL(%rip), %rax
	testq	%rdx, (%rax)
	jne	LBB0_5
## %bb.7:
	movq	_AS3722_MODE_OPEN_DRAIN@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_5:
	movq	_AS3722_MODE_OPEN_DRAIN_LV@GOTPCREL(%rip), %rax
LBB0_22:
	movl	(%rax), %eax
	popq	%rbp
	retq
LBB0_9:
	movq	_GPIO_PIN_INPUT@GOTPCREL(%rip), %rax
	testq	%rdx, (%rax)
	je	LBB0_14
## %bb.10:
	movq	_AS3722_CFG_BIAS_PULL_UP@GOTPCREL(%rip), %rsi
	movq	_AS3722_MODE_INPUT_PULL_UP_LV@GOTPCREL(%rip), %rax
	testl	%ecx, (%rsi)
	jne	LBB0_22
## %bb.11:
	movq	_GPIO_PIN_PULLUP@GOTPCREL(%rip), %rsi
	testq	%rdx, (%rsi)
	jne	LBB0_22
## %bb.12:
	movq	_AS3722_CFG_BIAS_PULL_DOWN@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	jne	LBB0_21
## %bb.19:
	movq	_GPIO_PIN_PULLDOWN@GOTPCREL(%rip), %rax
	testq	%rdx, (%rax)
	jne	LBB0_21
## %bb.20:
	movq	_AS3722_MODE_INPUT@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_14:
	movq	_AS3722_CFG_BIAS_PULL_DOWN@GOTPCREL(%rip), %rax
	testl	%ecx, (%rax)
	jne	LBB0_15
## %bb.16:
	movq	_GPIO_PIN_PULLDOWN@GOTPCREL(%rip), %rax
	testq	%rdx, (%rax)
	jne	LBB0_15
## %bb.17:
	movq	_AS3722_MODE_PUSH_PULL@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_15:
	movq	_AS3722_MODE_PUSH_PULL_LV@GOTPCREL(%rip), %rax
	jmp	LBB0_22
LBB0_21:
	movq	_AS3722_MODE_INPUT_PULL_DOWN@GOTPCREL(%rip), %rax
	jmp	LBB0_22
	.cfi_endproc
                                        ## -- End function
	.comm	_AS3722_CFG_BIAS_HIGH_IMPEDANCE,4,2 ## @AS3722_CFG_BIAS_HIGH_IMPEDANCE
	.comm	_GPIO_PIN_TRISTATE,8,3          ## @GPIO_PIN_TRISTATE
	.comm	_AS3722_MODE_TRISTATE,4,2       ## @AS3722_MODE_TRISTATE
	.comm	_AS3722_CFG_OPEN_DRAIN,4,2      ## @AS3722_CFG_OPEN_DRAIN
	.comm	_GPIO_PIN_OPENDRAIN,8,3         ## @GPIO_PIN_OPENDRAIN
	.comm	_AS3722_CFG_BIAS_PULL_UP,4,2    ## @AS3722_CFG_BIAS_PULL_UP
	.comm	_GPIO_PIN_PULLUP,8,3            ## @GPIO_PIN_PULLUP
	.comm	_AS3722_MODE_OPEN_DRAIN_LV,4,2  ## @AS3722_MODE_OPEN_DRAIN_LV
	.comm	_AS3722_MODE_OPEN_DRAIN,4,2     ## @AS3722_MODE_OPEN_DRAIN
	.comm	_GPIO_PIN_INPUT,8,3             ## @GPIO_PIN_INPUT
	.comm	_AS3722_MODE_INPUT_PULL_UP_LV,4,2 ## @AS3722_MODE_INPUT_PULL_UP_LV
	.comm	_AS3722_CFG_BIAS_PULL_DOWN,4,2  ## @AS3722_CFG_BIAS_PULL_DOWN
	.comm	_GPIO_PIN_PULLDOWN,8,3          ## @GPIO_PIN_PULLDOWN
	.comm	_AS3722_MODE_INPUT_PULL_DOWN,4,2 ## @AS3722_MODE_INPUT_PULL_DOWN
	.comm	_AS3722_MODE_INPUT,4,2          ## @AS3722_MODE_INPUT
	.comm	_AS3722_MODE_PUSH_PULL_LV,4,2   ## @AS3722_MODE_PUSH_PULL_LV
	.comm	_AS3722_MODE_PUSH_PULL,4,2      ## @AS3722_MODE_PUSH_PULL
	.no_dead_strip	_as3722_gpio_get_mode
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function as3722_gpio_get_mode
_as3722_gpio_get_mode:                  ; @as3722_gpio_get_mode
	.cfi_startproc
; %bb.0:
	ldr	x8, [x0]
	ldr	x8, [x8, x1, lsl #3]
	ldr	w9, [x8]
Lloh0:
	adrp	x8, _AS3722_CFG_BIAS_HIGH_IMPEDANCE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _AS3722_CFG_BIAS_HIGH_IMPEDANCE@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	tst	w8, w9
	b.ne	LBB0_2
; %bb.1:
Lloh3:
	adrp	x8, _GPIO_PIN_TRISTATE@GOTPAGE
Lloh4:
	ldr	x8, [x8, _GPIO_PIN_TRISTATE@GOTPAGEOFF]
Lloh5:
	ldr	x8, [x8]
	tst	x8, x2
	b.eq	LBB0_4
LBB0_2:
Lloh6:
	adrp	x8, _AS3722_MODE_TRISTATE@GOTPAGE
Lloh7:
	ldr	x8, [x8, _AS3722_MODE_TRISTATE@GOTPAGEOFF]
LBB0_3:
	ldr	w0, [x8]
	ret
LBB0_4:
Lloh8:
	adrp	x8, _AS3722_CFG_OPEN_DRAIN@GOTPAGE
Lloh9:
	ldr	x8, [x8, _AS3722_CFG_OPEN_DRAIN@GOTPAGEOFF]
Lloh10:
	ldr	w8, [x8]
	tst	w8, w9
	b.ne	LBB0_6
; %bb.5:
Lloh11:
	adrp	x8, _GPIO_PIN_OPENDRAIN@GOTPAGE
Lloh12:
	ldr	x8, [x8, _GPIO_PIN_OPENDRAIN@GOTPAGEOFF]
Lloh13:
	ldr	x8, [x8]
	tst	x8, x2
	b.eq	LBB0_9
LBB0_6:
Lloh14:
	adrp	x8, _AS3722_CFG_BIAS_PULL_UP@GOTPAGE
Lloh15:
	ldr	x8, [x8, _AS3722_CFG_BIAS_PULL_UP@GOTPAGEOFF]
Lloh16:
	ldr	w10, [x8]
Lloh17:
	adrp	x8, _AS3722_MODE_OPEN_DRAIN_LV@GOTPAGE
Lloh18:
	ldr	x8, [x8, _AS3722_MODE_OPEN_DRAIN_LV@GOTPAGEOFF]
	tst	w10, w9
	b.ne	LBB0_3
; %bb.7:
Lloh19:
	adrp	x9, _GPIO_PIN_PULLUP@GOTPAGE
Lloh20:
	ldr	x9, [x9, _GPIO_PIN_PULLUP@GOTPAGEOFF]
Lloh21:
	ldr	x9, [x9]
Lloh22:
	adrp	x10, _AS3722_MODE_OPEN_DRAIN@GOTPAGE
Lloh23:
	ldr	x10, [x10, _AS3722_MODE_OPEN_DRAIN@GOTPAGEOFF]
LBB0_8:
	tst	x9, x2
	csel	x8, x10, x8, eq
	ldr	w0, [x8]
	ret
LBB0_9:
Lloh24:
	adrp	x8, _GPIO_PIN_INPUT@GOTPAGE
Lloh25:
	ldr	x8, [x8, _GPIO_PIN_INPUT@GOTPAGEOFF]
Lloh26:
	ldr	x8, [x8]
	tst	x8, x2
	b.eq	LBB0_13
; %bb.10:
Lloh27:
	adrp	x8, _AS3722_CFG_BIAS_PULL_UP@GOTPAGE
Lloh28:
	ldr	x8, [x8, _AS3722_CFG_BIAS_PULL_UP@GOTPAGEOFF]
Lloh29:
	ldr	w8, [x8]
	tst	w8, w9
	b.ne	LBB0_12
; %bb.11:
Lloh30:
	adrp	x8, _GPIO_PIN_PULLUP@GOTPAGE
Lloh31:
	ldr	x8, [x8, _GPIO_PIN_PULLUP@GOTPAGEOFF]
Lloh32:
	ldr	x8, [x8]
	tst	x8, x2
	b.eq	LBB0_15
LBB0_12:
Lloh33:
	adrp	x8, _AS3722_MODE_INPUT_PULL_UP_LV@GOTPAGE
Lloh34:
	ldr	x8, [x8, _AS3722_MODE_INPUT_PULL_UP_LV@GOTPAGEOFF]
Lloh35:
	ldr	w0, [x8]
	ret
LBB0_13:
Lloh36:
	adrp	x8, _AS3722_CFG_BIAS_PULL_DOWN@GOTPAGE
Lloh37:
	ldr	x8, [x8, _AS3722_CFG_BIAS_PULL_DOWN@GOTPAGEOFF]
Lloh38:
	ldr	w10, [x8]
Lloh39:
	adrp	x8, _AS3722_MODE_PUSH_PULL_LV@GOTPAGE
Lloh40:
	ldr	x8, [x8, _AS3722_MODE_PUSH_PULL_LV@GOTPAGEOFF]
	tst	w10, w9
	b.ne	LBB0_3
; %bb.14:
Lloh41:
	adrp	x9, _GPIO_PIN_PULLDOWN@GOTPAGE
Lloh42:
	ldr	x9, [x9, _GPIO_PIN_PULLDOWN@GOTPAGEOFF]
Lloh43:
	ldr	x9, [x9]
Lloh44:
	adrp	x10, _AS3722_MODE_PUSH_PULL@GOTPAGE
Lloh45:
	ldr	x10, [x10, _AS3722_MODE_PUSH_PULL@GOTPAGEOFF]
	b	LBB0_8
LBB0_15:
Lloh46:
	adrp	x8, _AS3722_CFG_BIAS_PULL_DOWN@GOTPAGE
Lloh47:
	ldr	x8, [x8, _AS3722_CFG_BIAS_PULL_DOWN@GOTPAGEOFF]
Lloh48:
	ldr	w10, [x8]
Lloh49:
	adrp	x8, _AS3722_MODE_INPUT_PULL_DOWN@GOTPAGE
Lloh50:
	ldr	x8, [x8, _AS3722_MODE_INPUT_PULL_DOWN@GOTPAGEOFF]
	tst	w10, w9
	b.ne	LBB0_3
; %bb.16:
Lloh51:
	adrp	x9, _GPIO_PIN_PULLDOWN@GOTPAGE
Lloh52:
	ldr	x9, [x9, _GPIO_PIN_PULLDOWN@GOTPAGEOFF]
Lloh53:
	ldr	x9, [x9]
Lloh54:
	adrp	x10, _AS3722_MODE_INPUT@GOTPAGE
Lloh55:
	ldr	x10, [x10, _AS3722_MODE_INPUT@GOTPAGEOFF]
	b	LBB0_8
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGot	Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGot	Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.cfi_endproc
                                        ; -- End function
	.comm	_AS3722_CFG_BIAS_HIGH_IMPEDANCE,4,2 ; @AS3722_CFG_BIAS_HIGH_IMPEDANCE
	.comm	_GPIO_PIN_TRISTATE,8,3          ; @GPIO_PIN_TRISTATE
	.comm	_AS3722_MODE_TRISTATE,4,2       ; @AS3722_MODE_TRISTATE
	.comm	_AS3722_CFG_OPEN_DRAIN,4,2      ; @AS3722_CFG_OPEN_DRAIN
	.comm	_GPIO_PIN_OPENDRAIN,8,3         ; @GPIO_PIN_OPENDRAIN
	.comm	_AS3722_CFG_BIAS_PULL_UP,4,2    ; @AS3722_CFG_BIAS_PULL_UP
	.comm	_GPIO_PIN_PULLUP,8,3            ; @GPIO_PIN_PULLUP
	.comm	_AS3722_MODE_OPEN_DRAIN_LV,4,2  ; @AS3722_MODE_OPEN_DRAIN_LV
	.comm	_AS3722_MODE_OPEN_DRAIN,4,2     ; @AS3722_MODE_OPEN_DRAIN
	.comm	_GPIO_PIN_INPUT,8,3             ; @GPIO_PIN_INPUT
	.comm	_AS3722_MODE_INPUT_PULL_UP_LV,4,2 ; @AS3722_MODE_INPUT_PULL_UP_LV
	.comm	_AS3722_CFG_BIAS_PULL_DOWN,4,2  ; @AS3722_CFG_BIAS_PULL_DOWN
	.comm	_GPIO_PIN_PULLDOWN,8,3          ; @GPIO_PIN_PULLDOWN
	.comm	_AS3722_MODE_INPUT_PULL_DOWN,4,2 ; @AS3722_MODE_INPUT_PULL_DOWN
	.comm	_AS3722_MODE_INPUT,4,2          ; @AS3722_MODE_INPUT
	.comm	_AS3722_MODE_PUSH_PULL_LV,4,2   ; @AS3722_MODE_PUSH_PULL_LV
	.comm	_AS3722_MODE_PUSH_PULL,4,2      ; @AS3722_MODE_PUSH_PULL
	.no_dead_strip	_as3722_gpio_get_mode
.subsections_via_symbols
