	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function mlx5i_grp_sw_update_stats
_mlx5i_grp_sw_update_stats:             ## @mlx5i_grp_sw_update_stats
	.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	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	xorps	%xmm0, %xmm0
	movaps	%xmm0, -64(%rbp)
	movq	$0, -48(%rbp)
	movl	(%rdi), %eax
	testl	%eax, %eax
	jle	LBB0_11
## %bb.1:
	movq	%rax, %rbx
	movq	16(%rdi), %r10
	movq	%rdi, -72(%rbp)                 ## 8-byte Spill
	movl	4(%rdi), %r9d
	movl	%r9d, %esi
	andl	$-2, %esi
	xorl	%r11d, %r11d
	xorl	%eax, %eax
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r14d, %r14d
	xorl	%r13d, %r13d
	movq	%rbx, %rdi
	jmp	LBB0_2
	.p2align	4, 0x90
LBB0_9:                                 ##   in Loop: Header=BB0_2 Depth=1
	addl	16(%r10,%r15,8), %r13d
	addl	8(%r10,%r15,8), %r14d
	incq	%r11
	cmpq	%rdi, %r11
	je	LBB0_10
LBB0_2:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_6 Depth 2
	leaq	(%r11,%r11,2), %r15
	testl	%r9d, %r9d
	jle	LBB0_9
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	movq	(%r10,%r15,8), %r12
	cmpl	$1, %r9d
	jne	LBB0_5
## %bb.4:                               ##   in Loop: Header=BB0_2 Depth=1
	xorl	%ebx, %ebx
	jmp	LBB0_7
	.p2align	4, 0x90
LBB0_5:                                 ##   in Loop: Header=BB0_2 Depth=1
	leaq	40(%r12), %r8
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_6:                                 ##   Parent Loop BB0_2 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	addl	-24(%r8), %ecx
	addl	-32(%r8), %edx
	addl	-40(%r8), %eax
	addl	(%r8), %ecx
	addl	-8(%r8), %edx
	addl	-16(%r8), %eax
	addq	$2, %rbx
	addq	$48, %r8
	cmpq	%rbx, %rsi
	jne	LBB0_6
LBB0_7:                                 ##   in Loop: Header=BB0_2 Depth=1
	testb	$1, %r9b
	je	LBB0_9
## %bb.8:                               ##   in Loop: Header=BB0_2 Depth=1
	leaq	(%rbx,%rbx,2), %rbx
	addl	16(%r12,%rbx,8), %ecx
	addl	8(%r12,%rbx,8), %edx
	addl	(%r12,%rbx,8), %eax
	jmp	LBB0_9
