	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mpShiftLeft
_mpShiftLeft:                           ## @mpShiftLeft
	.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	%rbx
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_BITS_PER_DIGIT@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	xorl	%eax, %eax
	subl	%edx, %r8d
	jbe	LBB0_18
## %bb.1:
	movl	%edx, %r9d
	movq	_HIBITMASK@GOTPCREL(%rip), %rdx
	movl	(%rdx), %r14d
	cmpl	$2, %r9d
	jb	LBB0_7
## %bb.2:
	leal	-1(%r9), %r11d
	leal	-2(%r9), %ebx
	movl	%r11d, %r10d
	andl	$7, %r10d
	cmpl	$7, %ebx
	jb	LBB0_5
## %bb.3:
	andl	$-8, %r11d
	.p2align	4, 0x90
LBB0_4:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %ebx
	sarl	%ebx
	orl	%r14d, %ebx
	movl	%ebx, %edx
	sarl	%edx
	orl	%ebx, %edx
	movl	%edx, %ebx
	sarl	%ebx
	orl	%edx, %ebx
	movl	%ebx, %edx
	sarl	%edx
	orl	%ebx, %edx
	movl	%edx, %ebx
	sarl	%ebx
	orl	%edx, %ebx
	movl	%ebx, %edx
	sarl	%edx
	orl	%ebx, %edx
	movl	%edx, %ebx
	sarl	%ebx
	orl	%edx, %ebx
	movl	%ebx, %r14d
	sarl	%r14d
	orl	%ebx, %r14d
	addl	$-8, %r11d
	jne	LBB0_4
LBB0_5:
	testl	%r10d, %r10d
	je	LBB0_7
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %edx
	sarl	%edx
	orl	%edx, %r14d
	decl	%r10d
	jne	LBB0_6
LBB0_7:
	testl	%r9d, %r9d
	cmovel	%r9d, %r14d
	testl	%ecx, %ecx
	je	LBB0_18
## %bb.8:
	movl	%ecx, %r10d
	xorl	%r11d, %r11d
	cmpl	$8, %ecx
	jb	LBB0_9
## %bb.10:
	movq	%rdi, %rcx
	subq	%rsi, %rcx
	movl	$0, %eax
	cmpq	$32, %rcx
	jb	LBB0_14
## %bb.11:
	movl	%r10d, %r11d
	andl	$-8, %r11d
	movd	%r14d, %xmm0
	pshufd	$0, %xmm0, %xmm8                ## xmm8 = xmm0[0,0,0,0]
	movd	%r8d, %xmm1
	movd	%r9d, %xmm3
	leaq	(,%r10,4), %rax
	andq	$-32, %rax
	pxor	%xmm2, %xmm2
	xorl	%ecx, %ecx
	pmovzxdq	%xmm1, %xmm1                    ## xmm1 = xmm1[0],zero,xmm1[1],zero
	pmovzxdq	%xmm3, %xmm3                    ## xmm3 = xmm3[0],zero,xmm3[1],zero
	.p2align	4, 0x90
LBB0_12:                                ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm2, %xmm4
	movdqu	(%rsi,%rcx), %xmm5
	movdqu	16(%rsi,%rcx), %xmm6
	movdqa	%xmm5, %xmm7
	pand	%xmm8, %xmm7
	movdqa	%xmm6, %xmm2
	pand	%xmm8, %xmm2
	psrad	%xmm1, %xmm7
	psrad	%xmm1, %xmm2
	movdqa	%xmm2, %xmm0
	palignr	$12, %xmm7, %xmm0               ## xmm0 = xmm7[12,13,14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11]
	palignr	$12, %xmm4, %xmm7               ## xmm7 = xmm4[12,13,14,15],xmm7[0,1,2,3,4,5,6,7,8,9,10,11]
	pslld	%xmm3, %xmm5
	por	%xmm7, %xmm5
	pslld	%xmm3, %xmm6
	por	%xmm0, %xmm6
	movdqu	%xmm5, (%rdi,%rcx)
	movdqu	%xmm6, 16(%rdi,%rcx)
	addq	$32, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_12
## %bb.13:
	pextrd	$3, %xmm2, %eax
	cmpq	%r10, %r11
	jne	LBB0_14
	jmp	LBB0_18
LBB0_9:
	xorl	%eax, %eax
LBB0_14:
	movq	%r11, %rbx
	notq	%rbx
	testb	$1, %r10b
	je	LBB0_16
## %bb.15:
	movl	(%rsi,%r11,4), %edx
	movl	%edx, %r15d
	andl	%r14d, %r15d
	movl	%r8d, %ecx
	sarl	%cl, %r15d
	movl	%r9d, %ecx
	shll	%cl, %edx
	orl	%eax, %edx
	movl	%edx, (%rdi,%r11,4)
	orq	$1, %r11
	movl	%r15d, %eax
