	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function channel_row
_channel_row:                           ## @channel_row
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %r14
	movups	(%rsi), %xmm0
	movups	%xmm0, 104(%rdi)
	incl	168(%rdi)
	leaq	104(%rdi), %rbx
	xorps	%xmm0, %xmm0
	movups	%xmm0, 136(%rdi)
	movups	%xmm0, 152(%rdi)
	movl	$128, %eax
	orl	(%rsi), %eax
	cmpl	$253, %eax
	jne	LBB0_2
## %bb.1:
	cmpq	$0, 8(%rsi)
	jg	LBB0_3
LBB0_2:
	movq	%r14, %rdi
	callq	_channel_trigger
LBB0_3:
	movl	(%rbx), %eax
	decl	%eax
	cmpl	$251, %eax
	ja	LBB0_88
## %bb.4:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_5:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_26
## %bb.6:
	movl	%eax, 20(%r14)
	jmp	LBB0_26
LBB0_7:
	movq	112(%r14), %rax
	cmpq	$16, %rax
	jl	LBB0_9
## %bb.8:
	movq	%rax, %rcx
	shrq	$4, %rcx
	movl	%ecx, 56(%r14)
LBB0_9:
	andq	$15, %rax
	je	LBB0_11
## %bb.10:
	movl	%eax, 60(%r14)
LBB0_11:
	movq	%r14, %rdi
	callq	_channel_retrig_vol_slide
	jmp	LBB0_88
LBB0_12:
	movq	112(%r14), %rsi
	testq	%rsi, %rsi
	jle	LBB0_70
## %bb.13:
	movl	%esi, (%r14)
	jmp	LBB0_78
LBB0_14:
	movq	112(%r14), %rsi
	testq	%rsi, %rsi
	jle	LBB0_71
## %bb.15:
	movl	%esi, 4(%r14)
	jmp	LBB0_86
LBB0_16:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_88
## %bb.17:
	movl	%eax, 8(%r14)
	jmp	LBB0_88
LBB0_18:
	movq	112(%r14), %rax
	cmpq	$16, %rax
	jl	LBB0_20
## %bb.19:
	movq	%rax, %rcx
	shrq	$4, %rcx
	movl	%ecx, 12(%r14)
LBB0_20:
	andq	$15, %rax
	je	LBB0_22
## %bb.21:
	movl	%eax, 16(%r14)
LBB0_22:
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_channel_vibrato
	jmp	LBB0_88
LBB0_23:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_25
## %bb.24:
	movl	%eax, 20(%r14)
LBB0_25:
	movq	%r14, %rdi
	xorl	%esi, %esi
	callq	_channel_vibrato
LBB0_26:
	movq	%r14, %rdi
	callq	_channel_volume_slide
	jmp	LBB0_88
LBB0_27:
	movq	112(%r14), %rax
	cmpq	$16, %rax
	jl	LBB0_29
## %bb.28:
	movq	%rax, %rcx
	shrq	$4, %rcx
	movl	%ecx, 24(%r14)
LBB0_29:
	andq	$15, %rax
	je	LBB0_31
## %bb.30:
	movl	%eax, 28(%r14)
LBB0_31:
	movq	%r14, %rdi
	callq	_channel_tremolo
	jmp	LBB0_88
LBB0_32:
	movq	112(%r14), %rax
	movq	128(%r14), %rcx
	movl	%eax, %edx
	andl	$63, %edx
	cmpq	$64, %rax
	movl	$64, %eax
	cmovll	%edx, %eax
	movl	%eax, (%rcx)
	jmp	LBB0_88
LBB0_33:
	movq	112(%r14), %rax
	cmpq	$16, %rax
	jl	LBB0_35
## %bb.34:
	movq	%rax, %rcx
	shrq	$4, %rcx
	movl	%ecx, 64(%r14)
LBB0_35:
	andq	$15, %rax
	je	LBB0_37
## %bb.36:
	movl	%eax, 68(%r14)
LBB0_37:
	movq	%r14, %rdi
	callq	_channel_tremor
	jmp	LBB0_88
