	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function d3drm_matrix_multiply_affine
_d3drm_matrix_multiply_affine:          ## @d3drm_matrix_multiply_affine
	.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
	movq	%rdx, %r8
	movq	%rsi, %rbx
	movq	%rdi, -96(%rbp)                 ## 8-byte Spill
	movl	16(%rdx), %r9d
	movl	(%rdx), %edi
	movl	%edi, -76(%rbp)                 ## 4-byte Spill
	movl	4(%rdx), %edx
	movl	%edx, -72(%rbp)                 ## 4-byte Spill
	movl	20(%r8), %esi
	movl	%esi, -68(%rbp)                 ## 4-byte Spill
	movq	8(%r8), %rcx
	movl	48(%rbx), %r10d
	movl	%r10d, %eax
	imull	%edi, %eax
	movl	52(%rbx), %r13d
	movl	%r13d, %r11d
	movq	%rcx, -64(%rbp)                 ## 8-byte Spill
	imull	%ecx, %r11d
	addl	%eax, %r11d
	movl	56(%rbx), %r12d
	movl	%r12d, %eax
	imull	%r9d, %eax
	addl	%r11d, %eax
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movl	%r10d, %r11d
	imull	%edx, %r11d
	movl	%r13d, %r15d
	imull	%esi, %r15d
	addl	%r11d, %r15d
	movl	24(%r8), %r11d
	movl	%r12d, %eax
	imull	%r11d, %eax
	addl	%r15d, %eax
	movl	%eax, -44(%rbp)                 ## 4-byte Spill
	movq	%rcx, %rax
	shrq	$32, %rax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	imull	%eax, %r10d
	movl	28(%r8), %eax
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	imull	%eax, %r13d
	movd	%r9d, %xmm0
	movl	32(%r8), %edx
	pinsrd	$1, %edx, %xmm0
	pinsrd	$2, %r9d, %xmm0
	addl	%r10d, %r13d
	movl	12(%rbx), %ecx
	imull	%ecx, %r9d
	movl	32(%rbx), %r14d
	movl	%r14d, %r15d
	imull	%r11d, %r15d
	pinsrd	$3, %r11d, %xmm0
	imull	%ecx, %r11d
	movl	28(%rbx), %esi
	movd	%esi, %xmm1
	pinsrd	$1, %ecx, %xmm1
	pinsrd	$2, %r14d, %xmm1
	pinsrd	$3, %esi, %xmm1
	imull	%edx, %esi
	imull	%edx, %r14d
	movl	%r12d, %ecx
	imull	%edx, %ecx
	addl	%r13d, %ecx
	movl	-48(%rbp), %eax                 ## 4-byte Reload
	addl	48(%r8), %eax
	movl	%eax, -48(%rbp)                 ## 4-byte Spill
	movl	-44(%rbp), %r12d                ## 4-byte Reload
	addl	52(%r8), %r12d
	addl	56(%r8), %ecx
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movq	%rdi, %xmm2
	movl	-76(%rbp), %ecx                 ## 4-byte Reload
	movd	%ecx, %xmm3
	movl	-52(%rbp), %eax                 ## 4-byte Reload
	pinsrd	$1, %eax, %xmm3
	pinsrd	$2, %ecx, %xmm3
	movl	(%rbx), %edx
	imull	%edx, %ecx
	movl	4(%rbx), %r8d
	imull	%r8d, %edi
	addl	%ecx, %edi
	addl	%r9d, %edi
	movq	%rdi, -64(%rbp)                 ## 8-byte Spill
	movl	-72(%rbp), %r10d                ## 4-byte Reload
	movl	%r10d, %ecx
	imull	%edx, %ecx
	movl	-68(%rbp), %r9d                 ## 4-byte Reload
	movl	%r9d, %edi
	imull	%r8d, %edi
	addl	%ecx, %edi
	addl	%r11d, %edi
	movq	16(%rbx), %r13
	movq	%r13, %xmm4
	pshufd	$85, %xmm4, %xmm5               ## xmm5 = xmm4[1,1,1,1]
	pinsrd	$1, %edx, %xmm5
	movl	8(%rbx), %r11d
	movd	%r11d, %xmm6
	movl	24(%rbx), %edx
	pinsrd	$2, %edx, %xmm5
	pinsrd	$3, %r11d, %xmm5
	movq	-88(%rbp), %rbx                 ## 8-byte Reload
	imull	%ebx, %r11d
	movq	%r13, %rcx
	shrq	$32, %rcx
	imull	%eax, %ecx
	addl	%r11d, %ecx
	pinsrd	$1, %r8d, %xmm6
	addl	%esi, %ecx
	pinsrd	$3, %r9d, %xmm3
	pshufd	$196, %xmm2, %xmm2              ## xmm2 = xmm2[0,1,0,3]
	pinsrd	$3, %r10d, %xmm2
	imull	%r13d, %r10d
	imull	%edx, %r9d
	addl	%r10d, %r9d
	addl	%r15d, %r9d
	imull	%ebx, %r13d
	imull	-52(%rbp), %edx                 ## 4-byte Folded Reload
	addl	%r13d, %edx
	addl	%r14d, %edx
	movq	-96(%rbp), %rsi                 ## 8-byte Reload
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movl	%ebx, (%rsi)
	movl	%edi, 4(%rsi)
	punpcklqdq	%xmm4, %xmm6            ## xmm6 = xmm6[0],xmm4[0]
	pmulld	%xmm6, %xmm3
	pmulld	%xmm5, %xmm2
	pmulld	%xmm1, %xmm0
	paddd	%xmm3, %xmm0
	paddd	%xmm2, %xmm0
	movdqu	%xmm0, 8(%rsi)
	movl	%r9d, 24(%rsi)
	movl	%ecx, 28(%rsi)
	movl	%edx, 32(%rsi)
	movq	$0, 36(%rsi)
	movl	$0, 44(%rsi)
	movl	-48(%rbp), %eax                 ## 4-byte Reload
	movl	%eax, 48(%rsi)
	movl	%r12d, 52(%rsi)
	movl	-44(%rbp), %eax                 ## 4-byte Reload
	movl	%eax, 56(%rsi)
	movl	$1065353216, 60(%rsi)           ## imm = 0x3F800000
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_d3drm_matrix_multiply_affine
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function d3drm_matrix_multiply_affine
_d3drm_matrix_multiply_affine:          ; @d3drm_matrix_multiply_affine
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	.cfi_offset w21, -24
	.cfi_offset w22, -32
	.cfi_offset w23, -40
	.cfi_offset w24, -48
	ldp	w9, w10, [x1]
	ldp	w11, w12, [x2]
	mul	w13, w11, w9
	ldp	w14, w8, [x2, #8]
	madd	w13, w14, w10, w13
	ldp	w15, w16, [x2, #16]
	ldp	w3, w17, [x1, #8]
	madd	w13, w15, w17, w13
	mul	w4, w12, w9
	madd	w4, w16, w10, w4
	ldp	w5, w6, [x2, #24]
	madd	w4, w5, w17, w4
	mul	w9, w8, w9
	madd	w9, w6, w10, w9
	ldr	w10, [x2, #32]
	madd	w9, w10, w17, w9
	mul	w17, w3, w11
	ldp	w19, w7, [x1, #16]
	madd	w17, w7, w14, w17
	ldp	w21, w20, [x1, #24]
	madd	w17, w20, w15, w17
	mul	w22, w3, w12
	madd	w22, w7, w16, w22
	madd	w22, w20, w5, w22
	mul	w3, w3, w8
	madd	w3, w7, w6, w3
	madd	w3, w20, w10, w3
	mul	w7, w19, w11
	madd	w7, w21, w14, w7
	ldr	w20, [x1, #32]
	madd	w7, w20, w15, w7
	ldp	w23, w24, [x1, #48]
	mul	w11, w23, w11
	madd	w11, w24, w14, w11
	ldr	w14, [x1, #56]
	madd	w11, w14, w15, w11
	ldp	w15, w1, [x2, #48]
	add	w11, w11, w15
	mul	w15, w23, w12
	madd	w15, w24, w16, w15
	madd	w15, w14, w5, w15
	add	w15, w15, w1
	ldr	w1, [x2, #56]
	mul	w12, w19, w12
	madd	w12, w21, w16, w12
	stp	w13, w4, [x0]
	stp	w17, w9, [x0, #8]
	madd	w9, w20, w5, w12
	mul	w12, w19, w8
	stp	w7, w22, [x0, #16]
	stp	w9, w3, [x0, #24]
	madd	w9, w21, w6, w12
	madd	w9, w20, w10, w9
	stp	w9, wzr, [x0, #32]
	str	xzr, [x0, #40]
	mul	w8, w23, w8
	madd	w8, w24, w6, w8
	madd	w8, w14, w10, w8
	add	w8, w8, w1
	stp	w11, w15, [x0, #48]
	mov	w9, #1065353216
	stp	w8, w9, [x0, #56]
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #48             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_d3drm_matrix_multiply_affine
.subsections_via_symbols
