	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function zr36050_set_sos
LCPI0_0:
	.byte	0                               ## 0x0
	.byte	1                               ## 0x1
	.byte	2                               ## 0x2
	.byte	3                               ## 0x3
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_1:
	.byte	0                               ## 0x0
	.byte	4                               ## 0x4
	.byte	8                               ## 0x8
	.byte	12                              ## 0xc
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_2:
	.byte	4                               ## 0x4
	.byte	4                               ## 0x4
	.byte	4                               ## 0x4
	.byte	4                               ## 0x4
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
LCPI0_3:
	.byte	8                               ## 0x8
	.byte	8                               ## 0x8
	.byte	8                               ## 0x8
	.byte	8                               ## 0x8
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.space	1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_zr36050_set_sos:                       ## @zr36050_set_sos
	.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
	subq	$32, %rsp
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %r14
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -24(%rbp)
	movl	(%rdi), %edx
	leaq	L_.str(%rip), %rsi
	movl	$3, %edi
	callq	_dprintk
	movw	$-9473, -48(%rbp)               ## imm = 0xDAFF
	movb	$0, -46(%rbp)
	movq	_NO_OF_COMPONENTS@GOTPCREL(%rip), %rax
	movslq	(%rax), %r9
	leal	(%r9,%r9), %eax
	addb	$6, %al
	movb	%al, -45(%rbp)
	movb	%r9b, -44(%rbp)
	testq	%r9, %r9
	jle	LBB0_16
## %bb.1:
	movl	%r9d, %ecx
	movq	_zr36050_td@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	movq	_zr36050_ta@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	cmpl	$4, %ecx
	jae	LBB0_3
## %bb.2:
	xorl	%edi, %edi
LBB0_12:
	movq	%rdi, %rax
	notq	%rax
	testb	$1, %cl
	je	LBB0_14
## %bb.13:
	leaq	(%rdi,%rdi), %r8
	movq	%r8, %rbx
	orq	$5, %rbx
	movb	%dil, -48(%rbp,%rbx)
	movl	(%rdx,%rdi,4), %ebx
	shll	$4, %ebx
	orl	(%rsi,%rdi,4), %ebx
	orq	$6, %r8
	movb	%bl, -48(%rbp,%r8)
	orq	$1, %rdi
LBB0_14:
	addq	%rcx, %rax
	je	LBB0_16
	.p2align	4, 0x90
LBB0_15:                                ## =>This Inner Loop Header: Depth=1
	movb	%dil, -43(%rbp,%rdi,2)
	movl	(%rdx,%rdi,4), %eax
	shll	$4, %eax
	orl	(%rsi,%rdi,4), %eax
	movb	%al, -42(%rbp,%rdi,2)
	leal	1(%rdi), %eax
	movb	%al, -41(%rbp,%rdi,2)
	movl	4(%rdx,%rdi,4), %eax
	shll	$4, %eax
	orl	4(%rsi,%rdi,4), %eax
	movb	%al, -40(%rbp,%rdi,2)
	addq	$2, %rdi
	cmpq	%rcx, %rdi
	jne	LBB0_15
	jmp	LBB0_16
LBB0_3:
	leaq	-43(%rbp), %r8
	leaq	-43(,%rcx,2), %rdi
	addq	%rbp, %rdi
	leaq	(%rdx,%rcx,4), %rbx
	cmpq	%rbx, %r8
	setb	%r10b
	cmpq	%rdx, %rdi
	seta	%bl
	leaq	(%rsi,%rcx,4), %rax
	cmpq	%rax, %r8
	setb	%al
	cmpq	%rsi, %rdi
	seta	%r8b
	xorl	%edi, %edi
	testb	%bl, %r10b
	jne	LBB0_12
## %bb.4:
	andb	%r8b, %al
	jne	LBB0_12
## %bb.5:
	movl	%ecx, %edi
	andl	$-4, %edi
	leaq	-4(%rdi), %rax
	movq	%rax, %r8
	shrq	$2, %r8
	incq	%r8
	testq	%rax, %rax
	je	LBB0_6
