Revision be449fca libavcodec/i386/snowdsp_mmx.c

View differences:

libavcodec/i386/snowdsp_mmx.c
38 38
        // calculate b[0] correctly afterwards.
39 39

  
40 40
        i = 0;
41
        asm volatile(
41
        __asm__ volatile(
42 42
            "pcmpeqd   %%xmm7, %%xmm7         \n\t"
43 43
            "pcmpeqd   %%xmm3, %%xmm3         \n\t"
44 44
            "psllw         $1, %%xmm3         \n\t"
......
46 46
            "psllw        $13, %%xmm3         \n\t"
47 47
        ::);
48 48
        for(; i<w_l-15; i+=16){
49
            asm volatile(
49
            __asm__ volatile(
50 50
                "movdqu   (%1), %%xmm1        \n\t"
51 51
                "movdqu 16(%1), %%xmm5        \n\t"
52 52
                "movdqu  2(%1), %%xmm2        \n\t"
......
77 77
            dst[i] = dst[i] - (b[i] + b[i + 1]);
78 78
        }
79 79
        for(; i<w_r-15; i+=16){
80
            asm volatile(
80
            __asm__ volatile(
81 81
                "movdqu   (%1), %%xmm1        \n\t"
82 82
                "movdqu 16(%1), %%xmm5        \n\t"
83 83
                "movdqu  2(%1), %%xmm2        \n\t"
......
102 102
        IDWTELEM b_0 = b[0];
103 103

  
104 104
        i = 0;
105
        asm volatile(
105
        __asm__ volatile(
106 106
            "psllw         $15, %%xmm7        \n\t"
107 107
            "pcmpeqw    %%xmm6, %%xmm6        \n\t"
108 108
            "psrlw         $13, %%xmm6        \n\t"
109 109
            "paddw      %%xmm7, %%xmm6        \n\t"
110 110
        ::);
111 111
        for(; i<w_l-15; i+=16){
112
            asm volatile(
112
            __asm__ volatile(
113 113
                "movdqu   (%1), %%xmm0        \n\t"
114 114
                "movdqu 16(%1), %%xmm4        \n\t"
115 115
                "movdqu  2(%1), %%xmm1        \n\t"
......
150 150
            temp[i] = src[i] - ((-W_AM*(b[i] + b[i+1]))>>W_AS);
151 151
        }
152 152
        for(; i<w_r-7; i+=8){
153
            asm volatile(
153
            __asm__ volatile(
154 154
                "movdqu  2(%1), %%xmm2        \n\t"
155 155
                "movdqu 18(%1), %%xmm6        \n\t"
156 156
                "paddw    (%1), %%xmm2        \n\t"
......
180 180
            b[i] = b[i>>1];
181 181
        }
182 182
        for (i-=62; i>=0; i-=64){
183
            asm volatile(
183
            __asm__ volatile(
184 184
                "movdqa      (%1), %%xmm0       \n\t"
185 185
                "movdqa    16(%1), %%xmm2       \n\t"
186 186
                "movdqa    32(%1), %%xmm4       \n\t"
......
224 224

  
225 225
        i = 1;
226 226
        b[0] = b[0] - ((W_DM * 2 * ref[1]+W_DO)>>W_DS);
227
        asm volatile(
227
        __asm__ volatile(
228 228
            "pcmpeqw    %%mm7, %%mm7         \n\t"
229 229
            "pcmpeqw    %%mm3, %%mm3         \n\t"
230 230
            "psllw         $1, %%mm3         \n\t"
......
232 232
            "psllw        $13, %%mm3         \n\t"
233 233
           ::);
234 234
        for(; i<w_l-7; i+=8){
235
            asm volatile(
235
            __asm__ volatile(
236 236
                "movq     (%1), %%mm2        \n\t"
237 237
                "movq    8(%1), %%mm6        \n\t"
238 238
                "paddw   2(%1), %%mm2        \n\t"
......
257 257

  
258 258
        i = 0;
259 259
        for(; i<w_r-7; i+=8){
260
            asm volatile(
260
            __asm__ volatile(
261 261
                "movq     (%1), %%mm2        \n\t"
262 262
                "movq    8(%1), %%mm6        \n\t"
263 263
                "paddw   2(%1), %%mm2        \n\t"
......
280 280

  
281 281
        i = 1;
282 282
        b[0] = b[0] + (((2 * ref[1] + W_BO) + 4 * b[0]) >> W_BS);
283
        asm volatile(
283
        __asm__ volatile(
284 284
            "psllw         $15, %%mm7        \n\t"
285 285
            "pcmpeqw     %%mm6, %%mm6        \n\t"
286 286
            "psrlw         $13, %%mm6        \n\t"
287 287
            "paddw       %%mm7, %%mm6        \n\t"
288 288
           ::);
289 289
        for(; i<w_l-7; i+=8){
290
            asm volatile(
290
            __asm__ volatile(
291 291
                "movq     (%1), %%mm0        \n\t"
292 292
                "movq    8(%1), %%mm4        \n\t"
293 293
                "movq    2(%1), %%mm1        \n\t"
......
324 324
        i = 0;
325 325

  
326 326
        for(; i<w_r-7; i+=8){
327
            asm volatile(
327
            __asm__ volatile(
328 328
                "movq    2(%1), %%mm2        \n\t"
329 329
                "movq   10(%1), %%mm6        \n\t"
330 330
                "paddw    (%1), %%mm2        \n\t"
......
354 354
            b[i] = b[i>>1];
355 355
        }
356 356
        for (i-=30; i>=0; i-=32){
357
            asm volatile(
357
            __asm__ volatile(
358 358
                "movq        (%1), %%mm0       \n\t"
359 359
                "movq       8(%1), %%mm2       \n\t"
360 360
                "movq      16(%1), %%mm4       \n\t"
......
448 448
    }
449 449
    i+=i;
450 450

  
451
         asm volatile (
451
         __asm__ volatile (
452 452
        "jmp 2f                                      \n\t"
453 453
        "1:                                          \n\t"
454 454
        snow_vertical_compose_sse2_load("%4","xmm0","xmm2","xmm4","xmm6")
......
544 544
        b1[i] += (W_AM*(b0[i] + b2[i])+W_AO)>>W_AS;
545 545
    }
546 546
    i+=i;
547
    asm volatile(
547
    __asm__ volatile(
548 548
        "jmp 2f                                      \n\t"
549 549
        "1:                                          \n\t"
550 550

  
......
606 606
#define snow_inner_add_yblock_sse2_header \
607 607
    IDWTELEM * * dst_array = sb->line + src_y;\
608 608
    x86_reg tmp;\
609
    asm volatile(\
609
    __asm__ volatile(\
610 610
             "mov  %7, %%"REG_c"             \n\t"\
611 611
             "mov  %6, %2                    \n\t"\
612 612
             "mov  %4, %%"REG_S"             \n\t"\
......
759 759
#define snow_inner_add_yblock_mmx_header \
760 760
    IDWTELEM * * dst_array = sb->line + src_y;\
761 761
    x86_reg tmp;\
762
    asm volatile(\
762
    __asm__ volatile(\
763 763
             "mov  %7, %%"REG_c"             \n\t"\
764 764
             "mov  %6, %2                    \n\t"\
765 765
             "mov  %4, %%"REG_S"             \n\t"\

Also available in: Unified diff