summaryrefslogtreecommitdiff
path: root/test-suite/standalone/sassy/tests/mmx.asm
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/standalone/sassy/tests/mmx.asm')
-rw-r--r--test-suite/standalone/sassy/tests/mmx.asm65
1 files changed, 65 insertions, 0 deletions
diff --git a/test-suite/standalone/sassy/tests/mmx.asm b/test-suite/standalone/sassy/tests/mmx.asm
new file mode 100644
index 000000000..61e854c46
--- /dev/null
+++ b/test-suite/standalone/sassy/tests/mmx.asm
@@ -0,0 +1,65 @@
+BITS 32
+section .text
+foo:
+emms
+movd mm1, ebx
+movd mm1, [edx]
+movd ebx, mm1
+movd [edx], mm1
+movd xmm0, ebx
+movd xmm0, [edx]
+movd ebx, xmm0
+movd [edx], xmm0
+movq mm1, mm0
+movq mm1, [edx]
+movq mm0, mm1
+movq [edx], mm1
+movq xmm0, xmm1
+movq xmm0, [edx]
+movq xmm1, xmm0
+movq [edx], xmm0
+pand mm0, mm1
+pandn mm1, [edx]
+por xmm2, xmm3
+pxor xmm4, [ecx]
+packsswb mm0, mm1
+packssdw mm1, [edx]
+packuswb xmm2, xmm3
+punpckhbw xmm4, [ecx]
+punpckhwd mm0, mm1
+punpckhdq mm1, [edx]
+paddb xmm2, xmm3
+paddw xmm4, [ecx]
+paddd mm0, mm1
+paddsb mm1, [edx]
+paddsw xmm2, xmm3
+paddusb xmm4, [ecx]
+paddusw mm0, mm1
+psubb mm1, [edx]
+psubw xmm2, xmm3
+psubd xmm4, [ecx]
+psubsb mm0, mm1
+psubsw mm1, [edx]
+psubusb xmm2, xmm3
+psubusw xmm4, [ecx]
+pmullw mm0, mm1
+pmulhw mm1, [edx]
+pmaddwd xmm2, xmm3
+pcmpeqb xmm4, [ecx]
+pcmpeqw mm0, mm1
+pcmpeqd mm1, [edx]
+pcmpgtb xmm2, xmm3
+pcmpgtw xmm4, [ecx]
+pcmpgtd mm0, mm1
+punpcklbw mm2, mm3
+punpcklwd mm4, [ebx]
+punpckldq xmm5, xmm6
+punpcklbw xmm7, [edx]
+psrlw mm7, mm6
+psrld mm5, [edx]
+psrlq xmm7, xmm6
+psllw xmm5, [edx]
+pslld mm4, 100
+psllq xmm4, 100
+psraw mm7, mm6
+psrad mm5, [edx]