	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function idct_col
_idct_col:                              ## @idct_col
	.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	%rbx
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_COL_SHIFT@GOTPCREL(%rip), %r8
	movb	(%r8), %cl
	decb	%cl
	movl	$1, %eax
	shll	%cl, %eax
	movq	_W4@GOTPCREL(%rip), %rcx
	cltd
	idivl	(%rcx)
                                        ## kill: def $eax killed $eax def $rax
	addl	(%rdi), %eax
	movl	%eax, (%rdi)
	movl	(%rcx), %ecx
	imull	%ecx, %eax
	movl	64(%rdi), %edx
	testl	%edx, %edx
	je	LBB0_1
## %bb.2:
	movq	_W2@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	imull	%edx, %esi
	movq	_W6@GOTPCREL(%rip), %rbx
	imull	(%rbx), %edx
	movl	%eax, %r10d
	subl	%edx, %r10d
	addl	%eax, %edx
	movl	%eax, %r9d
	addl	%esi, %eax
	subl	%esi, %r9d
                                        ## kill: def $eax killed $eax def $rax
	jmp	LBB0_3
LBB0_1:
	movl	%eax, %edx
	movl	%eax, %r10d
	movl	%eax, %r9d
LBB0_3:
	movl	128(%rdi), %esi
	testl	%esi, %esi
	je	LBB0_5
## %bb.4:
	imull	%ecx, %esi
	addl	%esi, %eax
	subl	%esi, %edx
	subl	%esi, %r10d
	addl	%esi, %r9d
LBB0_5:
	movl	192(%rdi), %ecx
	testl	%ecx, %ecx
	je	LBB0_7
## %bb.6:
	movq	_W6@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	imull	%ecx, %esi
	movq	_W2@GOTPCREL(%rip), %rbx
	imull	(%rbx), %ecx
	addl	%esi, %eax
	subl	%ecx, %edx
	addl	%ecx, %r10d
	subl	%esi, %r9d
LBB0_7:
	movl	32(%rdi), %esi
	testl	%esi, %esi
	je	LBB0_8
## %bb.9:
	movq	_W1@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r15d
	imull	%esi, %r15d
	movq	_W3@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r14d
	imull	%esi, %r14d
	movq	_W5@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r11d
	imull	%esi, %r11d
	movq	_W7@GOTPCREL(%rip), %rcx
	imull	(%rcx), %esi
	jmp	LBB0_10
LBB0_8:
	xorl	%r15d, %r15d
	xorl	%r14d, %r14d
	xorl	%r11d, %r11d
	xorl	%esi, %esi
LBB0_10:
	movl	96(%rdi), %ecx
	testl	%ecx, %ecx
	je	LBB0_12
## %bb.11:
	movq	_W3@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	addl	%ebx, %r15d
	movq	_W7@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	subl	%ebx, %r14d
	movq	_W1@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	subl	%ebx, %r11d
	movq	_W5@GOTPCREL(%rip), %rbx
	imull	(%rbx), %ecx
	subl	%ecx, %esi
LBB0_12:
	movl	160(%rdi), %ecx
	testl	%ecx, %ecx
	je	LBB0_14
## %bb.13:
	movq	_W5@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	addl	%ebx, %r15d
	movq	_W1@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	subl	%ebx, %r14d
	movq	_W7@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	addl	%ebx, %r11d
	movq	_W3@GOTPCREL(%rip), %rbx
	imull	(%rbx), %ecx
	addl	%ecx, %esi
LBB0_14:
	movl	224(%rdi), %ecx
	testl	%ecx, %ecx
	je	LBB0_16
## %bb.15:
	movq	_W7@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	addl	%ebx, %r15d
	movq	_W5@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	subl	%ebx, %r14d
	movq	_W3@GOTPCREL(%rip), %rbx
	movl	(%rbx), %ebx
	imull	%ecx, %ebx
	addl	%ebx, %r11d
	movq	_W1@GOTPCREL(%rip), %rbx
	imull	(%rbx), %ecx
	subl	%ecx, %esi
LBB0_16:
	leal	(%r15,%rax), %ebx
	movb	(%r8), %cl
	sarl	%cl, %ebx
	movl	%ebx, (%rdi)
	subl	%r15d, %eax
	movb	(%r8), %cl
	sarl	%cl, %eax
	leal	(%r14,%rdx), %ebx
	sarl	%cl, %ebx
	movl	%eax, 224(%rdi)
	movl	%ebx, 32(%rdi)
	subl	%r14d, %edx
	sarl	%cl, %edx
	movl	%edx, 192(%rdi)
	leal	(%r11,%r10), %eax
	sarl	%cl, %eax
	subl	%r11d, %r10d
	sarl	%cl, %r10d
	leal	(%rsi,%r9), %edx
	sarl	%cl, %edx
	movl	%eax, 64(%rdi)
	movl	%r10d, 160(%rdi)
	movl	%edx, 96(%rdi)
	subl	%esi, %r9d
	sarl	%cl, %r9d
	movl	%r9d, 128(%rdi)
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_COL_SHIFT,4,2                  ## @COL_SHIFT
	.comm	_W4,4,2                         ## @W4
	.comm	_W2,4,2                         ## @W2
	.comm	_W6,4,2                         ## @W6
	.comm	_W1,4,2                         ## @W1
	.comm	_W3,4,2                         ## @W3
	.comm	_W5,4,2                         ## @W5
	.comm	_W7,4,2                         ## @W7
	.no_dead_strip	_idct_col
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function idct_col
_idct_col:                              ; @idct_col
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _COL_SHIFT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _COL_SHIFT@GOTPAGEOFF]
	ldr	w9, [x8]
	sub	w9, w9, #1
	mov	w10, #1
	lsl	w9, w10, w9
