	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_ct_memcmp                      ## -- Begin function ct_memcmp
	.p2align	4, 0x90
_ct_memcmp:                             ## @ct_memcmp
	.cfi_startproc
## %bb.0:
	testq	%rdx, %rdx
	je	LBB0_1
## %bb.2:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	cmpq	$8, %rdx
	jae	LBB0_4
## %bb.3:
	xorl	%ecx, %ecx
	xorl	%r11d, %r11d
	jmp	LBB0_11
LBB0_1:
	xorl	%eax, %eax
	retq
LBB0_4:
	movq	%rdx, %r11
	andq	$-8, %r11
	leaq	-8(%r11), %rcx
	movq	%rcx, %r8
	shrq	$3, %r8
	incq	%r8
	testq	%rcx, %rcx
	je	LBB0_5
## %bb.6:
	movq	%r8, %r9
	andq	$-2, %r9
	pxor	%xmm0, %xmm0
	xorl	%ecx, %ecx
	pxor	%xmm1, %xmm1
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movl	(%rsi,%rcx), %r10d
	movl	4(%rsi,%rcx), %eax
	xorl	(%rdi,%rcx), %r10d
	xorl	4(%rdi,%rcx), %eax
	movd	%r10d, %xmm2
	movd	%eax, %xmm3
	pmovzxbd	%xmm2, %xmm2                    ## xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
	por	%xmm0, %xmm2
	pmovzxbd	%xmm3, %xmm3                    ## xmm3 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero
	por	%xmm1, %xmm3
	movl	8(%rsi,%rcx), %r10d
	movl	12(%rsi,%rcx), %eax
	xorl	8(%rdi,%rcx), %r10d
	xorl	12(%rdi,%rcx), %eax
	movd	%r10d, %xmm0
	movd	%eax, %xmm1
	pmovzxbd	%xmm0, %xmm0                    ## xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
	por	%xmm2, %xmm0
	pmovzxbd	%xmm1, %xmm1                    ## xmm1 = xmm1[0],zero,zero,zero,xmm1[1],zero,zero,zero,xmm1[2],zero,zero,zero,xmm1[3],zero,zero,zero
	por	%xmm3, %xmm1
	addq	$16, %rcx
	addq	$-2, %r9
	jne	LBB0_7
## %bb.8:
	testb	$1, %r8b
	je	LBB0_10
LBB0_9:
	movl	(%rsi,%rcx), %eax
	movl	4(%rsi,%rcx), %r8d
	xorl	(%rdi,%rcx), %eax
	movd	%eax, %xmm2
	xorl	4(%rdi,%rcx), %r8d
	movd	%r8d, %xmm3
	pmovzxbd	%xmm2, %xmm2                    ## xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero,xmm2[2],zero,zero,zero,xmm2[3],zero,zero,zero
	por	%xmm2, %xmm0
	pmovzxbd	%xmm3, %xmm2                    ## xmm2 = xmm3[0],zero,zero,zero,xmm3[1],zero,zero,zero,xmm3[2],zero,zero,zero,xmm3[3],zero,zero,zero
	por	%xmm2, %xmm1
LBB0_10:
	por	%xmm1, %xmm0
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	por	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	por	%xmm1, %xmm0
	movd	%xmm0, %ecx
	cmpq	%rdx, %r11
	je	LBB0_12
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rsi,%r11), %eax
	xorb	(%rdi,%r11), %al
	movzbl	%al, %eax
	orl	%eax, %ecx
	incq	%r11
	cmpq	%r11, %rdx
	jne	LBB0_11
LBB0_12:
	xorl	%eax, %eax
	testl	%ecx, %ecx
	setne	%al
	popq	%rbp
	retq
LBB0_5:
	pxor	%xmm0, %xmm0
	xorl	%ecx, %ecx
	pxor	%xmm1, %xmm1
	testb	$1, %r8b
	jne	LBB0_9
	jmp	LBB0_10
	.cfi_endproc
                                        ## -- End function
.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 ct_memcmp
lCPI0_0:
	.byte	0                               ; 0x0
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	1                               ; 0x1
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	2                               ; 0x2
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	3                               ; 0x3
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
lCPI0_1:
	.byte	4                               ; 0x4
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	5                               ; 0x5
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	6                               ; 0x6
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	7                               ; 0x7
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
lCPI0_2:
	.byte	8                               ; 0x8
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	9                               ; 0x9
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	10                              ; 0xa
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	11                              ; 0xb
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
lCPI0_3:
	.byte	12                              ; 0xc
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	13                              ; 0xd
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	14                              ; 0xe
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	15                              ; 0xf
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.byte	255                             ; 0xff
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_ct_memcmp
	.p2align	2
_ct_memcmp:                             ; @ct_memcmp
	.cfi_startproc
; %bb.0:
	cbz	x2, LBB0_3
