	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function gx_joypad_poll
_gx_joypad_poll:                        ## @gx_joypad_poll
	.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
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_pad_state@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	xorps	%xmm0, %xmm0
	movups	%xmm0, (%rax)
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_PAD_ScanPads
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movq	_DEFAULT_MAX_PADS@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	je	LBB0_42
## %bb.1:
	xorl	%r13d, %r13d
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_41:                                ##   in Loop: Header=BB0_2 Depth=1
	incq	%r13
	movq	_DEFAULT_MAX_PADS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpq	%rax, %r13
	jae	LBB0_42
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	movl	-44(%rbp), %eax                 ## 4-byte Reload
	btl	%r13d, %eax
	movq	_WPAD_EXP_NOCONTROLLER@GOTPCREL(%rip), %rcx
	jae	LBB0_31
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	leaq	(,%r13,4), %r15
	movq	_pad_state@GOTPCREL(%rip), %rax
	addq	(%rax), %r15
	movl	%r13d, %edi
	callq	_PAD_ButtonsHeld
	movl	%eax, %r12d
	xorl	%ebx, %ebx
	movl	$0, %eax
	movq	_PAD_BUTTON_A@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_5
## %bb.4:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_A@GOTPCREL(%rip), %rcx
	movzbl	(%rcx), %ecx
	shll	%cl, %eax
LBB0_5:                                 ##   in Loop: Header=BB0_2 Depth=1
	orl	(%r15), %eax
	movl	%eax, (%r15)
	movq	_PAD_BUTTON_B@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_7
## %bb.6:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %ebx
	movq	_GX_GC_B@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %ebx
	movl	(%r15), %eax
LBB0_7:                                 ##   in Loop: Header=BB0_2 Depth=1
	orl	%ebx, %eax
	movl	%eax, (%r15)
	xorl	%ebx, %ebx
	movl	$0, %edx
	movq	_PAD_BUTTON_X@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_9
## %bb.8:                               ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %edx
	movq	_GX_GC_X@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %edx
	movl	(%r15), %eax
LBB0_9:                                 ##   in Loop: Header=BB0_2 Depth=1
	orl	%edx, %eax
	movl	%eax, (%r15)
	movq	_PAD_BUTTON_Y@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %ebx
	movq	_GX_GC_Y@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %ebx
	movl	(%r15), %eax
LBB0_11:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%ebx, %eax
	movl	%eax, (%r15)
	xorl	%ebx, %ebx
	movl	$0, %edx
	movq	_PAD_BUTTON_UP@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_13
## %bb.12:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %edx
	movq	_GX_GC_UP@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %edx
	movl	(%r15), %eax
LBB0_13:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%edx, %eax
	movl	%eax, (%r15)
	movq	_PAD_BUTTON_DOWN@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_15
## %bb.14:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %ebx
	movq	_GX_GC_DOWN@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %ebx
	movl	(%r15), %eax
LBB0_15:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%ebx, %eax
	movl	%eax, (%r15)
	xorl	%ebx, %ebx
	movl	$0, %edx
	movq	_PAD_BUTTON_LEFT@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_17
## %bb.16:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %edx
	movq	_GX_GC_LEFT@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %edx
	movl	(%r15), %eax
LBB0_17:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%edx, %eax
	movl	%eax, (%r15)
	movq	_PAD_BUTTON_RIGHT@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_19
## %bb.18:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %ebx
	movq	_GX_GC_RIGHT@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %ebx
	movl	(%r15), %eax
LBB0_19:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%ebx, %eax
	movl	%eax, (%r15)
	xorl	%ebx, %ebx
	movl	$0, %edx
	movq	_PAD_BUTTON_START@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_21
## %bb.20:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %edx
	movq	_GX_GC_START@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %edx
	movl	(%r15), %eax
LBB0_21:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%edx, %eax
	movl	%eax, (%r15)
	movq	_PAD_TRIGGER_Z@GOTPCREL(%rip), %rcx
	testl	%r12d, (%rcx)
	je	LBB0_23
## %bb.22:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %ebx
	movq	_GX_GC_Z_TRIGGER@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %ebx
	movl	(%r15), %eax
LBB0_23:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%ebx, %eax
	movl	%eax, (%r15)
	movq	_PAD_TRIGGER_L@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	jne	LBB0_25
## %bb.24:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	%r13d, %edi
	callq	_PAD_TriggerL
	movl	%eax, %ecx
	xorl	%eax, %eax
	cmpl	$128, %ecx
	jl	LBB0_26
LBB0_25:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_L_TRIGGER@GOTPCREL(%rip), %rcx
	movzbl	(%rcx), %ecx
	shll	%cl, %eax
LBB0_26:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	%r14, -56(%rbp)                 ## 8-byte Spill
	orl	%eax, (%r15)
	movq	_PAD_TRIGGER_R@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	jne	LBB0_28
## %bb.27:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	%r13d, %edi
	callq	_PAD_TriggerR
	movl	%eax, %ecx
	xorl	%eax, %eax
	cmpl	$128, %ecx
	jl	LBB0_29
LBB0_28:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_R_TRIGGER@GOTPCREL(%rip), %rcx
	movzbl	(%rcx), %ecx
	shll	%cl, %eax