## %bb.7:
	movq	%r8, %rax
	andq	$-2, %rax
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = <0,1,2,3,u,u,u,u,u,u,u,u,u,u,u,u>
	xorl	%ebx, %ebx
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = <0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_2(%rip), %xmm2            ## xmm2 = <4,4,4,4,u,u,u,u,u,u,u,u,u,u,u,u>
	movdqa	LCPI0_3(%rip), %xmm3            ## xmm3 = <8,8,8,8,u,u,u,u,u,u,u,u,u,u,u,u>
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rdx,%rbx,4), %xmm4
	pslld	$4, %xmm4
	movdqu	(%rsi,%rbx,4), %xmm5
	por	%xmm4, %xmm5
	pshufb	%xmm1, %xmm5
	movdqa	%xmm0, %xmm4
	punpcklbw	%xmm5, %xmm4            ## xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]
	movq	%xmm4, -43(%rbp,%rbx,2)
	movdqa	%xmm0, %xmm4
	paddb	%xmm2, %xmm4
	movdqu	16(%rdx,%rbx,4), %xmm5
	pslld	$4, %xmm5
	movdqu	16(%rsi,%rbx,4), %xmm6
	por	%xmm5, %xmm6
	pshufb	%xmm1, %xmm6
	punpcklbw	%xmm6, %xmm4            ## xmm4 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3],xmm4[4],xmm6[4],xmm4[5],xmm6[5],xmm4[6],xmm6[6],xmm4[7],xmm6[7]
	movq	%xmm4, -35(%rbp,%rbx,2)
	addq	$8, %rbx
	paddb	%xmm3, %xmm0
	addq	$-2, %rax
	jne	LBB0_8
## %bb.9:
	testb	$1, %r8b
	je	LBB0_11
LBB0_10:
	leaq	(%rbx,%rbx), %rax
	movdqu	(%rdx,%rbx,4), %xmm1
	pslld	$4, %xmm1
	movdqu	(%rsi,%rbx,4), %xmm2
	por	%xmm1, %xmm2
	orq	$6, %rax
	pshufb	LCPI0_1(%rip), %xmm2            ## xmm2 = xmm2[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
	punpcklbw	%xmm2, %xmm0            ## xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1],xmm0[2],xmm2[2],xmm0[3],xmm2[3],xmm0[4],xmm2[4],xmm0[5],xmm2[5],xmm0[6],xmm2[6],xmm0[7],xmm2[7]
	movq	%xmm0, -49(%rbp,%rax)
LBB0_11:
	cmpq	%rcx, %rdi
	jne	LBB0_12
LBB0_16:
	leaq	(%r9,%r9), %rdx
	movw	$16128, -43(%rbp,%r9,2)         ## imm = 0x3F00
	movb	$0, -41(%rbp,%r9,2)
	movq	_ZR050_SOS1_IDX@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	addl	$8, %edx
	leaq	-48(%rbp), %rcx
	movq	%r14, %rdi
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_zr36050_pushit
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-24(%rbp), %rcx
	jne	LBB0_18
## %bb.17:
	addq	$32, %rsp
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
LBB0_6:
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = <0,1,2,3,u,u,u,u,u,u,u,u,u,u,u,u>
	xorl	%ebx, %ebx
	testb	$1, %r8b
	jne	LBB0_10
	jmp	LBB0_11
LBB0_18:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%s: write SOS\n"

	.comm	_NO_OF_COMPONENTS,4,2           ## @NO_OF_COMPONENTS
	.comm	_zr36050_td,8,3                 ## @zr36050_td
	.comm	_zr36050_ta,8,3                 ## @zr36050_ta
	.comm	_ZR050_SOS1_IDX,4,2             ## @ZR050_SOS1_IDX
	.no_dead_strip	_zr36050_set_sos
.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 zr36050_set_sos
lCPI0_0:
	.byte	0                               ; 0x0
	.byte	1                               ; 0x1
	.byte	2                               ; 0x2
	.byte	3                               ; 0x3
	.byte	4                               ; 0x4
	.byte	5                               ; 0x5
	.byte	6                               ; 0x6
	.byte	7                               ; 0x7
	.byte	8                               ; 0x8
	.byte	9                               ; 0x9
	.byte	10                              ; 0xa
	.byte	11                              ; 0xb
	.byte	12                              ; 0xc
	.byte	13                              ; 0xd
	.byte	14                              ; 0xe
	.byte	15                              ; 0xf