LBB0_16:
	addq	%r10, %rbx
	je	LBB0_18
	.p2align	4, 0x90
LBB0_17:                                ## =>This Inner Loop Header: Depth=1
	movl	(%rsi,%r11,4), %edx
	movl	%edx, %ebx
	andl	%r14d, %ebx
	movl	%r8d, %ecx
	sarl	%cl, %ebx
	movl	%r9d, %ecx
	shll	%cl, %edx
	orl	%eax, %edx
	movl	%edx, (%rdi,%r11,4)
	movl	4(%rsi,%r11,4), %edx
	movl	%edx, %eax
	andl	%r14d, %eax
	movl	%r8d, %ecx
	sarl	%cl, %eax
	movl	%r9d, %ecx
	shll	%cl, %edx
	orl	%ebx, %edx
	movl	%edx, 4(%rdi,%r11,4)
	addq	$2, %r11
	cmpq	%r11, %r10
	jne	LBB0_17
LBB0_18:
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_BITS_PER_DIGIT,4,2             ## @BITS_PER_DIGIT
	.comm	_HIBITMASK,4,2                  ## @HIBITMASK
	.no_dead_strip	_mpShiftLeft
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mpShiftLeft
_mpShiftLeft:                           ; @mpShiftLeft
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _BITS_PER_DIGIT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _BITS_PER_DIGIT@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	subs	w9, w8, w2
	b.ls	LBB0_13
; %bb.1:
Lloh3:
	adrp	x8, _HIBITMASK@GOTPAGE
Lloh4:
	ldr	x8, [x8, _HIBITMASK@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	cmp	w2, #2
	b.lo	LBB0_4
; %bb.2:
	sub	w10, w2, #1
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	orr	w8, w8, w8, asr #1
	subs	w10, w10, #1
	b.ne	LBB0_3
LBB0_4:
	cmp	w2, #0
	csel	w10, wzr, w8, eq
	cbz	w3, LBB0_13
; %bb.5:
	mov	w13, #0
	mov	x12, #0
	mov	w11, w3
	cmp	w3, #16
	b.lo	LBB0_10
; %bb.6:
	sub	x8, x0, x1
	cmp	x8, #64
	b.lo	LBB0_10
; %bb.7:
	dup.4s	v0, w10
	dup.4s	v2, w9
	dup.4s	v1, w2
	and	x12, x11, #0xfffffff0
	add	x8, x0, #32
	add	x13, x1, #32
	movi.2d	v3, #0000000000000000
	neg.4s	v2, v2
	mov	x14, x12
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q4, q5, [x13, #-32]
	ldp	q6, q7, [x13], #64
	and.16b	v16, v4, v0
	and.16b	v17, v5, v0
	and.16b	v18, v6, v0
	and.16b	v19, v7, v0
	sshl.4s	v16, v16, v2
	sshl.4s	v17, v17, v2
	sshl.4s	v18, v18, v2
	ext.16b	v20, v3, v16, #12
	sshl.4s	v3, v19, v2
	ext.16b	v16, v16, v17, #12
	ext.16b	v17, v17, v18, #12
	ext.16b	v18, v18, v3, #12
	ushl.4s	v4, v4, v1
	ushl.4s	v5, v5, v1
	ushl.4s	v6, v6, v1
	ushl.4s	v7, v7, v1
	orr.16b	v4, v4, v20
	orr.16b	v5, v5, v16
	orr.16b	v6, v6, v17
	stp	q4, q5, [x8, #-32]
	orr.16b	v4, v7, v18
	stp	q6, q4, [x8], #64
	subs	x14, x14, #16
	b.ne	LBB0_8
; %bb.9:
	mov.s	w13, v3[3]
	mov	x8, x13
	cmp	x12, x11
	b.eq	LBB0_12
LBB0_10:
	lsl	x8, x12, #2
	add	x14, x1, x8
	add	x15, x0, x8
	sub	x11, x11, x12
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x14], #4
	and	w8, w12, w10
	asr	w8, w8, w9
	lsl	w12, w12, w2
	orr	w12, w12, w13
	str	w12, [x15], #4
	mov	x13, x8
	subs	x11, x11, #1
	b.ne	LBB0_11
LBB0_12:
	mov	x0, x8
	ret
LBB0_13:
	mov	w0, #0
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.comm	_BITS_PER_DIGIT,4,2             ; @BITS_PER_DIGIT
	.comm	_HIBITMASK,4,2                  ; @HIBITMASK
	.no_dead_strip	_mpShiftLeft
.subsections_via_symbols
