	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function idct_row
_idct_row:                              ## @idct_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	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movswl	10(%rdi), %ecx
	movswl	12(%rdi), %r8d
	movl	%r8d, %eax
	movl	%ecx, -56(%rbp)                 ## 4-byte Spill
	orl	%ecx, %eax
	movswl	14(%rdi), %ecx
	movl	%ecx, -52(%rbp)                 ## 4-byte Spill
	orl	%ecx, %eax
	movswl	2(%rdi), %r11d
	movswl	4(%rdi), %r10d
	movl	%r10d, %ebx
	orl	%r11d, %ebx
	movswl	6(%rdi), %ecx
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	orl	%ecx, %ebx
	movswl	8(%rdi), %r14d
	movl	%r14d, %ecx
	orw	%ax, %cx
	movl	(%rsi), %r13d
	movl	4(%rsi), %r9d
	movl	8(%rsi), %ecx
	movq	%rcx, -64(%rbp)                 ## 8-byte Spill
	movl	12(%rsi), %r12d
	movl	16(%rsi), %r15d
	movl	20(%rsi), %ecx
	movl	24(%rsi), %esi
	je	LBB0_1
## %bb.6:
	movq	%rsi, -96(%rbp)                 ## 8-byte Spill
	orw	%ax, %bx
	movswl	(%rdi), %esi
	je	LBB0_7
## %bb.8:
	imull	%r12d, %esi
	addl	%edx, %esi
	imull	%r12d, %r14d
	movl	%r9d, %eax
	imull	%r10d, %eax
	movl	%ecx, %r12d
	imull	%r8d, %r12d
	addl	%eax, %r12d
	imull	%r10d, %ecx
	imull	%r8d, %r9d
	movl	%ecx, %edx
	subl	%r9d, %edx
	subl	%r14d, %edx
	addl	%r14d, %ecx
	subl	%ecx, %r9d
	leal	(%r12,%r14), %eax
	addl	%esi, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	addl	%esi, %edx
	movq	%rdx, -88(%rbp)                 ## 8-byte Spill
	addl	%esi, %r9d
	addl	%esi, %r14d
	subl	%r12d, %r14d
	movl	%r15d, %eax
	movl	-56(%rbp), %edx                 ## 4-byte Reload
	imull	%edx, %eax
	movq	-96(%rbp), %rsi                 ## 8-byte Reload
	movl	%esi, %r12d
	movl	-52(%rbp), %r10d                ## 4-byte Reload
	imull	%r10d, %r12d
	addl	%eax, %r12d
	movl	%r13d, %eax
	imull	%r11d, %eax
	addl	%eax, %r12d
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movl	%ebx, %eax
	movl	%r11d, %r8d
	movl	%r11d, -48(%rbp)                ## 4-byte Spill
	movl	-44(%rbp), %r11d                ## 4-byte Reload
	imull	%r11d, %eax
	addl	%eax, %r12d
	movl	%r15d, %eax
	imull	%r10d, %eax
	movl	%r13d, %ecx
	imull	%edx, %ecx
	addl	%eax, %ecx
	movl	%esi, %eax
	imull	%r11d, %eax
	addl	%ecx, %eax
	movl	%ebx, %ecx
	imull	%r8d, %ecx
	subl	%eax, %ecx
	movq	%rcx, -72(%rbp)                 ## 8-byte Spill
	movl	%esi, %eax
	imull	%edx, %eax
	movl	%ebx, %r8d
	imull	%r10d, %r8d
	addl	%eax, %r8d
	movl	%r15d, %eax
	movl	-48(%rbp), %ecx                 ## 4-byte Reload
	imull	%ecx, %eax
	addl	%eax, %r8d
	movl	%r13d, %eax
	imull	%r11d, %eax
	subl	%eax, %r8d
	imull	%ecx, %esi
	imull	%edx, %ebx
	addl	%esi, %ebx
	imull	%r10d, %r13d
	imull	%r11d, %r15d
	addl	%r13d, %r15d
	subl	%r15d, %ebx
	movq	-80(%rbp), %r10                 ## 8-byte Reload
	leal	(%r10,%r12), %eax
	movq	_ROW_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	sarl	%cl, %eax
	movw	%ax, (%rdi)
	movq	-88(%rbp), %rdx                 ## 8-byte Reload
	movq	-72(%rbp), %r15                 ## 8-byte Reload
	leal	(%rdx,%r15), %r11d
	sarl	%cl, %r11d
	leal	(%r9,%r8), %esi
	sarl	%cl, %esi
	leal	(%r14,%rbx), %eax
	sarl	%cl, %eax
	movw	%r11w, 2(%rdi)
	movw	%si, 4(%rdi)
	movw	%ax, 6(%rdi)
	subl	%ebx, %r14d
	sarl	%cl, %r14d
	movw	%r14w, 8(%rdi)
	subl	%r8d, %r9d
	sarl	%cl, %r9d
	movq	%rdx, %rax
	subl	%r15d, %eax
	sarl	%cl, %eax
	movq	%rax, %rsi
	movq	%r10, %rax
	subl	%r12d, %eax
	sarl	%cl, %eax
	movw	%r9w, 10(%rdi)
	movw	%si, 12(%rdi)
	movw	%ax, 14(%rdi)
	jmp	LBB0_9
