	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function downcase_convert
LCPI0_0:
	.long	4294967231                      ## 0xffffffbf
	.long	4294967231                      ## 0xffffffbf
	.long	4294967231                      ## 0xffffffbf
	.long	4294967231                      ## 0xffffffbf
LCPI0_1:
	.long	25                              ## 0x19
	.long	25                              ## 0x19
	.long	25                              ## 0x19
	.long	25                              ## 0x19
LCPI0_2:
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
LCPI0_3:
	.byte	0                               ## 0x0
	.byte	4                               ## 0x4
	.byte	8                               ## 0x8
	.byte	12                              ## 0xc
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_downcase_convert:                      ## @downcase_convert
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movl	%esi, %r14d
	movq	%rdi, %rbx
	leal	1(%r14), %edi
	callq	_palloc
	testl	%r14d, %r14d
	jle	LBB0_13
## %bb.1:
	movl	%r14d, %r11d
	cmpl	$8, %r14d
	jb	LBB0_2
## %bb.3:
	leaq	(%rbx,%r11,4), %rdx
	cmpq	%rdx, %rax
	jae	LBB0_6
## %bb.4:
	movq	%rax, %rdx
	addq	%r11, %rdx
	cmpq	%rbx, %rdx
	jbe	LBB0_6
LBB0_2:
	xorl	%edx, %edx
LBB0_9:
	movq	%rdx, %rsi
	notq	%rsi
	testb	$1, %r11b
	je	LBB0_11
## %bb.10:
	movl	(%rbx,%rdx,4), %r10d
	leal	-65(%r10), %r8d
	leal	32(%r10), %r9d
	cmpl	$26, %r8d
	movzbl	%r9b, %edi
	cmovael	%r10d, %edi
	movb	%dil, (%rax,%rdx)
	orq	$1, %rdx
LBB0_11:
	addq	%r11, %rsi
	je	LBB0_13
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	movl	(%rbx,%rdx,4), %esi
	leal	-65(%rsi), %edi
	leal	32(%rsi), %ecx
	cmpl	$26, %edi
	movzbl	%cl, %ecx
	cmovael	%esi, %ecx
	movb	%cl, (%rax,%rdx)
	movl	4(%rbx,%rdx,4), %ecx
	leal	-65(%rcx), %esi
	leal	32(%rcx), %edi
	cmpl	$26, %esi
	movzbl	%dil, %esi
	cmovael	%ecx, %esi
	movb	%sil, 1(%rax,%rdx)
	addq	$2, %rdx
	cmpq	%rdx, %r11
	jne	LBB0_12
	jmp	LBB0_13
LBB0_6:
	movl	%r11d, %edx
	andl	$-8, %edx
	xorl	%esi, %esi
	movdqa	LCPI0_0(%rip), %xmm8            ## xmm8 = [4294967231,4294967231,4294967231,4294967231]
	movdqa	LCPI0_1(%rip), %xmm9            ## xmm9 = [25,25,25,25]
	movdqa	LCPI0_2(%rip), %xmm4            ## xmm4 = [32,32,32,32]
	movdqa	LCPI0_3(%rip), %xmm5            ## xmm5 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rbx,%rsi,4), %xmm6
	movdqu	16(%rbx,%rsi,4), %xmm7
	movdqa	%xmm6, %xmm1
	paddd	%xmm8, %xmm1
	movdqa	%xmm7, %xmm2
	paddd	%xmm8, %xmm2
	movdqa	%xmm1, %xmm0
	pminud	%xmm9, %xmm0
	pcmpeqd	%xmm1, %xmm0
	movdqa	%xmm2, %xmm1
	pminud	%xmm9, %xmm1
	pcmpeqd	%xmm2, %xmm1
	movdqa	%xmm6, %xmm2
	paddd	%xmm4, %xmm2
	movdqa	%xmm7, %xmm3
	paddd	%xmm4, %xmm3
	blendvps	%xmm0, %xmm2, %xmm6
	movdqa	%xmm1, %xmm0
	blendvps	%xmm0, %xmm3, %xmm7
	pshufb	%xmm5, %xmm6
	pshufb	%xmm5, %xmm7
	movd	%xmm6, (%rax,%rsi)
	movd	%xmm7, 4(%rax,%rsi)
	addq	$8, %rsi
	cmpq	%rsi, %rdx
	jne	LBB0_7
## %bb.8:
	cmpq	%r11, %rdx
	jne	LBB0_9
LBB0_13:
	movslq	%r14d, %rcx
	movb	$0, (%rax,%rcx)
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_downcase_convert
.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 downcase_convert
lCPI0_0:
	.byte	0                               ; 0x0
	.byte	4                               ; 0x4
	.byte	8                               ; 0x8
	.byte	12                              ; 0xc
	.byte	16                              ; 0x10
	.byte	20                              ; 0x14
	.byte	24                              ; 0x18
	.byte	28                              ; 0x1c
	.byte	32                              ; 0x20
	.byte	36                              ; 0x24
	.byte	40                              ; 0x28
	.byte	44                              ; 0x2c
	.byte	48                              ; 0x30
	.byte	52                              ; 0x34
	.byte	56                              ; 0x38
	.byte	60                              ; 0x3c
