Revision be449fca libavcodec/cabac.h

View differences:

libavcodec/cabac.h
304 304
    int temp;
305 305
#if 0
306 306
    //P3:683    athlon:475
307
    asm(
307
    __asm__(
308 308
        "lea -0x100(%0), %2         \n\t"
309 309
        "shr $31, %2                \n\t"  //FIXME 31->63 for x86-64
310 310
        "shl %%cl, %0               \n\t"
......
313 313
    );
314 314
#elif 0
315 315
    //P3:680    athlon:474
316
    asm(
316
    __asm__(
317 317
        "cmp $0x100, %0             \n\t"
318 318
        "setb %%cl                  \n\t"  //FIXME 31->63 for x86-64
319 319
        "shl %%cl, %0               \n\t"
......
323 323
#elif 1
324 324
    int temp2;
325 325
    //P3:665    athlon:517
326
    asm(
326
    __asm__(
327 327
        "lea -0x100(%0), %%eax      \n\t"
328 328
        "cltd                       \n\t"
329 329
        "mov %0, %%eax              \n\t"
......
336 336
#elif 0
337 337
    int temp2;
338 338
    //P3:673    athlon:509
339
    asm(
339
    __asm__(
340 340
        "cmp $0x100, %0             \n\t"
341 341
        "sbb %%edx, %%edx           \n\t"
342 342
        "mov %0, %%eax              \n\t"
......
349 349
#else
350 350
    int temp2;
351 351
    //P3:677    athlon:511
352
    asm(
352
    __asm__(
353 353
        "cmp $0x100, %0             \n\t"
354 354
        "lea (%0, %0), %%eax        \n\t"
355 355
        "lea (%1, %1), %%edx        \n\t"
......
385 385
    int bit;
386 386

  
387 387
#ifndef BRANCHLESS_CABAC_DECODER
388
    asm volatile(
388
    __asm__ volatile(
389 389
        "movzbl (%1), %0                        \n\t"
390 390
        "movl "RANGE    "(%2), %%ebx            \n\t"
391 391
        "movl "RANGE    "(%2), %%edx            \n\t"
......
524 524
        "add    "tmp"       , "low"                                     \n\t"\
525 525
        "1:                                                             \n\t"
526 526

  
527
    asm volatile(
527
    __asm__ volatile(
528 528
        "movl "RANGE    "(%2), %%esi            \n\t"
529 529
        "movl "LOW      "(%2), %%ebx            \n\t"
530 530
        BRANCHLESS_GET_CABAC("%0", "%2", "(%1)", "%%ebx", "%%bx", "%%esi", "%%edx", "%%dl")
......
591 591
static int av_unused get_cabac_bypass(CABACContext *c){
592 592
#if 0 //not faster
593 593
    int bit;
594
    asm volatile(
594
    __asm__ volatile(
595 595
        "movl "RANGE    "(%1), %%ebx            \n\t"
596 596
        "movl "LOW      "(%1), %%eax            \n\t"
597 597
        "shl $17, %%ebx                         \n\t"
......
638 638

  
639 639
static av_always_inline int get_cabac_bypass_sign(CABACContext *c, int val){
640 640
#if defined(ARCH_X86) && !(defined(PIC) && defined(__GNUC__))
641
    asm volatile(
641
    __asm__ volatile(
642 642
        "movl "RANGE    "(%1), %%ebx            \n\t"
643 643
        "movl "LOW      "(%1), %%eax            \n\t"
644 644
        "shl $17, %%ebx                         \n\t"

Also available in: Unified diff