	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_uart_getchar                   ## -- Begin function uart_getchar
	.p2align	4, 0x90
_uart_getchar:                          ## @uart_getchar
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_rx_buffer_head@GOTPCREL(%rip), %rdx
	movq	_rx_buffer_tail@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rax
	cmpl	%eax, (%rdx)
	jne	LBB0_2
	.p2align	4, 0x90
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	jmp	LBB0_1
LBB0_2:
	incq	%rax
	movq	_RX_BUFFER_SIZE@GOTPCREL(%rip), %rdx
	xorl	%esi, %esi
	cmpq	%rax, (%rdx)
	cmovaq	%rax, %rsi
	movq	_rx_buffer@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	(%rax,%rsi,8), %rax
	movl	%esi, (%rcx)
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_rx_buffer_head,4,2             ## @rx_buffer_head
	.comm	_rx_buffer_tail,4,2             ## @rx_buffer_tail
	.comm	_RX_BUFFER_SIZE,8,3             ## @RX_BUFFER_SIZE
	.comm	_rx_buffer,8,3                  ## @rx_buffer
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_uart_getchar                   ; -- Begin function uart_getchar
	.p2align	2
_uart_getchar:                          ; @uart_getchar
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _rx_buffer_head@GOTPAGE
Lloh1:
	ldr	x8, [x8, _rx_buffer_head@GOTPAGEOFF]
Lloh2:
	ldr	w10, [x8]
Lloh3:
	adrp	x8, _rx_buffer_tail@GOTPAGE
Lloh4:
	ldr	x8, [x8, _rx_buffer_tail@GOTPAGEOFF]
	ldrsw	x9, [x8]
	cmp	w10, w9
	b.ne	LBB0_2
LBB0_1:                                 ; =>This Inner Loop Header: Depth=1
	b	LBB0_1
LBB0_2:
	add	x10, x9, #1
Lloh5:
	adrp	x11, _RX_BUFFER_SIZE@GOTPAGE
Lloh6:
	ldr	x11, [x11, _RX_BUFFER_SIZE@GOTPAGEOFF]
Lloh7:
	ldr	x11, [x11]
	cmp	x11, x10
Lloh8:
	adrp	x10, _rx_buffer@GOTPAGE
Lloh9:
	ldr	x10, [x10, _rx_buffer@GOTPAGEOFF]
	csinc	x9, xzr, x9, ls
Lloh10:
	ldr	x10, [x10]
	ldr	x0, [x10, x9, lsl #3]
	str	w9, [x8]
	ret
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.cfi_endproc
                                        ; -- End function
	.comm	_rx_buffer_head,4,2             ; @rx_buffer_head
	.comm	_rx_buffer_tail,4,2             ; @rx_buffer_tail
	.comm	_RX_BUFFER_SIZE,8,3             ; @RX_BUFFER_SIZE
	.comm	_rx_buffer,8,3                  ; @rx_buffer
.subsections_via_symbols