LBB0_1:
	movswl	(%rdi), %eax
	imull	%eax, %r12d
	addl	%edx, %r12d
	testw	%bx, %bx
	je	LBB0_3
## %bb.2:
	imull	%r10d, %r9d
	leal	(%r12,%r9), %r8d
	imull	%r10d, %ecx
	leal	(%r12,%rcx), %r10d
	movl	%r12d, %r14d
	subl	%ecx, %r14d
	subl	%r9d, %r12d
	movl	%r13d, %ebx
	movl	%r13d, %ecx
	imull	%r11d, %ecx
	movq	-64(%rbp), %r13                 ## 8-byte Reload
	movl	%r13d, %r9d
	movl	-44(%rbp), %eax                 ## 4-byte Reload
	imull	%eax, %r9d
	addl	%ecx, %r9d
	imull	%r11d, %r13d
	movl	%esi, %ecx
	imull	%eax, %ecx
	subl	%ecx, %r13d
	movl	%r15d, %edx
	imull	%r11d, %edx
	imull	%eax, %ebx
	subl	%ebx, %edx
	imull	%r11d, %esi
	imull	%eax, %r15d
	subl	%r15d, %esi
	leal	(%r8,%r9), %ebx
	movq	_ROW_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	sarl	%cl, %ebx
	movw	%bx, (%rdi)
	leal	(%r10,%r13), %r11d
	sarl	%cl, %r11d
	leal	(%r14,%rdx), %eax
	sarl	%cl, %eax
	movq	%rsi, %rbx
	addl	%r12d, %esi
	sarl	%cl, %esi
	movw	%r11w, 2(%rdi)
	movw	%ax, 4(%rdi)
	movw	%si, 6(%rdi)
	subl	%ebx, %r12d
	sarl	%cl, %r12d
	movw	%r12w, 8(%rdi)
	subl	%edx, %r14d
	sarl	%cl, %r14d
	subl	%r13d, %r10d
	sarl	%cl, %r10d
	subl	%r9d, %r8d
	sarl	%cl, %r8d
	movw	%r14w, 10(%rdi)
	movw	%r10w, 12(%rdi)
	movw	%r8w, 14(%rdi)
	jmp	LBB0_9
LBB0_7:
	leal	(%rsi,%r14), %eax
	imull	%r12d, %eax
	addl	%edx, %eax
	movq	_ROW_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	sarl	%cl, %eax
	subl	%r14d, %esi
	imull	%r12d, %esi
	addl	%edx, %esi
	sarl	%cl, %esi
	movw	%ax, (%rdi)
	movw	%ax, 6(%rdi)
	movw	%ax, 8(%rdi)
	movw	%ax, 14(%rdi)
	movw	%si, 2(%rdi)
	movw	%si, 4(%rdi)
	movw	%si, 10(%rdi)
	movw	%si, 12(%rdi)
	jmp	LBB0_9
LBB0_3:
	movq	_ROW_SHIFT@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	sarl	%cl, %r12d
	testl	%r12d, %r12d
	je	LBB0_4
## %bb.5:
	movd	%r12d, %xmm0
	pshuflw	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0,4,5,6,7]
	pshufd	$68, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,0,1]
	movdqu	%xmm0, (%rdi)
LBB0_9:
	movl	$1, %eax