LBB0_10:
	movl	%r13d, -48(%rbp)
	movl	%r14d, -52(%rbp)
	movl	%ecx, -56(%rbp)
	movl	%edx, -60(%rbp)
	movl	%eax, -64(%rbp)
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
LBB0_11:
	addq	$8, %rdi
	leaq	-64(%rbp), %rsi
	movl	$24, %edx
	callq	_memcpy
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_mlx5i_grp_sw_update_stats
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function mlx5i_grp_sw_update_stats
_mlx5i_grp_sw_update_stats:             ; @mlx5i_grp_sw_update_stats
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	d13, d12, [sp, #32]             ; 16-byte Folded Spill
	stp	d11, d10, [sp, #48]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #64]               ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset b8, -24
	.cfi_offset b9, -32
	.cfi_offset b10, -40
	.cfi_offset b11, -48
	.cfi_offset b12, -56
	.cfi_offset b13, -64
	stp	xzr, xzr, [sp, #8]
	str	xzr, [sp, #24]
	ldr	w8, [x0]
	cmp	w8, #1
	b.lt	LBB0_12
; %bb.1:
	mov	x9, #0
	mov	w17, #0
	mov	w16, #0
	mov	w15, #0
	ldr	x10, [x0, #16]
	ldr	w11, [x0, #4]
	movi.2d	v0, #0000000000000000
	and	x12, x11, #0xfffffff8
	mov	w13, #24
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	xtn.2s	v1, v1
	add.2s	v0, v0, v1
	add	x9, x9, #1
	cmp	x9, x8
	b.eq	LBB0_11
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_7 Depth 2
                                        ;     Child Loop BB0_10 Depth 2
	madd	x14, x9, x13, x10
	ldur	q1, [x14, #8]
	cmp	w11, #1
	b.lt	LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	mul	x14, x9, x13
	ldr	x14, [x10, x14]
	cmp	w11, #8
	b.hs	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x1, #0
	b	LBB0_9
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
	mov.s	v3[0], w17
	movi.2d	v4, #0000000000000000
	mov.s	v4[0], w16
	movi.2d	v7, #0000000000000000
	mov.s	v7[0], w15
	add	x15, x14, #96
	mov	x16, x12
	movi.2d	v5, #0000000000000000
	movi.2d	v6, #0000000000000000
	movi.2d	v16, #0000000000000000
	movi.2d	v17, #0000000000000000
	movi.2d	v18, #0000000000000000
	movi.2d	v19, #0000000000000000
	movi.2d	v20, #0000000000000000
	movi.2d	v21, #0000000000000000
LBB0_7:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	sub	x17, x15, #96
	sub	x1, x15, #48
	ld3.2d	{ v22, v23, v24 }, [x17]
	ld3.2d	{ v25, v26, v27 }, [x1]
	mov	x17, x15
	ld3.2d	{ v28, v29, v30 }, [x17], #48
	ld3.2d	{ v8, v9, v10 }, [x17]
	xtn.2s	v31, v24
	xtn.2s	v11, v27
	xtn.2s	v12, v30
	xtn.2s	v13, v10
	add.2s	v7, v7, v31
	add.2s	v19, v19, v11
	add.2s	v20, v20, v12
	add.2s	v21, v21, v13
	xtn.2s	v31, v23
	xtn.2s	v11, v26
	xtn.2s	v12, v29
	xtn.2s	v13, v9
	add.2s	v4, v4, v31
	add.2s	v16, v16, v11
	add.2s	v17, v17, v12
	add.2s	v18, v18, v13
	xtn.2s	v22, v22
	xtn.2s	v23, v25
	xtn.2s	v24, v28
	xtn.2s	v25, v8
	add.2s	v3, v3, v22
	add.2s	v2, v2, v23
	add.2s	v5, v5, v24
	add.2s	v6, v6, v25
	add	x15, x15, #192
	subs	x16, x16, #8
	b.ne	LBB0_7
; %bb.8:                                ;   in Loop: Header=BB0_3 Depth=1
	add.2s	v7, v19, v7
	add.2s	v7, v20, v7
	add.2s	v7, v21, v7
	addp.2s	v7, v7, v7
	fmov	w15, s7
	add.2s	v4, v16, v4
	add.2s	v4, v17, v4
	add.2s	v4, v18, v4
	addp.2s	v4, v4, v4
	fmov	w16, s4
	add.2s	v2, v2, v3
	add.2s	v2, v5, v2
	add.2s	v2, v6, v2
	addp.2s	v2, v2, v2
	fmov	w17, s2
	mov	x1, x12
	cmp	x12, x11
	b.eq	LBB0_2
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	madd	x14, x1, x13, x14
	add	x14, x14, #16
	sub	x1, x11, x1
LBB0_10:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w2, [x14]
	add	w15, w15, w2
	ldur	w2, [x14, #-8]
	add	w16, w16, w2
	ldur	w2, [x14, #-16]
	add	w17, w17, w2
	add	x14, x14, #24
	subs	x1, x1, #1
	b.ne	LBB0_10
	b	LBB0_2
LBB0_11:
	stur	d0, [sp, #20]
	stp	w16, w15, [sp, #12]
	str	w17, [sp, #8]
LBB0_12:
	add	x0, x0, #8
	add	x1, sp, #8
	mov	w2, #24
	bl	_memcpy
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #64]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #48]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #96
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_mlx5i_grp_sw_update_stats
.subsections_via_symbols
