	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function CalculateVMAndRowBytes
LCPI0_0:
	.quad	0xbff0000000000000              ## double -1
LCPI0_1:
	.quad	0x3f70000000000000              ## double 0.00390625
LCPI0_2:
	.quad	0x4020000000000000              ## double 8
LCPI0_3:
	.quad	0x40f0000000000000              ## double 65536
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_CalculateVMAndRowBytes:                ## @CalculateVMAndRowBytes
	.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
	subq	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%r9d, %r13d
                                        ## kill: def $ecx killed $ecx def $rcx
	movl	%edx, %r9d
	movq	112(%rbp), %r14
	movl	24(%rbp), %eax
	movl	16(%rbp), %r11d
	cmpl	$1, %esi
	movq	%rcx, -48(%rbp)                 ## 8-byte Spill
	movl	%r8d, -76(%rbp)                 ## 4-byte Spill
	movq	%rdi, -56(%rbp)                 ## 8-byte Spill
	jne	LBB0_6
## %bb.1:
	movq	144(%rbp), %rsi
	leal	(,%r9,8), %edx
	leal	(,%rcx,8), %ebx
	movq	_dm_horz@GOTPCREL(%rip), %rcx
	cmpl	%eax, (%rcx)
	movl	%ebx, %r12d
	cmovel	%edx, %r12d
	cmovnel	%edx, %ebx
	movl	%r12d, (%rsi)
	movl	48(%rbp), %eax
	cvtsi2sd	%rax, %xmm0
	addsd	LCPI0_0(%rip), %xmm0
	movl	%ebx, %edi
	movq	%r9, %r15
	callq	_dml_ceil
                                        ## kill: def $eax killed $eax def $rax
	addl	%ebx, %eax
	imull	%r12d, %eax
	imull	16(%rbp), %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	mulsd	LCPI0_1(%rip), %xmm0
	cvttsd2si	%xmm0, %rax
	movl	%eax, (%r14)
	movl	24(%rbp), %eax
	movq	_dm_horz@GOTPCREL(%rip), %rcx
	cmpl	%eax, (%rcx)
	jne	LBB0_3
## %bb.2:
	movl	40(%rbp), %eax
	decl	%eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	jmp	LBB0_4
LBB0_6:
	movl	$0, (%r14)
	xorl	%r10d, %r10d
	xorl	%r15d, %r15d
	movl	56(%rbp), %r8d
	jmp	LBB0_7
LBB0_3:
	movl	40(%rbp), %eax
	movl	%eax, %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	addsd	LCPI0_0(%rip), %xmm0
LBB0_4:
	movl	%r15d, %ebx
	shll	$6, %ebx
	movl	%ebx, %edi
	callq	_dml_ceil
	movl	16(%rbp), %r11d
	addl	%ebx, %eax
	movq	%r15, %r9
	movl	56(%rbp), %r8d
	xorl	%r10d, %r10d
	movl	$0, %r15d
	cmpl	$1, %r8d
	jne	LBB0_7
## %bb.5:
	movl	96(%rbp), %ecx
	imull	%r11d, %ecx
	imull	%eax, %ecx
	shrl	$8, %ecx
	movl	64(%rbp), %eax
	subl	%eax, %ecx
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rcx, %xmm0
	leal	(,%rax,8), %eax
	cvtsi2sd	%rax, %xmm1
	divsd	%xmm1, %xmm0
	movl	$1, %edi
	movq	%r9, %rbx
	callq	_dml_ceil
	movl	56(%rbp), %r8d
	movl	16(%rbp), %r11d
	movq	%rbx, %r9
	movl	%eax, %r10d
	shll	$6, %r10d
	addl	$64, %r10d
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %r15d
	shll	$7, %r15d
	addl	$-128, %r15d
LBB0_7:
	movq	104(%rbp), %rbx
	movq	_dm_sw_linear@GOTPCREL(%rip), %rax
	xorl	%esi, %esi
	movl	$256, %r12d                     ## imm = 0x100
	cmpl	%r13d, (%rax)
	je	LBB0_8
