Mercurial > libavcodec.hg
comparison cabac.h @ 6425:8b119a5a0644 libavcodec
Use cltd instead of cdq asm mnemonic, ICC and gcc support both, but
SunStudio 12 only supports the former.
author | reimar |
---|---|
date | Thu, 28 Feb 2008 17:01:35 +0000 |
parents | 8cbfc9d75833 |
children | 3ce9c8fbdd81 |
comparison
equal
deleted
inserted
replaced
6424:66969d0e4a6d | 6425:8b119a5a0644 |
---|---|
325 #elif 1 | 325 #elif 1 |
326 int temp2; | 326 int temp2; |
327 //P3:665 athlon:517 | 327 //P3:665 athlon:517 |
328 asm( | 328 asm( |
329 "lea -0x100(%0), %%eax \n\t" | 329 "lea -0x100(%0), %%eax \n\t" |
330 "cdq \n\t" | 330 "cltd \n\t" |
331 "mov %0, %%eax \n\t" | 331 "mov %0, %%eax \n\t" |
332 "and %%edx, %0 \n\t" | 332 "and %%edx, %0 \n\t" |
333 "and %1, %%edx \n\t" | 333 "and %1, %%edx \n\t" |
334 "add %%eax, %0 \n\t" | 334 "add %%eax, %0 \n\t" |
335 "add %%edx, %1 \n\t" | 335 "add %%edx, %1 \n\t" |
597 "movl "RANGE "(%1), %%ebx \n\t" | 597 "movl "RANGE "(%1), %%ebx \n\t" |
598 "movl "LOW "(%1), %%eax \n\t" | 598 "movl "LOW "(%1), %%eax \n\t" |
599 "shl $17, %%ebx \n\t" | 599 "shl $17, %%ebx \n\t" |
600 "add %%eax, %%eax \n\t" | 600 "add %%eax, %%eax \n\t" |
601 "sub %%ebx, %%eax \n\t" | 601 "sub %%ebx, %%eax \n\t" |
602 "cdq \n\t" | 602 "cltd \n\t" |
603 "and %%edx, %%ebx \n\t" | 603 "and %%edx, %%ebx \n\t" |
604 "add %%ebx, %%eax \n\t" | 604 "add %%ebx, %%eax \n\t" |
605 "test %%ax, %%ax \n\t" | 605 "test %%ax, %%ax \n\t" |
606 " jnz 1f \n\t" | 606 " jnz 1f \n\t" |
607 "movl "BYTE "(%1), %%"REG_b" \n\t" | 607 "movl "BYTE "(%1), %%"REG_b" \n\t" |
644 "movl "RANGE "(%1), %%ebx \n\t" | 644 "movl "RANGE "(%1), %%ebx \n\t" |
645 "movl "LOW "(%1), %%eax \n\t" | 645 "movl "LOW "(%1), %%eax \n\t" |
646 "shl $17, %%ebx \n\t" | 646 "shl $17, %%ebx \n\t" |
647 "add %%eax, %%eax \n\t" | 647 "add %%eax, %%eax \n\t" |
648 "sub %%ebx, %%eax \n\t" | 648 "sub %%ebx, %%eax \n\t" |
649 "cdq \n\t" | 649 "cltd \n\t" |
650 "and %%edx, %%ebx \n\t" | 650 "and %%edx, %%ebx \n\t" |
651 "add %%ebx, %%eax \n\t" | 651 "add %%ebx, %%eax \n\t" |
652 "xor %%edx, %%ecx \n\t" | 652 "xor %%edx, %%ecx \n\t" |
653 "sub %%edx, %%ecx \n\t" | 653 "sub %%edx, %%ecx \n\t" |
654 "test %%ax, %%ax \n\t" | 654 "test %%ax, %%ax \n\t" |