From: <enl...@li...> - 2006-02-23 06:56:21
|
Enlightenment CVS committal Author : raster Project : e17 Module : proto Dir : e17/proto/gfx_routines Modified Files: mmx.h Log Message: oops - screws up sse2 copy - seems 64dwords (256 byte at a time) copies dont work... hmm. back to 128bytes at a time (still slower than plain sse) =================================================================== RCS file: /cvsroot/enlightenment/e17/proto/gfx_routines/mmx.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- mmx.h 23 Feb 2006 06:36:20 -0000 1.3 +++ mmx.h 23 Feb 2006 06:56:13 -0000 1.4 @@ -565,82 +565,6 @@ : "q" (dst), "r" (src) \ : "memory", "st"); -#define MOVE_64DWORDS_SSE2(src,dst) \ - __asm__ ( \ - "movdqu (%1), %%xmm0 \n" \ - "movdqu 0x10(%1), %%xmm1 \n" \ - "movdqu 0x20(%1), %%xmm2 \n" \ - "movdqu 0x30(%1), %%xmm3 \n" \ - "movdqu 0x40(%1), %%xmm4 \n" \ - "movdqu 0x50(%1), %%xmm5 \n" \ - "movdqu 0x60(%1), %%xmm6 \n" \ - "movdqu 0x70(%1), %%xmm7 \n" \ - "movdqu 0x80(%1), %%xmm8 \n" \ - "movdqu 0x90(%1), %%xmm9 \n" \ - "movdqu 0x100(%1), %%xmm10 \n" \ - "movdqu 0x110(%1), %%xmm11 \n" \ - "movdqu 0x120(%1), %%xmm12 \n" \ - "movdqu 0x130(%1), %%xmm13 \n" \ - "movdqu 0x140(%1), %%xmm14 \n" \ - "movdqu 0x150(%1), %%xmm15 \n" \ - "movntdq %%xmm0, (%0) \n" \ - "movntdq %%xmm1, 0x10(%0) \n" \ - "movntdq %%xmm2, 0x20(%0) \n" \ - "movntdq %%xmm3, 0x30(%0) \n" \ - "movntdq %%xmm4, 0x40(%0) \n" \ - "movntdq %%xmm5, 0x50(%0) \n" \ - "movntdq %%xmm6, 0x60(%0) \n" \ - "movntdq %%xmm7, 0x70(%0) \n" \ - "movntdq %%xmm8, 0x80(%0) \n" \ - "movntdq %%xmm9, 0x90(%0) \n" \ - "movntdq %%xmm10, 0x100(%0) \n" \ - "movntdq %%xmm11, 0x110(%0) \n" \ - "movntdq %%xmm12, 0x120(%0) \n" \ - "movntdq %%xmm13, 0x130(%0) \n" \ - "movntdq %%xmm14, 0x140(%0) \n" \ - "movntdq %%xmm15, 0x150(%0) \n" \ - : \ - : "q" (dst), "r" (src) \ - : "memory", "st"); - -#define MOVE_64DWORDS_ALIGNED_SSE2(src,dst) \ - __asm__ ( \ - "movdqa (%1), %%xmm0 \n" \ - "movdqa 0x10(%1), %%xmm1 \n" \ - "movdqa 0x20(%1), %%xmm2 \n" \ - "movdqa 0x30(%1), %%xmm3 \n" \ - "movdqa 0x40(%1), %%xmm4 \n" \ - "movdqa 0x50(%1), %%xmm5 \n" \ - "movdqa 0x60(%1), %%xmm6 \n" \ - "movdqa 0x70(%1), %%xmm7 \n" \ - "movdqa 0x80(%1), %%xmm8 \n" \ - "movdqa 0x90(%1), %%xmm9 \n" \ - "movdqa 0x100(%1), %%xmm10 \n" \ - "movdqa 0x110(%1), %%xmm11 \n" \ - "movdqa 0x120(%1), %%xmm12 \n" \ - "movdqa 0x130(%1), %%xmm13 \n" \ - "movdqa 0x140(%1), %%xmm14 \n" \ - "movdqa 0x150(%1), %%xmm15 \n" \ - "movntdq %%xmm0, (%0) \n" \ - "movntdq %%xmm1, 0x10(%0) \n" \ - "movntdq %%xmm2, 0x20(%0) \n" \ - "movntdq %%xmm3, 0x30(%0) \n" \ - "movntdq %%xmm4, 0x40(%0) \n" \ - "movntdq %%xmm5, 0x50(%0) \n" \ - "movntdq %%xmm6, 0x60(%0) \n" \ - "movntdq %%xmm7, 0x70(%0) \n" \ - "movntdq %%xmm8, 0x80(%0) \n" \ - "movntdq %%xmm9, 0x90(%0) \n" \ - "movntdq %%xmm10, 0x100(%0) \n" \ - "movntdq %%xmm11, 0x110(%0) \n" \ - "movntdq %%xmm12, 0x120(%0) \n" \ - "movntdq %%xmm13, 0x130(%0) \n" \ - "movntdq %%xmm14, 0x140(%0) \n" \ - "movntdq %%xmm15, 0x150(%0) \n" \ - : \ - : "q" (dst), "r" (src) \ - : "memory", "st"); - /* Empty MMx State (used to clean-up when going from mmx to float use of the registers that are shared by both; note that |