	.file	"extr_geohash.c_geohash_move_x.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	geohash_move_x, @function
geohash_move_x:
.LFB0:
	.cfi_startproc
	endbr64
	test	rsi, rsi
	je	.L1
	mov	edx, DWORD PTR [rdi]
	mov	ecx, 32
	sub	ecx, DWORD PTR 4[rdi]
	movabs	r8, 6148914691236517205
	add	ecx, ecx
	shr	r8, cl
	mov	eax, edx
	and	edx, 1431655765
	and	eax, -1431655766
	lea	r9d, 1[r8]
	lea	r10d, [rax+r9]
	or	eax, r8d
	sub	eax, r9d
	test	rsi, rsi
	movabs	rsi, -6148914691236517206
	cmovg	eax, r10d
	shr	rsi, cl
	and	eax, esi
	or	eax, edx
	mov	DWORD PTR [rdi], eax
.L1:
	ret
	.cfi_endproc
.LFE0:
	.size	geohash_move_x, .-geohash_move_x
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_geohash.c_geohash_move_x.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	geohash_move_x, %function
geohash_move_x:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	cmp	r1, #0
	bxeq	lr
	ldr	r3, [r0, #4]
	ldr	r1, .L13
	rsb	r3, r3, #32
	lsl	r3, r3, #1
	push	{r4, r5, r6, lr}
	lsr	ip, r1, r3
	ldr	r6, [r0]
	rsb	r5, r3, #32
	ldr	lr, .L13+4
	sub	r4, r3, #32
	orr	ip, ip, r1, lsl r5
	orr	ip, ip, r1, lsr r4
	and	lr, lr, r6
	add	r2, ip, #1
	orrle	ip, lr, ip
	suble	r2, ip, r2
	ldr	ip, .L13+4
	addgt	r2, lr, r2
	lsr	r3, ip, r3
	orr	r3, r3, ip, lsl r5
	orr	r3, r3, ip, lsr r4
	and	r1, r1, r6
	and	r3, r3, r2
	orr	r3, r3, r1
	str	r3, [r0]
	pop	{r4, r5, r6, pc}
.L14:
	.align	2
.L13:
	.word	1431655765
	.word	-1431655766
	.size	geohash_move_x, .-geohash_move_x
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
