	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_gamepad_get_axis_value         ## -- Begin function gamepad_get_axis_value
	.p2align	4, 0x90
_gamepad_get_axis_value:                ## @gamepad_get_axis_value
	.cfi_startproc
## %bb.0:
	testq	%rsi, %rsi
	je	LBB0_4
## %bb.1:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	(%rsi), %ecx
	addl	$-128, %ecx
	xorl	%eax, %eax
	cmpl	$3, %ecx
	ja	LBB0_3
## %bb.2:
	movslq	%ecx, %rax
	leaq	l_switch.table.gamepad_get_axis_value(%rip), %rcx
	movq	(%rcx,%rax,8), %rcx
	leaq	l_switch.table.gamepad_get_axis_value.1(%rip), %rdx
	movq	(%rdx,%rax,8), %rax
	movq	(%rcx), %rcx
	movq	(%rax), %rax
	leaq	(%rdi,%rcx,8), %rcx
	movl	(%rcx,%rax,4), %eax
LBB0_3:
	movl	4(%rsi), %esi
	movl	%eax, %edi
	popq	%rbp
	jmp	_gamepad_clamp_axis             ## TAILCALL
LBB0_4:
	xorl	%eax, %eax
	retq
	.cfi_endproc
                                        ## -- End function
	.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
	.section	__DATA,__const
	.p2align	3                               ## @switch.table.gamepad_get_axis_value
l_switch.table.gamepad_get_axis_value:
	.quad	_RETRO_DEVICE_INDEX_ANALOG_RIGHT
	.quad	_RETRO_DEVICE_INDEX_ANALOG_RIGHT
	.quad	_RETRO_DEVICE_INDEX_ANALOG_LEFT
	.quad	_RETRO_DEVICE_INDEX_ANALOG_LEFT

	.p2align	3                               ## @switch.table.gamepad_get_axis_value.1
l_switch.table.gamepad_get_axis_value.1:
	.quad	_RETRO_DEVICE_ID_ANALOG_Y
	.quad	_RETRO_DEVICE_ID_ANALOG_X
	.quad	_RETRO_DEVICE_ID_ANALOG_Y
	.quad	_RETRO_DEVICE_ID_ANALOG_X

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_gamepad_get_axis_value         ; -- Begin function gamepad_get_axis_value
	.p2align	2
_gamepad_get_axis_value:                ; @gamepad_get_axis_value
	.cfi_startproc
; %bb.0:
	cbz	x1, LBB0_3
; %bb.1:
	ldr	w8, [x1]
	sub	w8, w8, #128
	cmp	w8, #3
	b.hi	LBB0_4
; %bb.2:
	sbfiz	x8, x8, #3, #32
Lloh0:
	adrp	x9, l_switch.table.gamepad_get_axis_value@PAGE
Lloh1:
	add	x9, x9, l_switch.table.gamepad_get_axis_value@PAGEOFF
	ldr	x9, [x9, x8]
Lloh2:
	adrp	x10, l_switch.table.gamepad_get_axis_value.1@PAGE
Lloh3:
	add	x10, x10, l_switch.table.gamepad_get_axis_value.1@PAGEOFF
	ldr	x8, [x10, x8]
	ldr	x9, [x9]
	ldr	x8, [x8]
	add	x9, x0, x9, lsl #3
	ldr	w0, [x9, x8, lsl #2]
	ldr	w1, [x1, #4]
	b	_gamepad_clamp_axis
LBB0_3:
	mov	w0, #0
	ret
LBB0_4:
	mov	w0, #0
	ldr	w1, [x1, #4]
	b	_gamepad_clamp_axis
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.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
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.gamepad_get_axis_value
l_switch.table.gamepad_get_axis_value:
	.quad	_RETRO_DEVICE_INDEX_ANALOG_RIGHT
	.quad	_RETRO_DEVICE_INDEX_ANALOG_RIGHT
	.quad	_RETRO_DEVICE_INDEX_ANALOG_LEFT
	.quad	_RETRO_DEVICE_INDEX_ANALOG_LEFT

	.p2align	3                               ; @switch.table.gamepad_get_axis_value.1
l_switch.table.gamepad_get_axis_value.1:
	.quad	_RETRO_DEVICE_ID_ANALOG_Y
	.quad	_RETRO_DEVICE_ID_ANALOG_X
	.quad	_RETRO_DEVICE_ID_ANALOG_Y
	.quad	_RETRO_DEVICE_ID_ANALOG_X

.subsections_via_symbols
