annotate i386/mmx.h @ 5875:5a61e8e2f65c libavcodec

Remove libvorbis Vorbis decoding support. Our native decoder is complete and has no known bugs, any remaining issues will hopefully be uncovered now.
author diego
date Sun, 04 Nov 2007 12:55:32 +0000
parents 1d83e9c34641
children d61c328938e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
1 /*
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
2 * mmx.h
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
3 * Copyright (C) 1997-2001 H. Dietz and R. Fisher
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
15 * Lesser General Public License for more details.
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
16 *
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3699
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 3578
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
20 */
5830
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 3947
diff changeset
21 #ifndef FFMPEG_MMX_H
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 3947
diff changeset
22 #define FFMPEG_MMX_H
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
23
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
24 /*
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
25 * The type of an value that fits in an MMX register (note that long
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
26 * long constant values MUST be suffixed by LL and unsigned long long
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
27 * values by ULL, lest they be truncated by the compiler)
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
28 */
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
29
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
30 typedef union {
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
31 long long q; /* Quadword (64-bit) value */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
32 unsigned long long uq; /* Unsigned Quadword */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
33 int d[2]; /* 2 Doubleword (32-bit) values */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
34 unsigned int ud[2]; /* 2 Unsigned Doubleword */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
35 short w[4]; /* 4 Word (16-bit) values */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
36 unsigned short uw[4]; /* 4 Unsigned Word */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
37 char b[8]; /* 8 Byte (8-bit) values */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
38 unsigned char ub[8]; /* 8 Unsigned Byte */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
39 float s[2]; /* Single-precision (32-bit) value */
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
40 } mmx_t; /* On an 8-byte (64-bit) boundary */
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
41
986e461dc072 Initial revision
glantau
parents:
diff changeset
42
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
43 #define mmx_i2r(op,imm,reg) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
44 __asm__ __volatile__ (#op " %0, %%" #reg \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
45 : /* nothing */ \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
46 : "i" (imm) )
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
47
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
48 #define mmx_m2r(op,mem,reg) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
49 __asm__ __volatile__ (#op " %0, %%" #reg \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
50 : /* nothing */ \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
51 : "m" (mem))
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
52
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
53 #define mmx_r2m(op,reg,mem) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
54 __asm__ __volatile__ (#op " %%" #reg ", %0" \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
55 : "=m" (mem) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
56 : /* nothing */ )
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
57
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
58 #define mmx_r2r(op,regs,regd) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
59 __asm__ __volatile__ (#op " %" #regs ", %" #regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
60
986e461dc072 Initial revision
glantau
parents:
diff changeset
61
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
62 #define emms() __asm__ __volatile__ ("emms")
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
63
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
64 #define movd_m2r(var,reg) mmx_m2r (movd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
65 #define movd_r2m(reg,var) mmx_r2m (movd, reg, var)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
66 #define movd_r2r(regs,regd) mmx_r2r (movd, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
67
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
68 #define movq_m2r(var,reg) mmx_m2r (movq, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
69 #define movq_r2m(reg,var) mmx_r2m (movq, reg, var)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
70 #define movq_r2r(regs,regd) mmx_r2r (movq, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
71
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
72 #define packssdw_m2r(var,reg) mmx_m2r (packssdw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
73 #define packssdw_r2r(regs,regd) mmx_r2r (packssdw, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
74 #define packsswb_m2r(var,reg) mmx_m2r (packsswb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
75 #define packsswb_r2r(regs,regd) mmx_r2r (packsswb, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
76
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
77 #define packuswb_m2r(var,reg) mmx_m2r (packuswb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
78 #define packuswb_r2r(regs,regd) mmx_r2r (packuswb, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
79
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
80 #define paddb_m2r(var,reg) mmx_m2r (paddb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
81 #define paddb_r2r(regs,regd) mmx_r2r (paddb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
82 #define paddd_m2r(var,reg) mmx_m2r (paddd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
83 #define paddd_r2r(regs,regd) mmx_r2r (paddd, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
84 #define paddw_m2r(var,reg) mmx_m2r (paddw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
85 #define paddw_r2r(regs,regd) mmx_r2r (paddw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
86
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
87 #define paddsb_m2r(var,reg) mmx_m2r (paddsb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
88 #define paddsb_r2r(regs,regd) mmx_r2r (paddsb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
89 #define paddsw_m2r(var,reg) mmx_m2r (paddsw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
90 #define paddsw_r2r(regs,regd) mmx_r2r (paddsw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
91
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
92 #define paddusb_m2r(var,reg) mmx_m2r (paddusb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
93 #define paddusb_r2r(regs,regd) mmx_r2r (paddusb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
94 #define paddusw_m2r(var,reg) mmx_m2r (paddusw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
95 #define paddusw_r2r(regs,regd) mmx_r2r (paddusw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
96
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
97 #define pand_m2r(var,reg) mmx_m2r (pand, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
98 #define pand_r2r(regs,regd) mmx_r2r (pand, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
99
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
100 #define pandn_m2r(var,reg) mmx_m2r (pandn, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
101 #define pandn_r2r(regs,regd) mmx_r2r (pandn, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
102
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
103 #define pcmpeqb_m2r(var,reg) mmx_m2r (pcmpeqb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
104 #define pcmpeqb_r2r(regs,regd) mmx_r2r (pcmpeqb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
105 #define pcmpeqd_m2r(var,reg) mmx_m2r (pcmpeqd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
106 #define pcmpeqd_r2r(regs,regd) mmx_r2r (pcmpeqd, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
107 #define pcmpeqw_m2r(var,reg) mmx_m2r (pcmpeqw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
108 #define pcmpeqw_r2r(regs,regd) mmx_r2r (pcmpeqw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
109
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
110 #define pcmpgtb_m2r(var,reg) mmx_m2r (pcmpgtb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
111 #define pcmpgtb_r2r(regs,regd) mmx_r2r (pcmpgtb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
112 #define pcmpgtd_m2r(var,reg) mmx_m2r (pcmpgtd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
113 #define pcmpgtd_r2r(regs,regd) mmx_r2r (pcmpgtd, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
114 #define pcmpgtw_m2r(var,reg) mmx_m2r (pcmpgtw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
115 #define pcmpgtw_r2r(regs,regd) mmx_r2r (pcmpgtw, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
116
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
117 #define pmaddwd_m2r(var,reg) mmx_m2r (pmaddwd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
118 #define pmaddwd_r2r(regs,regd) mmx_r2r (pmaddwd, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
119
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
120 #define pmulhw_m2r(var,reg) mmx_m2r (pmulhw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
121 #define pmulhw_r2r(regs,regd) mmx_r2r (pmulhw, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
122
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
123 #define pmullw_m2r(var,reg) mmx_m2r (pmullw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
124 #define pmullw_r2r(regs,regd) mmx_r2r (pmullw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
125
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
126 #define por_m2r(var,reg) mmx_m2r (por, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
127 #define por_r2r(regs,regd) mmx_r2r (por, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
128
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
129 #define pslld_i2r(imm,reg) mmx_i2r (pslld, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
130 #define pslld_m2r(var,reg) mmx_m2r (pslld, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
131 #define pslld_r2r(regs,regd) mmx_r2r (pslld, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
132 #define psllq_i2r(imm,reg) mmx_i2r (psllq, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
133 #define psllq_m2r(var,reg) mmx_m2r (psllq, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
134 #define psllq_r2r(regs,regd) mmx_r2r (psllq, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
135 #define psllw_i2r(imm,reg) mmx_i2r (psllw, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
136 #define psllw_m2r(var,reg) mmx_m2r (psllw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
137 #define psllw_r2r(regs,regd) mmx_r2r (psllw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
138
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
139 #define psrad_i2r(imm,reg) mmx_i2r (psrad, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
140 #define psrad_m2r(var,reg) mmx_m2r (psrad, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
141 #define psrad_r2r(regs,regd) mmx_r2r (psrad, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
142 #define psraw_i2r(imm,reg) mmx_i2r (psraw, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
143 #define psraw_m2r(var,reg) mmx_m2r (psraw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
144 #define psraw_r2r(regs,regd) mmx_r2r (psraw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
145
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
146 #define psrld_i2r(imm,reg) mmx_i2r (psrld, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
147 #define psrld_m2r(var,reg) mmx_m2r (psrld, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
148 #define psrld_r2r(regs,regd) mmx_r2r (psrld, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
149 #define psrlq_i2r(imm,reg) mmx_i2r (psrlq, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
150 #define psrlq_m2r(var,reg) mmx_m2r (psrlq, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
151 #define psrlq_r2r(regs,regd) mmx_r2r (psrlq, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
152 #define psrlw_i2r(imm,reg) mmx_i2r (psrlw, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
153 #define psrlw_m2r(var,reg) mmx_m2r (psrlw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
154 #define psrlw_r2r(regs,regd) mmx_r2r (psrlw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
155
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
156 #define psubb_m2r(var,reg) mmx_m2r (psubb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
157 #define psubb_r2r(regs,regd) mmx_r2r (psubb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
158 #define psubd_m2r(var,reg) mmx_m2r (psubd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
159 #define psubd_r2r(regs,regd) mmx_r2r (psubd, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
160 #define psubw_m2r(var,reg) mmx_m2r (psubw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
161 #define psubw_r2r(regs,regd) mmx_r2r (psubw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
162
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
163 #define psubsb_m2r(var,reg) mmx_m2r (psubsb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
164 #define psubsb_r2r(regs,regd) mmx_r2r (psubsb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
165 #define psubsw_m2r(var,reg) mmx_m2r (psubsw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
166 #define psubsw_r2r(regs,regd) mmx_r2r (psubsw, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
167
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
168 #define psubusb_m2r(var,reg) mmx_m2r (psubusb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
169 #define psubusb_r2r(regs,regd) mmx_r2r (psubusb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
170 #define psubusw_m2r(var,reg) mmx_m2r (psubusw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
171 #define psubusw_r2r(regs,regd) mmx_r2r (psubusw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
172
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
173 #define punpckhbw_m2r(var,reg) mmx_m2r (punpckhbw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
174 #define punpckhbw_r2r(regs,regd) mmx_r2r (punpckhbw, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
175 #define punpckhdq_m2r(var,reg) mmx_m2r (punpckhdq, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
176 #define punpckhdq_r2r(regs,regd) mmx_r2r (punpckhdq, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
177 #define punpckhwd_m2r(var,reg) mmx_m2r (punpckhwd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
178 #define punpckhwd_r2r(regs,regd) mmx_r2r (punpckhwd, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
179
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
180 #define punpcklbw_m2r(var,reg) mmx_m2r (punpcklbw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
181 #define punpcklbw_r2r(regs,regd) mmx_r2r (punpcklbw, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
182 #define punpckldq_m2r(var,reg) mmx_m2r (punpckldq, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
183 #define punpckldq_r2r(regs,regd) mmx_r2r (punpckldq, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
184 #define punpcklwd_m2r(var,reg) mmx_m2r (punpcklwd, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
185 #define punpcklwd_r2r(regs,regd) mmx_r2r (punpcklwd, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
186
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
187 #define pxor_m2r(var,reg) mmx_m2r (pxor, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
188 #define pxor_r2r(regs,regd) mmx_r2r (pxor, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
189
986e461dc072 Initial revision
glantau
parents:
diff changeset
190
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
191 /* 3DNOW extensions */
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
192
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
193 #define pavgusb_m2r(var,reg) mmx_m2r (pavgusb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
194 #define pavgusb_r2r(regs,regd) mmx_r2r (pavgusb, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
195
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
196
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
197 /* AMD MMX extensions - also available in intel SSE */
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
198
986e461dc072 Initial revision
glantau
parents:
diff changeset
199
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
200 #define mmx_m2ri(op,mem,reg,imm) \
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
201 __asm__ __volatile__ (#op " %1, %0, %%" #reg \
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
202 : /* nothing */ \
3578
e0fb0ff7c6a8 Fix building with --disable-opts but MMX enabled.
diego
parents: 3398
diff changeset
203 : "m" (mem), "i" (imm))
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
204 #define mmx_r2ri(op,regs,regd,imm) \
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
205 __asm__ __volatile__ (#op " %0, %%" #regs ", %%" #regd \
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
206 : /* nothing */ \
3578
e0fb0ff7c6a8 Fix building with --disable-opts but MMX enabled.
diego
parents: 3398
diff changeset
207 : "i" (imm) )
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
208
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
209 #define mmx_fetch(mem,hint) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
210 __asm__ __volatile__ ("prefetch" #hint " %0" \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
211 : /* nothing */ \
3578
e0fb0ff7c6a8 Fix building with --disable-opts but MMX enabled.
diego
parents: 3398
diff changeset
212 : "m" (mem))
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
213
986e461dc072 Initial revision
glantau
parents:
diff changeset
214
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
215 #define maskmovq(regs,maskreg) mmx_r2ri (maskmovq, regs, maskreg)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
216
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
217 #define movntq_r2m(mmreg,var) mmx_r2m (movntq, mmreg, var)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
218
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
219 #define pavgb_m2r(var,reg) mmx_m2r (pavgb, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
220 #define pavgb_r2r(regs,regd) mmx_r2r (pavgb, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
221 #define pavgw_m2r(var,reg) mmx_m2r (pavgw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
222 #define pavgw_r2r(regs,regd) mmx_r2r (pavgw, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
223
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
224 #define pextrw_r2r(mmreg,reg,imm) mmx_r2ri (pextrw, mmreg, reg, imm)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
225
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
226 #define pinsrw_r2r(reg,mmreg,imm) mmx_r2ri (pinsrw, reg, mmreg, imm)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
227
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
228 #define pmaxsw_m2r(var,reg) mmx_m2r (pmaxsw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
229 #define pmaxsw_r2r(regs,regd) mmx_r2r (pmaxsw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
230
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
231 #define pmaxub_m2r(var,reg) mmx_m2r (pmaxub, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
232 #define pmaxub_r2r(regs,regd) mmx_r2r (pmaxub, regs, regd)
31
e4b7c3e5e527 updated mmx macros
glantau
parents: 0
diff changeset
233
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
234 #define pminsw_m2r(var,reg) mmx_m2r (pminsw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
235 #define pminsw_r2r(regs,regd) mmx_r2r (pminsw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
236
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
237 #define pminub_m2r(var,reg) mmx_m2r (pminub, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
238 #define pminub_r2r(regs,regd) mmx_r2r (pminub, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
239
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
240 #define pmovmskb(mmreg,reg) \
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
241 __asm__ __volatile__ ("movmskps %" #mmreg ", %" #reg)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
242
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
243 #define pmulhuw_m2r(var,reg) mmx_m2r (pmulhuw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
244 #define pmulhuw_r2r(regs,regd) mmx_r2r (pmulhuw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
245
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
246 #define prefetcht0(mem) mmx_fetch (mem, t0)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
247 #define prefetcht1(mem) mmx_fetch (mem, t1)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
248 #define prefetcht2(mem) mmx_fetch (mem, t2)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
249 #define prefetchnta(mem) mmx_fetch (mem, nta)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
250
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
251 #define psadbw_m2r(var,reg) mmx_m2r (psadbw, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
252 #define psadbw_r2r(regs,regd) mmx_r2r (psadbw, regs, regd)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
253
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
254 #define pshufw_m2r(var,reg,imm) mmx_m2ri(pshufw, var, reg, imm)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
255 #define pshufw_r2r(regs,regd,imm) mmx_r2ri(pshufw, regs, regd, imm)
0
986e461dc072 Initial revision
glantau
parents:
diff changeset
256
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
257 #define sfence() __asm__ __volatile__ ("sfence\n\t")
434
d34dde800cca * avoids double inclusion of this header
kabi
parents: 31
diff changeset
258
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
259 /* SSE2 */
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
260 #define pshufhw_m2r(var,reg,imm) mmx_m2ri(pshufhw, var, reg, imm)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
261 #define pshufhw_r2r(regs,regd,imm) mmx_r2ri(pshufhw, regs, regd, imm)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
262 #define pshuflw_m2r(var,reg,imm) mmx_m2ri(pshuflw, var, reg, imm)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
263 #define pshuflw_r2r(regs,regd,imm) mmx_r2ri(pshuflw, regs, regd, imm)
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
264
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
265 #define pshufd_r2r(regs,regd,imm) mmx_r2ri(pshufd, regs, regd, imm)
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
266
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
267 #define movdqa_m2r(var,reg) mmx_m2r (movdqa, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
268 #define movdqa_r2m(reg,var) mmx_r2m (movdqa, reg, var)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
269 #define movdqa_r2r(regs,regd) mmx_r2r (movdqa, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
270 #define movdqu_m2r(var,reg) mmx_m2r (movdqu, var, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
271 #define movdqu_r2m(reg,var) mmx_r2m (movdqu, reg, var)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
272 #define movdqu_r2r(regs,regd) mmx_r2r (movdqu, regs, regd)
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
273
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
274 #define pmullw_r2m(reg,var) mmx_r2m (pmullw, reg, var)
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
275
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
276 #define pslldq_i2r(imm,reg) mmx_i2r (pslldq, imm, reg)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
277 #define psrldq_i2r(imm,reg) mmx_i2r (psrldq, imm, reg)
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
278
2979
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
279 #define punpcklqdq_r2r(regs,regd) mmx_r2r (punpcklqdq, regs, regd)
bfabfdf9ce55 COSMETICS: tabs --> spaces, some prettyprinting
diego
parents: 2958
diff changeset
280 #define punpckhqdq_r2r(regs,regd) mmx_r2r (punpckhqdq, regs, regd)
1971
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
281
39f2ba94e09b add selected SSE2 ASM macros
melanson
parents: 434
diff changeset
282
5830
1d83e9c34641 Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents: 3947
diff changeset
283 #endif /* FFMPEG_MMX_H */