LBB0_29:                                ##   in Loop: Header=BB0_2 Depth=1
	orl	%eax, (%r15)
	movl	%r13d, %edi
	callq	_PAD_StickX
	movq	%rax, %r12
	shll	$8, %r12d
	movl	%r13d, %edi
	callq	_PAD_StickY
	movq	%rax, %rbx
	shll	$8, %ebx
	negl	%ebx
	movl	%r13d, %edi
	callq	_PAD_SubStickX
	movq	%rax, %r14
	shll	$8, %r14d
	movl	%r13d, %edi
	callq	_PAD_SubStickY
	shll	$8, %eax
	negl	%eax
	movq	_analog_state@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	(%rcx,%r13,8), %rcx
	movq	_RETRO_DEVICE_INDEX_ANALOG_LEFT@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movq	(%rcx,%rdx,8), %rdx
	movq	_RETRO_DEVICE_ID_ANALOG_X@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movl	%r12d, (%rdx,%rsi,4)
	movq	_RETRO_DEVICE_ID_ANALOG_Y@GOTPCREL(%rip), %rdi
	movq	(%rdi), %rdi
	movl	%ebx, (%rdx,%rdi,4)
	movq	_RETRO_DEVICE_INDEX_ANALOG_RIGHT@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movq	(%rcx,%rdx,8), %rcx
	movl	%r14d, (%rcx,%rsi,4)
	movl	%eax, (%rcx,%rdi,4)
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %r14d
	movq	_GX_GC_START@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %r14d
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %ebx
	movq	_GX_GC_Z_TRIGGER@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %ebx
	orl	%r14d, %ebx
	movl	$1, %edi
	callq	_UINT64_C
	movl	%eax, %r14d
	movq	_GX_GC_L_TRIGGER@GOTPCREL(%rip), %rax
	movzbl	(%rax), %ecx
	shll	%cl, %r14d
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_R_TRIGGER@GOTPCREL(%rip), %rcx
	movzbl	(%rcx), %ecx
	shll	%cl, %eax
	orl	%r14d, %eax
	orl	%ebx, %eax
	movl	(%r15), %edx
	notl	%edx
	movq	_WPAD_EXP_GAMECUBE@GOTPCREL(%rip), %rcx
	testl	%edx, %eax
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	jne	LBB0_31
## %bb.30:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_HOME@GOTPCREL(%rip), %rcx
	movzbl	(%rcx), %ecx
	shll	%cl, %eax
	orl	%eax, (%r15)
	movq	_WPAD_EXP_GAMECUBE@GOTPCREL(%rip), %rcx
LBB0_31:                                ##   in Loop: Header=BB0_2 Depth=1
	movl	(%rcx), %ebx
	movl	%r13d, %edi
	callq	_gx_joypad_query_pad
	cmpq	$1, %rax
	sbbl	$-1, %r14d
	movl	%r14d, %edi
	callq	_check_port0_active
	movq	_pad_type@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	(%rax,%r13,4), %ebx
	je	LBB0_33
## %bb.32:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	%r13d, %edi
	movl	%ebx, %esi
	callq	_handle_hotplug
LBB0_33:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	_analog_state@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rax,%r13,8), %rax
	movq	(%rax), %rcx
	cmpl	$-32768, (%rcx)                 ## imm = 0x8000
	jne	LBB0_35
## %bb.34:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$-32767, (%rcx)                 ## imm = 0x8001
LBB0_35:                                ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$-32768, 4(%rcx)                ## imm = 0x8000
	jne	LBB0_37
## %bb.36:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$-32767, 4(%rcx)                ## imm = 0x8001
LBB0_37:                                ##   in Loop: Header=BB0_2 Depth=1
	movq	8(%rax), %rax
	cmpl	$-32768, (%rax)                 ## imm = 0x8000
	jne	LBB0_39
## %bb.38:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$-32767, (%rax)                 ## imm = 0x8001
LBB0_39:                                ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$-32768, 4(%rax)                ## imm = 0x8000
	jne	LBB0_41
## %bb.40:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	$-32767, 4(%rax)                ## imm = 0x8001
	jmp	LBB0_41
LBB0_42:
	movq	_pad_state@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	(%rax), %ebx
	movq	_lifecycle_state@GOTPCREL(%rip), %r14
	movl	(%r14), %edi
	movq	_RARCH_MENU_TOGGLE@GOTPCREL(%rip), %r15
	movl	(%r15), %esi
	callq	_BIT64_CLEAR
	movq	_g_menu@GOTPCREL(%rip), %r12
	cmpl	$0, (%r12)
	je	LBB0_44
## %bb.43:
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_HOME@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %eax
	orl	%eax, %ebx
	movl	$0, (%r12)
LBB0_44:
	movl	$1, %edi
	callq	_UINT64_C
	movq	_GX_GC_HOME@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	shll	%cl, %eax
	testl	%ebx, %eax
	je	LBB0_45
## %bb.46:
	movl	(%r14), %edi
	movl	(%r15), %esi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_BIT64_SET                      ## TAILCALL
