	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function reverse
LCPI0_0:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	2                               ## 0x2
	.long	3                               ## 0x3
LCPI0_1:
	.long	4                               ## 0x4
	.long	4                               ## 0x4
	.long	4                               ## 0x4
	.long	4                               ## 0x4
LCPI0_2:
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
LCPI0_3:
	.long	4294967291                      ## 0xfffffffb
	.long	4294967291                      ## 0xfffffffb
	.long	4294967291                      ## 0xfffffffb
	.long	4294967291                      ## 0xfffffffb
LCPI0_4:
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
LCPI0_5:
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.long	8                               ## 0x8
LCPI0_6:
	.space	16,255
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_reverse:                               ## @reverse
	.cfi_startproc
## %bb.0:
	xorl	%eax, %eax
	testl	%esi, %esi
	jle	LBB0_7
## %bb.1:
	movl	$0, %edx
	cmpl	$8, %esi
	jb	LBB0_5
## %bb.2:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movl	%esi, %edx
	andl	$-8, %edx
	movd	%edi, %xmm0
	pshufd	$0, %xmm0, %xmm9                ## xmm9 = xmm0[0,0,0,0]
	movd	%esi, %xmm0
	pshufd	$0, %xmm0, %xmm14               ## xmm14 = xmm0[0,0,0,0]
	movdqa	LCPI0_0(%rip), %xmm3            ## xmm3 = [0,1,2,3]
	pxor	%xmm15, %xmm15
	movdqa	LCPI0_2(%rip), %xmm12           ## xmm12 = [1,1,1,1]
	movdqa	LCPI0_3(%rip), %xmm10           ## xmm10 = [4294967291,4294967291,4294967291,4294967291]
	movdqa	LCPI0_4(%rip), %xmm13           ## xmm13 = [1065353216,1065353216,1065353216,1065353216]
	movdqa	LCPI0_5(%rip), %xmm11           ## xmm11 = [8,8,8,8]
	movl	%edx, %eax
	pxor	%xmm7, %xmm7
	.p2align	4, 0x90
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm3, %xmm4
	pshuflw	$254, %xmm3, %xmm0              ## xmm0 = xmm3[2,3,3,3,4,5,6,7]
	movdqa	%xmm9, %xmm5
	psrld	%xmm0, %xmm5
	pshufd	$238, %xmm3, %xmm0              ## xmm0 = xmm3[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm2              ## xmm2 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm9, %xmm6
	psrld	%xmm2, %xmm6
	paddd	LCPI0_1(%rip), %xmm4
	pshuflw	$84, %xmm3, %xmm2               ## xmm2 = xmm3[0,1,1,1,4,5,6,7]
	movdqa	%xmm9, %xmm1
	psrld	%xmm2, %xmm1
	pblendw	$15, %xmm5, %xmm6               ## xmm6 = xmm5[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$84, %xmm0, %xmm2               ## xmm2 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm9, %xmm0
	psrld	%xmm2, %xmm0
	pblendw	$15, %xmm1, %xmm0               ## xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
	pshuflw	$254, %xmm4, %xmm1              ## xmm1 = xmm4[2,3,3,3,4,5,6,7]
	movdqa	%xmm9, %xmm2
	psrld	%xmm1, %xmm2
	pshufd	$238, %xmm4, %xmm1              ## xmm1 = xmm4[2,3,2,3]
	pshuflw	$254, %xmm1, %xmm5              ## xmm5 = xmm1[2,3,3,3,4,5,6,7]
	movdqa	%xmm9, %xmm8
	psrld	%xmm5, %xmm8
	pblendw	$204, %xmm6, %xmm0              ## xmm0 = xmm0[0,1],xmm6[2,3],xmm0[4,5],xmm6[6,7]
	pshuflw	$84, %xmm4, %xmm4               ## xmm4 = xmm4[0,1,1,1,4,5,6,7]
	movdqa	%xmm9, %xmm5
	psrld	%xmm4, %xmm5
	pblendw	$15, %xmm2, %xmm8               ## xmm8 = xmm2[0,1,2,3],xmm8[4,5,6,7]
	pshuflw	$84, %xmm1, %xmm1               ## xmm1 = xmm1[0,1,1,1,4,5,6,7]
	movdqa	%xmm9, %xmm4
	psrld	%xmm1, %xmm4
	pblendw	$15, %xmm5, %xmm4               ## xmm4 = xmm5[0,1,2,3],xmm4[4,5,6,7]
	pblendw	$204, %xmm8, %xmm4              ## xmm4 = xmm4[0,1],xmm8[2,3],xmm4[4,5],xmm8[6,7]
	pand	%xmm12, %xmm0
	movdqa	%xmm3, %xmm1
	pxor	LCPI0_6(%rip), %xmm1
	paddd	%xmm14, %xmm1
	pslld	$23, %xmm1
	paddd	%xmm13, %xmm1
	cvttps2dq	%xmm1, %xmm1
	pmulld	%xmm0, %xmm1
	pand	%xmm12, %xmm4
	por	%xmm1, %xmm15
	movdqa	%xmm14, %xmm0
	psubd	%xmm3, %xmm0
	paddd	%xmm10, %xmm0
	pslld	$23, %xmm0
	paddd	%xmm13, %xmm0
	cvttps2dq	%xmm0, %xmm0
	pmulld	%xmm4, %xmm0
	por	%xmm0, %xmm7
	paddd	%xmm11, %xmm3
	addl	$-8, %eax
	jne	LBB0_3