## %bb.9:
	movq	_dm_sw_gfx7_2d_thin_gl@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_8
## %bb.10:
	movq	_dm_sw_gfx7_2d_thin_lvp@GOTPCREL(%rip), %rax
	movl	$0, %ecx
	movl	%r9d, %r14d
	cmpl	%r13d, (%rax)
	je	LBB0_26
## %bb.11:
	movq	_dm_sw_4kb_s@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_15
## %bb.12:
	movq	_dm_sw_4kb_s_x@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_15
## %bb.13:
	movq	_dm_sw_4kb_d@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_15
## %bb.14:
	movq	_dm_sw_4kb_d_x@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_15
## %bb.16:
	movq	_dm_sw_64kb_s@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.17:
	movq	_dm_sw_64kb_s_t@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.18:
	movq	_dm_sw_64kb_s_x@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.19:
	movq	_dm_sw_64kb_d@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.20:
	movq	_dm_sw_64kb_d_t@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.21:
	movq	_dm_sw_64kb_d_x@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.22:
	movq	_dm_sw_64kb_r_x@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	je	LBB0_23
## %bb.24:
	movl	%r9d, %r14d
	shll	$5, %r14d
	movl	$262144, %r12d                  ## imm = 0x40000
	jmp	LBB0_25
LBB0_15:
	leal	(,%r9,4), %r14d
	movl	$4096, %r12d                    ## imm = 0x1000
	movb	$1, %sil
	xorl	%ecx, %ecx
	jmp	LBB0_26
LBB0_8:
	xorl	%ecx, %ecx
	movl	%r9d, %r14d
	jmp	LBB0_26
LBB0_23:
	movl	%r9d, %r14d
	shll	$4, %r14d
	movl	$65536, %r12d                   ## imm = 0x10000
LBB0_25:
	movb	$1, %cl
	xorl	%esi, %esi
LBB0_26:
	movl	%ecx, -72(%rbp)                 ## 4-byte Spill
	movq	128(%rbp), %rdi
	movq	120(%rbp), %rcx
	movl	%r12d, %eax
	xorl	%edx, %edx
	divl	%r11d
	xorl	%edx, %edx
	divl	%r14d
	movl	%eax, (%rbx)
	cmpl	$1, %r8d
	jne	LBB0_42
## %bb.27:
	movq	%rbx, %rdx
	movl	%esi, -60(%rbp)                 ## 4-byte Spill
	xorl	%esi, %esi
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	cmpl	$2, (%rax)
	movl	$0, %ebx
	movl	%r10d, -68(%rbp)                ## 4-byte Spill
	jl	LBB0_32
## %bb.28:
	movq	_dm_horz@GOTPCREL(%rip), %rax
	movl	24(%rbp), %ecx
	cmpl	%ecx, (%rax)
	movq	%r9, -88(%rbp)                  ## 8-byte Spill
	je	LBB0_29
## %bb.30:
	movl	48(%rbp), %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	addsd	LCPI0_0(%rip), %xmm0
	jmp	LBB0_31
LBB0_42:
	movl	$0, (%rcx)
	movl	$1, %ecx
	xorl	%edx, %edx
	xorl	%eax, %eax
	jmp	LBB0_43
LBB0_29:
	movl	40(%rbp), %eax
	decl	%eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
LBB0_31:
	movl	%r14d, %edi
	callq	_dml_ceil
	addl	%r14d, %eax
	movl	88(%rbp), %ecx
	imull	16(%rbp), %ecx
	imull	%eax, %ecx
	subl	%r12d, %ecx
	shrl	$24, %ecx
	xorps	%xmm0, %xmm0
	cvtsi2sd	%ecx, %xmm0
	movl	$1, %edi
	callq	_dml_ceil
	movl	%eax, %esi
	shll	$6, %esi
	addl	$64, %esi
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %ebx
	shll	$7, %ebx
	addl	$-256, %ebx
	movq	-88(%rbp), %r9                  ## 8-byte Reload
	movq	104(%rbp), %rdx
