	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mbedtls_ssl_safer_memcmp
_mbedtls_ssl_safer_memcmp:              ## @mbedtls_ssl_safer_memcmp
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testq	%rdx, %rdx
	je	LBB0_3
## %bb.1:
	cmpq	$8, %rdx
	jae	LBB0_4
## %bb.2:
	xorl	%eax, %eax
	xorl	%r11d, %r11d
	jmp	LBB0_10
LBB0_3:
	xorl	%eax, %eax
	jmp	LBB0_11
LBB0_4:
	movq	%rdx, %r11
	andq	$-8, %r11
	leaq	-8(%r11), %rax
	movq	%rax, %r8
	shrq	$3, %r8
	incq	%r8
	testq	%rax, %rax
	je	LBB0_12
## %bb.5:
	movq	%r8, %r9
	andq	$-2, %r9
	pxor	%xmm0, %xmm0
	xorl	%eax, %eax
	pxor	%xmm1, %xmm1
	.p2align	4, 0x90
LBB0_6:                                 ## =>This Inner Loop Header: Depth=1
	movl	(%rsi,%rax), %r10d
	movl	4(%rsi,%rax), %ecx
	xorl	(%rdi,%rax), %r10d
	xorl	4(%rdi,%rax), %ecx
	movd	%r10d, %xmm2
	movd	%ecx, %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,%rax), %r10d
	movl	12(%rsi,%rax), %ecx
	xorl	8(%rdi,%rax), %r10d
	xorl	12(%rdi,%rax), %ecx
	movd	%r10d, %xmm0
	movd	%ecx, %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, %rax
	addq	$-2, %r9
	jne	LBB0_6
## %bb.7:
	testb	$1, %r8b
	je	LBB0_9
LBB0_8:
	movl	(%rsi,%rax), %ecx
	movl	4(%rsi,%rax), %r8d
	xorl	(%rdi,%rax), %ecx
	movd	%ecx, %xmm2
	xorl	4(%rdi,%rax), %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_9:
	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, %eax
	cmpq	%rdx, %r11
	je	LBB0_11
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%rsi,%r11), %ecx
	xorb	(%rdi,%r11), %cl
	movzbl	%cl, %ecx
	orl	%ecx, %eax
	incq	%r11
	cmpq	%r11, %rdx
	jne	LBB0_10
LBB0_11:
                                        ## kill: def $eax killed $eax killed $rax
	popq	%rbp
	retq
LBB0_12:
	pxor	%xmm0, %xmm0
	xorl	%eax, %eax
	pxor	%xmm1, %xmm1
	testb	$1, %r8b
	jne	LBB0_8
	jmp	LBB0_9
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_mbedtls_ssl_safer_memcmp
.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 mbedtls_ssl_safer_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
	.p2align	2
_mbedtls_ssl_safer_memcmp:              ; @mbedtls_ssl_safer_memcmp
	.cfi_startproc
; %bb.0:
	stp	d9, d8, [sp, #-16]!             ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	.cfi_offset b8, -8
	.cfi_offset b9, -16
	cbz	x2, LBB0_3
; %bb.1:
	cmp	x2, #8
	b.hs	LBB0_4
; %bb.2:
	mov	w8, #0
	mov	x9, #0
	b	LBB0_13
LBB0_3:
	mov	w8, #0
	b	LBB0_15
LBB0_4:
	adrp	x10, lCPI0_0@PAGE
	adrp	x11, lCPI0_1@PAGE
	cmp	x2, #64
	b.hs	LBB0_6
; %bb.5:
	mov	w8, #0
	mov	x9, #0
	b	LBB0_10
LBB0_6:
	movi.2d	v0, #0000000000000000
	and	x9, x2, #0xffffffffffffffc0
	movi.2d	v2, #0000000000000000
	add	x8, x0, #32
	movi.2d	v1, #0000000000000000
	add	x12, x1, #32
	movi.2d	v3, #0000000000000000
	ldr	q18, [x10, lCPI0_0@PAGEOFF]
	ldr	q19, [x11, 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, x9
	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, [x8, #-32]
	ldp	q30, q31, [x12, #-32]
	eor.16b	v28, v30, v28
	eor.16b	v29, v31, v29
	ldp	q30, q31, [x8], #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	w8, v0[1]
	fmov	w12, s0
	orr	w8, w12, w8
	cmp	x9, x2
	b.eq	LBB0_15
; %bb.9:
	tst	x2, #0x38
	b.eq	LBB0_13
LBB0_10:
	mov	x13, x9
	and	x9, x2, #0xfffffffffffffff8
	movi.2d	v0, #0000000000000000
	mov.s	v0[0], w8
	movi.2d	v1, #0000000000000000
	add	x8, x0, x13
	add	x12, x1, x13
	sub	x13, x13, x9
	ldr	q2, [x10, lCPI0_0@PAGEOFF]
	ldr	q3, [x11, lCPI0_1@PAGEOFF]
LBB0_11:                                ; =>This Inner Loop Header: Depth=1
	ldr	d4, [x8], #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	w8, v0[1]
	fmov	w10, s0
	orr	w8, w10, w8
	cmp	x9, x2
	b.eq	LBB0_15
LBB0_13:
	sub	x10, x2, x9
	add	x11, x1, x9
	add	x9, x0, x9
LBB0_14:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x9], #1
	ldrb	w13, [x11], #1
	eor	w12, w13, w12
	orr	w8, w8, w12
	subs	x10, x10, #1
	b.ne	LBB0_14
LBB0_15:
	mov	x0, x8
	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
	.no_dead_strip	_mbedtls_ssl_safer_memcmp
.subsections_via_symbols
