	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function copy_codes
LCPI0_0:
	.space	4
	.space	4
	.space	4
	.long	255                             ## 0xff
LCPI0_1:
	.long	240                             ## 0xf0
	.long	240                             ## 0xf0
	.long	240                             ## 0xf0
	.long	240                             ## 0xf0
LCPI0_2:
	.long	15                              ## 0xf
	.long	15                              ## 0xf
	.long	15                              ## 0xf
	.long	15                              ## 0xf
LCPI0_3:
	.long	112                             ## 0x70
	.long	112                             ## 0x70
	.long	112                             ## 0x70
	.long	112                             ## 0x70
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_copy_codes:                            ## @copy_codes
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
                                        ## kill: def $edx killed $edx def $rdx
	testl	%edx, %edx
	je	LBB0_14
## %bb.1:
	leal	-1(%rdx), %r9d
	movl	$255, %eax
	cmpl	$7, %r9d
	jb	LBB0_2
## %bb.3:
	movq	%rdi, %rcx
	subq	%rsi, %rcx
	cmpq	$32, %rcx
	jb	LBB0_2
## %bb.4:
	incq	%r9
	movq	%r9, %rax
	andq	$-8, %rax
	leaq	(%rdi,%rax,4), %r8
	subl	%eax, %edx
	leaq	(%rsi,%rax,4), %r10
	movdqa	LCPI0_0(%rip), %xmm5            ## xmm5 = <u,u,u,255>
	xorl	%ecx, %ecx
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = [240,240,240,240]
	movdqa	LCPI0_2(%rip), %xmm9            ## xmm9 = [15,15,15,15]
	movdqa	LCPI0_3(%rip), %xmm4            ## xmm4 = [112,112,112,112]
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rsi,%rcx,4), %xmm2
	movdqu	16(%rsi,%rcx,4), %xmm3
	movdqa	%xmm2, %xmm6
	pand	%xmm8, %xmm6
	movdqa	%xmm6, %xmm0
	palignr	$12, %xmm5, %xmm0               ## xmm0 = xmm5[12,13,14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
	movdqa	%xmm3, %xmm5
	pand	%xmm8, %xmm5
	movdqa	%xmm5, %xmm1
	palignr	$12, %xmm6, %xmm1               ## xmm1 = xmm6[12,13,14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11]
	pcmpeqd	%xmm6, %xmm0
	pcmpeqd	%xmm5, %xmm1
	movdqa	%xmm2, %xmm6
	pand	%xmm9, %xmm6
	movdqa	%xmm3, %xmm7
	pand	%xmm9, %xmm7
	por	%xmm4, %xmm6
	por	%xmm4, %xmm7
	blendvps	%xmm0, %xmm6, %xmm2
	movdqa	%xmm1, %xmm0
	blendvps	%xmm0, %xmm7, %xmm3
	movups	%xmm2, (%rdi,%rcx,4)
	movups	%xmm3, 16(%rdi,%rcx,4)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_5
## %bb.6:
	cmpq	%rax, %r9
	je	LBB0_14
## %bb.7:
	pextrd	$3, %xmm5, %eax
	testb	$1, %dl
	je	LBB0_9
LBB0_10:
	leal	-1(%rdx), %r9d
	movl	(%r10), %ecx
	addq	$4, %r10
	movl	%ecx, %edi
	andl	$240, %edi
	movl	%ecx, %esi
	andl	$15, %esi
	orl	$112, %esi
	cmpl	%eax, %edi
	cmovnel	%ecx, %esi
	movl	%esi, (%r8)
	addq	$4, %r8
	movl	%edi, %eax
	cmpl	$1, %edx
	jne	LBB0_12
	jmp	LBB0_14
LBB0_2:
	movq	%rdi, %r8
	movq	%rsi, %r10
	testb	$1, %dl
	jne	LBB0_10
LBB0_9:
	movl	%edx, %r9d
	cmpl	$1, %edx
	je	LBB0_14
LBB0_12:
	movl	%r9d, %r9d
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r10,%rdx,4), %ecx
	movl	%ecx, %edi
	andl	$240, %edi
	movl	%ecx, %esi
	andl	$15, %esi
	orl	$112, %esi
	cmpl	%eax, %edi
	cmovnel	%ecx, %esi
	movl	%esi, (%r8,%rdx,4)
	movl	4(%r10,%rdx,4), %ecx
	movl	%ecx, %eax
	andl	$240, %eax
	movl	%ecx, %esi
	andl	$15, %esi
	orl	$112, %esi
	cmpl	%edi, %eax
	cmovnel	%ecx, %esi
	movl	%esi, 4(%r8,%rdx,4)
	addq	$2, %rdx
	cmpl	%edx, %r9d
	jne	LBB0_13
LBB0_14:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_copy_codes
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function copy_codes
_copy_codes:                            ; @copy_codes
	.cfi_startproc
; %bb.0:
	cbz	w2, LBB0_9
; %bb.1:
	sub	w8, w2, #1
	mov	w10, #255
	cmp	w8, #15
	b.lo	LBB0_7
; %bb.2:
	sub	x9, x0, x1
	cmp	x9, #64
	b.lo	LBB0_7
; %bb.3:
	add	x10, x8, #1
	and	x11, x10, #0x1fffffff0
	lsl	x9, x11, #2
	add	x8, x0, x9
	sub	w2, w2, w11
	add	x9, x1, x9
	add	x12, x0, #32
	add	x13, x1, #32
	movi.2d	v2, #0x0000ff000000ff
	movi.4s	v0, #240
	movi.4s	v1, #15
	mov	x14, x11
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q3, q4, [x13, #-32]
	ldp	q5, q6, [x13], #64
	and.16b	v7, v3, v0
	and.16b	v16, v4, v0
	and.16b	v17, v5, v0
	ext.16b	v18, v2, v7, #12
	and.16b	v2, v6, v0
	ext.16b	v19, v7, v16, #12
	ext.16b	v20, v16, v17, #12
	ext.16b	v21, v17, v2, #12
	cmeq.4s	v7, v7, v18
	cmeq.4s	v16, v16, v19
	cmeq.4s	v17, v17, v20
	cmeq.4s	v18, v2, v21
	and.16b	v19, v3, v1
	and.16b	v20, v4, v1
	and.16b	v21, v5, v1
	and.16b	v22, v6, v1
	orr.4s	v19, #112
	orr.4s	v20, #112
	orr.4s	v21, #112
	orr.4s	v22, #112
	bit.16b	v3, v19, v7
	bit.16b	v4, v20, v16
	bit.16b	v5, v21, v17
	stp	q3, q4, [x12, #-32]
	mov.16b	v3, v18
	bsl.16b	v3, v22, v6
	stp	q5, q3, [x12], #64
	subs	x14, x14, #16
	b.ne	LBB0_4
; %bb.5:
	cmp	x10, x11
	b.eq	LBB0_9
; %bb.6:
	mov.s	w10, v2[3]
	b	LBB0_8
LBB0_7:
	mov	x8, x0
	mov	x9, x1
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w11, [x9], #4
	and	w12, w11, #0xf0
	mov	w13, #112
	bfxil	w13, w11, #0, #4
	cmp	w12, w10
	csel	w10, w13, w11, eq
	str	w10, [x8], #4
	mov	x10, x12
	sub	w2, w2, #1
	cbnz	w2, LBB0_8
LBB0_9:
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_copy_codes
.subsections_via_symbols