LBB0_32:
	movq	136(%rbp), %rdi
	movl	72(%rbp), %r12d
	movq	_dm_sw_linear@GOTPCREL(%rip), %rax
	cmpl	%r13d, (%rax)
	movl	%ebx, -56(%rbp)                 ## 4-byte Spill
	movl	%esi, -64(%rbp)                 ## 4-byte Spill
	jne	LBB0_33
## %bb.44:
	movl	64(%rbp), %eax
	movl	%eax, %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	mulsd	LCPI0_2(%rip), %xmm0
	movl	16(%rbp), %eax
	xorps	%xmm1, %xmm1
	cvtsi2sd	%rax, %xmm1
	movl	80(%rbp), %eax
	divsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %rdx
	movq	_dm_420_8@GOTPCREL(%rip), %rcx
	movl	-76(%rbp), %esi                 ## 4-byte Reload
	cmpl	%esi, (%rcx)
	sete	%bl
	movq	_dm_420_10@GOTPCREL(%rip), %rcx
	cmpl	%esi, (%rcx)
	sete	%cl
	orb	%bl, %cl
	shrl	%cl, %eax
	movl	%r12d, %ecx
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rcx, %xmm0
	movl	%edx, %ecx
	cvtsi2sd	%rcx, %xmm2
	movsd	%xmm2, -48(%rbp)                ## 8-byte Spill
	mulsd	%xmm2, %xmm0
	movq	%rdi, %r14
	cvttsd2si	%xmm0, %rdi
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	mulsd	LCPI0_3(%rip), %xmm0
	divsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %rsi
                                        ## kill: def $edi killed $edi killed $rdi
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_dml_min
	xorl	%edx, %edx
	movl	88(%rbp), %r13d
	divl	%r13d
	movl	%eax, %edi
	callq	_dml_log2
	movl	$1, %ebx
	movl	%eax, %edi
	movl	$1, %esi
	callq	_dml_floor
	movl	%eax, %ecx
	shll	%cl, %ebx
	movl	$128, %edi
	movl	%ebx, %esi
	callq	_dml_min
	movsd	-48(%rbp), %xmm1                ## 8-byte Reload
                                        ## xmm1 = mem[0],zero
                                        ## kill: def $eax killed $eax def $rax
	movl	%eax, (%r14)
	imull	%r13d, %eax
	decl	%eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	movl	$64, %r13d
	jmp	LBB0_41
LBB0_33:
	cmpb	$0, -60(%rbp)                   ## 1-byte Folded Reload
	jne	LBB0_34
## %bb.35:
	movl	64(%rbp), %eax
	cmpl	$4096, %eax                     ## imm = 0x1000
	setne	%al
	movl	-72(%rbp), %ecx                 ## 4-byte Reload
	xorb	$1, %cl
	orb	%al, %cl
	jne	LBB0_34
## %bb.36:
	shll	$4, %r9d
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	shll	$4, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movl	$128, %r13d
	movl	%r9d, %r14d
	jmp	LBB0_37
LBB0_34:
	movl	(%rdx), %eax
	shll	$3, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movl	$64, %r13d
LBB0_37:
	movq	_dm_horz@GOTPCREL(%rip), %rax
	movl	24(%rbp), %ecx
	cmpl	%ecx, (%rax)
	jne	LBB0_39
## %bb.38:
	movl	48(%rbp), %eax
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rax, %xmm0
	addsd	LCPI0_0(%rip), %xmm0
	movl	%r14d, (%rdi)
	movl	-48(%rbp), %eax                 ## 4-byte Reload
	jmp	LBB0_40
LBB0_39:
	movl	(%rdx), %esi
	movq	%rdi, %rbx
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_dml_min
	movl	48(%rbp), %ecx
	xorps	%xmm0, %xmm0
	cvtsi2sd	%rcx, %xmm0
	addsd	LCPI0_0(%rip), %xmm0
	movl	%eax, (%rbx)
	movl	%r14d, %eax
