	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_matrix_scan                    ## -- Begin function matrix_scan
	.p2align	4, 0x90
_matrix_scan:                           ## @matrix_scan
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_is_master@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_2
## %bb.1:
	xorl	%eax, %eax
	callq	_matrix_master_scan
	jmp	LBB0_3
LBB0_2:
	xorl	%eax, %eax
	callq	_matrix_slave_scan
	movq	_isLeftHand@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	testq	%rax, %rax
	movq	_ROWS_PER_HAND@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rdi
	cmoveq	%rax, %rdi
	movq	_matrix@GOTPCREL(%rip), %rax
	shlq	$2, %rdi
	addq	(%rax), %rdi
	movq	_serial_master_buffer@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	movq	_SERIAL_MASTER_BUFFER_LENGTH@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_memcpy
	xorl	%eax, %eax
	callq	_matrix_scan_quantum
LBB0_3:
	movl	$1, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_is_master,8,3                  ## @is_master
	.comm	_isLeftHand,8,3                 ## @isLeftHand
	.comm	_ROWS_PER_HAND,4,2              ## @ROWS_PER_HAND
	.comm	_matrix,8,3                     ## @matrix
	.comm	_serial_master_buffer,8,3       ## @serial_master_buffer
	.comm	_SERIAL_MASTER_BUFFER_LENGTH,4,2 ## @SERIAL_MASTER_BUFFER_LENGTH
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_matrix_scan                    ; -- Begin function matrix_scan
	.p2align	2
_matrix_scan:                           ; @matrix_scan
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
Lloh0:
	adrp	x8, _is_master@GOTPAGE
Lloh1:
	ldr	x8, [x8, _is_master@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	cbz	x8, LBB0_2
; %bb.1:
	bl	_matrix_master_scan
	b	LBB0_3
LBB0_2:
	bl	_matrix_slave_scan
Lloh3:
	adrp	x8, _isLeftHand@GOTPAGE
Lloh4:
	ldr	x8, [x8, _isLeftHand@GOTPAGEOFF]
Lloh5:
	ldr	x8, [x8]
Lloh6:
	adrp	x9, _ROWS_PER_HAND@GOTPAGE
Lloh7:
	ldr	x9, [x9, _ROWS_PER_HAND@GOTPAGEOFF]
Lloh8:
	ldrsw	x9, [x9]
Lloh9:
	adrp	x10, _matrix@GOTPAGE
Lloh10:
	ldr	x10, [x10, _matrix@GOTPAGEOFF]
Lloh11:
	ldr	x10, [x10]
	cmp	x8, #0
	csel	x8, xzr, x9, eq
	add	x0, x10, x8, lsl #2
Lloh12:
	adrp	x8, _serial_master_buffer@GOTPAGE
Lloh13:
	ldr	x8, [x8, _serial_master_buffer@GOTPAGEOFF]
Lloh14:
	ldr	x1, [x8]
Lloh15:
	adrp	x8, _SERIAL_MASTER_BUFFER_LENGTH@GOTPAGE
Lloh16:
	ldr	x8, [x8, _SERIAL_MASTER_BUFFER_LENGTH@GOTPAGEOFF]
Lloh17:
	ldr	w2, [x8]
	bl	_memcpy
	bl	_matrix_scan_quantum
LBB0_3:
	mov	w0, #1
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.comm	_is_master,8,3                  ; @is_master
	.comm	_isLeftHand,8,3                 ; @isLeftHand
	.comm	_ROWS_PER_HAND,4,2              ; @ROWS_PER_HAND
	.comm	_matrix,8,3                     ; @matrix
	.comm	_serial_master_buffer,8,3       ; @serial_master_buffer
	.comm	_SERIAL_MASTER_BUFFER_LENGTH,4,2 ; @SERIAL_MASTER_BUFFER_LENGTH
.subsections_via_symbols
