Revision be449fca libavcodec/i386/dsputil_h264_template_mmx.c

View differences:

libavcodec/i386/dsputil_h264_template_mmx.c
47 47

  
48 48
        rnd_reg = rnd ? &ff_pw_4 : &ff_pw_3;
49 49

  
50
        asm volatile(
50
        __asm__ volatile(
51 51
            "movd %0, %%mm5\n\t"
52 52
            "movq %1, %%mm4\n\t"
53 53
            "movq %2, %%mm6\n\t"         /* mm6 = rnd */
......
58 58
            :: "rm"(x+y), "m"(ff_pw_8), "m"(*rnd_reg));
59 59

  
60 60
        for(i=0; i<h; i++) {
61
            asm volatile(
61
            __asm__ volatile(
62 62
                /* mm0 = src[0..7], mm1 = src[1..8] */
63 63
                "movq %0, %%mm0\n\t"
64 64
                "movq %1, %%mm2\n\t"
65 65
                :: "m"(src[0]), "m"(src[dxy]));
66 66

  
67
            asm volatile(
67
            __asm__ volatile(
68 68
                /* [mm0,mm1] = A * src[0..7] */
69 69
                /* [mm2,mm3] = B * src[1..8] */
70 70
                "movq %%mm0, %%mm1\n\t"
......
98 98

  
99 99
    /* general case, bilinear */
100 100
    rnd_reg = rnd ? &ff_pw_32.a : &ff_pw_28.a;
101
    asm volatile("movd %2, %%mm4\n\t"
101
    __asm__ volatile("movd %2, %%mm4\n\t"
102 102
                 "movd %3, %%mm6\n\t"
103 103
                 "punpcklwd %%mm4, %%mm4\n\t"
104 104
                 "punpcklwd %%mm6, %%mm6\n\t"
......
119 119
                 "movq %%mm4, %0\n\t"
120 120
                 : "=m" (AA), "=m" (DD) : "rm" (x), "rm" (y), "m" (ff_pw_64));
121 121

  
122
    asm volatile(
122
    __asm__ volatile(
123 123
        /* mm0 = src[0..7], mm1 = src[1..8] */
124 124
        "movq %0, %%mm0\n\t"
125 125
        "movq %1, %%mm1\n\t"
......
128 128
    for(i=0; i<h; i++) {
129 129
        src += stride;
130 130

  
131
        asm volatile(
131
        __asm__ volatile(
132 132
            /* mm2 = A * src[0..3] + B * src[1..4] */
133 133
            /* mm3 = A * src[4..7] + B * src[5..8] */
134 134
            "movq %%mm0, %%mm2\n\t"
......
145 145
            "paddw %%mm0, %%mm3\n\t"
146 146
            : : "m" (AA));
147 147

  
148
        asm volatile(
148
        __asm__ volatile(
149 149
            /* [mm2,mm3] += C * src[0..7] */
150 150
            "movq %0, %%mm0\n\t"
151 151
            "movq %%mm0, %%mm1\n\t"
......
157 157
            "paddw %%mm1, %%mm3\n\t"
158 158
            : : "m" (src[0]));
159 159

  
160
        asm volatile(
160
        __asm__ volatile(
161 161
            /* [mm2,mm3] += D * src[1..8] */
162 162
            "movq %1, %%mm1\n\t"
163 163
            "movq %%mm1, %%mm0\n\t"
......
171 171
            "movq %0, %%mm0\n\t"
172 172
            : : "m" (src[0]), "m" (src[1]), "m" (DD));
173 173

  
174
        asm volatile(
174
        __asm__ volatile(
175 175
            /* dst[0..7] = ([mm2,mm3] + 32) >> 6 */
176 176
            "paddw %1, %%mm2\n\t"
177 177
            "paddw %1, %%mm3\n\t"
......
187 187

  
188 188
static void H264_CHROMA_MC4_TMPL(uint8_t *dst/*align 4*/, uint8_t *src/*align 1*/, int stride, int h, int x, int y)
189 189
{
190
    asm volatile(
190
    __asm__ volatile(
191 191
        "pxor   %%mm7, %%mm7        \n\t"
192 192
        "movd %5, %%mm2             \n\t"
193 193
        "movd %6, %%mm3             \n\t"
......
259 259
    int tmp = ((1<<16)-1)*x + 8;
260 260
    int CD= tmp*y;
261 261
    int AB= (tmp<<3) - CD;
262
    asm volatile(
262
    __asm__ volatile(
263 263
        /* mm5 = {A,B,A,B} */
264 264
        /* mm6 = {C,D,C,D} */
265 265
        "movd %0, %%mm5\n\t"
......
274 274
        :: "r"(AB), "r"(CD), "m"(src[0]));
275 275

  
276 276

  
277
    asm volatile(
277
    __asm__ volatile(
278 278
        "1:\n\t"
279 279
        "add %4, %1\n\t"
280 280
        /* mm1 = A * src[0,1] + B * src[1,2] */

Also available in: Unified diff