Lloh2:
	adrp	x10, _W4@GOTPAGE
Lloh3:
	ldr	x10, [x10, _W4@GOTPAGEOFF]
	ldr	w11, [x10]
	sdiv	w9, w9, w11
	ldr	w11, [x0]
	add	w9, w11, w9
	str	w9, [x0]
	ldr	w10, [x10]
	mul	w9, w10, w9
	ldr	w11, [x0, #64]
Lloh4:
	adrp	x14, _W6@GOTPAGE
Lloh5:
	ldr	x14, [x14, _W6@GOTPAGEOFF]
Lloh6:
	adrp	x13, _W2@GOTPAGE
Lloh7:
	ldr	x13, [x13, _W2@GOTPAGEOFF]
	cbz	w11, LBB0_2
; %bb.1:
	ldr	w12, [x13]
	mul	w12, w12, w11
	ldr	w15, [x14]
	mul	w15, w15, w11
	add	w11, w15, w9
	sub	w15, w9, w15
	sub	w16, w9, w12
	add	w9, w12, w9
	b	LBB0_3
LBB0_2:
	mov	x11, x9
	mov	x15, x9
	mov	x16, x9
LBB0_3:
	ldr	w12, [x0, #128]
	mul	w10, w12, w10
	add	w17, w10, w9
	sub	w1, w11, w10
	sub	w2, w15, w10
	add	w3, w10, w16
	cmp	w12, #0
	csel	w12, w9, w17, eq
	csel	w11, w11, w1, eq
	csel	w10, w15, w2, eq
	csel	w9, w16, w3, eq
	ldr	w15, [x0, #192]
	cbz	w15, LBB0_5
; %bb.4:
	ldr	w14, [x14]
	mul	w14, w14, w15
	add	w12, w14, w12
	ldr	w13, [x13]
	mul	w13, w13, w15
	sub	w11, w11, w13
	add	w10, w13, w10
	sub	w9, w9, w14
LBB0_5:
	ldr	w13, [x0, #32]
Lloh8:
	adrp	x1, _W3@GOTPAGE
Lloh9:
	ldr	x1, [x1, _W3@GOTPAGEOFF]
Lloh10:
	adrp	x3, _W7@GOTPAGE
Lloh11:
	ldr	x3, [x3, _W7@GOTPAGEOFF]
Lloh12:
	adrp	x17, _W1@GOTPAGE
Lloh13:
	ldr	x17, [x17, _W1@GOTPAGEOFF]
Lloh14:
	adrp	x2, _W5@GOTPAGE
Lloh15:
	ldr	x2, [x2, _W5@GOTPAGEOFF]
	cbz	w13, LBB0_13
; %bb.6:
	ldr	w14, [x17]
	mul	w16, w14, w13
	ldr	w14, [x1]
	mul	w15, w14, w13
	ldr	w14, [x2]
	mul	w14, w14, w13
	ldr	w4, [x3]
	mul	w13, w4, w13
	ldr	w4, [x0, #96]
	cbz	w4, LBB0_8
LBB0_7:
	ldr	w5, [x1]
	madd	w16, w5, w4, w16
	ldr	w5, [x3]
	msub	w15, w5, w4, w15
	ldr	w5, [x17]
	msub	w14, w5, w4, w14
	ldr	w5, [x2]
	msub	w13, w5, w4, w13
LBB0_8:
	ldr	w4, [x0, #160]
	cbz	w4, LBB0_10
; %bb.9:
	ldr	w5, [x2]
	madd	w16, w5, w4, w16
	ldr	w5, [x17]
	msub	w15, w5, w4, w15
	ldr	w5, [x3]
	madd	w14, w5, w4, w14
	ldr	w5, [x1]
	madd	w13, w5, w4, w13
LBB0_10:
	ldr	w4, [x0, #224]
	cbz	w4, LBB0_12
; %bb.11:
	ldr	w3, [x3]
	madd	w16, w3, w4, w16
	ldr	w2, [x2]
	msub	w15, w2, w4, w15
	ldr	w1, [x1]
	madd	w14, w1, w4, w14
	ldr	w17, [x17]
	msub	w13, w17, w4, w13
LBB0_12:
	add	w17, w16, w12
	ldr	w1, [x8]
	asr	w17, w17, w1
	str	w17, [x0]
	sub	w12, w12, w16
	ldr	w8, [x8]
	asr	w12, w12, w8
	str	w12, [x0, #224]
	add	w12, w15, w11
	asr	w12, w12, w8
	str	w12, [x0, #32]
	sub	w11, w11, w15
	asr	w11, w11, w8
	str	w11, [x0, #192]
	add	w11, w14, w10
	asr	w11, w11, w8
	str	w11, [x0, #64]
	sub	w10, w10, w14
	asr	w10, w10, w8
	str	w10, [x0, #160]
	add	w10, w13, w9
	asr	w10, w10, w8
	str	w10, [x0, #96]
	sub	w9, w9, w13
	asr	w8, w9, w8
	str	w8, [x0, #128]
	ret
LBB0_13:
	mov	w16, #0
	mov	w15, #0
	mov	w14, #0
	ldr	w4, [x0, #96]
	cbnz	w4, LBB0_7
	b	LBB0_8
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh8, Lloh9
	.cfi_endproc
                                        ; -- End function
	.comm	_COL_SHIFT,4,2                  ; @COL_SHIFT
	.comm	_W4,4,2                         ; @W4
	.comm	_W2,4,2                         ; @W2
	.comm	_W6,4,2                         ; @W6
	.comm	_W1,4,2                         ; @W1
	.comm	_W3,4,2                         ; @W3
	.comm	_W5,4,2                         ; @W5
	.comm	_W7,4,2                         ; @W7
	.no_dead_strip	_idct_col
.subsections_via_symbols
