	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function dct4x4
LCPI0_0:
	.long	2217                            ## 0x8a9
	.long	2217                            ## 0x8a9
	.long	2217                            ## 0x8a9
	.long	2217                            ## 0x8a9
LCPI0_1:
	.long	5352                            ## 0x14e8
	.long	5352                            ## 0x14e8
	.long	5352                            ## 0x14e8
	.long	5352                            ## 0x14e8
LCPI0_2:
	.long	12000                           ## 0x2ee0
	.long	12000                           ## 0x2ee0
	.long	12000                           ## 0x2ee0
	.long	12000                           ## 0x2ee0
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_dct4x4:                                ## @dct4x4
	.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
	movl	12(%rdi), %eax
	movl	(%rdi), %ecx
	movl	4(%rdi), %edx
	leal	(%rax,%rcx), %ebx
	shll	$3, %ebx
	movl	8(%rdi), %esi
	leal	(%rsi,%rdx), %r8d
	subl	%esi, %edx
	subl	%eax, %ecx
	leal	(%rbx,%r8,8), %eax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movl	%r8d, %esi
	shll	$3, %esi
	movl	%eax, (%rdi)
	imull	$17736, %edx, %r8d              ## imm = 0x4548
	imull	$42816, %ecx, %eax              ## imm = 0xA740
	addl	%r8d, %eax
	addl	$14500, %eax                    ## imm = 0x38A4
	sarl	$12, %eax
	movq	%rax, -80(%rbp)                 ## 8-byte Spill
	movl	%eax, 4(%rdi)
	subl	%esi, %ebx
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movl	%ebx, 8(%rdi)
	imull	$17736, %ecx, %eax              ## imm = 0x4548
	imull	$-42816, %edx, %ecx             ## imm = 0xFFFF58C0
	addl	%ecx, %eax
	addl	$7500, %eax                     ## imm = 0x1D4C
	sarl	$12, %eax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	movl	%eax, 12(%rdi)
	movl	16(%rdi), %ecx
	movl	28(%rdi), %r8d
	leal	(%r8,%rcx), %edx
	shll	$3, %edx
	movl	20(%rdi), %esi
	movl	24(%rdi), %ebx
	leal	(%rbx,%rsi), %eax
	subl	%ebx, %esi
	subl	%r8d, %ecx
	leal	(%rdx,%rax,8), %ebx
	movq	%rbx, -56(%rbp)                 ## 8-byte Spill
                                        ## kill: def $eax killed $eax killed $rax
	shll	$3, %eax
	imull	$17736, %esi, %r8d              ## imm = 0x4548
	imull	$42816, %ecx, %ebx              ## imm = 0xA740
	addl	%r8d, %ebx
	addl	$14500, %ebx                    ## imm = 0x38A4
	movq	%rbx, -48(%rbp)                 ## 8-byte Spill
	subl	%eax, %edx
	movl	%edx, 24(%rdi)
	imull	$17736, %ecx, %eax              ## imm = 0x4548
	imull	$-42816, %esi, %ecx             ## imm = 0xFFFF58C0
	addl	%ecx, %eax
	addl	$7500, %eax                     ## imm = 0x1D4C
	sarl	$12, %eax
	movl	%eax, 28(%rdi)
	movl	32(%rdi), %edx
	movl	44(%rdi), %eax
	leal	(%rax,%rdx), %r10d
	shll	$3, %r10d
	movl	36(%rdi), %esi
	movl	40(%rdi), %ebx
	leal	(%rbx,%rsi), %r8d
	subl	%ebx, %esi
	subl	%eax, %edx
	imull	$17736, %esi, %eax              ## imm = 0x4548
	imull	$42816, %edx, %ebx              ## imm = 0xA740
	leal	(%rbx,%rax), %r13d
	addl	$14500, %r13d                   ## imm = 0x38A4
	leal	(%r10,%r8,8), %r9d
	movl	%r8d, %eax
	shll	$3, %eax
	subl	%eax, %r10d
	imull	$17736, %edx, %eax              ## imm = 0x4548
	imull	$-42816, %esi, %edx             ## imm = 0xFFFF58C0
	leal	(%rax,%rdx), %r14d
	addl	$7500, %r14d                    ## imm = 0x1D4C
	sarl	$12, %r14d
	movl	%r14d, 44(%rdi)
	movl	52(%rdi), %r12d
	movl	56(%rdi), %eax
	leal	(%rax,%r12), %ecx
	subl	%eax, %r12d
	movl	60(%rdi), %esi
	movl	48(%rdi), %eax
	leal	(%rsi,%rax), %ebx
	subl	%esi, %eax
	imull	$17736, %r12d, %esi             ## imm = 0x4548
	imull	$42816, %eax, %edx              ## imm = 0xA740
	leal	(%rdx,%rsi), %r11d
	addl	$14500, %r11d                   ## imm = 0x38A4
	shll	$3, %ebx
	leal	(%rbx,%rcx,8), %r15d
                                        ## kill: def $ecx killed $ecx killed $rcx
	shll	$3, %ecx
	subl	%ecx, %ebx
	imull	$17736, %eax, %eax              ## imm = 0x4548
	imull	$-42816, %r12d, %ecx            ## imm = 0xFFFF58C0
	leal	(%rax,%rcx), %r12d
	addl	$7500, %r12d                    ## imm = 0x1D4C
	movdqu	(%rdi), %xmm0
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	leal	7(%r15,%rax), %ecx
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	leal	(%r9,%rsi), %edx
	leal	(%rcx,%rdx), %eax
	sarl	$4, %eax
	movq	24(%rdi), %r8
	movl	%eax, (%rdi)
	subl	%edx, %ecx
	sarl	$4, %ecx
	movl	%ecx, 32(%rdi)
	movd	%r15d, %xmm1
	movd	%esi, %xmm2
	movd	%r9d, %xmm4
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	sarl	$12, %eax
	sarl	$12, %r13d
	sarl	$12, %r11d
	sarl	$12, %r12d
	pinsrd	$1, %eax, %xmm2
	leal	(%rax,%r13), %ecx
	movq	%r8, %xmm5
	pinsrd	$1, %r13d, %xmm4
	leal	(%r8,%r10), %esi
	shrq	$32, %r8
	pinsrd	$1, %r11d, %xmm1
	pinsrd	$2, %ebx, %xmm1
	pinsrd	$3, %r12d, %xmm1
	addl	%r14d, %r8d
	movdqa	%xmm0, %xmm3
	psubd	%xmm1, %xmm3
	pinsrd	$2, %r10d, %xmm4
	movd	%xmm3, %edx
	imull	$2217, %edx, %edx               ## imm = 0x8A9
	pinsrd	$3, %r14d, %xmm4
	punpcklqdq	%xmm5, %xmm2            ## xmm2 = xmm2[0],xmm5[0]
	psubd	%xmm4, %xmm2
	movd	%xmm2, %eax
	imull	$-5352, %eax, %eax              ## imm = 0xEB18
	addl	%edx, %eax
	addl	$51000, %eax                    ## imm = 0xC738
	sarl	$16, %eax
	movl	%eax, 48(%rdi)
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	addl	%r11d, %eax
	addl	$7, %eax
	leal	(%rax,%rcx), %edx
	sarl	$4, %edx
	movl	%edx, 4(%rdi)
	subl	%ecx, %eax
	sarl	$4, %eax
	movl	%eax, 36(%rdi)
	pextrd	$1, %xmm3, %eax
	imull	$2217, %eax, %eax               ## imm = 0x8A9
	pextrd	$1, %xmm2, %ecx
	imull	$-5352, %ecx, %ecx              ## imm = 0xEB18
	addl	%ecx, %eax
	addl	$51000, %eax                    ## imm = 0xC738
	sarl	$16, %eax
	movl	%eax, 52(%rdi)
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	addl	%ebx, %eax
	addl	$7, %eax
	leal	(%rax,%rsi), %ecx
	sarl	$4, %ecx
	movl	%ecx, 8(%rdi)
	subl	%esi, %eax
	sarl	$4, %eax
	movl	%eax, 40(%rdi)
	pextrd	$2, %xmm3, %eax
	imull	$2217, %eax, %eax               ## imm = 0x8A9
	pextrd	$2, %xmm2, %ecx
	imull	$-5352, %ecx, %ecx              ## imm = 0xEB18
	addl	%ecx, %eax
	addl	$51000, %eax                    ## imm = 0xC738
	sarl	$16, %eax
	movl	%eax, 56(%rdi)
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	leal	(%r12,%rax), %ecx
	addl	$7, %ecx
	leal	(%rcx,%r8), %eax
	sarl	$4, %eax
	movl	%eax, 12(%rdi)
	movdqa	LCPI0_0(%rip), %xmm4            ## xmm4 = [2217,2217,2217,2217]
	pmulld	%xmm2, %xmm4
	movdqa	LCPI0_1(%rip), %xmm5            ## xmm5 = [5352,5352,5352,5352]
	pmulld	%xmm3, %xmm5
	paddd	%xmm4, %xmm5
	paddd	LCPI0_2(%rip), %xmm5
	psrad	$16, %xmm5
	pcmpeqd	%xmm0, %xmm1
	paddd	%xmm5, %xmm1
	pcmpeqd	%xmm0, %xmm0
	psubd	%xmm0, %xmm1
	movdqu	%xmm1, 16(%rdi)
	subl	%r8d, %ecx
	sarl	$4, %ecx
	pextrd	$3, %xmm3, %eax
	movl	%ecx, 44(%rdi)
	imull	$2217, %eax, %eax               ## imm = 0x8A9
	pextrd	$3, %xmm2, %ecx
	imull	$-5352, %ecx, %ecx              ## imm = 0xEB18
	addl	%ecx, %eax
	addl	$51000, %eax                    ## imm = 0xC738
	sarl	$16, %eax
	movl	%eax, 60(%rdi)
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_dct4x4
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function dct4x4
_dct4x4:                                ; @dct4x4
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	.cfi_offset w21, -24
	.cfi_offset w22, -32
	ldp	w8, w9, [x0]
	ldp	w11, w10, [x0, #8]
	add	w12, w10, w8
	lsl	w3, w12, #3
	add	w12, w11, w9
	lsl	w4, w12, #3
	sub	w5, w9, w11
	sub	w6, w8, w10
	add	w7, w4, w3
	mov	w8, #17736
	mul	w10, w5, w8
	mov	w9, #42816
	madd	w11, w6, w9, w10
	mov	w10, #14500
	add	w11, w11, w10
	asr	w19, w11, #12
	ldp	w13, w14, [x0, #44]
	ldp	w17, w15, [x0, #56]
	add	w11, w15, w14
	lsl	w11, w11, #3
	ldr	w16, [x0, #52]
	add	w12, w17, w16
	lsl	w12, w12, #3
	add	w1, w12, w11
	add	w2, w1, w7
	subs	w1, w7, w1
	stp	w7, w19, [x0]
	sub	w7, w3, w4
	mov	w3, #-42816
	mul	w4, w5, w3
	madd	w5, w6, w8, w4
	mov	w4, #7500
	add	w5, w5, w4
	asr	w5, w5, #12
	stp	w7, w5, [x0, #8]
	ldp	w5, w6, [x0, #20]
	add	w7, w6, w5
	sub	w6, w5, w6
	ldp	w19, w5, [x0, #28]
	ldp	w21, w20, [x0, #12]
	add	w22, w19, w20
	lsl	w22, w22, #3
	lsl	w7, w7, #3
	sub	w19, w20, w19
	add	w20, w7, w22
	sub	w7, w22, w7
	mul	w22, w6, w8
	madd	w22, w19, w9, w22
	add	w22, w22, w10
	asr	w22, w22, #12
	mul	w6, w6, w3
	madd	w6, w19, w8, w6
	add	w6, w6, w4
	asr	w6, w6, #12
	stp	w7, w6, [x0, #24]
	ldp	w6, w7, [x0, #36]
	add	w19, w7, w6
	sub	w6, w6, w7
	add	w7, w13, w5
	lsl	w7, w7, #3
	lsl	w19, w19, #3
	sub	w13, w5, w13
	mul	w5, w6, w8
	madd	w5, w13, w9, w5
	add	w5, w5, w10
	asr	w5, w5, #12
	mul	w6, w6, w3
	madd	w13, w13, w8, w6
	add	w13, w13, w4
	sub	w16, w16, w17
	sub	w14, w14, w15
	mul	w15, w16, w8
	madd	w9, w14, w9, w15
	add	w9, w9, w10
	asr	w9, w9, #12
	mul	w10, w16, w3
	madd	w8, w14, w8, w10
	add	w8, w8, w4
	add	w10, w19, w7
	add	w14, w10, w20
	sub	w10, w20, w10
	orr	w15, w2, #0x7
	add	w16, w15, w14
	asr	w16, w16, #4
	mov	w17, #2217
	mul	w2, w10, w17
	mov	w3, #5352
	madd	w2, w1, w3, w2
	mov	w4, #12000
	add	w2, w2, w4
	asr	w2, w2, #16
	cinc	w2, w2, ne
	sub	w14, w15, w14
	mov	w15, #-5352
	mul	w10, w10, w15
	madd	w10, w1, w17, w10
	ldp	w1, w6, [x0, #4]
	add	w20, w9, w1
	subs	w9, w1, w9
	sub	w1, w22, w5
	add	w20, w20, #7
	add	w5, w5, w22
	add	w22, w20, w5
	asr	w22, w22, #4
	stp	w16, w22, [x0]
	mul	w16, w1, w17
	madd	w16, w9, w3, w16
	add	w16, w16, w4
	asr	w16, w16, #16
	cinc	w16, w16, ne
	stp	w2, w16, [x0, #16]
	asr	w13, w13, #12
	asr	w8, w8, #12
	asr	w14, w14, #4
	sub	w16, w20, w5
	mov	w2, #51000
	add	w10, w10, w2
	asr	w10, w10, #16
	asr	w16, w16, #4
	stp	w14, w16, [x0, #32]
	mul	w14, w1, w15
	madd	w9, w9, w17, w14
	add	w9, w9, w2
	asr	w9, w9, #16
	sub	w11, w11, w12
	add	w12, w11, w6
	ldp	w14, w16, [x0, #24]
	sub	w1, w7, w19
	add	w5, w1, w14
	sub	w14, w14, w1
	subs	w11, w6, w11
	add	w12, w12, #7
	add	w1, w12, w5
	asr	w1, w1, #4
	mul	w6, w14, w17
	madd	w6, w11, w3, w6
	add	w6, w6, w4
	asr	w6, w6, #16
	cinc	w6, w6, ne
	sub	w12, w12, w5
	asr	w12, w12, #4
	stp	w12, w13, [x0, #40]
	mul	w12, w14, w15
	madd	w11, w11, w17, w12
	add	w11, w11, w2
	asr	w11, w11, #16
	stp	w9, w11, [x0, #52]
	add	w9, w8, w21
	mov	w11, w13
	sub	w12, w16, w11
	subs	w8, w21, w8
	add	w9, w9, #7
	add	w11, w11, w16
	add	w13, w9, w11
	asr	w13, w13, #4
	stp	w1, w13, [x0, #8]
	mul	w13, w12, w17
	madd	w13, w8, w3, w13
	add	w13, w13, w4
	asr	w13, w13, #16
	cinc	w13, w13, ne
	stp	w6, w13, [x0, #24]
	sub	w9, w9, w11
	asr	w9, w9, #4
	stp	w9, w10, [x0, #44]
	mul	w9, w12, w15
	madd	w8, w8, w17, w9
	add	w8, w8, w2
	asr	w8, w8, #16
	str	w8, [x0, #60]
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #32             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_dct4x4
.subsections_via_symbols
