4
;; * Copyright (C) Thomas �streich - November 2002
6
;; * This file is part of transcode, a linux video stream processing tool
8
;; * transcode is free software; you can redistribute it and/or modify
9
;; * it under the terms of the GNU General Public License as published by
10
;; * the Free Software Foundation; either version 2, or (at your option)
11
;; * any later version.
13
;; * transcode is distributed in the hope that it will be useful,
14
;; * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
;; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
;; * GNU General Public License for more details.
18
;; * You should have received a copy of the GNU General Public License
19
;; * along with GNU Make; see the file COPYING. If not, write to
20
;; * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
43
;; int ac_memcpy_mmx(char *dest, char *src, int bytes);
56
mov ebx, [esp+20] ; dest
57
mov eax, [esp+24] ; src
58
mov ecx, [esp+28] ; bytes
108
;; int ac_memcpy_sse(char *dest, char *src, int bytes);
111
cglobal ac_memcpy_sse
121
mov ebx, [esp+20] ; dest
122
mov eax, [esp+24] ; src
123
mov ecx, [esp+28] ; bytes
135
movaps xmm1, [eax+16]
136
movaps xmm2, [eax+32]
137
movaps xmm3, [eax+48]
140
movntps [ebx+16], xmm1
141
movntps [ebx+32], xmm2
142
movntps [ebx+48], xmm3
171
;; int ac_memcpy_sse2(char *dest, char *src, int bytes);
174
cglobal ac_memcpy_sse2
184
mov ebx, [esp+20] ; dest
185
mov eax, [esp+24] ; src
186
mov ecx, [esp+28] ; bytes
198
movdqa xmm1, [eax+16]
199
movdqa xmm2, [eax+32]
200
movdqa xmm3, [eax+48]
203
movntdq [ebx+16], xmm1
204
movntdq [ebx+32], xmm2
205
movntdq [ebx+48], xmm3
b'\\ No newline at end of file'