	.file	"add.c"
	.intel_syntax noprefix
	.text
	.p2align 4,,15
	.globl	VADD
	.def	VADD;	.scl	2;	.type	32;	.endef
	.seh_proc	VADD
VADD:
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.cf_co[rip]
	movdqa	xmm1, XMMWORD PTR [rdx]
	movdqa	xmm2, XMMWORD PTR [rcx]
	mov	rdx, QWORD PTR .refptr.VACC[rip]
	movdqa	xmm0, xmm1
	paddw	xmm0, xmm2
	paddw	xmm0, XMMWORD PTR [rax]
	movaps	XMMWORD PTR 16[rsp], xmm1
	movaps	XMMWORD PTR [rsp], xmm2
	movaps	XMMWORD PTR 32[rdx], xmm0
	mov	rdx, QWORD PTR .refptr.cf_ne[rip]
	movdqa	xmm0, xmm1
	pminsw	xmm1, xmm2
	paddsw	xmm1, XMMWORD PTR [rax]
	pmaxsw	xmm0, xmm2
	paddsw	xmm0, xmm1
	pxor	xmm1, xmm1
	movaps	XMMWORD PTR [rax], xmm1
	movaps	XMMWORD PTR [rdx], xmm1
	add	rsp, 40
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	VSUB
	.def	VSUB;	.scl	2;	.type	32;	.endef
	.seh_proc	VSUB
VSUB:
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.cf_co[rip]
	movdqa	xmm2, XMMWORD PTR [rcx]
	movdqa	xmm3, XMMWORD PTR [rdx]
	mov	rdx, QWORD PTR .refptr.VACC[rip]
	movdqa	xmm0, xmm2
	movdqa	xmm5, xmm2
	psubw	xmm0, xmm3
	movdqa	xmm4, XMMWORD PTR [rax]
	psubw	xmm0, XMMWORD PTR [rax]
	movaps	XMMWORD PTR [rsp], xmm2
	movaps	XMMWORD PTR 16[rsp], xmm3
	movaps	XMMWORD PTR 32[rdx], xmm0
	movdqa	xmm0, xmm2
	mov	rdx, QWORD PTR .refptr.cf_ne[rip]
	psubw	xmm2, xmm3
	psubsw	xmm0, xmm3
	movdqa	xmm1, xmm0
	paddw	xmm1, xmm4
	pxor	xmm1, xmm0
	pand	xmm1, xmm3
	pandn	xmm5, xmm1
	movdqa	xmm1, xmm5
	pand	xmm1, xmm2
	psrlw	xmm1, 15
	pandn	xmm1, xmm4
	psubsw	xmm0, xmm1
	pxor	xmm1, xmm1
	movaps	XMMWORD PTR [rdx], xmm1
	movaps	XMMWORD PTR [rax], xmm1
	add	rsp, 40
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	VABS
	.def	VABS;	.scl	2;	.type	32;	.endef
	.seh_proc	VABS
VABS:
	sub	rsp, 56
	.seh_stackalloc	56
	.seh_endprologue
	pxor	xmm3, xmm3
	mov	rax, QWORD PTR .refptr.VACC[rip]
	movdqa	xmm2, XMMWORD PTR [rcx]
	movdqa	xmm1, XMMWORD PTR [rdx]
	movdqa	xmm0, xmm2
	pcmpgtw	xmm2, xmm3
	psraw	xmm0, 15
	psubw	xmm0, xmm2
	pmullw	xmm0, xmm1
	pcmpeqw	xmm1, XMMWORD PTR .LC0[rip]
	paddw	xmm0, xmm1
	movaps	XMMWORD PTR 32[rax], xmm0
	add	rsp, 56
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	VADDC
	.def	VADDC;	.scl	2;	.type	32;	.endef
	.seh_proc	VADDC
VADDC:
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.VACC[rip]
	pxor	xmm2, xmm2
	pxor	xmm4, xmm4
	movdqa	xmm3, XMMWORD PTR [rdx]
	movdqa	xmm1, XMMWORD PTR [rcx]
	movdqa	xmm0, xmm3
	movdqa	xmm5, xmm3
	paddw	xmm0, xmm1
	punpcklwd	xmm5, xmm4
	movaps	XMMWORD PTR 32[rax], xmm0
	movdqa	xmm0, XMMWORD PTR 32[rax]
	mov	rax, QWORD PTR .refptr.cf_ne[rip]
	movaps	XMMWORD PTR [rsp], xmm1
	movaps	XMMWORD PTR 16[rsp], xmm3
	punpckhwd	xmm3, xmm4
	movaps	XMMWORD PTR [rax], xmm2
	mov	rax, QWORD PTR .refptr.cf_co[rip]
	movdqa	xmm2, xmm1
	punpckhwd	xmm1, xmm4
	punpcklwd	xmm2, xmm4
	paddd	xmm1, xmm3
	paddd	xmm2, xmm5
	psrad	xmm2, 16
	pshufb	xmm2, XMMWORD PTR .LC1[rip]
	psrad	xmm1, 16
	pshufb	xmm1, XMMWORD PTR .LC2[rip]
	por	xmm1, xmm2
	movaps	XMMWORD PTR [rax], xmm1
	add	rsp, 40
	ret
	.seh_endproc
	.p2align 4,,15
	.globl	VSUBC
	.def	VSUBC;	.scl	2;	.type	32;	.endef
	.seh_proc	VSUBC