LBB0_38:
	movq	112(%r14), %rax
	cmpq	$7, %rax
	jg	LBB0_88
## %bb.39:
	movl	%eax, 84(%r14)
	jmp	LBB0_88
LBB0_40:
	movq	112(%r14), %rax
	cmpq	$7, %rax
	jg	LBB0_88
## %bb.41:
	movl	%eax, 88(%r14)
	jmp	LBB0_88
LBB0_42:
	cmpq	$0, 112(%r14)
	jg	LBB0_88
## %bb.43:
	movl	$0, 36(%r14)
	jmp	LBB0_88
LBB0_44:
	movl	$0, 120(%r14)
	jmp	LBB0_88
LBB0_45:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_72
## %bb.46:
	movl	%eax, 96(%r14)
	jmp	LBB0_73
LBB0_47:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_88
## %bb.48:
	movl	%eax, 100(%r14)
	jmp	LBB0_88
LBB0_49:
	movq	112(%r14), %rax
	leal	(%rax,%rax), %ecx
	cmpq	$128, %rax
	movl	$255, %eax
	cmovll	%ecx, %eax
	movl	%eax, 32(%r14)
	jmp	LBB0_88
LBB0_50:
	movq	112(%r14), %rax
	movl	%eax, %ecx
	andl	$63, %ecx
	cmpq	$64, %rax
	movl	$64, %eax
	cmovll	%ecx, %eax
	movl	%eax, 36(%r14)
	jmp	LBB0_88
LBB0_51:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_88
## %bb.52:
	movl	%eax, 40(%r14)
	jmp	LBB0_88
LBB0_53:
	movzbl	112(%r14), %eax
	movl	%eax, 48(%r14)
	movl	%eax, 44(%r14)
	jmp	LBB0_88
LBB0_54:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_88
## %bb.55:
	movl	%eax, 52(%r14)
	jmp	LBB0_88
LBB0_56:
	movq	112(%r14), %rsi
	testq	%rsi, %rsi
	jle	LBB0_74
## %bb.57:
	movl	%esi, 72(%r14)
	jmp	LBB0_75
LBB0_58:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_79
## %bb.59:
	movl	%eax, 76(%r14)
	jmp	LBB0_80
LBB0_60:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_81
## %bb.61:
	movl	%eax, 80(%r14)
	jmp	LBB0_82
LBB0_62:
	movq	112(%r14), %rax
	testq	%rax, %rax
	jle	LBB0_83
## %bb.63:
	movl	%eax, 92(%r14)
	jmp	LBB0_84
LBB0_64:
	movq	112(%r14), %rax
	cmpq	$16, %rax
	jl	LBB0_66
## %bb.65:
	movq	%rax, %rcx
	shrq	$4, %rcx
	movl	%ecx, 12(%r14)
LBB0_66:
	andq	$15, %rax
	je	LBB0_68
## %bb.67:
	movl	%eax, 16(%r14)
LBB0_68:
	movq	%r14, %rdi
	movl	$1, %esi
	callq	_channel_vibrato
	jmp	LBB0_88
LBB0_69:
	movl	112(%r14), %eax
	movl	%eax, %ecx
	shll	$4, %ecx
	addl	%eax, %ecx
	movl	%ecx, 32(%r14)
	jmp	LBB0_88
LBB0_70:
	movl	(%r14), %esi
	jmp	LBB0_78
LBB0_71:
	movl	4(%r14), %esi
	jmp	LBB0_86
LBB0_72:
	movl	96(%r14), %eax
LBB0_73:
	movl	36(%r14), %ecx
	subl	%eax, %ecx
	xorl	%eax, %eax
	testl	%ecx, %ecx
	cmovgl	%ecx, %eax
	movl	%eax, 36(%r14)
	jmp	LBB0_88
LBB0_74:
	movl	72(%r14), %esi
LBB0_75:
	movl	%esi, %eax
	andb	$-16, %al
	cmpb	$32, %al
	je	LBB0_85
## %bb.76:
	cmpb	$16, %al
	jne	LBB0_88
## %bb.77:
	andl	$15, %esi
	orl	$224, %esi
