From http://www.jwz.org/xscreensaver/xscreensaver-5.21.tar.gz
[xscreensaver] / hacks / fireworkx_mmx.S
diff --git a/hacks/fireworkx_mmx.S b/hacks/fireworkx_mmx.S
deleted file mode 100644 (file)
index 039b60a..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Fast MMX blur code for Fireworkx
- * Copyright (c) 1999-2005 Rony B Chandran <ronybc@asia.com>
- *
- * From Kerala, INDIA
- * 
- * url: http://www.ronybc.8k.com
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation.  No representations are made about the suitability of this
- * software for any purpose.  It is provided "as is" without express or 
- * implied warranty.
- *
- */
-.data
-
-.text
-
-.align 8       
-
-.global mmx_blur
-.global mmx_glow
-
-mmx_blur:      /* void mmx_blur( int *palaka,
-                                 int width,
-                                 int height)
-                                 int fade_lvl) */
-       pushl %ebp
-       pushl %edi
-       pushl %esi
-       pushl %ebx
-       
-       movl 32(%esp),%eax
-       imull $0x00010001,%eax
-       movd %eax,%mm0
-       movq %mm0,%mm1
-       psllq $32,%mm0
-       por %mm0,%mm1
-       movq %mm1,40(%esp)
-       
-       movl 20(%esp), %eax
-       movl 24(%esp), %edx
-       shll $2, %edx
-       addl %eax, %edx
-       pxor %mm0,%mm0
-.fline:
-       movq %mm0,(%eax)
-       addl $8,%eax
-       cmp %edx,%eax
-       jbe .fline
-       
-       movl 24(%esp),%eax
-       shll $2,%eax
-       movl %eax,%edi
-       movl 28(%esp),%edi
-       subl $2,%edi
-       imull %eax,%edi
-       
-       movl 20(%esp),%ecx
-       movl %ecx,%ebx
-       addl %eax,%ebx
-       addl %ebx,%eax
-       xorl %esi,%esi
-.align 32
-.renuKa:
-       pxor %mm7,%mm7
-       movq %mm0,%mm6
-       movq %mm1,%mm0
-       paddw %mm1,%mm6
-       movd 8(%esi,%ecx),%mm1
-       punpcklbw %mm7,%mm1
-       paddw %mm1,%mm6
-
-       paddw %mm2,%mm6
-       movq %mm3,%mm2
-       movd 8(%esi,%ebx),%mm3
-       punpcklbw %mm7,%mm3
-       paddw %mm3,%mm6
-
-       paddw %mm4,%mm6
-       movq %mm5,%mm4
-       paddw %mm5,%mm6
-       movd 8(%esi,%eax),%mm5
-       punpcklbw %mm7,%mm5
-       paddw %mm5,%mm6
-       
-       psllw $3,%mm2
-       paddw %mm2,%mm6
-       psrlw $3,%mm2
-       movq 40(%esp),%mm7
-       psubusw %mm7,%mm6 
-       psrlw $4,%mm6
-       
-       packuswb %mm6,%mm6
-       movd %mm6, 4(%esi,%ebx)
-       addl $4,%esi
-       cmp %edi,%esi
-       jbe .renuKa
-       
-       addl %esi,%eax
-       addl %esi,%ebx
-       xorl %ecx,%ecx
-.lline:
-       movl %ecx,(%ebx)
-       addl $4,%ebx
-       cmpl %eax,%ebx
-       jbe .lline
-       
-       emms
-       popl %ebx
-       popl %esi
-       popl %edi
-       popl %ebp
-       ret
-
-/*  Add Glycerine to 
-    Potassium permanganite... (DANGER-FIRE) */
-
-mmx_glow:      /* void mmx_glow( int *palaka1,
-                                 int width,
-                                 int height,
-                                 int fade_lvl,
-                                 int *palaka2)  */
-       pushl %ebp
-       pushl %edi
-       pushl %esi
-       pushl %ebx
-       
-       movl 32(%esp),%eax
-       imull $0x00010001,%eax
-       movd %eax,%mm0
-       movq %mm0,%mm1
-       psllq $32,%mm0
-       por %mm0,%mm1
-       movq %mm1,40(%esp)
-       
-       movl 20(%esp), %eax
-       movl 36(%esp), %ebx
-       movl 24(%esp), %edx
-       shll $2,%edx
-       add %eax, %edx
-       pxor %mm7,%mm7
-.flineGlow:
-       movq %mm7,(%eax)
-       movq %mm7,(%ebx)
-       addl $8,%eax
-       addl $8,%ebx
-       cmp %edx,%eax
-       jbe .flineGlow
-
-       movl 24(%esp),%eax
-       shll $2,%eax
-       movl %eax,%edi
-       movl 28(%esp),%edi
-       subl $2,%edi
-       imull %eax,%edi
-       
-       movl 20(%esp),%ecx
-       movl 36(%esp),%edx
-       movl %ecx,%ebx
-       addl %eax,%edx
-       addl %eax,%ebx
-       addl %ebx,%eax
-       xorl %esi,%esi
-.align 32
-.renuGa:
-       pxor %mm7,%mm7
-       movq %mm0,%mm6
-       movq %mm1,%mm0
-       paddw %mm1,%mm6
-       movd 8(%esi,%ecx),%mm1
-       punpcklbw %mm7,%mm1
-       paddw %mm1,%mm6
-
-       paddw %mm2,%mm6
-       movq %mm3,%mm2
-       movd 8(%esi,%ebx),%mm3
-       punpcklbw %mm7,%mm3
-       paddw %mm3,%mm6
-
-       paddw %mm4,%mm6
-       movq %mm5,%mm4
-       paddw %mm5,%mm6
-       movd 8(%esi,%eax),%mm5
-       punpcklbw %mm7,%mm5
-       paddw %mm5,%mm6
-       
-       psllw $3,%mm2
-       paddw %mm2,%mm6
-       psrlw $3,%mm2
-       movq 40(%esp),%mm7
-       psubusw %mm7,%mm6 
-       movq %mm6,%mm7
-       psrlw $4,%mm6
-       psrlw $3,%mm7
-       
-       packuswb %mm7,%mm7
-       movd %mm7, 4(%esi,%edx)
-       packuswb %mm6,%mm6
-       movd %mm6, 4(%esi,%ebx)
-       addl $4,%esi
-       cmp %edi,%esi
-       jbe .renuGa
-
-       addl %esi,%eax
-       addl %esi,%ebx
-       addl %esi,%edx
-       xorl %ecx,%ecx
-.llineGlow:
-       movl %ecx,(%ebx)
-       movl %ecx,(%edx)
-       addl $4,%ebx
-       addl $4,%edx
-       cmpl %eax,%ebx
-       jbe .llineGlow
-
-       emms
-       popl %ebx
-       popl %esi
-       popl %edi
-       popl %ebp
-       ret