; %bb.1:
	stp	d9, d8, [sp, #-16]!             ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	.cfi_offset b8, -8
	.cfi_offset b9, -16
	.cfi_remember_state
	cmp	x2, #8
	b.hs	LBB0_4
; %bb.2:
	mov	w11, #0
	mov	x8, #0
	b	LBB0_13
LBB0_3:
	.cfi_def_cfa wsp, 0
	.cfi_same_value b8
	.cfi_same_value b9
	mov	w0, #0
	ret
LBB0_4:
	.cfi_restore_state
	adrp	x9, lCPI0_0@PAGE
	adrp	x10, lCPI0_1@PAGE
	cmp	x2, #64
	b.hs	LBB0_6
; %bb.5:
	mov	w11, #0
	mov	x8, #0
	b	LBB0_10
LBB0_6:
	movi.2d	v0, #0000000000000000
	and	x8, x2, #0xffffffffffffffc0
	movi.2d	v2, #0000000000000000
	add	x11, x0, #32
	movi.2d	v1, #0000000000000000
	add	x12, x1, #32
	movi.2d	v3, #0000000000000000
	ldr	q18, [x9, lCPI0_0@PAGEOFF]
	ldr	q19, [x10, lCPI0_1@PAGEOFF]
Lloh0:
	adrp	x13, lCPI0_2@PAGE
Lloh1:
	ldr	q23, [x13, lCPI0_2@PAGEOFF]
	movi.2d	v6, #0000000000000000
	movi.2d	v22, #0000000000000000
	movi.2d	v7, #0000000000000000
	movi.2d	v24, #0000000000000000
	movi.2d	v16, #0000000000000000
Lloh2:
	adrp	x13, lCPI0_3@PAGE
Lloh3:
	ldr	q27, [x13, lCPI0_3@PAGEOFF]
	movi.2d	v4, #0000000000000000
	mov	x13, x8
	movi.2d	v25, #0000000000000000
	movi.2d	v20, #0000000000000000
	movi.2d	v5, #0000000000000000
	movi.2d	v21, #0000000000000000
	movi.2d	v17, #0000000000000000
	movi.2d	v26, #0000000000000000
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q28, q29, [x11, #-32]
	ldp	q30, q31, [x12, #-32]
	eor.16b	v28, v30, v28
	eor.16b	v29, v31, v29
	ldp	q30, q31, [x11], #64
	ldp	q8, q9, [x12], #64
	eor.16b	v30, v8, v30
	eor.16b	v31, v9, v31
	tbl.16b	v8, { v28 }, v27
	orr.16b	v3, v3, v8
	tbl.16b	v8, { v28 }, v23
	orr.16b	v1, v1, v8
	tbl.16b	v8, { v28 }, v19
	orr.16b	v2, v2, v8
	tbl.16b	v28, { v28 }, v18
	orr.16b	v0, v0, v28
	tbl.16b	v28, { v29 }, v27
	orr.16b	v24, v24, v28
	tbl.16b	v28, { v29 }, v23
	orr.16b	v7, v7, v28
	tbl.16b	v28, { v29 }, v19
	orr.16b	v22, v22, v28
	tbl.16b	v28, { v29 }, v18
	orr.16b	v6, v6, v28
	tbl.16b	v28, { v30 }, v27
	orr.16b	v20, v20, v28
	tbl.16b	v28, { v30 }, v23
	orr.16b	v25, v25, v28
	tbl.16b	v28, { v30 }, v19
	orr.16b	v4, v4, v28
	tbl.16b	v28, { v30 }, v18
	orr.16b	v16, v16, v28
	tbl.16b	v28, { v31 }, v27
	orr.16b	v26, v26, v28
	tbl.16b	v28, { v31 }, v23
	orr.16b	v17, v17, v28
	tbl.16b	v28, { v31 }, v19
	orr.16b	v21, v21, v28
	tbl.16b	v28, { v31 }, v18
	orr.16b	v5, v5, v28
	subs	x13, x13, #64
	b.ne	LBB0_7
; %bb.8:
	orr.16b	v2, v22, v2
	orr.16b	v3, v24, v3
	orr.16b	v0, v6, v0
	orr.16b	v1, v7, v1
	orr.16b	v1, v25, v1
	orr.16b	v0, v16, v0
	orr.16b	v3, v20, v3
	orr.16b	v2, v4, v2
	orr.16b	v2, v21, v2
	orr.16b	v3, v26, v3
	orr.16b	v0, v5, v0
	orr.16b	v1, v17, v1
	orr.16b	v0, v0, v1
	orr.16b	v1, v2, v3
	orr.16b	v0, v0, v1
	ext.16b	v1, v0, v0, #8
	orr.8b	v0, v0, v1
	mov.s	w11, v0[1]
	fmov	w12, s0
	orr	w11, w12, w11
	cmp	x8, x2
	b.eq	LBB0_15
; %bb.9:
	tst	x2, #0x38
	b.eq	LBB0_13
LBB0_10:
	mov	x13, x8
	and	x8, x2, #0xfffffffffffffff8
	movi.2d	v0, #0000000000000000
	mov.s	v0[0], w11
	movi.2d	v1, #0000000000000000
	add	x11, x0, x13
	add	x12, x1, x13
	sub	x13, x13, x8
	ldr	q2, [x9, lCPI0_0@PAGEOFF]
	ldr	q3, [x10, lCPI0_1@PAGEOFF]
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldr	d4, [x11], #8
	ldr	d5, [x12], #8
	eor.8b	v4, v5, v4
	tbl.16b	v5, { v4 }, v2
	tbl.16b	v4, { v4 }, v3
	orr.16b	v1, v1, v4
	orr.16b	v0, v0, v5
	adds	x13, x13, #8
	b.ne	LBB0_11
; %bb.12:
	orr.16b	v0, v0, v1
	ext.16b	v1, v0, v0, #8
	orr.8b	v0, v0, v1
	mov.s	w9, v0[1]
	fmov	w10, s0
	orr	w11, w10, w9
	cmp	x8, x2
	b.eq	LBB0_15
LBB0_13:
	sub	x9, x2, x8
	add	x10, x1, x8
	add	x8, x0, x8
LBB0_14:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x8], #1
	ldrb	w13, [x10], #1
	eor	w12, w13, w12
	orr	w11, w11, w12
	subs	x9, x9, #1
	b.ne	LBB0_14
LBB0_15:
	cmp	w11, #0
	cset	w0, ne
	ldp	d9, d8, [sp], #16               ; 16-byte Folded Reload
	ret
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpAdrp	Lloh0, Lloh2
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