LBB0_78:
	movq	%r14, %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_channel_porta_up
	jmp	LBB0_88
LBB0_79:
	movl	76(%r14), %eax
LBB0_80:
	orl	$240, %eax
	movzbl	%al, %esi
	movq	%r14, %rdi
	callq	_channel_porta_up
	jmp	LBB0_88
LBB0_81:
	movl	80(%r14), %eax
LBB0_82:
	orl	$240, %eax
	movzbl	%al, %esi
	movq	%r14, %rdi
	jmp	LBB0_87
LBB0_83:
	movl	92(%r14), %eax
LBB0_84:
	addl	36(%r14), %eax
	cmpl	$64, %eax
	movl	$64, %ecx
	cmovll	%eax, %ecx
	movl	%ecx, 36(%r14)
	jmp	LBB0_88
LBB0_85:
	andl	$15, %esi
	orl	$224, %esi
LBB0_86:
	movq	%r14, %rdi
                                        ## kill: def $esi killed $esi killed $rsi
LBB0_87:
	callq	_channel_porta_down
LBB0_88:
	movq	%r14, %rdi
	callq	_channel_auto_vibrato
	movq	%r14, %rdi
	callq	_channel_calculate_freq
	movq	%r14, %rdi
	callq	_channel_calculate_ampl
	movq	%r14, %rdi
	popq	%rbx
	popq	%r14
	popq	%rbp
	jmp	_channel_update_envelopes       ## TAILCALL
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_12, LBB0_12-LJTI0_0
.set L0_0_set_14, LBB0_14-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_18, LBB0_18-LJTI0_0
.set L0_0_set_5, LBB0_5-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
.set L0_0_set_27, LBB0_27-LJTI0_0
.set L0_0_set_49, LBB0_49-LJTI0_0
.set L0_0_set_88, LBB0_88-LJTI0_0
.set L0_0_set_50, LBB0_50-LJTI0_0
.set L0_0_set_32, LBB0_32-LJTI0_0
.set L0_0_set_51, LBB0_51-LJTI0_0
.set L0_0_set_44, LBB0_44-LJTI0_0
.set L0_0_set_53, LBB0_53-LJTI0_0
.set L0_0_set_54, LBB0_54-LJTI0_0
.set L0_0_set_7, LBB0_7-LJTI0_0
.set L0_0_set_33, LBB0_33-LJTI0_0
.set L0_0_set_56, LBB0_56-LJTI0_0
.set L0_0_set_58, LBB0_58-LJTI0_0
.set L0_0_set_60, LBB0_60-LJTI0_0
.set L0_0_set_38, LBB0_38-LJTI0_0
.set L0_0_set_40, LBB0_40-LJTI0_0
.set L0_0_set_62, LBB0_62-LJTI0_0
.set L0_0_set_45, LBB0_45-LJTI0_0
.set L0_0_set_42, LBB0_42-LJTI0_0
.set L0_0_set_47, LBB0_47-LJTI0_0
.set L0_0_set_64, LBB0_64-LJTI0_0
.set L0_0_set_69, LBB0_69-LJTI0_0
LJTI0_0:
	.long	L0_0_set_12
	.long	L0_0_set_14
	.long	L0_0_set_16
	.long	L0_0_set_18
	.long	L0_0_set_5
	.long	L0_0_set_23
	.long	L0_0_set_27
	.long	L0_0_set_49
	.long	L0_0_set_88
	.long	L0_0_set_5
	.long	L0_0_set_88
	.long	L0_0_set_50
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_32
	.long	L0_0_set_51
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_44
	.long	L0_0_set_53
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_54
	.long	L0_0_set_88
	.long	L0_0_set_7
	.long	L0_0_set_88
	.long	L0_0_set_33
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_56
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_58
	.long	L0_0_set_60
	.long	L0_0_set_88
	.long	L0_0_set_38
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_40
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_62
	.long	L0_0_set_45
	.long	L0_0_set_42
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_5
	.long	L0_0_set_14
	.long	L0_0_set_12
	.long	L0_0_set_16
	.long	L0_0_set_18
	.long	L0_0_set_33
	.long	L0_0_set_47
	.long	L0_0_set_23
	.long	L0_0_set_5
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_7
	.long	L0_0_set_27
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_64
	.long	L0_0_set_32
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_38
	.long	L0_0_set_40
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_69
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_88
	.long	L0_0_set_42
	.end_data_region
                                        ## -- End function
	.no_dead_strip	_channel_row
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function channel_row
_channel_row:                           ; @channel_row
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
	add	x20, x0, #104
	ldr	q0, [x1]
	stur	q0, [x0, #104]
	ldr	w8, [x0, #168]
	add	w8, w8, #1
	str	w8, [x0, #168]
	movi.2d	v0, #0000000000000000
	stur	q0, [x0, #136]
	stur	q0, [x0, #152]
	ldr	w8, [x1]
	orr	w8, w8, #0x80
	cmp	w8, #253
	b.ne	LBB0_2
; %bb.1:
	ldr	x8, [x1, #8]
	cmp	x8, #0
	b.gt	LBB0_3
LBB0_2:
	mov	x0, x19
	bl	_channel_trigger
LBB0_3:
	ldr	w8, [x20]
	sub	w8, w8, #1
	cmp	w8, #251
	b.hi	LBB0_90
; %bb.4:
Lloh0:
	adrp	x9, lJTI0_0@PAGE
Lloh1:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_5
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_5:
	ldr	x8, [x19, #112]
	cmp	x8, #1
	b.lt	LBB0_26
; %bb.6:
	str	w8, [x19, #20]
	b	LBB0_26
LBB0_7:
	ldr	x8, [x19, #112]
	cmp	x8, #16
	b.lt	LBB0_9
; %bb.8:
	lsr	x9, x8, #4
	str	w9, [x19, #56]
LBB0_9:
	ands	x8, x8, #0xf
	b.eq	LBB0_11
; %bb.10:
	str	w8, [x19, #60]
LBB0_11:
	mov	x0, x19
	bl	_channel_retrig_vol_slide
	b	LBB0_90
LBB0_12:
	ldr	x1, [x19, #112]
	cmp	x1, #0
	b.le	LBB0_71
; %bb.13:
	str	w1, [x19]
	b	LBB0_72
LBB0_14:
	ldr	x1, [x19, #112]
	cmp	x1, #0
	b.le	LBB0_73
; %bb.15:
	str	w1, [x19, #4]
	b	LBB0_74
LBB0_16:
	ldr	x8, [x19, #112]
	cmp	x8, #1
	b.lt	LBB0_90
; %bb.17:
	str	w8, [x19, #8]
	b	LBB0_90
LBB0_18:
	ldr	x8, [x19, #112]
	cmp	x8, #16
	b.lt	LBB0_20
; %bb.19:
	lsr	x9, x8, #4
	str	w9, [x19, #12]
LBB0_20:
	ands	x8, x8, #0xf
	b.eq	LBB0_22
; %bb.21:
	str	w8, [x19, #16]
LBB0_22:
	mov	x0, x19
	mov	w1, #0
	bl	_channel_vibrato
	b	LBB0_90
LBB0_23:
	ldr	x8, [x19, #112]
	cmp	x8, #1
	b.lt	LBB0_25
; %bb.24:
	str	w8, [x19, #20]
LBB0_25:
	mov	x0, x19
	mov	w1, #0
	bl	_channel_vibrato
LBB0_26:
	mov	x0, x19
	bl	_channel_volume_slide
	b	LBB0_90
LBB0_27:
	ldr	x8, [x19, #112]
	cmp	x8, #16
	b.lt	LBB0_29
; %bb.28:
	lsr	x9, x8, #4
	str	w9, [x19, #24]
LBB0_29:
	ands	x8, x8, #0xf
	b.eq	LBB0_31
; %bb.30:
	str	w8, [x19, #28]
LBB0_31:
	mov	x0, x19
	bl	_channel_tremolo
	b	LBB0_90
LBB0_32:
	ldr	x8, [x19, #112]
	and	w9, w8, #0x3f
	cmp	x8, #63
	mov	w8, #64
	csel	w8, w8, w9, gt
	ldr	x9, [x19, #128]
	str	w8, [x9]
	b	LBB0_90
LBB0_33:
	ldr	x8, [x19, #112]
	cmp	x8, #16
	b.lt	LBB0_35
; %bb.34:
	lsr	x9, x8, #4
	str	w9, [x19, #64]
LBB0_35:
	ands	x8, x8, #0xf
	b.eq	LBB0_37
; %bb.36:
	str	w8, [x19, #68]
LBB0_37:
	mov	x0, x19
	bl	_channel_tremor
	b	LBB0_90
LBB0_38:
	ldr	x8, [x19, #112]
	cmp	x8, #7
	b.gt	LBB0_90
; %bb.39:
	str	w8, [x19, #84]
	b	LBB0_90
LBB0_40:
	ldr	x8, [x19, #112]
	cmp	x8, #7
	b.gt	LBB0_90
; %bb.41:
	str	w8, [x19, #88]
	b	LBB0_90
LBB0_42:
	ldr	x8, [x19, #112]
	cmp	x8, #0
	b.gt	LBB0_90
; %bb.43:
	str	wzr, [x19, #36]
	b	LBB0_90
LBB0_44:
	str	wzr, [x19, #120]
	b	LBB0_90
LBB0_45:
	ldr	x8, [x19, #112]
	cmp	x8, #0
	b.le	LBB0_75
; %bb.46:
	str	w8, [x19, #96]
	b	LBB0_76
LBB0_47:
	ldr	x8, [x19, #112]
	cmp	x8, #1
	b.lt	LBB0_90
; %bb.48:
	str	w8, [x19, #100]
	b	LBB0_90
LBB0_49:
	ldr	x8, [x19, #112]
	lsl	w9, w8, #1
	cmp	x8, #128
	mov	w8, #255
	csel	w8, w9, w8, lt
	b	LBB0_70
LBB0_50:
	ldr	x8, [x19, #112]
	and	w9, w8, #0x3f
	cmp	x8, #63
	mov	w8, #64
	csel	w8, w8, w9, gt
	str	w8, [x19, #36]
	b	LBB0_90
LBB0_51:
	ldr	x8, [x19, #112]
	cmp	x8, #1
	b.lt	LBB0_90
; %bb.52:
	str	w8, [x19, #40]
	b	LBB0_90
LBB0_53:
	ldrb	w8, [x19, #112]
	stp	w8, w8, [x19, #44]
	b	LBB0_90
LBB0_54:
	ldr	x8, [x19, #112]
	cmp	x8, #1
	b.lt	LBB0_90
; %bb.55:
	str	w8, [x19, #52]
	b	LBB0_90
LBB0_56:
	ldr	x8, [x19, #112]
	cmp	x8, #0
	b.le	LBB0_77
; %bb.57:
	str	w8, [x19, #72]
	b	LBB0_78
LBB0_58:
	ldr	x8, [x19, #112]
	cmp	x8, #0
	b.le	LBB0_81
; %bb.59:
	str	w8, [x19, #76]
	b	LBB0_82
LBB0_60:
	ldr	x8, [x19, #112]
	cmp	x8, #0
	b.le	LBB0_84
; %bb.61:
	str	w8, [x19, #80]
	mov	w1, #240
	b	LBB0_88
LBB0_62:
	ldr	x8, [x19, #112]
	cmp	x8, #0
	b.le	LBB0_85
; %bb.63:
	str	w8, [x19, #92]
	b	LBB0_86
LBB0_64:
	ldr	x8, [x19, #112]
	cmp	x8, #16
	b.lt	LBB0_66
; %bb.65:
	lsr	x9, x8, #4
	str	w9, [x19, #12]
LBB0_66:
	ands	x8, x8, #0xf
	b.eq	LBB0_68
; %bb.67:
	str	w8, [x19, #16]
LBB0_68:
	mov	x0, x19
	mov	w1, #1
	bl	_channel_vibrato
	b	LBB0_90
LBB0_69:
	ldr	w8, [x19, #112]
	add	w8, w8, w8, lsl #4
LBB0_70:
	str	w8, [x19, #32]
	b	LBB0_90
LBB0_71:
	ldr	w1, [x19]
LBB0_72:
	mov	x0, x19
                                        ; kill: def $w1 killed $w1 killed $x1
	bl	_channel_porta_up
	b	LBB0_90
LBB0_73:
	ldr	w1, [x19, #4]
LBB0_74:
	mov	x0, x19
                                        ; kill: def $w1 killed $w1 killed $x1
	b	LBB0_89
LBB0_75:
	ldr	w8, [x19, #96]
LBB0_76:
	ldr	w9, [x19, #36]
	sub	w8, w9, w8
	cmp	w8, #0
	csel	w8, w8, wzr, gt
	str	w8, [x19, #36]
	b	LBB0_90
LBB0_77:
	ldr	w8, [x19, #72]
LBB0_78:
	and	w9, w8, #0xf0
	cmp	w9, #32
	b.eq	LBB0_87
; %bb.79:
	cmp	w9, #16
	b.ne	LBB0_90
; %bb.80:
	mov	w1, #224
	b	LBB0_83
LBB0_81:
	ldr	w8, [x19, #76]
LBB0_82:
	mov	w1, #240
LBB0_83:
	bfxil	w1, w8, #0, #4
	mov	x0, x19
	bl	_channel_porta_up
	b	LBB0_90
LBB0_84:
	ldr	w8, [x19, #80]
	mov	w1, #240
	b	LBB0_88
LBB0_85:
	ldr	w8, [x19, #92]
LBB0_86:
	ldr	w9, [x19, #36]
	add	w8, w9, w8
	mov	w9, #64
	cmp	w8, #64
	csel	w8, w8, w9, lt
	str	w8, [x19, #36]
	b	LBB0_90
LBB0_87:
	mov	w1, #224
LBB0_88:
	bfxil	w1, w8, #0, #4
	mov	x0, x19
LBB0_89:
	bl	_channel_porta_down
LBB0_90:
	mov	x0, x19
	bl	_channel_auto_vibrato
	mov	x0, x19
	bl	_channel_calculate_freq
	mov	x0, x19
	bl	_channel_calculate_ampl
	mov	x0, x19
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_channel_update_envelopes
	.loh AdrpAdd	Lloh0, Lloh1
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_12-LBB0_5)>>2
	.byte	(LBB0_14-LBB0_5)>>2
	.byte	(LBB0_16-LBB0_5)>>2
	.byte	(LBB0_18-LBB0_5)>>2
	.byte	(LBB0_5-LBB0_5)>>2
	.byte	(LBB0_23-LBB0_5)>>2
	.byte	(LBB0_27-LBB0_5)>>2
	.byte	(LBB0_49-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_5-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_50-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_32-LBB0_5)>>2
	.byte	(LBB0_51-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_44-LBB0_5)>>2
	.byte	(LBB0_53-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_54-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_7-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_33-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_56-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_58-LBB0_5)>>2
	.byte	(LBB0_60-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_38-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_40-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_62-LBB0_5)>>2
	.byte	(LBB0_45-LBB0_5)>>2
	.byte	(LBB0_42-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_5-LBB0_5)>>2
	.byte	(LBB0_14-LBB0_5)>>2
	.byte	(LBB0_12-LBB0_5)>>2
	.byte	(LBB0_16-LBB0_5)>>2
	.byte	(LBB0_18-LBB0_5)>>2
	.byte	(LBB0_33-LBB0_5)>>2
	.byte	(LBB0_47-LBB0_5)>>2
	.byte	(LBB0_23-LBB0_5)>>2
	.byte	(LBB0_5-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_7-LBB0_5)>>2
	.byte	(LBB0_27-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_64-LBB0_5)>>2
	.byte	(LBB0_32-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_38-LBB0_5)>>2
	.byte	(LBB0_40-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_69-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_90-LBB0_5)>>2
	.byte	(LBB0_42-LBB0_5)>>2
                                        ; -- End function
	.no_dead_strip	_channel_row
.subsections_via_symbols