lCPI0_1:
	.byte	0                               ; 0x0
	.byte	4                               ; 0x4
	.byte	8                               ; 0x8
	.byte	12                              ; 0xc
	.byte	16                              ; 0x10
	.byte	20                              ; 0x14
	.byte	24                              ; 0x18
	.byte	28                              ; 0x1c
	.byte	32                              ; 0x20
	.byte	36                              ; 0x24
	.byte	40                              ; 0x28
	.byte	44                              ; 0x2c
	.byte	48                              ; 0x30
	.byte	52                              ; 0x34
	.byte	56                              ; 0x38
	.byte	60                              ; 0x3c
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_zr36050_set_sos:                       ; @zr36050_set_sos
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	str	x8, [sp, #24]
	ldr	w2, [x0]
Lloh3:
	adrp	x1, l_.str@PAGE
Lloh4:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #3
	bl	_dprintk
	mov	w8, #56063
	strh	w8, [sp, #8]
	strb	wzr, [sp, #10]
Lloh5:
	adrp	x8, _NO_OF_COMPONENTS@GOTPAGE
Lloh6:
	ldr	x8, [x8, _NO_OF_COMPONENTS@GOTPAGEOFF]
Lloh7:
	ldr	w8, [x8]
	sxtw	x9, w8
	lsl	w10, w8, #1
	add	w10, w10, #6
	strb	w10, [sp, #11]
	strb	w8, [sp, #12]
	cmp	w8, #1
	b.lt	LBB0_5
; %bb.1:
Lloh8:
	adrp	x10, _zr36050_td@GOTPAGE
Lloh9:
	ldr	x10, [x10, _zr36050_td@GOTPAGEOFF]
Lloh10:
	ldr	x10, [x10]
Lloh11:
	adrp	x11, _zr36050_ta@GOTPAGE
Lloh12:
	ldr	x11, [x11, _zr36050_ta@GOTPAGEOFF]
Lloh13:
	ldr	x11, [x11]
	cmp	w8, #16
	b.hs	LBB0_7
; %bb.2:
	mov	x12, #0
LBB0_3:
	add	x13, sp, #8
	add	x13, x13, x12, lsl #1
	add	x13, x13, #6
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	sturb	w12, [x13, #-1]
	lsl	x14, x12, #2
	ldr	w15, [x10, x14]
	ldr	w14, [x11, x14]
	orr	w14, w14, w15, lsl #4
	strb	w14, [x13], #2
	add	x12, x12, #1
	cmp	x8, x12
	b.ne	LBB0_4
LBB0_5:
	lsl	x8, x9, #1
	add	x9, sp, #8
	add	x10, x8, x9
	strb	wzr, [x10, #5]
	add	x9, x9, w8, sxtw
	mov	w10, #63
	strh	w10, [x9, #6]
Lloh14:
	adrp	x9, _ZR050_SOS1_IDX@GOTPAGE
Lloh15:
	ldr	x9, [x9, _ZR050_SOS1_IDX@GOTPAGEOFF]
Lloh16:
	ldr	w1, [x9]
	add	w2, w8, #8
	add	x3, sp, #8
	mov	x0, x19
	bl	_zr36050_pushit
	ldr	x8, [sp, #24]
Lloh17:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh18:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh19:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_12
; %bb.6:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_7:
	mov	x12, #0
	add	x13, sp, #8
	add	x14, x13, #5
	add	x13, x13, x8, lsl #1
	add	x15, x13, #5
	lsl	x13, x8, #2
	add	x16, x10, x13
	add	x13, x11, x13
	cmp	x14, x13
	ccmp	x15, x11, #0, lo
	cset	w13, hi
	cmp	x15, x10
	ccmp	x14, x16, #2, hi
	b.lo	LBB0_3
; %bb.8:
	tbnz	w13, #0, LBB0_3
; %bb.9:
	and	x12, x8, #0xfffffff0
	add	x13, sp, #8
	add	x13, x13, #5
Lloh20:
	adrp	x14, lCPI0_0@PAGE
Lloh21:
	ldr	q0, [x14, lCPI0_0@PAGEOFF]
Lloh22:
	adrp	x14, lCPI0_1@PAGE
Lloh23:
	ldr	q2, [x14, lCPI0_1@PAGEOFF]
	movi.16b	v3, #16
	mov	x14, x12
	mov	x15, x11
	mov	x16, x10
LBB0_10:                                ; =>This Inner Loop Header: Depth=1
	ldp	q5, q4, [x16, #32]
	ldp	q7, q6, [x16], #64
	shl.4s	v7, v7, #4
	shl.4s	v6, v6, #4
	shl.4s	v5, v5, #4
	shl.4s	v4, v4, #4
	ldp	q16, q17, [x15]
	ldp	q18, q19, [x15, #32]
	orr.16b	v22, v19, v4
	orr.16b	v21, v18, v5
	orr.16b	v20, v17, v6
	orr.16b	v19, v16, v7
	tbl.16b	v1, { v19, v20, v21, v22 }, v2
	st2.16b	{ v0, v1 }, [x13], #32
	add.16b	v0, v0, v3
	add	x15, x15, #64
	subs	x14, x14, #16
	b.ne	LBB0_10
; %bb.11:
	cmp	x12, x8
	b.ne	LBB0_3
	b	LBB0_5
LBB0_12:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdr	Lloh22, Lloh23
	.loh AdrpAdrp	Lloh20, Lloh22
	.loh AdrpLdr	Lloh20, Lloh21
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%s: write SOS\n"

	.comm	_NO_OF_COMPONENTS,4,2           ; @NO_OF_COMPONENTS
	.comm	_zr36050_td,8,3                 ; @zr36050_td
	.comm	_zr36050_ta,8,3                 ; @zr36050_ta
	.comm	_ZR050_SOS1_IDX,4,2             ; @ZR050_SOS1_IDX
	.no_dead_strip	_zr36050_set_sos
.subsections_via_symbols