LBB0_45:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_pad_state,8,3                  ## @pad_state
	.comm	_DEFAULT_MAX_PADS,4,2           ## @DEFAULT_MAX_PADS
	.comm	_WPAD_EXP_NOCONTROLLER,4,2      ## @WPAD_EXP_NOCONTROLLER
	.comm	_PAD_BUTTON_A,4,2               ## @PAD_BUTTON_A
	.comm	_GX_GC_A,4,2                    ## @GX_GC_A
	.comm	_PAD_BUTTON_B,4,2               ## @PAD_BUTTON_B
	.comm	_GX_GC_B,4,2                    ## @GX_GC_B
	.comm	_PAD_BUTTON_X,4,2               ## @PAD_BUTTON_X
	.comm	_GX_GC_X,4,2                    ## @GX_GC_X
	.comm	_PAD_BUTTON_Y,4,2               ## @PAD_BUTTON_Y
	.comm	_GX_GC_Y,4,2                    ## @GX_GC_Y
	.comm	_PAD_BUTTON_UP,4,2              ## @PAD_BUTTON_UP
	.comm	_GX_GC_UP,4,2                   ## @GX_GC_UP
	.comm	_PAD_BUTTON_DOWN,4,2            ## @PAD_BUTTON_DOWN
	.comm	_GX_GC_DOWN,4,2                 ## @GX_GC_DOWN
	.comm	_PAD_BUTTON_LEFT,4,2            ## @PAD_BUTTON_LEFT
	.comm	_GX_GC_LEFT,4,2                 ## @GX_GC_LEFT
	.comm	_PAD_BUTTON_RIGHT,4,2           ## @PAD_BUTTON_RIGHT
	.comm	_GX_GC_RIGHT,4,2                ## @GX_GC_RIGHT
	.comm	_PAD_BUTTON_START,4,2           ## @PAD_BUTTON_START
	.comm	_GX_GC_START,4,2                ## @GX_GC_START
	.comm	_PAD_TRIGGER_Z,4,2              ## @PAD_TRIGGER_Z
	.comm	_GX_GC_Z_TRIGGER,4,2            ## @GX_GC_Z_TRIGGER
	.comm	_PAD_TRIGGER_L,4,2              ## @PAD_TRIGGER_L
	.comm	_GX_GC_L_TRIGGER,4,2            ## @GX_GC_L_TRIGGER
	.comm	_PAD_TRIGGER_R,4,2              ## @PAD_TRIGGER_R
	.comm	_GX_GC_R_TRIGGER,4,2            ## @GX_GC_R_TRIGGER
	.comm	_analog_state,8,3               ## @analog_state
	.comm	_RETRO_DEVICE_INDEX_ANALOG_LEFT,8,3 ## @RETRO_DEVICE_INDEX_ANALOG_LEFT
	.comm	_RETRO_DEVICE_ID_ANALOG_X,8,3   ## @RETRO_DEVICE_ID_ANALOG_X
	.comm	_RETRO_DEVICE_ID_ANALOG_Y,8,3   ## @RETRO_DEVICE_ID_ANALOG_Y
	.comm	_RETRO_DEVICE_INDEX_ANALOG_RIGHT,8,3 ## @RETRO_DEVICE_INDEX_ANALOG_RIGHT
	.comm	_GX_GC_HOME,4,2                 ## @GX_GC_HOME
	.comm	_WPAD_EXP_GAMECUBE,4,2          ## @WPAD_EXP_GAMECUBE
	.comm	_pad_type,8,3                   ## @pad_type
	.comm	_lifecycle_state,4,2            ## @lifecycle_state
	.comm	_RARCH_MENU_TOGGLE,4,2          ## @RARCH_MENU_TOGGLE
	.comm	_g_menu,4,2                     ## @g_menu
	.comm	_GX_CLASSIC_A,4,2               ## @GX_CLASSIC_A
	.comm	_GX_CLASSIC_B,4,2               ## @GX_CLASSIC_B
	.comm	_GX_CLASSIC_DOWN,4,2            ## @GX_CLASSIC_DOWN
	.comm	_GX_CLASSIC_HOME,4,2            ## @GX_CLASSIC_HOME
	.comm	_GX_CLASSIC_LEFT,4,2            ## @GX_CLASSIC_LEFT
	.comm	_GX_CLASSIC_L_TRIGGER,4,2       ## @GX_CLASSIC_L_TRIGGER
	.comm	_GX_CLASSIC_MINUS,4,2           ## @GX_CLASSIC_MINUS
	.comm	_GX_CLASSIC_PLUS,4,2            ## @GX_CLASSIC_PLUS
	.comm	_GX_CLASSIC_RIGHT,4,2           ## @GX_CLASSIC_RIGHT
	.comm	_GX_CLASSIC_R_TRIGGER,4,2       ## @GX_CLASSIC_R_TRIGGER
	.comm	_GX_CLASSIC_UP,4,2              ## @GX_CLASSIC_UP
	.comm	_GX_CLASSIC_X,4,2               ## @GX_CLASSIC_X
	.comm	_GX_CLASSIC_Y,4,2               ## @GX_CLASSIC_Y
	.comm	_GX_CLASSIC_ZL_TRIGGER,4,2      ## @GX_CLASSIC_ZL_TRIGGER
	.comm	_GX_CLASSIC_ZR_TRIGGER,4,2      ## @GX_CLASSIC_ZR_TRIGGER
	.comm	_GX_NUNCHUK_C,4,2               ## @GX_NUNCHUK_C
	.comm	_GX_NUNCHUK_Z,4,2               ## @GX_NUNCHUK_Z
	.comm	_GX_WIIMOTE_1,4,2               ## @GX_WIIMOTE_1
	.comm	_GX_WIIMOTE_2,4,2               ## @GX_WIIMOTE_2
	.comm	_GX_WIIMOTE_A,4,2               ## @GX_WIIMOTE_A
	.comm	_GX_WIIMOTE_B,4,2               ## @GX_WIIMOTE_B
	.comm	_GX_WIIMOTE_DOWN,4,2            ## @GX_WIIMOTE_DOWN
	.comm	_GX_WIIMOTE_HOME,4,2            ## @GX_WIIMOTE_HOME
	.comm	_GX_WIIMOTE_LEFT,4,2            ## @GX_WIIMOTE_LEFT
	.comm	_GX_WIIMOTE_MINUS,4,2           ## @GX_WIIMOTE_MINUS
	.comm	_GX_WIIMOTE_PLUS,4,2            ## @GX_WIIMOTE_PLUS
	.comm	_GX_WIIMOTE_RIGHT,4,2           ## @GX_WIIMOTE_RIGHT
	.comm	_GX_WIIMOTE_UP,4,2              ## @GX_WIIMOTE_UP
	.comm	_RARCH_CTL_SET_SHUTDOWN,4,2     ## @RARCH_CTL_SET_SHUTDOWN
	.comm	_WPAD_BUTTON_1,4,2              ## @WPAD_BUTTON_1
	.comm	_WPAD_BUTTON_2,4,2              ## @WPAD_BUTTON_2
	.comm	_WPAD_BUTTON_A,4,2              ## @WPAD_BUTTON_A
	.comm	_WPAD_BUTTON_B,4,2              ## @WPAD_BUTTON_B
	.comm	_WPAD_BUTTON_DOWN,4,2           ## @WPAD_BUTTON_DOWN
	.comm	_WPAD_BUTTON_HOME,4,2           ## @WPAD_BUTTON_HOME
	.comm	_WPAD_BUTTON_LEFT,4,2           ## @WPAD_BUTTON_LEFT
	.comm	_WPAD_BUTTON_MINUS,4,2          ## @WPAD_BUTTON_MINUS
	.comm	_WPAD_BUTTON_PLUS,4,2           ## @WPAD_BUTTON_PLUS
	.comm	_WPAD_BUTTON_RIGHT,4,2          ## @WPAD_BUTTON_RIGHT
	.comm	_WPAD_BUTTON_UP,4,2             ## @WPAD_BUTTON_UP
	.comm	_WPAD_CHAN_0,4,2                ## @WPAD_CHAN_0
	.comm	_WPAD_CHAN_1,4,2                ## @WPAD_CHAN_1
	.comm	_WPAD_CHAN_ALL,4,2              ## @WPAD_CHAN_ALL
	.comm	_WPAD_CLASSIC_BUTTON_A,4,2      ## @WPAD_CLASSIC_BUTTON_A
	.comm	_WPAD_CLASSIC_BUTTON_B,4,2      ## @WPAD_CLASSIC_BUTTON_B
	.comm	_WPAD_CLASSIC_BUTTON_DOWN,4,2   ## @WPAD_CLASSIC_BUTTON_DOWN
	.comm	_WPAD_CLASSIC_BUTTON_FULL_L,4,2 ## @WPAD_CLASSIC_BUTTON_FULL_L
	.comm	_WPAD_CLASSIC_BUTTON_FULL_R,4,2 ## @WPAD_CLASSIC_BUTTON_FULL_R
	.comm	_WPAD_CLASSIC_BUTTON_HOME,4,2   ## @WPAD_CLASSIC_BUTTON_HOME
	.comm	_WPAD_CLASSIC_BUTTON_LEFT,4,2   ## @WPAD_CLASSIC_BUTTON_LEFT
	.comm	_WPAD_CLASSIC_BUTTON_MINUS,4,2  ## @WPAD_CLASSIC_BUTTON_MINUS
	.comm	_WPAD_CLASSIC_BUTTON_PLUS,4,2   ## @WPAD_CLASSIC_BUTTON_PLUS
	.comm	_WPAD_CLASSIC_BUTTON_RIGHT,4,2  ## @WPAD_CLASSIC_BUTTON_RIGHT
	.comm	_WPAD_CLASSIC_BUTTON_UP,4,2     ## @WPAD_CLASSIC_BUTTON_UP
	.comm	_WPAD_CLASSIC_BUTTON_X,4,2      ## @WPAD_CLASSIC_BUTTON_X
	.comm	_WPAD_CLASSIC_BUTTON_Y,4,2      ## @WPAD_CLASSIC_BUTTON_Y
	.comm	_WPAD_CLASSIC_BUTTON_ZL,4,2     ## @WPAD_CLASSIC_BUTTON_ZL
	.comm	_WPAD_CLASSIC_BUTTON_ZR,4,2     ## @WPAD_CLASSIC_BUTTON_ZR
	.comm	_WPAD_ERR_NONE,8,3              ## @WPAD_ERR_NONE
	.comm	_WPAD_EXP_CLASSIC,4,2           ## @WPAD_EXP_CLASSIC
	.comm	_WPAD_EXP_NONE,4,2              ## @WPAD_EXP_NONE
	.comm	_WPAD_EXP_NUNCHUK,4,2           ## @WPAD_EXP_NUNCHUK
	.comm	_WPAD_NUNCHUK_BUTTON_C,4,2      ## @WPAD_NUNCHUK_BUTTON_C
	.comm	_WPAD_NUNCHUK_BUTTON_Z,4,2      ## @WPAD_NUNCHUK_BUTTON_Z
	.comm	_g_quit,4,2                     ## @g_quit
	.no_dead_strip	_gx_joypad_poll
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function gx_joypad_poll
_gx_joypad_poll:                        ; @gx_joypad_poll
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
Lloh0:
	adrp	x8, _pad_state@GOTPAGE