LBB0_10:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_4:
	xorl	%eax, %eax
	jmp	LBB0_10
	.cfi_endproc
                                        ## -- End function
	.comm	_ROW_SHIFT,4,2                  ## @ROW_SHIFT
	.no_dead_strip	_idct_row
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function idct_row
_idct_row:                              ; @idct_row
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	ldp	w10, w17, [x1]
	ldp	w13, w16, [x1, #8]
	ldp	w9, w3, [x1, #16]
	ldr	w8, [x1, #24]
	ldrsh	w15, [x0, #10]
	ldrsh	w4, [x0, #12]
	orr	w11, w4, w15
	ldrsh	w14, [x0, #14]
	orr	w6, w11, w14
	ldrsh	w11, [x0, #2]
	ldrsh	w1, [x0, #4]
	orr	w5, w1, w11
	ldrsh	w12, [x0, #6]
	orr	w19, w5, w12
	ldrsh	w5, [x0, #8]
	orr	w7, w5, w6
	cbz	w7, LBB0_3
; %bb.1:
	ldrsh	w7, [x0]
	orr	w6, w19, w6
	cbz	w6, LBB0_6
; %bb.2:
	madd	w2, w16, w7, w2
	mul	w16, w16, w5
	mul	w5, w3, w4
	madd	w5, w17, w1, w5
	add	w6, w5, w16
	add	w6, w6, w2
	mul	w1, w3, w1
	mul	w17, w17, w4
	add	w3, w17, w16
	sub	w3, w1, w3
	add	w1, w1, w16
	sub	w17, w17, w1
	add	w16, w2, w16
	sub	w16, w16, w5
	mul	w1, w9, w15
	madd	w1, w8, w14, w1
	madd	w1, w10, w11, w1
	madd	w1, w13, w12, w1
	mul	w4, w10, w15
	madd	w4, w9, w14, w4
	madd	w4, w8, w12, w4
	neg	w4, w4
	madd	w4, w13, w11, w4
	mul	w5, w8, w15
	madd	w5, w13, w14, w5
	mul	w13, w13, w15
	add	w15, w6, w1
Lloh0:
	adrp	x7, _ROW_SHIFT@GOTPAGE
Lloh1:
	ldr	x7, [x7, _ROW_SHIFT@GOTPAGEOFF]
Lloh2:
	ldr	w7, [x7]
	asr	w15, w15, w7
	strh	w15, [x0]
	madd	w15, w9, w11, w5
	msub	w15, w10, w12, w15
	mul	w10, w10, w14
	add	w14, w3, w2
	add	w3, w14, w4
	asr	w3, w3, w7
	strh	w3, [x0, #2]
	add	w17, w17, w2
	add	w2, w17, w15
	asr	w2, w2, w7
	strh	w2, [x0, #4]
	madd	w9, w9, w12, w10
	madd	w8, w8, w11, w13
	sub	w8, w8, w9
	add	w9, w16, w8
	asr	w9, w9, w7
	strh	w9, [x0, #6]
	sub	w8, w16, w8
	asr	w8, w8, w7
	strh	w8, [x0, #8]
	sub	w8, w17, w15
	asr	w8, w8, w7
	strh	w8, [x0, #10]
	sub	w8, w14, w4
	asr	w8, w8, w7
	strh	w8, [x0, #12]
	sub	w8, w6, w1
	asr	w8, w8, w7
	b	LBB0_5
LBB0_3:
	ldrsh	w14, [x0]
	madd	w14, w16, w14, w2
	cbz	w19, LBB0_7
; %bb.4:
	mul	w15, w17, w1
	mul	w16, w3, w1
	mul	w17, w10, w11
	madd	w17, w13, w12, w17
	mul	w1, w8, w12
	neg	w1, w1
	madd	w13, w13, w11, w1
	mul	w10, w10, w12
	neg	w10, w10
	madd	w10, w9, w11, w10
	mul	w9, w9, w12
	neg	w9, w9
	madd	w8, w8, w11, w9
	add	w9, w14, w15
	add	w11, w9, w17
Lloh3:
	adrp	x12, _ROW_SHIFT@GOTPAGE
Lloh4:
	ldr	x12, [x12, _ROW_SHIFT@GOTPAGEOFF]
Lloh5:
	ldr	w12, [x12]
	asr	w11, w11, w12
	add	w1, w14, w16
	add	w2, w1, w13
	strh	w11, [x0]
	asr	w11, w2, w12
	strh	w11, [x0, #2]
	sub	w11, w14, w16
	add	w16, w11, w10
	asr	w16, w16, w12
	strh	w16, [x0, #4]
	sub	w14, w14, w15
	add	w15, w14, w8
	asr	w15, w15, w12
	strh	w15, [x0, #6]
	sub	w8, w14, w8
	asr	w8, w8, w12
	strh	w8, [x0, #8]
	sub	w8, w11, w10
	asr	w8, w8, w12
	strh	w8, [x0, #10]
	sub	w8, w1, w13
	asr	w8, w8, w12
	strh	w8, [x0, #12]
	sub	w8, w9, w17
	asr	w8, w8, w12
LBB0_5:
	strh	w8, [x0, #14]
	b	LBB0_9
LBB0_6:
	add	w8, w7, w5
	madd	w8, w8, w16, w2
Lloh6:
	adrp	x9, _ROW_SHIFT@GOTPAGE
Lloh7:
	ldr	x9, [x9, _ROW_SHIFT@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	asr	w8, w8, w9
	sub	w10, w7, w5
	strh	w8, [x0]
	strh	w8, [x0, #6]
	madd	w10, w10, w16, w2
	asr	w9, w10, w9
	strh	w8, [x0, #8]
	strh	w8, [x0, #14]
	strh	w9, [x0, #2]
	strh	w9, [x0, #4]
	strh	w9, [x0, #10]
	strh	w9, [x0, #12]
	b	LBB0_9
LBB0_7:
Lloh9:
	adrp	x8, _ROW_SHIFT@GOTPAGE
Lloh10:
	ldr	x8, [x8, _ROW_SHIFT@GOTPAGEOFF]
Lloh11:
	ldr	w8, [x8]
	asr	w8, w14, w8
	cbz	w8, LBB0_10
; %bb.8:
	dup.4h	v0, w8
	str	d0, [x0, #8]
	str	d0, [x0]
LBB0_9:
	mov	w0, #1
	ldp	x20, x19, [sp], #16             ; 16-byte Folded Reload
	ret
LBB0_10:
	mov	w0, #0
	ldp	x20, x19, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.cfi_endproc
                                        ; -- End function
	.comm	_ROW_SHIFT,4,2                  ; @ROW_SHIFT
	.no_dead_strip	_idct_row
.subsections_via_symbols