## %bb.4:
	por	%xmm15, %xmm7
	pshufd	$238, %xmm7, %xmm0              ## xmm0 = xmm7[2,3,2,3]
	por	%xmm7, %xmm0
	pshufd	$85, %xmm0, %xmm1               ## xmm1 = xmm0[1,1,1,1]
	por	%xmm0, %xmm1
	movd	%xmm1, %eax
	cmpl	%esi, %edx
	popq	%rbp
	je	LBB0_7
LBB0_5:
	movl	%edx, %ecx
	notl	%ecx
	addl	%esi, %ecx
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	xorl	%esi, %esi
	btl	%edx, %edi
	setb	%sil
	shll	%cl, %esi
	orl	%esi, %eax
	incl	%edx
	addl	$-1, %ecx
	jb	LBB0_6
LBB0_7:
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_reverse
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function reverse
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	3                               ; 0x3
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_reverse:                               ; @reverse
	.cfi_startproc
; %bb.0:
	cmp	w1, #1
	b.lt	LBB0_3
; %bb.1:
	cmp	w1, #16
	b.hs	LBB0_4
; %bb.2:
	mov	w8, #0
	mov	w9, #0
	b	LBB0_7
LBB0_3:
	mov	w0, #0
	ret
LBB0_4:
	dup.4s	v0, w0
	dup.4s	v1, w1
	and	w9, w1, #0xfffffff0
	movi.2d	v2, #0000000000000000
	mvni.4s	v3, #3
	mvni.4s	v4, #7
Lloh0:
	adrp	x8, lCPI0_0@PAGE
Lloh1:
	ldr	q5, [x8, lCPI0_0@PAGEOFF]
	mvni.4s	v6, #11
	movi.4s	v7, #1
	mvni.4s	v16, #4
	mvni.4s	v17, #8
	mvni.4s	v18, #12
	movi.4s	v19, #16
	mov	x8, x9
	movi.2d	v20, #0000000000000000
	movi.2d	v21, #0000000000000000
	movi.2d	v22, #0000000000000000
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	neg.4s	v23, v5
	ushl.4s	v23, v0, v23
	sub.4s	v24, v3, v5
	ushl.4s	v24, v0, v24
	sub.4s	v25, v4, v5
	ushl.4s	v25, v0, v25
	sub.4s	v26, v6, v5
	ushl.4s	v26, v0, v26
	and.16b	v23, v23, v7
	and.16b	v24, v24, v7
	and.16b	v25, v25, v7
	and.16b	v26, v26, v7
	mvn.16b	v27, v5
	add.4s	v27, v1, v27
	sub.4s	v28, v1, v5
	add.4s	v29, v28, v16
	add.4s	v30, v28, v17
	add.4s	v28, v28, v18
	ushl.4s	v23, v23, v27
	ushl.4s	v24, v24, v29
	ushl.4s	v25, v25, v30
	ushl.4s	v26, v26, v28
	orr.16b	v2, v23, v2
	orr.16b	v20, v24, v20
	orr.16b	v21, v25, v21
	orr.16b	v22, v26, v22
	add.4s	v5, v5, v19
	subs	w8, w8, #16
	b.ne	LBB0_5
; %bb.6:
	orr.16b	v0, v20, v2
	orr.16b	v0, v21, v0
	orr.16b	v0, v22, v0
	ext.16b	v1, v0, v0, #8
	orr.8b	v0, v0, v1
	fmov	w8, s0
	mov.s	w10, v0[1]
	orr	w8, w8, w10
	cmp	w9, w1
	b.eq	LBB0_9
LBB0_7:
	mvn	w10, w9
	add	w10, w10, w1
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	lsr	w11, w0, w9
	and	w11, w11, #0x1
	lsl	w11, w11, w10
	orr	w8, w11, w8
	add	w9, w9, #1
	sub	w10, w10, #1
	cmn	w10, #1
	b.ne	LBB0_8
LBB0_9:
	mov	x0, x8
	ret
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_reverse
.subsections_via_symbols