LBB0_40:
	cvtsi2sd	%rax, %xmm1
LBB0_41:
	divsd	%xmm1, %xmm0
	movl	$1, %edi
	callq	_dml_ceil
	incl	%eax
	imull	%r13d, %eax
	movq	120(%rbp), %rcx
	movl	%eax, (%rcx)
	shll	$6, %r12d
	xorl	%ecx, %ecx
	cmpl	%r12d, %eax
	setbe	%cl
	movl	-68(%rbp), %r10d                ## 4-byte Reload
	movq	128(%rbp), %rdi
	movl	-56(%rbp), %eax                 ## 4-byte Reload
	movl	-64(%rbp), %edx                 ## 4-byte Reload
LBB0_43:
	movl	%ecx, (%rdi)
	addl	%r10d, %r15d
	addl	%eax, %r15d
	addl	%edx, %r15d
	movl	%r15d, %eax
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_dm_horz,4,2                    ## @dm_horz
	.comm	_dm_sw_linear,4,2               ## @dm_sw_linear
	.comm	_dm_sw_gfx7_2d_thin_gl,4,2      ## @dm_sw_gfx7_2d_thin_gl
	.comm	_dm_sw_gfx7_2d_thin_lvp,4,2     ## @dm_sw_gfx7_2d_thin_lvp
	.comm	_dm_sw_4kb_s,4,2                ## @dm_sw_4kb_s
	.comm	_dm_sw_4kb_s_x,4,2              ## @dm_sw_4kb_s_x
	.comm	_dm_sw_4kb_d,4,2                ## @dm_sw_4kb_d
	.comm	_dm_sw_4kb_d_x,4,2              ## @dm_sw_4kb_d_x
	.comm	_dm_sw_64kb_s,4,2               ## @dm_sw_64kb_s
	.comm	_dm_sw_64kb_s_t,4,2             ## @dm_sw_64kb_s_t
	.comm	_dm_sw_64kb_s_x,4,2             ## @dm_sw_64kb_s_x
	.comm	_dm_sw_64kb_d,4,2               ## @dm_sw_64kb_d
	.comm	_dm_sw_64kb_d_t,4,2             ## @dm_sw_64kb_d_t
	.comm	_dm_sw_64kb_d_x,4,2             ## @dm_sw_64kb_d_x
	.comm	_dm_sw_64kb_r_x,4,2             ## @dm_sw_64kb_r_x
	.comm	_dm_420_8,4,2                   ## @dm_420_8
	.comm	_dm_420_10,4,2                  ## @dm_420_10
	.no_dead_strip	_CalculateVMAndRowBytes
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function CalculateVMAndRowBytes
_CalculateVMAndRowBytes:                ; @CalculateVMAndRowBytes
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #192
	.cfi_def_cfa_offset 192
	stp	d9, d8, [sp, #80]               ; 16-byte Folded Spill
	stp	x28, x27, [sp, #96]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #112]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #128]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #144]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #160]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #176]            ; 16-byte Folded Spill
	add	x29, sp, #176
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	.cfi_offset b8, -104
	.cfi_offset b9, -112
	mov	x23, x6
	mov	x24, x5
	mov	x22, x2
	ldp	x13, x19, [x29, #56]
	ldr	w8, [x29, #32]
	str	w8, [sp, #68]                   ; 4-byte Folded Spill
	ldp	w12, w15, [x29, #24]
	ldr	w8, [x29, #20]
	str	w8, [sp, #72]                   ; 4-byte Folded Spill
	cmp	w1, #1
	stp	w3, w4, [sp, #48]               ; 8-byte Folded Spill
	b.ne	LBB0_3
; %bb.1:
	mov	x28, x15
	str	x0, [sp, #56]                   ; 8-byte Folded Spill
	str	x13, [sp, #40]                  ; 8-byte Folded Spill
	ldr	x8, [x29, #96]
	lsl	w9, w22, #3
	lsl	w10, w3, #3
Lloh0:
	adrp	x20, _dm_horz@GOTPAGE
Lloh1:
	ldr	x20, [x20, _dm_horz@GOTPAGEOFF]
	ldr	w11, [x20]
	cmp	w11, w7
	csel	w21, w9, w10, eq
	csel	w26, w10, w9, eq
	str	w21, [x8]
	mov	x27, x12
	ucvtf	d0, w12
	fmov	d8, #-1.00000000
	fadd	d0, d0, d8
	mov	x0, x26
	mov	x25, x7
	bl	_dml_ceil
	mov	x9, x25
	add	w8, w0, w26
	mul	w8, w8, w21
	mul	w8, w8, w23
	ucvtf	d0, w8
	mov	x8, #4571153621781053440
	fmov	d1, x8
	fmul	d0, d0, d1
	fcvtzu	w8, d0
	str	w8, [x19]
	ldr	w8, [x20]
	cmp	w8, w25
	b.ne	LBB0_4
; %bb.2:
	ldr	w8, [sp, #72]                   ; 4-byte Folded Reload
	sub	w8, w8, #1
	ucvtf	d0, w8
	b	LBB0_5
LBB0_3:
	mov	w9, #0
	mov	w10, #0
	str	wzr, [x19]
	b	LBB0_8
LBB0_4:
	ldr	w8, [sp, #72]                   ; 4-byte Folded Reload
	ucvtf	d0, w8
	fadd	d0, d0, d8
LBB0_5:
	lsl	w26, w22, #6
	mov	x0, x26
	bl	_dml_ceil
	add	w8, w0, w26
	mov	x15, x28
	cmp	w28, #1
	b.ne	LBB0_7
; %bb.6:
	ldr	w9, [x29, #48]
	mul	w9, w9, w23
	mul	w8, w9, w8
	lsr	w8, w8, #8
	ldr	w9, [sp, #68]                   ; 4-byte Folded Reload
	sub	w8, w8, w9
	ucvtf	d0, w8
	lsl	w8, w9, #3
	ucvtf	d1, w8
	fdiv	d0, d0, d1
	mov	w0, #1
	bl	_dml_ceil
	mov	x15, x28
	lsl	w8, w0, #6
	add	w9, w8, #64
	ldr	x0, [sp, #56]                   ; 8-byte Folded Reload
	ldr	w8, [x0]
	lsl	w8, w8, #7
	sub	w10, w8, #128
	mov	x12, x27
	mov	x7, x25
	ldr	x13, [sp, #40]                  ; 8-byte Folded Reload
	b	LBB0_8
LBB0_7:
	mov	w9, #0
	mov	w10, #0
	mov	x12, x27
	mov	x7, x25
	ldr	x13, [sp, #40]                  ; 8-byte Folded Reload
	ldr	x0, [sp, #56]                   ; 8-byte Folded Reload
LBB0_8:
	mov	w21, #0
	ldp	x14, x11, [x29, #72]
Lloh2:
	adrp	x16, _dm_sw_linear@GOTPAGE
Lloh3:
	ldr	x16, [x16, _dm_sw_linear@GOTPAGEOFF]
	ldr	w8, [x16]
	mov	w20, #256
	cmp	w8, w24
	b.eq	LBB0_24
; %bb.9:
Lloh4:
	adrp	x8, _dm_sw_gfx7_2d_thin_gl@GOTPAGE
Lloh5:
	ldr	x8, [x8, _dm_sw_gfx7_2d_thin_gl@GOTPAGEOFF]
Lloh6:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_24
; %bb.10:
Lloh7:
	adrp	x8, _dm_sw_gfx7_2d_thin_lvp@GOTPAGE
Lloh8:
	ldr	x8, [x8, _dm_sw_gfx7_2d_thin_lvp@GOTPAGEOFF]
Lloh9:
	ldr	w8, [x8]
	mov	x17, x21
	mov	x26, x22
	cmp	w8, w24
	b.eq	LBB0_27
; %bb.11:
Lloh10:
	adrp	x8, _dm_sw_4kb_s@GOTPAGE
Lloh11:
	ldr	x8, [x8, _dm_sw_4kb_s@GOTPAGEOFF]
Lloh12:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_23
; %bb.12:
Lloh13:
	adrp	x8, _dm_sw_4kb_s_x@GOTPAGE
Lloh14:
	ldr	x8, [x8, _dm_sw_4kb_s_x@GOTPAGEOFF]
Lloh15:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_23
; %bb.13:
Lloh16:
	adrp	x8, _dm_sw_4kb_d@GOTPAGE
Lloh17:
	ldr	x8, [x8, _dm_sw_4kb_d@GOTPAGEOFF]
Lloh18:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_23
; %bb.14:
Lloh19:
	adrp	x8, _dm_sw_4kb_d_x@GOTPAGE
Lloh20:
	ldr	x8, [x8, _dm_sw_4kb_d_x@GOTPAGEOFF]
Lloh21:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_23
; %bb.15:
Lloh22:
	adrp	x8, _dm_sw_64kb_s@GOTPAGE
Lloh23:
	ldr	x8, [x8, _dm_sw_64kb_s@GOTPAGEOFF]
Lloh24:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.16:
Lloh25:
	adrp	x8, _dm_sw_64kb_s_t@GOTPAGE
Lloh26:
	ldr	x8, [x8, _dm_sw_64kb_s_t@GOTPAGEOFF]
Lloh27:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.17:
Lloh28:
	adrp	x8, _dm_sw_64kb_s_x@GOTPAGE
Lloh29:
	ldr	x8, [x8, _dm_sw_64kb_s_x@GOTPAGEOFF]
Lloh30:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.18:
Lloh31:
	adrp	x8, _dm_sw_64kb_d@GOTPAGE
Lloh32:
	ldr	x8, [x8, _dm_sw_64kb_d@GOTPAGEOFF]
Lloh33:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.19:
Lloh34:
	adrp	x8, _dm_sw_64kb_d_t@GOTPAGE
Lloh35:
	ldr	x8, [x8, _dm_sw_64kb_d_t@GOTPAGEOFF]
Lloh36:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.20:
Lloh37:
	adrp	x8, _dm_sw_64kb_d_x@GOTPAGE
Lloh38:
	ldr	x8, [x8, _dm_sw_64kb_d_x@GOTPAGEOFF]
Lloh39:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.21:
Lloh40:
	adrp	x8, _dm_sw_64kb_r_x@GOTPAGE
Lloh41:
	ldr	x8, [x8, _dm_sw_64kb_r_x@GOTPAGEOFF]
Lloh42:
	ldr	w8, [x8]
	cmp	w8, w24
	b.eq	LBB0_25
; %bb.22:
	mov	w21, #0
	lsl	w26, w22, #5
	mov	w20, #262144
	b	LBB0_26
LBB0_23:
	mov	w17, #0
	lsl	w26, w22, #2
	mov	w20, #4096
	mov	w21, #1
	b	LBB0_27
LBB0_24:
	mov	x17, x21
	mov	x26, x22
	b	LBB0_27
LBB0_25:
	mov	w21, #0
	lsl	w26, w22, #4
	mov	w20, #65536
LBB0_26:
	mov	w17, #1
LBB0_27:
	udiv	w8, w20, w23
	udiv	w8, w8, w26
	str	w8, [x13]
	cmp	w15, #1
	b.ne	LBB0_30
; %bb.28:
	ldr	x19, [x29, #88]
	ldr	w27, [x29, #44]
	ldr	w8, [x0]
	cmp	w8, #2
	stp	w10, w9, [sp, #36]              ; 8-byte Folded Spill
	stp	x14, x11, [sp, #16]             ; 16-byte Folded Spill
	stp	w22, w12, [sp, #8]              ; 8-byte Folded Spill
	b.lt	LBB0_31
; %bb.29:
Lloh43:
	adrp	x8, _dm_horz@GOTPAGE
Lloh44:
	ldr	x8, [x8, _dm_horz@GOTPAGEOFF]
Lloh45:
	ldr	w8, [x8]
	ucvtf	d0, w12
	fmov	d1, #-1.00000000
	fadd	d0, d0, d1
	ldr	w9, [sp, #72]                   ; 4-byte Folded Reload
	sub	w9, w9, #1
	ucvtf	d1, w9
	cmp	w8, w7
	fcsel	d0, d1, d0, eq
	str	x19, [sp, #72]                  ; 8-byte Folded Spill
	str	x0, [sp, #56]                   ; 8-byte Folded Spill
	mov	x0, x26
	mov	x25, x7
	mov	x28, x13
	mov	x19, x17
	bl	_dml_ceil
	add	w8, w0, w26
	mov	x22, x23
	mul	w9, w27, w23
	neg	w10, w20
	madd	w8, w9, w8, w10
	lsr	w8, w8, #24
	ucvtf	d0, w8
	mov	w0, #1
	bl	_dml_ceil
	mov	x17, x19
Lloh46:
	adrp	x16, _dm_sw_linear@GOTPAGE
Lloh47:
	ldr	x16, [x16, _dm_sw_linear@GOTPAGEOFF]
	mov	x13, x28
	mov	x7, x25
	lsl	w8, w0, #6
	add	w20, w8, #64
	ldr	x8, [sp, #56]                   ; 8-byte Folded Reload
	ldr	w8, [x8]
	ldr	x19, [sp, #72]                  ; 8-byte Folded Reload
	lsl	w8, w8, #7
	sub	w25, w8, #256
	b	LBB0_32
LBB0_30:
	mov	w25, #0
	mov	w20, #0
	str	wzr, [x14]
	mov	w8, #1
	b	LBB0_43
LBB0_31:
	mov	x22, x23
	mov	w20, #0
	mov	w25, #0
LBB0_32:
	ldr	w28, [x29, #36]
	ldr	w8, [x16]
	cmp	w8, w24
	b.ne	LBB0_34
; %bb.33:
	ldr	w8, [sp, #68]                   ; 4-byte Folded Reload
	ucvtf	d0, w8
	fmov	d1, #8.00000000
	ucvtf	d2, w22
	fmul	d0, d0, d1
	fdiv	d0, d0, d2
	fcvtzu	w8, d0
Lloh48:
	adrp	x9, _dm_420_8@GOTPAGE
Lloh49:
	ldr	x9, [x9, _dm_420_8@GOTPAGEOFF]
	ldr	w10, [x29, #40]
Lloh50:
	ldr	w9, [x9]
	ldr	w11, [sp, #52]                  ; 4-byte Folded Reload
	cmp	w9, w11
Lloh51:
	adrp	x9, _dm_420_10@GOTPAGE
Lloh52:
	ldr	x9, [x9, _dm_420_10@GOTPAGEOFF]
Lloh53:
	ldr	w9, [x9]
	ccmp	w9, w11, #4, ne
	cset	w9, eq
	ucvtf	d0, w28
	ucvtf	d8, w8
	lsr	w8, w10, w9
	fmul	d0, d0, d8
	fcvtzu	w0, d0
	ucvtf	d0, w8
	mov	x8, #4679240012837945344
	fmov	d1, x8
	fmul	d0, d0, d1
	fdiv	d0, d0, d2
	fcvtzu	w1, d0
	bl	_dml_min
	udiv	w0, w0, w27
	bl	_dml_log2
	mov	w21, #1
	mov	w1, #1
	bl	_dml_floor
	lsl	w1, w21, w0
	mov	w0, #128
	bl	_dml_min
	str	w0, [x19]
	mul	w8, w0, w27
	sub	w8, w8, #1
	ucvtf	d0, w8
	mov	w19, #64
	b	LBB0_42
LBB0_34:
	cbz	w21, LBB0_36
; %bb.35:
	mov	x21, x19
	b	LBB0_38
LBB0_36:
	mov	x21, x19
	ldr	w8, [sp, #68]                   ; 4-byte Folded Reload
	cmp	w8, #1, lsl #12                 ; =4096
	cset	w8, ne
	eor	w9, w17, #0x1
	orr	w8, w8, w9
	tbnz	w8, #0, LBB0_38
; %bb.37:
	ldr	w8, [sp, #8]                    ; 4-byte Folded Reload
	lsl	w26, w8, #4
	ldr	w8, [sp, #48]                   ; 4-byte Folded Reload
	lsl	w0, w8, #4
	mov	w19, #128
	b	LBB0_39
LBB0_38:
	ldr	w8, [x13]
	lsl	w0, w8, #3
	mov	w19, #64
LBB0_39:
Lloh54:
	adrp	x8, _dm_horz@GOTPAGE
Lloh55:
	ldr	x8, [x8, _dm_horz@GOTPAGEOFF]
Lloh56:
	ldr	w8, [x8]
	cmp	w8, w7
	b.ne	LBB0_41
; %bb.40:
	str	w26, [x21]
	ldr	w8, [sp, #12]                   ; 4-byte Folded Reload
	ucvtf	d0, w8
	fmov	d1, #-1.00000000
	fadd	d0, d0, d1
	ucvtf	d8, w0
	b	LBB0_42
LBB0_41:
	ldr	w1, [x13]
	bl	_dml_min
	str	w0, [x21]
	ldr	w8, [sp, #12]                   ; 4-byte Folded Reload
	ucvtf	d0, w8
	fmov	d1, #-1.00000000
	fadd	d0, d0, d1
	ucvtf	d8, w26
LBB0_42:
	fdiv	d0, d0, d8
	mov	w0, #1
	bl	_dml_ceil
	madd	w8, w19, w0, w19
	ldp	x9, x11, [sp, #16]              ; 16-byte Folded Reload
	str	w8, [x9]
	cmp	w8, w28, lsl #6
	cset	w8, ls
	ldp	w10, w9, [sp, #36]              ; 8-byte Folded Reload
LBB0_43:
	str	w8, [x11]
	add	w8, w10, w9
	add	w8, w8, w25
	add	w0, w8, w20
	ldp	x29, x30, [sp, #176]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #160]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #144]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #128]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #112]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #96]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #80]               ; 16-byte Folded Reload
	add	sp, sp, #192
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.cfi_endproc
                                        ; -- End function
	.comm	_dm_horz,4,2                    ; @dm_horz
	.comm	_dm_sw_linear,4,2               ; @dm_sw_linear
	.comm	_dm_sw_gfx7_2d_thin_gl,4,2      ; @dm_sw_gfx7_2d_thin_gl
	.comm	_dm_sw_gfx7_2d_thin_lvp,4,2     ; @dm_sw_gfx7_2d_thin_lvp
	.comm	_dm_sw_4kb_s,4,2                ; @dm_sw_4kb_s
	.comm	_dm_sw_4kb_s_x,4,2              ; @dm_sw_4kb_s_x
	.comm	_dm_sw_4kb_d,4,2                ; @dm_sw_4kb_d
	.comm	_dm_sw_4kb_d_x,4,2              ; @dm_sw_4kb_d_x
	.comm	_dm_sw_64kb_s,4,2               ; @dm_sw_64kb_s
	.comm	_dm_sw_64kb_s_t,4,2             ; @dm_sw_64kb_s_t
	.comm	_dm_sw_64kb_s_x,4,2             ; @dm_sw_64kb_s_x
	.comm	_dm_sw_64kb_d,4,2               ; @dm_sw_64kb_d
	.comm	_dm_sw_64kb_d_t,4,2             ; @dm_sw_64kb_d_t
	.comm	_dm_sw_64kb_d_x,4,2             ; @dm_sw_64kb_d_x
	.comm	_dm_sw_64kb_r_x,4,2             ; @dm_sw_64kb_r_x
	.comm	_dm_420_8,4,2                   ; @dm_420_8
	.comm	_dm_420_10,4,2                  ; @dm_420_10
	.no_dead_strip	_CalculateVMAndRowBytes
.subsections_via_symbols