Lloh1:
	ldr	x8, [x8, _pad_state@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stp	xzr, xzr, [x8]
	bl	_PAD_ScanPads
Lloh3:
	adrp	x8, _DEFAULT_MAX_PADS@GOTPAGE
Lloh4:
	ldr	x8, [x8, _DEFAULT_MAX_PADS@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	cbz	w8, LBB0_55
; %bb.1:
	mov	x19, x0
	mov	x20, #0
	mov	w21, #0
Lloh6:
	adrp	x28, _analog_state@GOTPAGE
Lloh7:
	ldr	x28, [x28, _analog_state@GOTPAGEOFF]
	mov	w26, #-32767
Lloh8:
	adrp	x24, _GX_GC_R_TRIGGER@GOTPAGE
Lloh9:
	ldr	x24, [x24, _GX_GC_R_TRIGGER@GOTPAGEOFF]
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x20, x20, #1
Lloh10:
	adrp	x8, _DEFAULT_MAX_PADS@GOTPAGE
Lloh11:
	ldr	x8, [x8, _DEFAULT_MAX_PADS@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
	cmp	x20, x8
	b.hs	LBB0_55
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	lsr	w8, w19, w20
	tbz	w8, #0, LBB0_6
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
Lloh13:
	adrp	x8, _pad_state@GOTPAGE
Lloh14:
	ldr	x8, [x8, _pad_state@GOTPAGEOFF]
Lloh15:
	ldr	x27, [x8]
	mov	x0, x20
	bl	_PAD_ButtonsHeld
	mov	x22, x0
Lloh16:
	adrp	x8, _PAD_BUTTON_A@GOTPAGE
Lloh17:
	ldr	x8, [x8, _PAD_BUTTON_A@GOTPAGEOFF]
Lloh18:
	ldr	w8, [x8]
	tst	w8, w0
	b.eq	LBB0_7
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh19:
	adrp	x8, _GX_GC_A@GOTPAGE
Lloh20:
	ldr	x8, [x8, _GX_GC_A@GOTPAGEOFF]
Lloh21:
	ldr	w8, [x8]
	lsl	w8, w0, w8
	b	LBB0_8
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
Lloh22:
	adrp	x8, _WPAD_EXP_NOCONTROLLER@GOTPAGE
Lloh23:
	ldr	x8, [x8, _WPAD_EXP_NOCONTROLLER@GOTPAGEOFF]
	b	LBB0_43
LBB0_7:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	w8, #0
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x27, x27, x20, lsl #2
	ldr	w9, [x27]
	orr	w8, w9, w8
	str	w8, [x27]
Lloh24:
	adrp	x9, _PAD_BUTTON_B@GOTPAGE
Lloh25:
	ldr	x9, [x9, _PAD_BUTTON_B@GOTPAGEOFF]
Lloh26:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_10
; %bb.9:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh27:
	adrp	x8, _GX_GC_B@GOTPAGE
Lloh28:
	ldr	x8, [x8, _GX_GC_B@GOTPAGEOFF]
Lloh29:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_11
LBB0_10:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_11:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh30:
	adrp	x9, _PAD_BUTTON_X@GOTPAGE
Lloh31:
	ldr	x9, [x9, _PAD_BUTTON_X@GOTPAGEOFF]
Lloh32:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_13
; %bb.12:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh33:
	adrp	x8, _GX_GC_X@GOTPAGE
Lloh34:
	ldr	x8, [x8, _GX_GC_X@GOTPAGEOFF]
Lloh35:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_14
LBB0_13:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_14:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh36:
	adrp	x9, _PAD_BUTTON_Y@GOTPAGE
Lloh37:
	ldr	x9, [x9, _PAD_BUTTON_Y@GOTPAGEOFF]
Lloh38:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_16
; %bb.15:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh39:
	adrp	x8, _GX_GC_Y@GOTPAGE
Lloh40:
	ldr	x8, [x8, _GX_GC_Y@GOTPAGEOFF]
Lloh41:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_17
LBB0_16:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_17:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh42:
	adrp	x9, _PAD_BUTTON_UP@GOTPAGE
Lloh43:
	ldr	x9, [x9, _PAD_BUTTON_UP@GOTPAGEOFF]
Lloh44:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_19
; %bb.18:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh45:
	adrp	x8, _GX_GC_UP@GOTPAGE
Lloh46:
	ldr	x8, [x8, _GX_GC_UP@GOTPAGEOFF]
Lloh47:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_20
LBB0_19:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_20:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh48:
	adrp	x9, _PAD_BUTTON_DOWN@GOTPAGE
Lloh49:
	ldr	x9, [x9, _PAD_BUTTON_DOWN@GOTPAGEOFF]
Lloh50:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_22
; %bb.21:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh51:
	adrp	x8, _GX_GC_DOWN@GOTPAGE
Lloh52:
	ldr	x8, [x8, _GX_GC_DOWN@GOTPAGEOFF]
Lloh53:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_23
LBB0_22:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_23:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh54:
	adrp	x9, _PAD_BUTTON_LEFT@GOTPAGE
Lloh55:
	ldr	x9, [x9, _PAD_BUTTON_LEFT@GOTPAGEOFF]
Lloh56:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_25
; %bb.24:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh57:
	adrp	x8, _GX_GC_LEFT@GOTPAGE
Lloh58:
	ldr	x8, [x8, _GX_GC_LEFT@GOTPAGEOFF]
Lloh59:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_26
LBB0_25:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_26:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh60:
	adrp	x9, _PAD_BUTTON_RIGHT@GOTPAGE
Lloh61:
	ldr	x9, [x9, _PAD_BUTTON_RIGHT@GOTPAGEOFF]
Lloh62:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_28
; %bb.27:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh63:
	adrp	x8, _GX_GC_RIGHT@GOTPAGE
Lloh64:
	ldr	x8, [x8, _GX_GC_RIGHT@GOTPAGEOFF]
Lloh65:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_29
LBB0_28:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_29:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh66:
	adrp	x9, _PAD_BUTTON_START@GOTPAGE
Lloh67:
	ldr	x9, [x9, _PAD_BUTTON_START@GOTPAGEOFF]
Lloh68:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_31
; %bb.30:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh69:
	adrp	x8, _GX_GC_START@GOTPAGE
Lloh70:
	ldr	x8, [x8, _GX_GC_START@GOTPAGEOFF]
Lloh71:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_32
LBB0_31:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_32:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh72:
	adrp	x9, _PAD_TRIGGER_Z@GOTPAGE
Lloh73:
	ldr	x9, [x9, _PAD_TRIGGER_Z@GOTPAGEOFF]
Lloh74:
	ldr	w9, [x9]
	tst	w9, w22
	b.eq	LBB0_34
; %bb.33:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh75:
	adrp	x8, _GX_GC_Z_TRIGGER@GOTPAGE
Lloh76:
	ldr	x8, [x8, _GX_GC_Z_TRIGGER@GOTPAGEOFF]
Lloh77:
	ldr	w8, [x8]
	lsl	w9, w0, w8
	ldr	w8, [x27]
	b	LBB0_35
LBB0_34:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w9, #0
LBB0_35:                                ;   in Loop: Header=BB0_3 Depth=1
	orr	w8, w8, w9
	str	w8, [x27]
Lloh78:
	adrp	x8, _PAD_TRIGGER_L@GOTPAGE
Lloh79:
	ldr	x8, [x8, _PAD_TRIGGER_L@GOTPAGEOFF]
Lloh80:
	ldr	w8, [x8]
	tst	w8, w22
	b.ne	LBB0_37
; %bb.36:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x20
	bl	_PAD_TriggerL
	cmp	w0, #128
	b.lt	LBB0_53
LBB0_37:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh81:
	adrp	x8, _GX_GC_L_TRIGGER@GOTPAGE
Lloh82:
	ldr	x8, [x8, _GX_GC_L_TRIGGER@GOTPAGEOFF]
Lloh83:
	ldr	w8, [x8]
	lsl	w8, w0, w8
LBB0_38:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w9, [x27]
	orr	w8, w9, w8
	str	w8, [x27]
Lloh84:
	adrp	x8, _PAD_TRIGGER_R@GOTPAGE
Lloh85:
	ldr	x8, [x8, _PAD_TRIGGER_R@GOTPAGEOFF]
Lloh86:
	ldr	w8, [x8]
	tst	w8, w22
	b.ne	LBB0_40
; %bb.39:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x20
	bl	_PAD_TriggerR
	cmp	w0, #128
	b.lt	LBB0_54
LBB0_40:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
	ldr	w8, [x24]
	lsl	w8, w0, w8
LBB0_41:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w9, [x27]
	orr	w8, w9, w8
	str	w8, [x27]
	mov	x0, x20
	bl	_PAD_StickX
	lsl	w22, w0, #8
	mov	x0, x20
	bl	_PAD_StickY
	neg	w25, w0, lsl #8
	mov	x0, x20
	bl	_PAD_SubStickX
	lsl	w23, w0, #8
	mov	x0, x20
	bl	_PAD_SubStickY
	ldr	x8, [x28]
	ldr	x8, [x8, x20, lsl #3]
Lloh87:
	adrp	x9, _RETRO_DEVICE_INDEX_ANALOG_LEFT@GOTPAGE
Lloh88:
	ldr	x9, [x9, _RETRO_DEVICE_INDEX_ANALOG_LEFT@GOTPAGEOFF]
Lloh89:
	ldr	x9, [x9]
	ldr	x9, [x8, x9, lsl #3]
Lloh90:
	adrp	x10, _RETRO_DEVICE_ID_ANALOG_X@GOTPAGE
Lloh91:
	ldr	x10, [x10, _RETRO_DEVICE_ID_ANALOG_X@GOTPAGEOFF]
Lloh92:
	ldr	x10, [x10]
	lsl	x10, x10, #2
	str	w22, [x9, x10]
	neg	w11, w0, lsl #8
Lloh93:
	adrp	x12, _RETRO_DEVICE_ID_ANALOG_Y@GOTPAGE
Lloh94:
	ldr	x12, [x12, _RETRO_DEVICE_ID_ANALOG_Y@GOTPAGEOFF]
Lloh95:
	ldr	x12, [x12]
	lsl	x12, x12, #2
	str	w25, [x9, x12]
Lloh96:
	adrp	x9, _RETRO_DEVICE_INDEX_ANALOG_RIGHT@GOTPAGE
Lloh97:
	ldr	x9, [x9, _RETRO_DEVICE_INDEX_ANALOG_RIGHT@GOTPAGEOFF]
Lloh98:
	ldr	x9, [x9]
	ldr	x8, [x8, x9, lsl #3]
	str	w23, [x8, x10]
	str	w11, [x8, x12]
	mov	w0, #1
	bl	_UINT64_C
Lloh99:
	adrp	x8, _GX_GC_START@GOTPAGE
Lloh100:
	ldr	x8, [x8, _GX_GC_START@GOTPAGEOFF]
Lloh101:
	ldr	w8, [x8]
	lsl	w22, w0, w8
	mov	w0, #1
	bl	_UINT64_C
Lloh102:
	adrp	x8, _GX_GC_Z_TRIGGER@GOTPAGE
Lloh103:
	ldr	x8, [x8, _GX_GC_Z_TRIGGER@GOTPAGEOFF]
Lloh104:
	ldr	w8, [x8]
	lsl	w8, w0, w8
	orr	w22, w8, w22
	mov	w0, #1
	bl	_UINT64_C
Lloh105:
	adrp	x8, _GX_GC_L_TRIGGER@GOTPAGE
Lloh106:
	ldr	x8, [x8, _GX_GC_L_TRIGGER@GOTPAGEOFF]
Lloh107:
	ldr	w8, [x8]
	lsl	w8, w0, w8
	orr	w22, w22, w8
	mov	w0, #1
	bl	_UINT64_C
	ldr	w8, [x24]
	lsl	w8, w0, w8
	orr	w9, w22, w8
	ldr	w10, [x27]
Lloh108:
	adrp	x8, _WPAD_EXP_GAMECUBE@GOTPAGE
Lloh109:
	ldr	x8, [x8, _WPAD_EXP_GAMECUBE@GOTPAGEOFF]
	bics	wzr, w9, w10
	b.ne	LBB0_43
; %bb.42:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	bl	_UINT64_C
Lloh110:
	adrp	x8, _GX_GC_HOME@GOTPAGE
Lloh111:
	ldr	x8, [x8, _GX_GC_HOME@GOTPAGEOFF]
Lloh112:
	ldr	w8, [x8]
	lsl	w8, w0, w8
	ldr	w9, [x27]
	orr	w8, w9, w8
	str	w8, [x27]
Lloh113:
	adrp	x8, _WPAD_EXP_GAMECUBE@GOTPAGE
Lloh114:
	ldr	x8, [x8, _WPAD_EXP_GAMECUBE@GOTPAGEOFF]
LBB0_43:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w22, [x8]
	mov	x0, x20
	bl	_gx_joypad_query_pad
	cmp	x0, #0
	cinc	w21, w21, ne
	mov	x0, x21
	bl	_check_port0_active
Lloh115:
	adrp	x8, _pad_type@GOTPAGE
Lloh116:
	ldr	x8, [x8, _pad_type@GOTPAGEOFF]
Lloh117:
	ldr	x8, [x8]
	ldr	w8, [x8, x20, lsl #2]
	cmp	w22, w8
	b.eq	LBB0_45
; %bb.44:                               ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x20
	mov	x1, x22
	bl	_handle_hotplug
LBB0_45:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	x8, [x28]
	ldr	x8, [x8, x20, lsl #3]
	ldr	x9, [x8]
	ldr	w10, [x9]
	cmn	w10, #8, lsl #12                ; =32768
	b.ne	LBB0_47
; %bb.46:                               ;   in Loop: Header=BB0_3 Depth=1
	str	w26, [x9]
LBB0_47:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w10, [x9, #4]
	cmn	w10, #8, lsl #12                ; =32768
	b.ne	LBB0_49
; %bb.48:                               ;   in Loop: Header=BB0_3 Depth=1
	str	w26, [x9, #4]
LBB0_49:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	x8, [x8, #8]
	ldr	w9, [x8]
	cmn	w9, #8, lsl #12                 ; =32768
	b.ne	LBB0_51
; %bb.50:                               ;   in Loop: Header=BB0_3 Depth=1
	str	w26, [x8]
LBB0_51:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w9, [x8, #4]
	cmn	w9, #8, lsl #12                 ; =32768
	b.ne	LBB0_2
; %bb.52:                               ;   in Loop: Header=BB0_3 Depth=1
	str	w26, [x8, #4]
	b	LBB0_2
LBB0_53:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w8, #0
	b	LBB0_38
LBB0_54:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w8, #0
	b	LBB0_41
LBB0_55:
Lloh118:
	adrp	x8, _pad_state@GOTPAGE
Lloh119:
	ldr	x8, [x8, _pad_state@GOTPAGEOFF]
Lloh120:
	ldr	x8, [x8]
	ldr	w21, [x8]
Lloh121:
	adrp	x19, _lifecycle_state@GOTPAGE
Lloh122:
	ldr	x19, [x19, _lifecycle_state@GOTPAGEOFF]
	ldr	w0, [x19]
Lloh123:
	adrp	x20, _RARCH_MENU_TOGGLE@GOTPAGE
Lloh124:
	ldr	x20, [x20, _RARCH_MENU_TOGGLE@GOTPAGEOFF]
	ldr	w1, [x20]
	bl	_BIT64_CLEAR
Lloh125:
	adrp	x22, _g_menu@GOTPAGE
Lloh126:
	ldr	x22, [x22, _g_menu@GOTPAGEOFF]
	ldr	w8, [x22]
	cbz	w8, LBB0_57
; %bb.56:
	mov	w0, #1
	bl	_UINT64_C
Lloh127:
	adrp	x23, _GX_GC_HOME@GOTPAGE
Lloh128:
	ldr	x23, [x23, _GX_GC_HOME@GOTPAGEOFF]
	ldr	w8, [x23]
	lsl	w8, w0, w8
	orr	w21, w8, w21
	str	wzr, [x22]
	b	LBB0_58
LBB0_57:
Lloh129:
	adrp	x23, _GX_GC_HOME@GOTPAGE
Lloh130:
	ldr	x23, [x23, _GX_GC_HOME@GOTPAGEOFF]
LBB0_58:
	mov	w0, #1
	bl	_UINT64_C
	ldr	w8, [x23]
	lsl	w8, w0, w8
	tst	w8, w21
	b.eq	LBB0_60
; %bb.59:
	ldr	w0, [x19]
	ldr	w1, [x20]
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	b	_BIT64_SET
LBB0_60:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh45, Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpLdrGot	Lloh108, Lloh109
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh89
	.loh AdrpLdrGot	Lloh113, Lloh114
	.loh AdrpLdrGotLdr	Lloh110, Lloh111, Lloh112
	.loh AdrpLdrGotLdr	Lloh115, Lloh116, Lloh117
	.loh AdrpLdrGot	Lloh125, Lloh126
	.loh AdrpLdrGot	Lloh123, Lloh124
	.loh AdrpLdrGot	Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh118, Lloh119, Lloh120
	.loh AdrpLdrGot	Lloh127, Lloh128
	.loh AdrpLdrGot	Lloh129, Lloh130
	.cfi_endproc
                                        ; -- End function
	.comm	_pad_state,8,3                  ; @pad_state
	.comm	_DEFAULT_MAX_PADS,4,2           ; @DEFAULT_MAX_PADS
	.comm	_WPAD_EXP_NOCONTROLLER,4,2      ; @WPAD_EXP_NOCONTROLLER
	.comm	_PAD_BUTTON_A,4,2               ; @PAD_BUTTON_A
	.comm	_GX_GC_A,4,2                    ; @GX_GC_A
	.comm	_PAD_BUTTON_B,4,2               ; @PAD_BUTTON_B
	.comm	_GX_GC_B,4,2                    ; @GX_GC_B
	.comm	_PAD_BUTTON_X,4,2               ; @PAD_BUTTON_X
	.comm	_GX_GC_X,4,2                    ; @GX_GC_X
	.comm	_PAD_BUTTON_Y,4,2               ; @PAD_BUTTON_Y
	.comm	_GX_GC_Y,4,2                    ; @GX_GC_Y
	.comm	_PAD_BUTTON_UP,4,2              ; @PAD_BUTTON_UP
	.comm	_GX_GC_UP,4,2                   ; @GX_GC_UP
	.comm	_PAD_BUTTON_DOWN,4,2            ; @PAD_BUTTON_DOWN
	.comm	_GX_GC_DOWN,4,2                 ; @GX_GC_DOWN
	.comm	_PAD_BUTTON_LEFT,4,2            ; @PAD_BUTTON_LEFT
	.comm	_GX_GC_LEFT,4,2                 ; @GX_GC_LEFT
	.comm	_PAD_BUTTON_RIGHT,4,2           ; @PAD_BUTTON_RIGHT
	.comm	_GX_GC_RIGHT,4,2                ; @GX_GC_RIGHT
	.comm	_PAD_BUTTON_START,4,2           ; @PAD_BUTTON_START
	.comm	_GX_GC_START,4,2                ; @GX_GC_START
	.comm	_PAD_TRIGGER_Z,4,2              ; @PAD_TRIGGER_Z
	.comm	_GX_GC_Z_TRIGGER,4,2            ; @GX_GC_Z_TRIGGER
	.comm	_PAD_TRIGGER_L,4,2              ; @PAD_TRIGGER_L
	.comm	_GX_GC_L_TRIGGER,4,2            ; @GX_GC_L_TRIGGER
	.comm	_PAD_TRIGGER_R,4,2              ; @PAD_TRIGGER_R
	.comm	_GX_GC_R_TRIGGER,4,2            ; @GX_GC_R_TRIGGER
	.comm	_analog_state,8,3               ; @analog_state
	.comm	_RETRO_DEVICE_INDEX_ANALOG_LEFT,8,3 ; @RETRO_DEVICE_INDEX_ANALOG_LEFT
	.comm	_RETRO_DEVICE_ID_ANALOG_X,8,3   ; @RETRO_DEVICE_ID_ANALOG_X
	.comm	_RETRO_DEVICE_ID_ANALOG_Y,8,3   ; @RETRO_DEVICE_ID_ANALOG_Y
	.comm	_RETRO_DEVICE_INDEX_ANALOG_RIGHT,8,3 ; @RETRO_DEVICE_INDEX_ANALOG_RIGHT
	.comm	_GX_GC_HOME,4,2                 ; @GX_GC_HOME
	.comm	_WPAD_EXP_GAMECUBE,4,2          ; @WPAD_EXP_GAMECUBE
	.comm	_pad_type,8,3                   ; @pad_type
	.comm	_lifecycle_state,4,2            ; @lifecycle_state
	.comm	_RARCH_MENU_TOGGLE,4,2          ; @RARCH_MENU_TOGGLE
	.comm	_g_menu,4,2                     ; @g_menu
	.comm	_GX_CLASSIC_A,4,2               ; @GX_CLASSIC_A
	.comm	_GX_CLASSIC_B,4,2               ; @GX_CLASSIC_B
	.comm	_GX_CLASSIC_DOWN,4,2            ; @GX_CLASSIC_DOWN
	.comm	_GX_CLASSIC_HOME,4,2            ; @GX_CLASSIC_HOME
	.comm	_GX_CLASSIC_LEFT,4,2            ; @GX_CLASSIC_LEFT
	.comm	_GX_CLASSIC_L_TRIGGER,4,2       ; @GX_CLASSIC_L_TRIGGER
	.comm	_GX_CLASSIC_MINUS,4,2           ; @GX_CLASSIC_MINUS
	.comm	_GX_CLASSIC_PLUS,4,2            ; @GX_CLASSIC_PLUS
	.comm	_GX_CLASSIC_RIGHT,4,2           ; @GX_CLASSIC_RIGHT
	.comm	_GX_CLASSIC_R_TRIGGER,4,2       ; @GX_CLASSIC_R_TRIGGER
	.comm	_GX_CLASSIC_UP,4,2              ; @GX_CLASSIC_UP
	.comm	_GX_CLASSIC_X,4,2               ; @GX_CLASSIC_X
	.comm	_GX_CLASSIC_Y,4,2               ; @GX_CLASSIC_Y
	.comm	_GX_CLASSIC_ZL_TRIGGER,4,2      ; @GX_CLASSIC_ZL_TRIGGER
	.comm	_GX_CLASSIC_ZR_TRIGGER,4,2      ; @GX_CLASSIC_ZR_TRIGGER
	.comm	_GX_NUNCHUK_C,4,2               ; @GX_NUNCHUK_C
	.comm	_GX_NUNCHUK_Z,4,2               ; @GX_NUNCHUK_Z
	.comm	_GX_WIIMOTE_1,4,2               ; @GX_WIIMOTE_1
	.comm	_GX_WIIMOTE_2,4,2               ; @GX_WIIMOTE_2
	.comm	_GX_WIIMOTE_A,4,2               ; @GX_WIIMOTE_A
	.comm	_GX_WIIMOTE_B,4,2               ; @GX_WIIMOTE_B
	.comm	_GX_WIIMOTE_DOWN,4,2            ; @GX_WIIMOTE_DOWN
	.comm	_GX_WIIMOTE_HOME,4,2            ; @GX_WIIMOTE_HOME
	.comm	_GX_WIIMOTE_LEFT,4,2            ; @GX_WIIMOTE_LEFT
	.comm	_GX_WIIMOTE_MINUS,4,2           ; @GX_WIIMOTE_MINUS
	.comm	_GX_WIIMOTE_PLUS,4,2            ; @GX_WIIMOTE_PLUS
	.comm	_GX_WIIMOTE_RIGHT,4,2           ; @GX_WIIMOTE_RIGHT
	.comm	_GX_WIIMOTE_UP,4,2              ; @GX_WIIMOTE_UP
	.comm	_RARCH_CTL_SET_SHUTDOWN,4,2     ; @RARCH_CTL_SET_SHUTDOWN
	.comm	_WPAD_BUTTON_1,4,2              ; @WPAD_BUTTON_1
	.comm	_WPAD_BUTTON_2,4,2              ; @WPAD_BUTTON_2
	.comm	_WPAD_BUTTON_A,4,2              ; @WPAD_BUTTON_A
	.comm	_WPAD_BUTTON_B,4,2              ; @WPAD_BUTTON_B
	.comm	_WPAD_BUTTON_DOWN,4,2           ; @WPAD_BUTTON_DOWN
	.comm	_WPAD_BUTTON_HOME,4,2           ; @WPAD_BUTTON_HOME
	.comm	_WPAD_BUTTON_LEFT,4,2           ; @WPAD_BUTTON_LEFT
	.comm	_WPAD_BUTTON_MINUS,4,2          ; @WPAD_BUTTON_MINUS
	.comm	_WPAD_BUTTON_PLUS,4,2           ; @WPAD_BUTTON_PLUS
	.comm	_WPAD_BUTTON_RIGHT,4,2          ; @WPAD_BUTTON_RIGHT
	.comm	_WPAD_BUTTON_UP,4,2             ; @WPAD_BUTTON_UP
	.comm	_WPAD_CHAN_0,4,2                ; @WPAD_CHAN_0
	.comm	_WPAD_CHAN_1,4,2                ; @WPAD_CHAN_1
	.comm	_WPAD_CHAN_ALL,4,2              ; @WPAD_CHAN_ALL
	.comm	_WPAD_CLASSIC_BUTTON_A,4,2      ; @WPAD_CLASSIC_BUTTON_A
	.comm	_WPAD_CLASSIC_BUTTON_B,4,2      ; @WPAD_CLASSIC_BUTTON_B
	.comm	_WPAD_CLASSIC_BUTTON_DOWN,4,2   ; @WPAD_CLASSIC_BUTTON_DOWN
	.comm	_WPAD_CLASSIC_BUTTON_FULL_L,4,2 ; @WPAD_CLASSIC_BUTTON_FULL_L
	.comm	_WPAD_CLASSIC_BUTTON_FULL_R,4,2 ; @WPAD_CLASSIC_BUTTON_FULL_R
	.comm	_WPAD_CLASSIC_BUTTON_HOME,4,2   ; @WPAD_CLASSIC_BUTTON_HOME
	.comm	_WPAD_CLASSIC_BUTTON_LEFT,4,2   ; @WPAD_CLASSIC_BUTTON_LEFT
	.comm	_WPAD_CLASSIC_BUTTON_MINUS,4,2  ; @WPAD_CLASSIC_BUTTON_MINUS
	.comm	_WPAD_CLASSIC_BUTTON_PLUS,4,2   ; @WPAD_CLASSIC_BUTTON_PLUS
	.comm	_WPAD_CLASSIC_BUTTON_RIGHT,4,2  ; @WPAD_CLASSIC_BUTTON_RIGHT
	.comm	_WPAD_CLASSIC_BUTTON_UP,4,2     ; @WPAD_CLASSIC_BUTTON_UP
	.comm	_WPAD_CLASSIC_BUTTON_X,4,2      ; @WPAD_CLASSIC_BUTTON_X
	.comm	_WPAD_CLASSIC_BUTTON_Y,4,2      ; @WPAD_CLASSIC_BUTTON_Y
	.comm	_WPAD_CLASSIC_BUTTON_ZL,4,2     ; @WPAD_CLASSIC_BUTTON_ZL
	.comm	_WPAD_CLASSIC_BUTTON_ZR,4,2     ; @WPAD_CLASSIC_BUTTON_ZR
	.comm	_WPAD_ERR_NONE,8,3              ; @WPAD_ERR_NONE
	.comm	_WPAD_EXP_CLASSIC,4,2           ; @WPAD_EXP_CLASSIC
	.comm	_WPAD_EXP_NONE,4,2              ; @WPAD_EXP_NONE
	.comm	_WPAD_EXP_NUNCHUK,4,2           ; @WPAD_EXP_NUNCHUK
	.comm	_WPAD_NUNCHUK_BUTTON_C,4,2      ; @WPAD_NUNCHUK_BUTTON_C
	.comm	_WPAD_NUNCHUK_BUTTON_Z,4,2      ; @WPAD_NUNCHUK_BUTTON_Z
	.comm	_g_quit,4,2                     ; @g_quit
	.no_dead_strip	_gx_joypad_poll
.subsections_via_symbols