lCPI0_1:
	.byte	0                               ; 0x0
	.byte	4                               ; 0x4
	.byte	8                               ; 0x8
	.byte	12                              ; 0xc
	.byte	16                              ; 0x10
	.byte	20                              ; 0x14
	.byte	24                              ; 0x18
	.byte	28                              ; 0x1c
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_downcase_convert:                      ; @downcase_convert
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x1
	mov	x20, x0
	add	w0, w1, #1
	bl	_palloc
	cmp	w19, #1
	b.lt	LBB0_8
; %bb.1:
	mov	w8, w19
	cmp	w19, #8
	b.lo	LBB0_5
; %bb.2:
	add	x9, x0, x8
	add	x10, x20, x8, lsl #2
	cmp	x0, x10
	ccmp	x9, x20, #0, lo
	b.hi	LBB0_5
; %bb.3:
	cmp	w19, #16
	b.hs	LBB0_9
; %bb.4:
	mov	x9, #0
	b	LBB0_13
LBB0_5:
	mov	x9, #0
LBB0_6:
	add	x10, x0, x9
	add	x11, x20, x9, lsl #2
	sub	x8, x8, x9
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w9, [x11], #4
	sub	w12, w9, #65
	add	w13, w9, #32
	cmp	w12, #26
	csel	w9, w13, w9, lo
	strb	w9, [x10], #1
	subs	x8, x8, #1
	b.ne	LBB0_7
LBB0_8:
	strb	wzr, [x0, w19, sxtw]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
LBB0_9:
	and	x9, x8, #0xfffffff0
	mvni.4s	v0, #64
	movi.4s	v1, #26
	movi.4s	v2, #32
Lloh0:
	adrp	x10, lCPI0_0@PAGE
Lloh1:
	ldr	q3, [x10, lCPI0_0@PAGEOFF]
	mov	x10, x9
	mov	x11, x0
	mov	x12, x20
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldp	q4, q5, [x12]
	ldp	q6, q7, [x12, #32]
	add.4s	v16, v7, v0
	add.4s	v17, v6, v0
	add.4s	v18, v5, v0
	add.4s	v19, v4, v0
	cmhi.4s	v19, v1, v19
	cmhi.4s	v18, v1, v18
	cmhi.4s	v17, v1, v17
	cmhi.4s	v16, v1, v16
	add.4s	v20, v4, v2
	add.4s	v21, v5, v2
	add.4s	v22, v6, v2
	add.4s	v23, v7, v2
	mov.16b	v26, v16
	bsl.16b	v26, v23, v7
	mov.16b	v25, v17
	bsl.16b	v25, v22, v6
	mov.16b	v24, v18
	bsl.16b	v24, v21, v5
	mov.16b	v23, v19
	bsl.16b	v23, v20, v4
	tbl.16b	v4, { v23, v24, v25, v26 }, v3
	str	q4, [x11], #16
	add	x12, x12, #64
	subs	x10, x10, #16
	b.ne	LBB0_10
; %bb.11:
	cmp	x9, x8
	b.eq	LBB0_8
; %bb.12:
	tbz	w8, #3, LBB0_6
LBB0_13:
	mov	x12, x9
	and	x9, x8, #0xfffffff8
	add	x10, x20, x12, lsl #2
	add	x11, x0, x12
	sub	x12, x12, x9
	mvni.4s	v0, #64
	movi.4s	v1, #26
	movi.4s	v2, #32
Lloh2:
	adrp	x13, lCPI0_1@PAGE
Lloh3:
	ldr	q3, [x13, lCPI0_1@PAGEOFF]
LBB0_14:                                ; =>This Inner Loop Header: Depth=1
	ldp	q4, q5, [x10], #32
	add.4s	v6, v5, v0
	add.4s	v7, v4, v0
	cmhi.4s	v7, v1, v7
	cmhi.4s	v6, v1, v6
	add.4s	v16, v4, v2
	add.4s	v17, v5, v2
	bsl.16b	v6, v17, v5
	mov.16b	v5, v7
	bsl.16b	v5, v16, v4
	tbl.16b	v4, { v5, v6 }, v3
	str	d4, [x11], #8
	adds	x12, x12, #8
	b.ne	LBB0_14
; %bb.15:
	cmp	x9, x8
	b.eq	LBB0_8
	b	LBB0_6
	.loh AdrpLdr	Lloh0, Lloh1
	.loh AdrpLdr	Lloh2, Lloh3
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_downcase_convert
.subsections_via_symbols
