	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function move_bits
_move_bits:                             ## @move_bits
	.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
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r9
	movl	%esi, %eax
	movq	_HOST_CHAR_BIT@GOTPCREL(%rip), %r12
	movl	(%r12), %r13d
	cltd
	idivl	%r13d
	movl	%edx, %r10d
	movslq	%eax, %r14
	movl	%ecx, %eax
	cltd
	idivl	%r13d
	movslq	%eax, %r15
	movq	_BITS_BIG_ENDIAN@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_5
## %bb.1:
	testl	%r8d, %r8d
	jle	LBB0_9
## %bb.2:
	movzbl	(%r9,%r15), %eax
	movl	%r13d, %ecx
	shll	%cl, %eax
	movzbl	1(%r9,%r15), %ebx
	addl	%eax, %ebx
	movl	%r13d, %esi
	subl	%r10d, %esi
	cmpl	%r8d, %esi
	cmovgel	%r8d, %esi
	addl	%esi, %r10d
	movl	%r13d, %r11d
	subl	%r10d, %r11d
	movl	$-1, %eax
	movl	%esi, %ecx
	shll	%cl, %eax
	notl	%eax
	movl	%r11d, %ecx
	shll	%cl, %eax
	movzbl	(%rdi,%r14), %r10d
	addl	%r13d, %r13d
	addl	%esi, %edx
	subl	%edx, %r13d
	movl	%r13d, %ecx
	subl	%r11d, %ecx
	movl	%ebx, %edx
                                        ## kill: def $cl killed $cl killed $ecx
	shrl	%cl, %edx
	xorl	%r10d, %edx
	andl	%eax, %edx
	xorl	%r10d, %edx
	movb	%dl, (%rdi,%r14)
	subl	%esi, %r8d
	jle	LBB0_9
## %bb.3:
	leaq	(%r14,%rdi), %r10
	incq	%r10
	addq	%r15, %r9
	addq	$2, %r9
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_4:                                 ## =>This Inner Loop Header: Depth=1
	movl	(%r12), %edx
	movl	%edx, %ecx
	shll	%cl, %ebx
	movzbl	(%r9,%rdi), %eax
	addl	%eax, %ebx
	addl	%edx, %r13d
	cmpl	%r8d, %edx
	movl	%r8d, %eax
	cmovll	%edx, %eax
	subl	%eax, %edx
	movl	$-1, %esi
	movl	%eax, %ecx
	shll	%cl, %esi
	notl	%esi
	movl	%edx, %ecx
	shll	%cl, %esi
	subl	%eax, %r13d
	movl	%r13d, %ecx
	subl	%edx, %ecx
	movl	%ebx, %edx
                                        ## kill: def $cl killed $cl killed $ecx
	shrl	%cl, %edx
	movzbl	(%r10,%rdi), %ecx
	xorl	%ecx, %edx
	andl	%esi, %edx
	xorl	%ecx, %edx
	movb	%dl, (%r10,%rdi)
	incq	%rdi
	subl	%eax, %r8d
	jg	LBB0_4
	jmp	LBB0_9
LBB0_5:
	testl	%r8d, %r8d
	jle	LBB0_9
## %bb.6:
	movl	%r13d, %eax
	subl	%edx, %eax
	movzbl	(%r9,%r15), %esi
	movl	%edx, %ecx
	shrl	%cl, %esi
	movzbl	1(%r9,%r15), %edx
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movl	%eax, %ecx
	shll	%cl, %edx
	addl	%esi, %edx
	movl	%r13d, %ebx
	subl	%r10d, %ebx
	cmpl	%r8d, %ebx
	cmovgel	%r8d, %ebx
	movl	$-1, %esi
	movl	%ebx, %ecx
	shll	%cl, %esi
	notl	%esi
	movl	%r10d, %ecx
	shll	%cl, %esi
	movzbl	(%rdi,%r14), %eax
	movl	%edx, %r11d
	movl	%r10d, %ecx
	shll	%cl, %r11d
	xorl	%eax, %r11d
	andl	%esi, %r11d
	xorl	%eax, %r11d
	movb	%r11b, (%rdi,%r14)
	subl	%ebx, %r8d
	jle	LBB0_9
## %bb.7:
	movl	%ebx, %ecx
	shrl	%cl, %edx
	addl	-44(%rbp), %r13d                ## 4-byte Folded Reload
	subl	%ebx, %r13d
	leaq	(%r14,%rdi), %rax
	incq	%rax
	addq	%r15, %r9
	addq	$2, %r9
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movzbl	(%r9,%rdi), %ebx
	movl	%r13d, %ecx
	shll	%cl, %ebx
	addl	%edx, %ebx
	movl	(%r12), %ecx
	addl	%ecx, %r13d
	cmpl	%r8d, %ecx
	cmovgel	%r8d, %ecx
	movzbl	(%rax,%rdi), %edx
	xorl	%ebx, %edx
	shrl	%cl, %edx
	shll	%cl, %edx
	xorl	%ebx, %edx
	shrl	%cl, %ebx
	movb	%dl, (%rax,%rdi)
	subl	%ecx, %r13d
	incq	%rdi
	movl	%ebx, %edx
	subl	%ecx, %r8d
	jg	LBB0_8