VSUBC:
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.VACC[rip]
	pxor	xmm3, xmm3
	movdqa	xmm0, XMMWORD PTR [rcx]
	movdqa	xmm2, XMMWORD PTR [rdx]
	mov	rdx, QWORD PTR .refptr.cf_ne[rip]
	movdqa	xmm1, xmm0
	psubw	xmm1, xmm2
	movdqa	xmm4, xmm2
	movaps	XMMWORD PTR 32[rax], xmm1
	movdqa	xmm1, xmm0
	punpcklwd	xmm4, xmm3
	pcmpeqw	xmm1, xmm2
	pandn	xmm1, XMMWORD PTR .LC3[rip]
	movaps	XMMWORD PTR [rsp], xmm0
	movaps	XMMWORD PTR [rdx], xmm1
	mov	rdx, QWORD PTR .refptr.cf_co[rip]
	movdqa	xmm1, xmm0
	punpckhwd	xmm0, xmm3
	movaps	XMMWORD PTR 16[rsp], xmm2
	punpcklwd	xmm1, xmm3
	punpckhwd	xmm2, xmm3
	psubd	xmm1, xmm4
	psubd	xmm0, xmm2
	psrld	xmm1, 31
	pshufb	xmm1, XMMWORD PTR .LC1[rip]
	psrld	xmm0, 31
	pshufb	xmm0, XMMWORD PTR .LC2[rip]
	por	xmm0, xmm1
	movaps	XMMWORD PTR [rdx], xmm0
	movdqa	xmm0, XMMWORD PTR 32[rax]
	add	rsp, 40
	ret
	.seh_endproc
	.section .rdata,"dr"
.LC4:
	.ascii "VSAW\12Illegal mask.\0"
	.text
	.p2align 4,,15
	.globl	VSAW
	.def	VSAW;	.scl	2;	.type	32;	.endef
	.seh_proc	VSAW
VSAW:
	sub	rsp, 40
	.seh_stackalloc	40
	.seh_endprologue
	mov	rax, QWORD PTR .refptr.inst_word[rip]
	mov	eax, DWORD PTR [rax]
	shr	eax, 21
	and	eax, 15
	xor	eax, 8
	cmp	eax, 2
	ja	.L10
	mov	rdx, QWORD PTR .refptr.VACC[rip]
	sal	rax, 4
	movdqa	xmm0, XMMWORD PTR [rax+rdx]
	add	rsp, 40
	ret
	.p2align 4,,10
.L10:
	lea	rcx, .LC4[rip]
	call	message
	pxor	xmm0, xmm0
	add	rsp, 40
	ret
	.seh_endproc
	.section .rdata,"dr"
	.align 16
.LC0:
	.word	-32768
	.word	-32768
	.word	-32768
	.word	-32768
	.word	-32768
	.word	-32768
	.word	-32768
	.word	-32768
	.align 16
.LC1:
	.byte	0
	.byte	1
	.byte	4
	.byte	5
	.byte	8
	.byte	9
	.byte	12
	.byte	13
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.align 16
.LC2:
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	-128
	.byte	0
	.byte	1
	.byte	4
	.byte	5
	.byte	8
	.byte	9
	.byte	12
	.byte	13
	.align 16
.LC3:
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.word	1
	.ident	"GCC: (Rev1, Built by MSYS2 project) 7.3.0"
	.def	message;	.scl	2;	.type	32;	.endef
	.section	.rdata$.refptr.inst_word, "dr"
	.globl	.refptr.inst_word
	.linkonce	discard
.refptr.inst_word:
	.quad	inst_word
	.section	.rdata$.refptr.cf_ne, "dr"
	.globl	.refptr.cf_ne
	.linkonce	discard
.refptr.cf_ne:
	.quad	cf_ne
	.section	.rdata$.refptr.cf_co, "dr"
	.globl	.refptr.cf_co
	.linkonce	discard
.refptr.cf_co:
	.quad	cf_co
	.section	.rdata$.refptr.VACC, "dr"
	.globl	.refptr.VACC
	.linkonce	discard
.refptr.VACC:
	.quad	VACC