LBB0_9:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_HOST_CHAR_BIT,4,2              ## @HOST_CHAR_BIT
	.comm	_BITS_BIG_ENDIAN,8,3            ## @BITS_BIG_ENDIAN
	.no_dead_strip	_move_bits
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function move_bits
_move_bits:                             ; @move_bits
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _HOST_CHAR_BIT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _HOST_CHAR_BIT@GOTPAGEOFF]
	ldr	w13, [x8]
	sdiv	w9, w1, w13
	sxtw	x10, w9
	msub	w12, w9, w13, w1
	sdiv	w14, w3, w13
	sxtw	x9, w14
	add	x11, x2, x9
	msub	w14, w14, w13, w3
Lloh2:
	adrp	x15, _BITS_BIG_ENDIAN@GOTPAGE
Lloh3:
	ldr	x15, [x15, _BITS_BIG_ENDIAN@GOTPAGEOFF]
Lloh4:
	ldr	x15, [x15]
	cbz	x15, LBB0_5
; %bb.1:
	cmp	w4, #1
	b.lt	LBB0_9
; %bb.2:
	ldrb	w15, [x11]
	lsl	w15, w15, w13
	ldrb	w11, [x11, #1]
	add	w11, w15, w11
	sub	w15, w13, w12
	cmp	w15, w4
	csel	w15, w15, w4, lt
	add	w12, w12, w15
	sub	w16, w13, w12
	mov	w12, #-1
	lsl	w17, w12, w15
	mvn	w17, w17
	lsl	w17, w17, w16
	ldrb	w1, [x0, x10]
	bic	w1, w1, w17
	lsl	w13, w13, #1
	add	w14, w14, w15
	sub	w13, w13, w14
	sub	w14, w13, w16
	lsr	w14, w11, w14
	and	w14, w14, w17
	orr	w14, w14, w1
	strb	w14, [x0, x10]
	sub	w14, w4, w15
	cmp	w14, #1
	b.lt	LBB0_9
; %bb.3:
	add	x10, x10, x0
	add	x10, x10, #1
	add	x9, x9, x2
	add	x9, x9, #2
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w15, [x8]
	lsl	w11, w11, w15
	ldrb	w16, [x9], #1
	add	w11, w11, w16
	cmp	w15, w14
	csel	w16, w15, w14, lt
	lsl	w17, w12, w16
	mvn	w17, w17
	add	w13, w15, w13
	sub	w13, w13, w16
	sub	w15, w15, w16
	sub	w0, w13, w15
	lsl	w15, w17, w15
	ldrb	w17, [x10]
	bic	w17, w17, w15
	lsr	w0, w11, w0
	and	w15, w0, w15
	orr	w15, w15, w17
	strb	w15, [x10], #1
	sub	w14, w14, w16
	cmp	w14, #0
	b.gt	LBB0_4
	b	LBB0_9
LBB0_5:
	cmp	w4, #1
	b.lt	LBB0_9
; %bb.6:
	sub	w15, w13, w14
	ldrb	w16, [x11]
	lsr	w14, w16, w14
	ldrb	w11, [x11, #1]
	lsl	w11, w11, w15
	add	w14, w11, w14
	sub	w11, w13, w12
	cmp	w11, w4
	csel	w16, w11, w4, lt
	mov	w11, #-1
	lsl	w17, w11, w16
	mvn	w17, w17
	lsl	w17, w17, w12
	ldrb	w1, [x0, x10]
	bic	w1, w1, w17
	lsl	w12, w14, w12
	and	w12, w17, w12
	orr	w12, w1, w12
	strb	w12, [x0, x10]
	sub	w12, w4, w16
	cmp	w12, #1
	b.lt	LBB0_9
; %bb.7:
	lsr	w14, w14, w16
	add	w13, w13, w15
	sub	w13, w13, w16
	add	x10, x10, x0
	add	x10, x10, #1
	add	x9, x9, x2
	add	x9, x9, #2
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldrb	w15, [x9], #1
	lsl	w15, w15, w13
	ldr	w16, [x8]
	cmp	w16, w12
	csel	w17, w16, w12, lt
	lsl	w0, w11, w17
	ldrb	w1, [x10]
	and	w1, w0, w1
	add	w14, w15, w14
	bic	w15, w14, w0
	orr	w15, w1, w15
	strb	w15, [x10], #1
	sub	w12, w12, w17
	add	w13, w16, w13
	sub	w13, w13, w17
	lsr	w14, w14, w17
	cmp	w12, #0
	b.gt	LBB0_8
LBB0_9:
	ret
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGot	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	_HOST_CHAR_BIT,4,2              ; @HOST_CHAR_BIT
	.comm	_BITS_BIG_ENDIAN,8,3            ; @BITS_BIG_ENDIAN
	.no_dead_strip	_move_bits
.subsections_via_symbols
