1.'xor,or,and' to 'pxor,por,pand'. In the case of operating FPR, gcc supports both of them, clang only supports the second type. 2.'dsrl,srl' to 'ssrld,ssrlw'. In the case of operating FPR, gcc supports both of them, clang only supports the second type.
Showing the changes to libavcodec/mips (16 of 16 files). Show all
Unified · Split
| @@ -76,8 +76,8 @@ void ff_clear_block_mmi(int16_t *block) · 75 unmodified lines | |||
| 76 | double ftmp[2]; | 76 | double ftmp[2]; |
| 77 | 77 | ||
| 78 | __asm__ volatile ( | 78 | __asm__ volatile ( |
| 79 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 79 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 80 | "xor %[ftmp1], %[ftmp1], %[ftmp1] \n\t" | 80 | "pxor %[ftmp1], %[ftmp1], %[ftmp1] \n\t" |
| 81 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x00) | 81 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x00) |
| 82 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x10) | 82 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x10) |
| 83 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x20) | 83 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x20) |
| @@ -97,8 +97,8 @@ void ff_clear_blocks_mmi(int16_t *block) · 13 unmodified lines | |||
| 97 | double ftmp[2]; | 97 | double ftmp[2]; |
| 98 | 98 | ||
| 99 | __asm__ volatile ( | 99 | __asm__ volatile ( |
| 100 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 100 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 101 | "xor %[ftmp1], %[ftmp1], %[ftmp1] \n\t" | 101 | "pxor %[ftmp1], %[ftmp1], %[ftmp1] \n\t" |
| 102 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x00) | 102 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x00) |
| 103 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x10) | 103 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x10) |
| 104 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x20) | 104 | MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x20) |
| @@ -72,7 +72,7 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 71 unmodified lines | |||
| 72 | A = 64 - D - B - C; | 72 | A = 64 - D - B - C; |
| 73 | 73 | ||
| 74 | __asm__ volatile ( | 74 | __asm__ volatile ( |
| 75 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 75 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 76 | "dli %[tmp0], 0x06 \n\t" | 76 | "dli %[tmp0], 0x06 \n\t" |
| 77 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 77 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 78 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 78 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -172,7 +172,7 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 93 unmodified lines | |||
| 172 | A = 64 - E; | 172 | A = 64 - E; |
| 173 | 173 | ||
| 174 | __asm__ volatile ( | 174 | __asm__ volatile ( |
| 175 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 175 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 176 | "dli %[tmp0], 0x06 \n\t" | 176 | "dli %[tmp0], 0x06 \n\t" |
| 177 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 177 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 178 | "pshufh %[E], %[E], %[ftmp0] \n\t" | 178 | "pshufh %[E], %[E], %[ftmp0] \n\t" |
| @@ -221,7 +221,7 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 42 unmodified lines | |||
| 221 | A = 64 - E; | 221 | A = 64 - E; |
| 222 | 222 | ||
| 223 | __asm__ volatile ( | 223 | __asm__ volatile ( |
| 224 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 224 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 225 | "dli %[tmp0], 0x06 \n\t" | 225 | "dli %[tmp0], 0x06 \n\t" |
| 226 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 226 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 227 | "pshufh %[E], %[E], %[ftmp0] \n\t" | 227 | "pshufh %[E], %[E], %[ftmp0] \n\t" |
| @@ -328,7 +328,7 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 100 unmodified lines | |||
| 328 | C = (y << 3) - D; | 328 | C = (y << 3) - D; |
| 329 | A = 64 - D - B - C; | 329 | A = 64 - D - B - C; |
| 330 | __asm__ volatile ( | 330 | __asm__ volatile ( |
| 331 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 331 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 332 | "dli %[tmp0], 0x06 \n\t" | 332 | "dli %[tmp0], 0x06 \n\t" |
| 333 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 333 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 334 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 334 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -396,7 +396,7 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 61 unmodified lines | |||
| 396 | E = x << 3; | 396 | E = x << 3; |
| 397 | A = 64 - E; | 397 | A = 64 - E; |
| 398 | __asm__ volatile ( | 398 | __asm__ volatile ( |
| 399 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 399 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 400 | "dli %[tmp0], 0x06 \n\t" | 400 | "dli %[tmp0], 0x06 \n\t" |
| 401 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 401 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 402 | "pshufh %[E], %[E], %[ftmp0] \n\t" | 402 | "pshufh %[E], %[E], %[ftmp0] \n\t" |
| @@ -446,7 +446,7 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 43 unmodified lines | |||
| 446 | E = y << 3; | 446 | E = y << 3; |
| 447 | A = 64 - E; | 447 | A = 64 - E; |
| 448 | __asm__ volatile ( | 448 | __asm__ volatile ( |
| 449 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 449 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 450 | "dli %[tmp0], 0x06 \n\t" | 450 | "dli %[tmp0], 0x06 \n\t" |
| 451 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 451 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 452 | "pshufh %[E], %[E], %[ftmp0] \n\t" | 452 | "pshufh %[E], %[E], %[ftmp0] \n\t" |
| @@ -509,7 +509,7 @@ void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 56 unmodified lines | |||
| 509 | 509 | ||
| 510 | if (D) { | 510 | if (D) { |
| 511 | __asm__ volatile ( | 511 | __asm__ volatile ( |
| 512 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 512 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 513 | "dli %[tmp0], 0x06 \n\t" | 513 | "dli %[tmp0], 0x06 \n\t" |
| 514 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 514 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 515 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 515 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -559,7 +559,7 @@ void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 43 unmodified lines | |||
| 559 | } else if (E) { | 559 | } else if (E) { |
| 560 | const int step = C ? stride : 1; | 560 | const int step = C ? stride : 1; |
| 561 | __asm__ volatile ( | 561 | __asm__ volatile ( |
| 562 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 562 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 563 | "dli %[tmp0], 0x06 \n\t" | 563 | "dli %[tmp0], 0x06 \n\t" |
| 564 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 564 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 565 | "pshufh %[E], %[E], %[ftmp0] \n\t" | 565 | "pshufh %[E], %[E], %[ftmp0] \n\t" |
| @@ -633,7 +633,7 @@ void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 67 unmodified lines | |||
| 633 | 633 | ||
| 634 | if (D) { | 634 | if (D) { |
| 635 | __asm__ volatile ( | 635 | __asm__ volatile ( |
| 636 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 636 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 637 | "dli %[tmp0], 0x06 \n\t" | 637 | "dli %[tmp0], 0x06 \n\t" |
| 638 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 638 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 639 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 639 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -685,7 +685,7 @@ void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride, · 45 unmodified lines | |||
| 685 | } else if (E) { | 685 | } else if (E) { |
| 686 | const int step = C ? stride : 1; | 686 | const int step = C ? stride : 1; |
| 687 | __asm__ volatile ( | 687 | __asm__ volatile ( |
| 688 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 688 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 689 | "dli %[tmp0], 0x06 \n\t" | 689 | "dli %[tmp0], 0x06 \n\t" |
| 690 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 690 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 691 | "pshufh %[E], %[E], %[ftmp0] \n\t" | 691 | "pshufh %[E], %[E], %[ftmp0] \n\t" |
| @@ -34,7 +34,7 @@ void ff_h264_add_pixels4_8_mmi(uint8_t *dst, int16_t *src, int stride) · 33 unmodified lines | |||
| 34 | DECLARE_VAR_LOW32; | 34 | DECLARE_VAR_LOW32; |
| 35 | 35 | ||
| 36 | __asm__ volatile ( | 36 | __asm__ volatile ( |
| 37 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 37 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 38 | MMI_LDC1(%[ftmp1], %[src], 0x00) | 38 | MMI_LDC1(%[ftmp1], %[src], 0x00) |
| 39 | MMI_LDC1(%[ftmp2], %[src], 0x08) | 39 | MMI_LDC1(%[ftmp2], %[src], 0x08) |
| 40 | MMI_LDC1(%[ftmp3], %[src], 0x10) | 40 | MMI_LDC1(%[ftmp3], %[src], 0x10) |
| @@ -89,7 +89,7 @@ void ff_h264_idct_add_8_mmi(uint8_t *dst, int16_t *block, int stride) · 48 unmodified lines | |||
| 89 | MMI_LDC1(%[ftmp2], %[block], 0x10) | 89 | MMI_LDC1(%[ftmp2], %[block], 0x10) |
| 90 | MMI_LDC1(%[ftmp3], %[block], 0x18) | 90 | MMI_LDC1(%[ftmp3], %[block], 0x18) |
| 91 | /* memset(block, 0, 32) */ | 91 | /* memset(block, 0, 32) */ |
| 92 | "xor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 92 | "pxor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 93 | "gssqc1 %[ftmp4], %[ftmp4], 0x00(%[block]) \n\t" | 93 | "gssqc1 %[ftmp4], %[ftmp4], 0x00(%[block]) \n\t" |
| 94 | "gssqc1 %[ftmp4], %[ftmp4], 0x10(%[block]) \n\t" | 94 | "gssqc1 %[ftmp4], %[ftmp4], 0x10(%[block]) \n\t" |
| 95 | "dli %[tmp0], 0x01 \n\t" | 95 | "dli %[tmp0], 0x01 \n\t" |
| @@ -127,7 +127,7 @@ void ff_h264_idct_add_8_mmi(uint8_t *dst, int16_t *block, int stride) · 31 unmodified lines | |||
| 127 | "psubh %[ftmp5], %[ftmp5], %[ftmp4] \n\t" | 127 | "psubh %[ftmp5], %[ftmp5], %[ftmp4] \n\t" |
| 128 | MMI_ULWC1(%[ftmp2], %[dst], 0x00) | 128 | MMI_ULWC1(%[ftmp2], %[dst], 0x00) |
| 129 | MMI_LWXC1(%[ftmp0], %[dst], %[stride], 0x00) | 129 | MMI_LWXC1(%[ftmp0], %[dst], %[stride], 0x00) |
| 130 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 130 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 131 | "psrah %[ftmp3], %[ftmp10], %[ftmp9] \n\t" | 131 | "psrah %[ftmp3], %[ftmp10], %[ftmp9] \n\t" |
| 132 | "psrah %[ftmp4], %[ftmp11], %[ftmp9] \n\t" | 132 | "psrah %[ftmp4], %[ftmp11], %[ftmp9] \n\t" |
| 133 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp7] \n\t" | 133 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp7] \n\t" |
| @@ -419,7 +419,7 @@ void ff_h264_idct8_add_8_mmi(uint8_t *dst, int16_t *block, int stride) · 285 unmodified lines | |||
| 419 | "psubh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" | 419 | "psubh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" |
| 420 | MMI_SDC1(%[ftmp0], $sp, 0x10) | 420 | MMI_SDC1(%[ftmp0], $sp, 0x10) |
| 421 | "dmfc1 %[tmp1], %[ftmp2] \n\t" | 421 | "dmfc1 %[tmp1], %[ftmp2] \n\t" |
| 422 | "xor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" | 422 | "pxor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" |
| 423 | MMI_SDC1(%[ftmp2], %[block], 0x00) | 423 | MMI_SDC1(%[ftmp2], %[block], 0x00) |
| 424 | MMI_SDC1(%[ftmp2], %[block], 0x08) | 424 | MMI_SDC1(%[ftmp2], %[block], 0x08) |
| 425 | MMI_SDC1(%[ftmp2], %[block], 0x10) | 425 | MMI_SDC1(%[ftmp2], %[block], 0x10) |
| @@ -555,7 +555,7 @@ void ff_h264_idct8_add_8_mmi(uint8_t *dst, int16_t *block, int stride) · 129 unmodified lines | |||
| 555 | "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 555 | "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 556 | MMI_SDC1(%[ftmp7], $sp, 0x18) | 556 | MMI_SDC1(%[ftmp7], $sp, 0x18) |
| 557 | "dmfc1 %[tmp2], %[ftmp0] \n\t" | 557 | "dmfc1 %[tmp2], %[ftmp0] \n\t" |
| 558 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 558 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 559 | MMI_ULWC1(%[ftmp6], %[addr0], 0x00) | 559 | MMI_ULWC1(%[ftmp6], %[addr0], 0x00) |
| 560 | MMI_LWXC1(%[ftmp7], %[addr0], %[stride], 0x00) | 560 | MMI_LWXC1(%[ftmp7], %[addr0], %[stride], 0x00) |
| 561 | "psrah %[ftmp2], %[ftmp2], %[ftmp10] \n\t" | 561 | "psrah %[ftmp2], %[ftmp2], %[ftmp10] \n\t" |
| @@ -646,7 +646,7 @@ void ff_h264_idct_dc_add_8_mmi(uint8_t *dst, int16_t *block, int stride) · 84 unmodified lines | |||
| 646 | 646 | ||
| 647 | __asm__ volatile ( | 647 | __asm__ volatile ( |
| 648 | "mtc1 %[dc], %[ftmp5] \n\t" | 648 | "mtc1 %[dc], %[ftmp5] \n\t" |
| 649 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 649 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 650 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" | 650 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" |
| 651 | MMI_ULWC1(%[ftmp1], %[dst0], 0x00) | 651 | MMI_ULWC1(%[ftmp1], %[dst0], 0x00) |
| 652 | MMI_ULWC1(%[ftmp2], %[dst1], 0x00) | 652 | MMI_ULWC1(%[ftmp2], %[dst1], 0x00) |
| @@ -690,7 +690,7 @@ void ff_h264_idct8_dc_add_8_mmi(uint8_t *dst, int16_t *block, int stride) · 37 unmodified lines | |||
| 690 | 690 | ||
| 691 | __asm__ volatile ( | 691 | __asm__ volatile ( |
| 692 | "mtc1 %[dc], %[ftmp5] \n\t" | 692 | "mtc1 %[dc], %[ftmp5] \n\t" |
| 693 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 693 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 694 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" | 694 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" |
| 695 | MMI_LDC1(%[ftmp1], %[dst0], 0x00) | 695 | MMI_LDC1(%[ftmp1], %[dst0], 0x00) |
| 696 | MMI_LDC1(%[ftmp2], %[dst1], 0x00) | 696 | MMI_LDC1(%[ftmp2], %[dst1], 0x00) |
| @@ -929,7 +929,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 232 unmodified lines | |||
| 929 | "packsswh %[ftmp0], %[ftmp0], %[ftmp1] \n\t" | 929 | "packsswh %[ftmp0], %[ftmp0], %[ftmp1] \n\t" |
| 930 | "packsswh %[ftmp2], %[ftmp2], %[ftmp5] \n\t" | 930 | "packsswh %[ftmp2], %[ftmp2], %[ftmp5] \n\t" |
| 931 | "dmfc1 %[tmp1], %[ftmp0] \n\t" | 931 | "dmfc1 %[tmp1], %[ftmp0] \n\t" |
| 932 | "dsrl %[ftmp0], %[ftmp0], %[ftmp9] \n\t" | 932 | "ssrld %[ftmp0], %[ftmp0], %[ftmp9] \n\t" |
| 933 | "mfc1 %[input], %[ftmp0] \n\t" | 933 | "mfc1 %[input], %[ftmp0] \n\t" |
| 934 | "sh %[tmp1], 0x00(%[output]) \n\t" | 934 | "sh %[tmp1], 0x00(%[output]) \n\t" |
| 935 | "sh %[input], 0x80(%[output]) \n\t" | 935 | "sh %[input], 0x80(%[output]) \n\t" |
| @@ -938,7 +938,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 2 unmodified lines | |||
| 938 | "sh %[tmp1], 0x20(%[output]) \n\t" | 938 | "sh %[tmp1], 0x20(%[output]) \n\t" |
| 939 | "sh %[input], 0xa0(%[output]) \n\t" | 939 | "sh %[input], 0xa0(%[output]) \n\t" |
| 940 | "dmfc1 %[tmp1], %[ftmp2] \n\t" | 940 | "dmfc1 %[tmp1], %[ftmp2] \n\t" |
| 941 | "dsrl %[ftmp2], %[ftmp2], %[ftmp9] \n\t" | 941 | "ssrld %[ftmp2], %[ftmp2], %[ftmp9] \n\t" |
| 942 | "mfc1 %[input], %[ftmp2] \n\t" | 942 | "mfc1 %[input], %[ftmp2] \n\t" |
| 943 | "sh %[tmp1], 0x40(%[output]) \n\t" | 943 | "sh %[tmp1], 0x40(%[output]) \n\t" |
| 944 | "sh %[input], 0xc0(%[output]) \n\t" | 944 | "sh %[input], 0xc0(%[output]) \n\t" |
| @@ -963,7 +963,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 18 unmodified lines | |||
| 963 | "packsswh %[ftmp3], %[ftmp3], %[ftmp1] \n\t" | 963 | "packsswh %[ftmp3], %[ftmp3], %[ftmp1] \n\t" |
| 964 | "packsswh %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 964 | "packsswh %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 965 | "dmfc1 %[tmp1], %[ftmp3] \n\t" | 965 | "dmfc1 %[tmp1], %[ftmp3] \n\t" |
| 966 | "dsrl %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 966 | "ssrld %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 967 | "mfc1 %[input], %[ftmp3] \n\t" | 967 | "mfc1 %[input], %[ftmp3] \n\t" |
| 968 | "sh %[tmp1], 0x100(%[output]) \n\t" | 968 | "sh %[tmp1], 0x100(%[output]) \n\t" |
| 969 | "sh %[input], 0x180(%[output]) \n\t" | 969 | "sh %[input], 0x180(%[output]) \n\t" |
| @@ -972,7 +972,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 2 unmodified lines | |||
| 972 | "sh %[tmp1], 0x120(%[output]) \n\t" | 972 | "sh %[tmp1], 0x120(%[output]) \n\t" |
| 973 | "sh %[input], 0x1a0(%[output]) \n\t" | 973 | "sh %[input], 0x1a0(%[output]) \n\t" |
| 974 | "dmfc1 %[tmp1], %[ftmp4] \n\t" | 974 | "dmfc1 %[tmp1], %[ftmp4] \n\t" |
| 975 | "dsrl %[ftmp4], %[ftmp4], %[ftmp9] \n\t" | 975 | "ssrld %[ftmp4], %[ftmp4], %[ftmp9] \n\t" |
| 976 | "mfc1 %[input], %[ftmp4] \n\t" | 976 | "mfc1 %[input], %[ftmp4] \n\t" |
| 977 | "sh %[tmp1], 0x140(%[output]) \n\t" | 977 | "sh %[tmp1], 0x140(%[output]) \n\t" |
| 978 | "sh %[input], 0x1c0(%[output]) \n\t" | 978 | "sh %[input], 0x1c0(%[output]) \n\t" |
| @@ -1016,7 +1016,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 37 unmodified lines | |||
| 1016 | "packsswh %[ftmp0], %[ftmp0], %[ftmp1] \n\t" | 1016 | "packsswh %[ftmp0], %[ftmp0], %[ftmp1] \n\t" |
| 1017 | "packsswh %[ftmp2], %[ftmp2], %[ftmp5] \n\t" | 1017 | "packsswh %[ftmp2], %[ftmp2], %[ftmp5] \n\t" |
| 1018 | "dmfc1 %[tmp1], %[ftmp0] \n\t" | 1018 | "dmfc1 %[tmp1], %[ftmp0] \n\t" |
| 1019 | "dsrl %[ftmp0], %[ftmp0], %[ftmp9] \n\t" | 1019 | "ssrld %[ftmp0], %[ftmp0], %[ftmp9] \n\t" |
| 1020 | "sh %[tmp1], 0x00(%[output]) \n\t" | 1020 | "sh %[tmp1], 0x00(%[output]) \n\t" |
| 1021 | "mfc1 %[input], %[ftmp0] \n\t" | 1021 | "mfc1 %[input], %[ftmp0] \n\t" |
| 1022 | "dsrl %[tmp1], %[tmp1], 0x10 \n\t" | 1022 | "dsrl %[tmp1], %[tmp1], 0x10 \n\t" |
| @@ -1025,7 +1025,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 2 unmodified lines | |||
| 1025 | PTR_SRL "%[input], %[input], 0x10 \n\t" | 1025 | PTR_SRL "%[input], %[input], 0x10 \n\t" |
| 1026 | "dmfc1 %[tmp1], %[ftmp2] \n\t" | 1026 | "dmfc1 %[tmp1], %[ftmp2] \n\t" |
| 1027 | "sh %[input], 0xa0(%[output]) \n\t" | 1027 | "sh %[input], 0xa0(%[output]) \n\t" |
| 1028 | "dsrl %[ftmp2], %[ftmp2], %[ftmp9] \n\t" | 1028 | "ssrld %[ftmp2], %[ftmp2], %[ftmp9] \n\t" |
| 1029 | "sh %[tmp1], 0x40(%[output]) \n\t" | 1029 | "sh %[tmp1], 0x40(%[output]) \n\t" |
| 1030 | "mfc1 %[input], %[ftmp2] \n\t" | 1030 | "mfc1 %[input], %[ftmp2] \n\t" |
| 1031 | "dsrl %[tmp1], %[tmp1], 0x10 \n\t" | 1031 | "dsrl %[tmp1], %[tmp1], 0x10 \n\t" |
| @@ -1050,7 +1050,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 18 unmodified lines | |||
| 1050 | "packsswh %[ftmp3], %[ftmp3], %[ftmp1] \n\t" | 1050 | "packsswh %[ftmp3], %[ftmp3], %[ftmp1] \n\t" |
| 1051 | "packsswh %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 1051 | "packsswh %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 1052 | "dmfc1 %[tmp1], %[ftmp3] \n\t" | 1052 | "dmfc1 %[tmp1], %[ftmp3] \n\t" |
| 1053 | "dsrl %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 1053 | "ssrld %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 1054 | "mfc1 %[input], %[ftmp3] \n\t" | 1054 | "mfc1 %[input], %[ftmp3] \n\t" |
| 1055 | "sh %[tmp1], 0x100(%[output]) \n\t" | 1055 | "sh %[tmp1], 0x100(%[output]) \n\t" |
| 1056 | "sh %[input], 0x180(%[output]) \n\t" | 1056 | "sh %[input], 0x180(%[output]) \n\t" |
| @@ -1059,7 +1059,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, · 2 unmodified lines | |||
| 1059 | "sh %[tmp1], 0x120(%[output]) \n\t" | 1059 | "sh %[tmp1], 0x120(%[output]) \n\t" |
| 1060 | "sh %[input], 0x1a0(%[output]) \n\t" | 1060 | "sh %[input], 0x1a0(%[output]) \n\t" |
| 1061 | "dmfc1 %[tmp1], %[ftmp4] \n\t" | 1061 | "dmfc1 %[tmp1], %[ftmp4] \n\t" |
| 1062 | "dsrl %[ftmp4], %[ftmp4], %[ftmp9] \n\t" | 1062 | "ssrld %[ftmp4], %[ftmp4], %[ftmp9] \n\t" |
| 1063 | "mfc1 %[input], %[ftmp4] \n\t" | 1063 | "mfc1 %[input], %[ftmp4] \n\t" |
| 1064 | "sh %[tmp1], 0x140(%[output]) \n\t" | 1064 | "sh %[tmp1], 0x140(%[output]) \n\t" |
| 1065 | "sh %[input], 0x1c0(%[output]) \n\t" | 1065 | "sh %[input], 0x1c0(%[output]) \n\t" |
| @@ -1144,7 +1144,7 @@ void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height, · 78 unmodified lines | |||
| 1144 | 1144 | ||
| 1145 | for (y=0; y<height; y++, block+=stride) { | 1145 | for (y=0; y<height; y++, block+=stride) { |
| 1146 | __asm__ volatile ( | 1146 | __asm__ volatile ( |
| 1147 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1147 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1148 | MMI_LDC1(%[ftmp1], %[block0], 0x00) | 1148 | MMI_LDC1(%[ftmp1], %[block0], 0x00) |
| 1149 | MMI_LDC1(%[ftmp2], %[block1], 0x00) | 1149 | MMI_LDC1(%[ftmp2], %[block1], 0x00) |
| 1150 | "mtc1 %[weight], %[ftmp3] \n\t" | 1150 | "mtc1 %[weight], %[ftmp3] \n\t" |
| @@ -1198,7 +1198,7 @@ void ff_h264_biweight_pixels16_8_mmi(uint8_t *dst, uint8_t *src, · 47 unmodified lines | |||
| 1198 | 1198 | ||
| 1199 | for (y=0; y<height; y++, dst+=stride, src+=stride) { | 1199 | for (y=0; y<height; y++, dst+=stride, src+=stride) { |
| 1200 | __asm__ volatile ( | 1200 | __asm__ volatile ( |
| 1201 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1201 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1202 | MMI_LDC1(%[ftmp1], %[src0], 0x00) | 1202 | MMI_LDC1(%[ftmp1], %[src0], 0x00) |
| 1203 | MMI_LDC1(%[ftmp2], %[dst0], 0x00) | 1203 | MMI_LDC1(%[ftmp2], %[dst0], 0x00) |
| 1204 | "mtc1 %[weights], %[ftmp3] \n\t" | 1204 | "mtc1 %[weights], %[ftmp3] \n\t" |
| @@ -1271,7 +1271,7 @@ void ff_h264_weight_pixels8_8_mmi(uint8_t *block, ptrdiff_t stride, int height, · 66 unmodified lines | |||
| 1271 | 1271 | ||
| 1272 | for (y=0; y<height; y++, block+=stride) { | 1272 | for (y=0; y<height; y++, block+=stride) { |
| 1273 | __asm__ volatile ( | 1273 | __asm__ volatile ( |
| 1274 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1274 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1275 | MMI_LDC1(%[ftmp1], %[block], 0x00) | 1275 | MMI_LDC1(%[ftmp1], %[block], 0x00) |
| 1276 | "mtc1 %[weight], %[ftmp2] \n\t" | 1276 | "mtc1 %[weight], %[ftmp2] \n\t" |
| 1277 | "mtc1 %[offset], %[ftmp3] \n\t" | 1277 | "mtc1 %[offset], %[ftmp3] \n\t" |
| @@ -1312,7 +1312,7 @@ void ff_h264_biweight_pixels8_8_mmi(uint8_t *dst, uint8_t *src, · 34 unmodified lines | |||
| 1312 | 1312 | ||
| 1313 | for (y=0; y<height; y++, dst+=stride, src+=stride) { | 1313 | for (y=0; y<height; y++, dst+=stride, src+=stride) { |
| 1314 | __asm__ volatile ( | 1314 | __asm__ volatile ( |
| 1315 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1315 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1316 | MMI_LDC1(%[ftmp1], %[src], 0x00) | 1316 | MMI_LDC1(%[ftmp1], %[src], 0x00) |
| 1317 | MMI_LDC1(%[ftmp2], %[dst], 0x00) | 1317 | MMI_LDC1(%[ftmp2], %[dst], 0x00) |
| 1318 | "mtc1 %[weights], %[ftmp3] \n\t" | 1318 | "mtc1 %[weights], %[ftmp3] \n\t" |
| @@ -1366,7 +1366,7 @@ void ff_h264_weight_pixels4_8_mmi(uint8_t *block, ptrdiff_t stride, int height, · 47 unmodified lines | |||
| 1366 | 1366 | ||
| 1367 | for (y=0; y<height; y++, block+=stride) { | 1367 | for (y=0; y<height; y++, block+=stride) { |
| 1368 | __asm__ volatile ( | 1368 | __asm__ volatile ( |
| 1369 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1369 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1370 | MMI_ULWC1(%[ftmp1], %[block], 0x00) | 1370 | MMI_ULWC1(%[ftmp1], %[block], 0x00) |
| 1371 | "mtc1 %[weight], %[ftmp2] \n\t" | 1371 | "mtc1 %[weight], %[ftmp2] \n\t" |
| 1372 | "mtc1 %[offset], %[ftmp3] \n\t" | 1372 | "mtc1 %[offset], %[ftmp3] \n\t" |
| @@ -1402,7 +1402,7 @@ void ff_h264_biweight_pixels4_8_mmi(uint8_t *dst, uint8_t *src, · 29 unmodified lines | |||
| 1402 | 1402 | ||
| 1403 | for (y=0; y<height; y++, dst+=stride, src+=stride) { | 1403 | for (y=0; y<height; y++, dst+=stride, src+=stride) { |
| 1404 | __asm__ volatile ( | 1404 | __asm__ volatile ( |
| 1405 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1405 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1406 | MMI_ULWC1(%[ftmp1], %[src], 0x00) | 1406 | MMI_ULWC1(%[ftmp1], %[src], 0x00) |
| 1407 | MMI_ULWC1(%[ftmp2], %[dst], 0x00) | 1407 | MMI_ULWC1(%[ftmp2], %[dst], 0x00) |
| 1408 | "mtc1 %[weight], %[ftmp3] \n\t" | 1408 | "mtc1 %[weight], %[ftmp3] \n\t" |
| @@ -1445,7 +1445,7 @@ void ff_deblock_v8_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int bet · 36 unmodified lines | |||
| 1445 | 1445 | ||
| 1446 | __asm__ volatile ( | 1446 | __asm__ volatile ( |
| 1447 | PTR_ADDU "%[addr0], %[stride], %[stride] \n\t" | 1447 | PTR_ADDU "%[addr0], %[stride], %[stride] \n\t" |
| 1448 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1448 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1449 | PTR_ADDU "%[addr1], %[stride], %[addr0] \n\t" | 1449 | PTR_ADDU "%[addr1], %[stride], %[addr0] \n\t" |
| 1450 | "addi %[alpha], %[alpha], -0x01 \n\t" | 1450 | "addi %[alpha], %[alpha], -0x01 \n\t" |
| 1451 | PTR_SUBU "%[addr1], $0, %[addr1] \n\t" | 1451 | PTR_SUBU "%[addr1], $0, %[addr1] \n\t" |
| @@ -1463,18 +1463,18 @@ void ff_deblock_v8_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int bet · 11 unmodified lines | |||
| 1463 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 1463 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 1464 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" | 1464 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" |
| 1465 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" | 1465 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" |
| 1466 | "or %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1466 | "por %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1467 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" | 1467 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" |
| 1468 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1468 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1469 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" | 1469 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" |
| 1470 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1470 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1471 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" | 1471 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" |
| 1472 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1472 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1473 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1473 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1474 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" | 1474 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" |
| 1475 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1475 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1476 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1476 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1477 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1477 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1478 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp0] \n\t" | 1478 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp0] \n\t" |
| 1479 | "pcmpeqb %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 1479 | "pcmpeqb %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 1480 | MMI_ULWC1(%[ftmp5], %[tc0], 0x00) | 1480 | MMI_ULWC1(%[ftmp5], %[tc0], 0x00) |
| @@ -1482,21 +1482,21 @@ void ff_deblock_v8_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int bet · 1 unmodified line | |||
| 1482 | "punpcklbh %[ftmp9], %[ftmp5], %[ftmp5] \n\t" | 1482 | "punpcklbh %[ftmp9], %[ftmp5], %[ftmp5] \n\t" |
| 1483 | "pcmpgtb %[ftmp5], %[ftmp9], %[ftmp4] \n\t" | 1483 | "pcmpgtb %[ftmp5], %[ftmp9], %[ftmp4] \n\t" |
| 1484 | MMI_LDC1(%[ftmp4], %[addr1], 0x00) | 1484 | MMI_LDC1(%[ftmp4], %[addr1], 0x00) |
| 1485 | "and %[ftmp10], %[ftmp5], %[ftmp8] \n\t" | 1485 | "pand %[ftmp10], %[ftmp5], %[ftmp8] \n\t" |
| 1486 | "psubusb %[ftmp8], %[ftmp4], %[ftmp2] \n\t" | 1486 | "psubusb %[ftmp8], %[ftmp4], %[ftmp2] \n\t" |
| 1487 | "psubusb %[ftmp7], %[ftmp2], %[ftmp4] \n\t" | 1487 | "psubusb %[ftmp7], %[ftmp2], %[ftmp4] \n\t" |
| 1488 | "psubusb %[ftmp8], %[ftmp8], %[ftmp6] \n\t" | 1488 | "psubusb %[ftmp8], %[ftmp8], %[ftmp6] \n\t" |
| 1489 | "psubusb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 1489 | "psubusb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 1490 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" | 1490 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" |
| 1491 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1491 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1492 | "and %[ftmp5], %[ftmp10], %[ftmp9] \n\t" | 1492 | "pand %[ftmp5], %[ftmp10], %[ftmp9] \n\t" |
| 1493 | "psubb %[ftmp8], %[ftmp5], %[ftmp7] \n\t" | 1493 | "psubb %[ftmp8], %[ftmp5], %[ftmp7] \n\t" |
| 1494 | "and %[ftmp7], %[ftmp7], %[ftmp5] \n\t" | 1494 | "pand %[ftmp7], %[ftmp7], %[ftmp5] \n\t" |
| 1495 | "pavgb %[ftmp5], %[ftmp2], %[ftmp3] \n\t" | 1495 | "pavgb %[ftmp5], %[ftmp2], %[ftmp3] \n\t" |
| 1496 | MMI_LDC1(%[ftmp11], %[addr1], 0x00) | 1496 | MMI_LDC1(%[ftmp11], %[addr1], 0x00) |
| 1497 | "pavgb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 1497 | "pavgb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 1498 | "xor %[ftmp5], %[ftmp5], %[ftmp11] \n\t" | 1498 | "pxor %[ftmp5], %[ftmp5], %[ftmp11] \n\t" |
| 1499 | "and %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" | 1499 | "pand %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" |
| 1500 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 1500 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 1501 | "psubusb %[ftmp5], %[ftmp1], %[ftmp7] \n\t" | 1501 | "psubusb %[ftmp5], %[ftmp1], %[ftmp7] \n\t" |
| 1502 | "paddusb %[ftmp7], %[ftmp7], %[ftmp1] \n\t" | 1502 | "paddusb %[ftmp7], %[ftmp7], %[ftmp1] \n\t" |
| @@ -1509,26 +1509,26 @@ void ff_deblock_v8_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int bet · 6 unmodified lines | |||
| 1509 | "psubusb %[ftmp4], %[ftmp4], %[ftmp6] \n\t" | 1509 | "psubusb %[ftmp4], %[ftmp4], %[ftmp6] \n\t" |
| 1510 | "psubusb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 1510 | "psubusb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 1511 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 1511 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 1512 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1512 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1513 | "psubb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1513 | "psubb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1514 | "and %[ftmp6], %[ftmp9], %[ftmp7] \n\t" | 1514 | "pand %[ftmp6], %[ftmp9], %[ftmp7] \n\t" |
| 1515 | MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00) | 1515 | MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00) |
| 1516 | "pavgb %[ftmp7], %[ftmp2], %[ftmp3] \n\t" | 1516 | "pavgb %[ftmp7], %[ftmp2], %[ftmp3] \n\t" |
| 1517 | MMI_LDXC1(%[ftmp11], %[pix], %[addr0], 0x00) | 1517 | MMI_LDXC1(%[ftmp11], %[pix], %[addr0], 0x00) |
| 1518 | "pavgb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1518 | "pavgb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1519 | "xor %[ftmp7], %[ftmp7], %[ftmp11] \n\t" | 1519 | "pxor %[ftmp7], %[ftmp7], %[ftmp11] \n\t" |
| 1520 | "and %[ftmp7], %[ftmp7], %[ff_pb_1] \n\t" | 1520 | "pand %[ftmp7], %[ftmp7], %[ff_pb_1] \n\t" |
| 1521 | "psubusb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1521 | "psubusb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1522 | "psubusb %[ftmp7], %[ftmp4], %[ftmp6] \n\t" | 1522 | "psubusb %[ftmp7], %[ftmp4], %[ftmp6] \n\t" |
| 1523 | "paddusb %[ftmp6], %[ftmp6], %[ftmp4] \n\t" | 1523 | "paddusb %[ftmp6], %[ftmp6], %[ftmp4] \n\t" |
| 1524 | "pmaxub %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1524 | "pmaxub %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1525 | "pminub %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1525 | "pminub %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1526 | MMI_SDXC1(%[ftmp5], %[pix], %[stride], 0x00) | 1526 | MMI_SDXC1(%[ftmp5], %[pix], %[stride], 0x00) |
| 1527 | "xor %[ftmp6], %[ftmp2], %[ftmp3] \n\t" | 1527 | "pxor %[ftmp6], %[ftmp2], %[ftmp3] \n\t" |
| 1528 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 1528 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 1529 | "and %[ftmp6], %[ftmp6], %[ff_pb_1] \n\t" | 1529 | "pand %[ftmp6], %[ftmp6], %[ff_pb_1] \n\t" |
| 1530 | "xor %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 1530 | "pxor %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 1531 | "xor %[ftmp5], %[ftmp5], %[ftmp2] \n\t" | 1531 | "pxor %[ftmp5], %[ftmp5], %[ftmp2] \n\t" |
| 1532 | "pavgb %[ftmp4], %[ftmp4], %[ftmp1] \n\t" | 1532 | "pavgb %[ftmp4], %[ftmp4], %[ftmp1] \n\t" |
| 1533 | "pavgb %[ftmp4], %[ftmp4], %[ff_pb_3] \n\t" | 1533 | "pavgb %[ftmp4], %[ftmp4], %[ff_pb_3] \n\t" |
| 1534 | "pavgb %[ftmp5], %[ftmp5], %[ftmp3] \n\t" | 1534 | "pavgb %[ftmp5], %[ftmp5], %[ftmp3] \n\t" |
| @@ -1574,12 +1574,12 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 39 unmodified lines | |||
| 1574 | 1574 | ||
| 1575 | __asm__ volatile ( | 1575 | __asm__ volatile ( |
| 1576 | "ori %[tmp0], $0, 0x01 \n\t" | 1576 | "ori %[tmp0], $0, 0x01 \n\t" |
| 1577 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1577 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1578 | "mtc1 %[tmp0], %[ftmp9] \n\t" | 1578 | "mtc1 %[tmp0], %[ftmp9] \n\t" |
| 1579 | PTR_SLL "%[addr0], %[stride], 0x02 \n\t" | 1579 | PTR_SLL "%[addr0], %[stride], 0x02 \n\t" |
| 1580 | PTR_ADDU "%[addr2], %[stride], %[stride] \n\t" | 1580 | PTR_ADDU "%[addr2], %[stride], %[stride] \n\t" |
| 1581 | PTR_ADDIU "%[alpha], %[alpha], -0x01 \n\t" | 1581 | PTR_ADDIU "%[alpha], %[alpha], -0x01 \n\t" |
| 1582 | PTR_SLL "%[ftmp11], %[ftmp9], %[ftmp9] \n\t" | 1582 | "sslld %[ftmp11], %[ftmp9], %[ftmp9] \n\t" |
| 1583 | "bltz %[alpha], 1f \n\t" | 1583 | "bltz %[alpha], 1f \n\t" |
| 1584 | PTR_ADDU "%[addr1], %[addr2], %[stride] \n\t" | 1584 | PTR_ADDU "%[addr1], %[addr2], %[stride] \n\t" |
| 1585 | PTR_ADDIU "%[beta], %[beta], -0x01 \n\t" | 1585 | PTR_ADDIU "%[beta], %[beta], -0x01 \n\t" |
| @@ -1598,20 +1598,20 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 12 unmodified lines | |||
| 1598 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" | 1598 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" |
| 1599 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" | 1599 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" |
| 1600 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 1600 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 1601 | "or %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1601 | "por %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1602 | MMI_SDC1(%[ftmp5], %[stack], 0x10) | 1602 | MMI_SDC1(%[ftmp5], %[stack], 0x10) |
| 1603 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1603 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1604 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" | 1604 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" |
| 1605 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" | 1605 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" |
| 1606 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1606 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1607 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1607 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1608 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1608 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1609 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" | 1609 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" |
| 1610 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" | 1610 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" |
| 1611 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1611 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1612 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1612 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1613 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1613 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1614 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 1614 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 1615 | MMI_LDC1(%[ftmp5], %[stack], 0x10) | 1615 | MMI_LDC1(%[ftmp5], %[stack], 0x10) |
| 1616 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1616 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1617 | "ldc1 %[ftmp10], %[ff_pb_1] \n\t" | 1617 | "ldc1 %[ftmp10], %[ff_pb_1] \n\t" |
| @@ -1624,14 +1624,14 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 6 unmodified lines | |||
| 1624 | "psubusb %[ftmp7], %[ftmp7], %[ftmp5] \n\t" | 1624 | "psubusb %[ftmp7], %[ftmp7], %[ftmp5] \n\t" |
| 1625 | MMI_LDC1(%[ftmp15], %[stack], 0x20) | 1625 | MMI_LDC1(%[ftmp15], %[stack], 0x20) |
| 1626 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" | 1626 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" |
| 1627 | "and %[ftmp7], %[ftmp7], %[ftmp15] \n\t" | 1627 | "pand %[ftmp7], %[ftmp7], %[ftmp15] \n\t" |
| 1628 | MMI_LDXC1(%[ftmp15], %[addr0], %[stride], 0x00) | 1628 | MMI_LDXC1(%[ftmp15], %[addr0], %[stride], 0x00) |
| 1629 | "psubusb %[ftmp8], %[ftmp15], %[ftmp2] \n\t" | 1629 | "psubusb %[ftmp8], %[ftmp15], %[ftmp2] \n\t" |
| 1630 | "psubusb %[ftmp5], %[ftmp2], %[ftmp15] \n\t" | 1630 | "psubusb %[ftmp5], %[ftmp2], %[ftmp15] \n\t" |
| 1631 | "psubusb %[ftmp8], %[ftmp8], %[ftmp6] \n\t" | 1631 | "psubusb %[ftmp8], %[ftmp8], %[ftmp6] \n\t" |
| 1632 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1632 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1633 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp8] \n\t" | 1633 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp8] \n\t" |
| 1634 | "and %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1634 | "pand %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1635 | MMI_LDXC1(%[ftmp14], %[pix], %[addr2], 0x00) | 1635 | MMI_LDXC1(%[ftmp14], %[pix], %[addr2], 0x00) |
| 1636 | MMI_SDC1(%[ftmp5], %[stack], 0x30) | 1636 | MMI_SDC1(%[ftmp5], %[stack], 0x30) |
| 1637 | "psubusb %[ftmp8], %[ftmp14], %[ftmp3] \n\t" | 1637 | "psubusb %[ftmp8], %[ftmp14], %[ftmp3] \n\t" |
| @@ -1639,7 +1639,7 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 1 unmodified line | |||
| 1639 | "psubusb %[ftmp8], %[ftmp8], %[ftmp6] \n\t" | 1639 | "psubusb %[ftmp8], %[ftmp8], %[ftmp6] \n\t" |
| 1640 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1640 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1641 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp8] \n\t" | 1641 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp8] \n\t" |
| 1642 | "and %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1642 | "pand %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1643 | MMI_SDC1(%[ftmp5], %[stack], 0x40) | 1643 | MMI_SDC1(%[ftmp5], %[stack], 0x40) |
| 1644 | "pavgb %[ftmp5], %[ftmp15], %[ftmp1] \n\t" | 1644 | "pavgb %[ftmp5], %[ftmp15], %[ftmp1] \n\t" |
| 1645 | "pavgb %[ftmp6], %[ftmp2], %[ftmp3] \n\t" | 1645 | "pavgb %[ftmp6], %[ftmp2], %[ftmp3] \n\t" |
| @@ -1652,36 +1652,36 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 6 unmodified lines | |||
| 1652 | MMI_SDC1(%[ftmp7], %[stack], 0x00) | 1652 | MMI_SDC1(%[ftmp7], %[stack], 0x00) |
| 1653 | "psrlh %[ftmp7], %[ftmp7], %[ftmp9] \n\t" | 1653 | "psrlh %[ftmp7], %[ftmp7], %[ftmp9] \n\t" |
| 1654 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" | 1654 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" |
| 1655 | "xor %[ftmp7], %[ftmp7], %[ftmp5] \n\t" | 1655 | "pxor %[ftmp7], %[ftmp7], %[ftmp5] \n\t" |
| 1656 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1656 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1657 | "psubb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1657 | "psubb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1658 | "pavgb %[ftmp6], %[ftmp15], %[ftmp4] \n\t" | 1658 | "pavgb %[ftmp6], %[ftmp15], %[ftmp4] \n\t" |
| 1659 | "psubb %[ftmp7], %[ftmp15], %[ftmp4] \n\t" | 1659 | "psubb %[ftmp7], %[ftmp15], %[ftmp4] \n\t" |
| 1660 | "paddb %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 1660 | "paddb %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 1661 | "psubb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1661 | "psubb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1662 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1662 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1663 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1663 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1664 | MMI_LDC1(%[ftmp13], %[stack], 0x10) | 1664 | MMI_LDC1(%[ftmp13], %[stack], 0x10) |
| 1665 | "pavgb %[ftmp6], %[ftmp6], %[ftmp1] \n\t" | 1665 | "pavgb %[ftmp6], %[ftmp6], %[ftmp1] \n\t" |
| 1666 | "psrlh %[ftmp8], %[ftmp8], %[ftmp11] \n\t" | 1666 | "psrlh %[ftmp8], %[ftmp8], %[ftmp11] \n\t" |
| 1667 | "pavgb %[ftmp6], %[ftmp6], %[ftmp13] \n\t" | 1667 | "pavgb %[ftmp6], %[ftmp6], %[ftmp13] \n\t" |
| 1668 | "pavgb %[ftmp8], %[ftmp8], %[ftmp0] \n\t" | 1668 | "pavgb %[ftmp8], %[ftmp8], %[ftmp0] \n\t" |
| 1669 | "xor %[ftmp8], %[ftmp8], %[ftmp6] \n\t" | 1669 | "pxor %[ftmp8], %[ftmp8], %[ftmp6] \n\t" |
| 1670 | "and %[ftmp8], %[ftmp8], %[ftmp10] \n\t" | 1670 | "pand %[ftmp8], %[ftmp8], %[ftmp10] \n\t" |
| 1671 | "psubb %[ftmp6], %[ftmp6], %[ftmp8] \n\t" | 1671 | "psubb %[ftmp6], %[ftmp6], %[ftmp8] \n\t" |
| 1672 | "xor %[ftmp8], %[ftmp2], %[ftmp4] \n\t" | 1672 | "pxor %[ftmp8], %[ftmp2], %[ftmp4] \n\t" |
| 1673 | "pavgb %[ftmp7], %[ftmp2], %[ftmp4] \n\t" | 1673 | "pavgb %[ftmp7], %[ftmp2], %[ftmp4] \n\t" |
| 1674 | "and %[ftmp8], %[ftmp8], %[ftmp10] \n\t" | 1674 | "pand %[ftmp8], %[ftmp8], %[ftmp10] \n\t" |
| 1675 | "psubb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" | 1675 | "psubb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" |
| 1676 | MMI_LDC1(%[ftmp13], %[stack], 0x30) | 1676 | MMI_LDC1(%[ftmp13], %[stack], 0x30) |
| 1677 | "pavgb %[ftmp7], %[ftmp7], %[ftmp1] \n\t" | 1677 | "pavgb %[ftmp7], %[ftmp7], %[ftmp1] \n\t" |
| 1678 | MMI_LDC1(%[ftmp12], %[stack], 0x20) | 1678 | MMI_LDC1(%[ftmp12], %[stack], 0x20) |
| 1679 | "xor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1679 | "pxor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1680 | "xor %[ftmp7], %[ftmp7], %[ftmp2] \n\t" | 1680 | "pxor %[ftmp7], %[ftmp7], %[ftmp2] \n\t" |
| 1681 | "and %[ftmp6], %[ftmp6], %[ftmp13] \n\t" | 1681 | "pand %[ftmp6], %[ftmp6], %[ftmp13] \n\t" |
| 1682 | "and %[ftmp7], %[ftmp7], %[ftmp12] \n\t" | 1682 | "pand %[ftmp7], %[ftmp7], %[ftmp12] \n\t" |
| 1683 | "xor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1683 | "pxor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1684 | "xor %[ftmp6], %[ftmp6], %[ftmp2] \n\t" | 1684 | "pxor %[ftmp6], %[ftmp6], %[ftmp2] \n\t" |
| 1685 | MMI_SDXC1(%[ftmp6], %[addr0], %[addr1], 0x00) | 1685 | MMI_SDXC1(%[ftmp6], %[addr0], %[addr1], 0x00) |
| 1686 | MMI_LDC1(%[ftmp6], %[addr0], 0x00) | 1686 | MMI_LDC1(%[ftmp6], %[addr0], 0x00) |
| 1687 | "paddb %[ftmp7], %[ftmp15], %[ftmp6] \n\t" | 1687 | "paddb %[ftmp7], %[ftmp15], %[ftmp6] \n\t" |
| @@ -1692,16 +1692,16 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 4 unmodified lines | |||
| 1692 | "paddb %[ftmp7], %[ftmp7], %[ftmp12] \n\t" | 1692 | "paddb %[ftmp7], %[ftmp7], %[ftmp12] \n\t" |
| 1693 | "psrlh %[ftmp7], %[ftmp7], %[ftmp11] \n\t" | 1693 | "psrlh %[ftmp7], %[ftmp7], %[ftmp11] \n\t" |
| 1694 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" | 1694 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" |
| 1695 | "xor %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 1695 | "pxor %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 1696 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1696 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1697 | MMI_LDC1(%[ftmp12], %[stack], 0x30) | 1697 | MMI_LDC1(%[ftmp12], %[stack], 0x30) |
| 1698 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1698 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1699 | "xor %[ftmp5], %[ftmp5], %[ftmp1] \n\t" | 1699 | "pxor %[ftmp5], %[ftmp5], %[ftmp1] \n\t" |
| 1700 | "xor %[ftmp6], %[ftmp6], %[ftmp15] \n\t" | 1700 | "pxor %[ftmp6], %[ftmp6], %[ftmp15] \n\t" |
| 1701 | "and %[ftmp5], %[ftmp5], %[ftmp12] \n\t" | 1701 | "pand %[ftmp5], %[ftmp5], %[ftmp12] \n\t" |
| 1702 | "and %[ftmp6], %[ftmp6], %[ftmp12] \n\t" | 1702 | "pand %[ftmp6], %[ftmp6], %[ftmp12] \n\t" |
| 1703 | "xor %[ftmp5], %[ftmp5], %[ftmp1] \n\t" | 1703 | "pxor %[ftmp5], %[ftmp5], %[ftmp1] \n\t" |
| 1704 | "xor %[ftmp6], %[ftmp6], %[ftmp15] \n\t" | 1704 | "pxor %[ftmp6], %[ftmp6], %[ftmp15] \n\t" |
| 1705 | MMI_SDXC1(%[ftmp5], %[addr0], %[addr2], 0x00) | 1705 | MMI_SDXC1(%[ftmp5], %[addr0], %[addr2], 0x00) |
| 1706 | MMI_SDXC1(%[ftmp6], %[addr0], %[stride], 0x00) | 1706 | MMI_SDXC1(%[ftmp6], %[addr0], %[stride], 0x00) |
| 1707 | "pavgb %[ftmp5], %[ftmp14], %[ftmp4] \n\t" | 1707 | "pavgb %[ftmp5], %[ftmp14], %[ftmp4] \n\t" |
| @@ -1715,36 +1715,36 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 7 unmodified lines | |||
| 1715 | MMI_SDC1(%[ftmp7], %[stack], 0x00) | 1715 | MMI_SDC1(%[ftmp7], %[stack], 0x00) |
| 1716 | "psrlh %[ftmp7], %[ftmp7], %[ftmp9] \n\t" | 1716 | "psrlh %[ftmp7], %[ftmp7], %[ftmp9] \n\t" |
| 1717 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" | 1717 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" |
| 1718 | "xor %[ftmp7], %[ftmp7], %[ftmp5] \n\t" | 1718 | "pxor %[ftmp7], %[ftmp7], %[ftmp5] \n\t" |
| 1719 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1719 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1720 | "psubb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1720 | "psubb %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1721 | "pavgb %[ftmp6], %[ftmp14], %[ftmp1] \n\t" | 1721 | "pavgb %[ftmp6], %[ftmp14], %[ftmp1] \n\t" |
| 1722 | "paddb %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 1722 | "paddb %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 1723 | "psubb %[ftmp7], %[ftmp14], %[ftmp1] \n\t" | 1723 | "psubb %[ftmp7], %[ftmp14], %[ftmp1] \n\t" |
| 1724 | "psubb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1724 | "psubb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1725 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1725 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1726 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1726 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1727 | MMI_LDC1(%[ftmp12], %[stack], 0x10) | 1727 | MMI_LDC1(%[ftmp12], %[stack], 0x10) |
| 1728 | "pavgb %[ftmp6], %[ftmp6], %[ftmp4] \n\t" | 1728 | "pavgb %[ftmp6], %[ftmp6], %[ftmp4] \n\t" |
| 1729 | "pavgb %[ftmp6], %[ftmp6], %[ftmp12] \n\t" | 1729 | "pavgb %[ftmp6], %[ftmp6], %[ftmp12] \n\t" |
| 1730 | "psrlh %[ftmp8], %[ftmp8], %[ftmp11] \n\t" | 1730 | "psrlh %[ftmp8], %[ftmp8], %[ftmp11] \n\t" |
| 1731 | "pavgb %[ftmp8], %[ftmp8], %[ftmp0] \n\t" | 1731 | "pavgb %[ftmp8], %[ftmp8], %[ftmp0] \n\t" |
| 1732 | "xor %[ftmp8], %[ftmp8], %[ftmp6] \n\t" | 1732 | "pxor %[ftmp8], %[ftmp8], %[ftmp6] \n\t" |
| 1733 | "and %[ftmp8], %[ftmp8], %[ftmp10] \n\t" | 1733 | "pand %[ftmp8], %[ftmp8], %[ftmp10] \n\t" |
| 1734 | "psubb %[ftmp6], %[ftmp6], %[ftmp8] \n\t" | 1734 | "psubb %[ftmp6], %[ftmp6], %[ftmp8] \n\t" |
| 1735 | "xor %[ftmp8], %[ftmp3], %[ftmp1] \n\t" | 1735 | "pxor %[ftmp8], %[ftmp3], %[ftmp1] \n\t" |
| 1736 | "pavgb %[ftmp7], %[ftmp3], %[ftmp1] \n\t" | 1736 | "pavgb %[ftmp7], %[ftmp3], %[ftmp1] \n\t" |
| 1737 | "and %[ftmp8], %[ftmp8], %[ftmp10] \n\t" | 1737 | "pand %[ftmp8], %[ftmp8], %[ftmp10] \n\t" |
| 1738 | MMI_LDC1(%[ftmp12], %[stack], 0x40) | 1738 | MMI_LDC1(%[ftmp12], %[stack], 0x40) |
| 1739 | "psubb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" | 1739 | "psubb %[ftmp7], %[ftmp7], %[ftmp8] \n\t" |
| 1740 | MMI_LDC1(%[ftmp13], %[stack], 0x20) | 1740 | MMI_LDC1(%[ftmp13], %[stack], 0x20) |
| 1741 | "pavgb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 1741 | "pavgb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 1742 | "xor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1742 | "pxor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1743 | "xor %[ftmp7], %[ftmp7], %[ftmp3] \n\t" | 1743 | "pxor %[ftmp7], %[ftmp7], %[ftmp3] \n\t" |
| 1744 | "and %[ftmp6], %[ftmp6], %[ftmp12] \n\t" | 1744 | "pand %[ftmp6], %[ftmp6], %[ftmp12] \n\t" |
| 1745 | "and %[ftmp7], %[ftmp7], %[ftmp13] \n\t" | 1745 | "pand %[ftmp7], %[ftmp7], %[ftmp13] \n\t" |
| 1746 | "xor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1746 | "pxor %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1747 | "xor %[ftmp6], %[ftmp6], %[ftmp3] \n\t" | 1747 | "pxor %[ftmp6], %[ftmp6], %[ftmp3] \n\t" |
| 1748 | MMI_SDC1(%[ftmp6], %[pix], 0x00) | 1748 | MMI_SDC1(%[ftmp6], %[pix], 0x00) |
| 1749 | MMI_LDXC1(%[ftmp6], %[pix], %[addr1], 0x00) | 1749 | MMI_LDXC1(%[ftmp6], %[pix], %[addr1], 0x00) |
| 1750 | "paddb %[ftmp7], %[ftmp14], %[ftmp6] \n\t" | 1750 | "paddb %[ftmp7], %[ftmp14], %[ftmp6] \n\t" |
| @@ -1755,16 +1755,16 @@ static void deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alph · 4 unmodified lines | |||
| 1755 | "paddb %[ftmp7], %[ftmp7], %[ftmp12] \n\t" | 1755 | "paddb %[ftmp7], %[ftmp7], %[ftmp12] \n\t" |
| 1756 | "psrlh %[ftmp7], %[ftmp7], %[ftmp11] \n\t" | 1756 | "psrlh %[ftmp7], %[ftmp7], %[ftmp11] \n\t" |
| 1757 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" | 1757 | "pavgb %[ftmp7], %[ftmp7], %[ftmp0] \n\t" |
| 1758 | "xor %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 1758 | "pxor %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 1759 | "and %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 1759 | "pand %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 1760 | MMI_LDC1(%[ftmp12], %[stack], 0x40) | 1760 | MMI_LDC1(%[ftmp12], %[stack], 0x40) |
| 1761 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" | 1761 | "psubb %[ftmp6], %[ftmp6], %[ftmp7] \n\t" |
| 1762 | "xor %[ftmp5], %[ftmp5], %[ftmp4] \n\t" | 1762 | "pxor %[ftmp5], %[ftmp5], %[ftmp4] \n\t" |
| 1763 | "xor %[ftmp6], %[ftmp6], %[ftmp14] \n\t" | 1763 | "pxor %[ftmp6], %[ftmp6], %[ftmp14] \n\t" |
| 1764 | "and %[ftmp5], %[ftmp5], %[ftmp12] \n\t" | 1764 | "pand %[ftmp5], %[ftmp5], %[ftmp12] \n\t" |
| 1765 | "and %[ftmp6], %[ftmp6], %[ftmp12] \n\t" | 1765 | "pand %[ftmp6], %[ftmp6], %[ftmp12] \n\t" |
| 1766 | "xor %[ftmp5], %[ftmp5], %[ftmp4] \n\t" | 1766 | "pxor %[ftmp5], %[ftmp5], %[ftmp4] \n\t" |
| 1767 | "xor %[ftmp6], %[ftmp6], %[ftmp14] \n\t" | 1767 | "pxor %[ftmp6], %[ftmp6], %[ftmp14] \n\t" |
| 1768 | MMI_SDXC1(%[ftmp5], %[pix], %[stride], 0x00) | 1768 | MMI_SDXC1(%[ftmp5], %[pix], %[stride], 0x00) |
| 1769 | MMI_SDXC1(%[ftmp6], %[pix], %[addr2], 0x00) | 1769 | MMI_SDXC1(%[ftmp6], %[pix], %[addr2], 0x00) |
| 1770 | "1: \n\t" | 1770 | "1: \n\t" |
| @@ -1808,7 +1808,7 @@ void ff_deblock_v_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, · 37 unmodified lines | |||
| 1808 | MMI_LDC1(%[ftmp3], %[pix], 0x00) | 1808 | MMI_LDC1(%[ftmp3], %[pix], 0x00) |
| 1809 | MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00) | 1809 | MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00) |
| 1810 | 1810 | ||
| 1811 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1811 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1812 | "mtc1 %[alpha], %[ftmp5] \n\t" | 1812 | "mtc1 %[alpha], %[ftmp5] \n\t" |
| 1813 | "mtc1 %[beta], %[ftmp6] \n\t" | 1813 | "mtc1 %[beta], %[ftmp6] \n\t" |
| 1814 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" | 1814 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" |
| @@ -1817,29 +1817,29 @@ void ff_deblock_v_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, · 2 unmodified lines | |||
| 1817 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 1817 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 1818 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" | 1818 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" |
| 1819 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" | 1819 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" |
| 1820 | "or %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1820 | "por %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1821 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1821 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1822 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" | 1822 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" |
| 1823 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" | 1823 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" |
| 1824 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1824 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1825 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1825 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1826 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1826 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1827 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" | 1827 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" |
| 1828 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" | 1828 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" |
| 1829 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1829 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1830 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1830 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1831 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1831 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1832 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 1832 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 1833 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1833 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1834 | MMI_ULWC1(%[ftmp7], %[tc0], 0x00) | 1834 | MMI_ULWC1(%[ftmp7], %[tc0], 0x00) |
| 1835 | "punpcklbh %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 1835 | "punpcklbh %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 1836 | "and %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1836 | "pand %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1837 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 1837 | "pcmpeqb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 1838 | "xor %[ftmp6], %[ftmp2], %[ftmp3] \n\t" | 1838 | "pxor %[ftmp6], %[ftmp2], %[ftmp3] \n\t" |
| 1839 | "xor %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 1839 | "pxor %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 1840 | "and %[ftmp6], %[ftmp6], %[ff_pb_1] \n\t" | 1840 | "pand %[ftmp6], %[ftmp6], %[ff_pb_1] \n\t" |
| 1841 | "pavgb %[ftmp4], %[ftmp4], %[ftmp1] \n\t" | 1841 | "pavgb %[ftmp4], %[ftmp4], %[ftmp1] \n\t" |
| 1842 | "xor %[ftmp5], %[ftmp5], %[ftmp2] \n\t" | 1842 | "pxor %[ftmp5], %[ftmp5], %[ftmp2] \n\t" |
| 1843 | "pavgb %[ftmp4], %[ftmp4], %[ff_pb_3] \n\t" | 1843 | "pavgb %[ftmp4], %[ftmp4], %[ff_pb_3] \n\t" |
| 1844 | "pavgb %[ftmp5], %[ftmp5], %[ftmp3] \n\t" | 1844 | "pavgb %[ftmp5], %[ftmp5], %[ftmp3] \n\t" |
| 1845 | "pavgb %[ftmp4], %[ftmp4], %[ftmp6] \n\t" | 1845 | "pavgb %[ftmp4], %[ftmp4], %[ftmp6] \n\t" |
| @@ -1891,7 +1891,7 @@ void ff_deblock_v_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, · 45 unmodified lines | |||
| 1891 | MMI_LDC1(%[ftmp3], %[pix], 0x00) | 1891 | MMI_LDC1(%[ftmp3], %[pix], 0x00) |
| 1892 | MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00) | 1892 | MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00) |
| 1893 | 1893 | ||
| 1894 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1894 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1895 | "mtc1 %[alpha], %[ftmp5] \n\t" | 1895 | "mtc1 %[alpha], %[ftmp5] \n\t" |
| 1896 | "mtc1 %[beta], %[ftmp6] \n\t" | 1896 | "mtc1 %[beta], %[ftmp6] \n\t" |
| 1897 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" | 1897 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" |
| @@ -1900,36 +1900,36 @@ void ff_deblock_v_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, · 2 unmodified lines | |||
| 1900 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 1900 | "packushb %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 1901 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" | 1901 | "psubusb %[ftmp7], %[ftmp3], %[ftmp2] \n\t" |
| 1902 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" | 1902 | "psubusb %[ftmp8], %[ftmp2], %[ftmp3] \n\t" |
| 1903 | "or %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1903 | "por %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1904 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1904 | "psubusb %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1905 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" | 1905 | "psubusb %[ftmp7], %[ftmp2], %[ftmp1] \n\t" |
| 1906 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" | 1906 | "psubusb %[ftmp5], %[ftmp1], %[ftmp2] \n\t" |
| 1907 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1907 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1908 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1908 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1909 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1909 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1910 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" | 1910 | "psubusb %[ftmp7], %[ftmp3], %[ftmp4] \n\t" |
| 1911 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" | 1911 | "psubusb %[ftmp5], %[ftmp4], %[ftmp3] \n\t" |
| 1912 | "or %[ftmp5], %[ftmp5], %[ftmp7] \n\t" | 1912 | "por %[ftmp5], %[ftmp5], %[ftmp7] \n\t" |
| 1913 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" | 1913 | "psubusb %[ftmp5], %[ftmp5], %[ftmp6] \n\t" |
| 1914 | "or %[ftmp8], %[ftmp8], %[ftmp5] \n\t" | 1914 | "por %[ftmp8], %[ftmp8], %[ftmp5] \n\t" |
| 1915 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 1915 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 1916 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" | 1916 | "pcmpeqb %[ftmp8], %[ftmp8], %[ftmp7] \n\t" |
| 1917 | "mov.d %[ftmp6], %[ftmp2] \n\t" | 1917 | "mov.d %[ftmp6], %[ftmp2] \n\t" |
| 1918 | "mov.d %[ftmp7], %[ftmp3] \n\t" | 1918 | "mov.d %[ftmp7], %[ftmp3] \n\t" |
| 1919 | "xor %[ftmp5], %[ftmp2], %[ftmp4] \n\t" | 1919 | "pxor %[ftmp5], %[ftmp2], %[ftmp4] \n\t" |
| 1920 | "and %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" | 1920 | "pand %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" |
| 1921 | "pavgb %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 1921 | "pavgb %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| 1922 | "psubusb %[ftmp2], %[ftmp2], %[ftmp5] \n\t" | 1922 | "psubusb %[ftmp2], %[ftmp2], %[ftmp5] \n\t" |
| 1923 | "pavgb %[ftmp2], %[ftmp2], %[ftmp1] \n\t" | 1923 | "pavgb %[ftmp2], %[ftmp2], %[ftmp1] \n\t" |
| 1924 | "xor %[ftmp5], %[ftmp3], %[ftmp1] \n\t" | 1924 | "pxor %[ftmp5], %[ftmp3], %[ftmp1] \n\t" |
| 1925 | "and %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" | 1925 | "pand %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" |
| 1926 | "pavgb %[ftmp3], %[ftmp3], %[ftmp1] \n\t" | 1926 | "pavgb %[ftmp3], %[ftmp3], %[ftmp1] \n\t" |
| 1927 | "psubusb %[ftmp3], %[ftmp3], %[ftmp5] \n\t" | 1927 | "psubusb %[ftmp3], %[ftmp3], %[ftmp5] \n\t" |
| 1928 | "pavgb %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 1928 | "pavgb %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 1929 | "psubb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 1929 | "psubb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 1930 | "psubb %[ftmp3], %[ftmp3], %[ftmp7] \n\t" | 1930 | "psubb %[ftmp3], %[ftmp3], %[ftmp7] \n\t" |
| 1931 | "and %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 1931 | "pand %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 1932 | "and %[ftmp3], %[ftmp3], %[ftmp8] \n\t" | 1932 | "pand %[ftmp3], %[ftmp3], %[ftmp8] \n\t" |
| 1933 | "paddb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 1933 | "paddb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 1934 | "paddb %[ftmp3], %[ftmp3], %[ftmp7] \n\t" | 1934 | "paddb %[ftmp3], %[ftmp3], %[ftmp7] \n\t" |
| 1935 | 1935 | ||
| @@ -1996,7 +1996,7 @@ void ff_deblock_h_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int be · 60 unmodified lines | |||
| 1996 | "mov.d %[ftmp9], %[ftmp0] \n\t" | 1996 | "mov.d %[ftmp9], %[ftmp0] \n\t" |
| 1997 | "mov.d %[ftmp10], %[ftmp3] \n\t" | 1997 | "mov.d %[ftmp10], %[ftmp3] \n\t" |
| 1998 | 1998 | ||
| 1999 | "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 1999 | "pxor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 2000 | "mtc1 %[alpha], %[ftmp4] \n\t" | 2000 | "mtc1 %[alpha], %[ftmp4] \n\t" |
| 2001 | "mtc1 %[beta], %[ftmp5] \n\t" | 2001 | "mtc1 %[beta], %[ftmp5] \n\t" |
| 2002 | "pshufh %[ftmp4], %[ftmp4], %[ftmp8] \n\t" | 2002 | "pshufh %[ftmp4], %[ftmp4], %[ftmp8] \n\t" |
| @@ -2005,29 +2005,29 @@ void ff_deblock_h_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int be · 2 unmodified lines | |||
| 2005 | "packushb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 2005 | "packushb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 2006 | "psubusb %[ftmp6], %[ftmp2], %[ftmp1] \n\t" | 2006 | "psubusb %[ftmp6], %[ftmp2], %[ftmp1] \n\t" |
| 2007 | "psubusb %[ftmp7], %[ftmp1], %[ftmp2] \n\t" | 2007 | "psubusb %[ftmp7], %[ftmp1], %[ftmp2] \n\t" |
| 2008 | "or %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 2008 | "por %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 2009 | "psubusb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 2009 | "psubusb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 2010 | "psubusb %[ftmp6], %[ftmp1], %[ftmp0] \n\t" | 2010 | "psubusb %[ftmp6], %[ftmp1], %[ftmp0] \n\t" |
| 2011 | "psubusb %[ftmp4], %[ftmp0], %[ftmp1] \n\t" | 2011 | "psubusb %[ftmp4], %[ftmp0], %[ftmp1] \n\t" |
| 2012 | "or %[ftmp4], %[ftmp4], %[ftmp6] \n\t" | 2012 | "por %[ftmp4], %[ftmp4], %[ftmp6] \n\t" |
| 2013 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 2013 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 2014 | "or %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 2014 | "por %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 2015 | "psubusb %[ftmp6], %[ftmp2], %[ftmp3] \n\t" | 2015 | "psubusb %[ftmp6], %[ftmp2], %[ftmp3] \n\t" |
| 2016 | "psubusb %[ftmp4], %[ftmp3], %[ftmp2] \n\t" | 2016 | "psubusb %[ftmp4], %[ftmp3], %[ftmp2] \n\t" |
| 2017 | "or %[ftmp4], %[ftmp4], %[ftmp6] \n\t" | 2017 | "por %[ftmp4], %[ftmp4], %[ftmp6] \n\t" |
| 2018 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 2018 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 2019 | "or %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 2019 | "por %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 2020 | "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 2020 | "pxor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 2021 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 2021 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 2022 | MMI_ULWC1(%[ftmp6], %[tc0], 0x00) | 2022 | MMI_ULWC1(%[ftmp6], %[tc0], 0x00) |
| 2023 | "punpcklbh %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 2023 | "punpcklbh %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 2024 | "and %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 2024 | "pand %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 2025 | "pcmpeqb %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 2025 | "pcmpeqb %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 2026 | "xor %[ftmp5], %[ftmp1], %[ftmp2] \n\t" | 2026 | "pxor %[ftmp5], %[ftmp1], %[ftmp2] \n\t" |
| 2027 | "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 2027 | "pxor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 2028 | "and %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" | 2028 | "pand %[ftmp5], %[ftmp5], %[ff_pb_1] \n\t" |
| 2029 | "pavgb %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 2029 | "pavgb %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| 2030 | "xor %[ftmp4], %[ftmp4], %[ftmp1] \n\t" | 2030 | "pxor %[ftmp4], %[ftmp4], %[ftmp1] \n\t" |
| 2031 | "pavgb %[ftmp3], %[ftmp3], %[ff_pb_3] \n\t" | 2031 | "pavgb %[ftmp3], %[ftmp3], %[ff_pb_3] \n\t" |
| 2032 | "pavgb %[ftmp4], %[ftmp4], %[ftmp2] \n\t" | 2032 | "pavgb %[ftmp4], %[ftmp4], %[ftmp2] \n\t" |
| 2033 | "pavgb %[ftmp3], %[ftmp3], %[ftmp5] \n\t" | 2033 | "pavgb %[ftmp3], %[ftmp3], %[ftmp5] \n\t" |
| @@ -2134,7 +2134,7 @@ void ff_deblock_h_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, · 100 unmodified lines | |||
| 2134 | "punpcklwd %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 2134 | "punpcklwd %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 2135 | "punpcklwd %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 2135 | "punpcklwd %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 2136 | 2136 | ||
| 2137 | "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 2137 | "pxor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 2138 | "mtc1 %[alpha], %[ftmp4] \n\t" | 2138 | "mtc1 %[alpha], %[ftmp4] \n\t" |
| 2139 | "mtc1 %[beta], %[ftmp5] \n\t" | 2139 | "mtc1 %[beta], %[ftmp5] \n\t" |
| 2140 | "pshufh %[ftmp4], %[ftmp4], %[ftmp8] \n\t" | 2140 | "pshufh %[ftmp4], %[ftmp4], %[ftmp8] \n\t" |
| @@ -2143,36 +2143,36 @@ void ff_deblock_h_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, · 2 unmodified lines | |||
| 2143 | "packushb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 2143 | "packushb %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 2144 | "psubusb %[ftmp6], %[ftmp2], %[ftmp1] \n\t" | 2144 | "psubusb %[ftmp6], %[ftmp2], %[ftmp1] \n\t" |
| 2145 | "psubusb %[ftmp7], %[ftmp1], %[ftmp2] \n\t" | 2145 | "psubusb %[ftmp7], %[ftmp1], %[ftmp2] \n\t" |
| 2146 | "or %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 2146 | "por %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 2147 | "psubusb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 2147 | "psubusb %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 2148 | "psubusb %[ftmp6], %[ftmp1], %[ftmp0] \n\t" | 2148 | "psubusb %[ftmp6], %[ftmp1], %[ftmp0] \n\t" |
| 2149 | "psubusb %[ftmp4], %[ftmp0], %[ftmp1] \n\t" | 2149 | "psubusb %[ftmp4], %[ftmp0], %[ftmp1] \n\t" |
| 2150 | "or %[ftmp4], %[ftmp4], %[ftmp6] \n\t" | 2150 | "por %[ftmp4], %[ftmp4], %[ftmp6] \n\t" |
| 2151 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 2151 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 2152 | "or %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 2152 | "por %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 2153 | "psubusb %[ftmp6], %[ftmp2], %[ftmp3] \n\t" | 2153 | "psubusb %[ftmp6], %[ftmp2], %[ftmp3] \n\t" |
| 2154 | "psubusb %[ftmp4], %[ftmp3], %[ftmp2] \n\t" | 2154 | "psubusb %[ftmp4], %[ftmp3], %[ftmp2] \n\t" |
| 2155 | "or %[ftmp4], %[ftmp4], %[ftmp6] \n\t" | 2155 | "por %[ftmp4], %[ftmp4], %[ftmp6] \n\t" |
| 2156 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 2156 | "psubusb %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 2157 | "or %[ftmp7], %[ftmp7], %[ftmp4] \n\t" | 2157 | "por %[ftmp7], %[ftmp7], %[ftmp4] \n\t" |
| 2158 | "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 2158 | "pxor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 2159 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" | 2159 | "pcmpeqb %[ftmp7], %[ftmp7], %[ftmp6] \n\t" |
| 2160 | "mov.d %[ftmp5], %[ftmp1] \n\t" | 2160 | "mov.d %[ftmp5], %[ftmp1] \n\t" |
| 2161 | "mov.d %[ftmp6], %[ftmp2] \n\t" | 2161 | "mov.d %[ftmp6], %[ftmp2] \n\t" |
| 2162 | "xor %[ftmp4], %[ftmp1], %[ftmp3] \n\t" | 2162 | "pxor %[ftmp4], %[ftmp1], %[ftmp3] \n\t" |
| 2163 | "and %[ftmp4], %[ftmp4], %[ff_pb_1] \n\t" | 2163 | "pand %[ftmp4], %[ftmp4], %[ff_pb_1] \n\t" |
| 2164 | "pavgb %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 2164 | "pavgb %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| 2165 | "psubusb %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 2165 | "psubusb %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 2166 | "pavgb %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 2166 | "pavgb %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 2167 | "xor %[ftmp4], %[ftmp2], %[ftmp0] \n\t" | 2167 | "pxor %[ftmp4], %[ftmp2], %[ftmp0] \n\t" |
| 2168 | "and %[ftmp4], %[ftmp4], %[ff_pb_1] \n\t" | 2168 | "pand %[ftmp4], %[ftmp4], %[ff_pb_1] \n\t" |
| 2169 | "pavgb %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 2169 | "pavgb %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 2170 | "psubusb %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 2170 | "psubusb %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| 2171 | "pavgb %[ftmp2], %[ftmp2], %[ftmp3] \n\t" | 2171 | "pavgb %[ftmp2], %[ftmp2], %[ftmp3] \n\t" |
| 2172 | "psubb %[ftmp1], %[ftmp1], %[ftmp5] \n\t" | 2172 | "psubb %[ftmp1], %[ftmp1], %[ftmp5] \n\t" |
| 2173 | "psubb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 2173 | "psubb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 2174 | "and %[ftmp1], %[ftmp1], %[ftmp7] \n\t" | 2174 | "pand %[ftmp1], %[ftmp1], %[ftmp7] \n\t" |
| 2175 | "and %[ftmp2], %[ftmp2], %[ftmp7] \n\t" | 2175 | "pand %[ftmp2], %[ftmp2], %[ftmp7] \n\t" |
| 2176 | "paddb %[ftmp1], %[ftmp1], %[ftmp5] \n\t" | 2176 | "paddb %[ftmp1], %[ftmp1], %[ftmp5] \n\t" |
| 2177 | "paddb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 2177 | "paddb %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 2178 | 2178 | ||
| @@ -162,7 +162,7 @@ void ff_pred8x8l_top_dc_8_mmi(uint8_t *src, int has_topleft, · 161 unmodified lines | |||
| 162 | DECLARE_VAR_ADDRT; | 162 | DECLARE_VAR_ADDRT; |
| 163 | 163 | ||
| 164 | __asm__ volatile ( | 164 | __asm__ volatile ( |
| 165 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 165 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 166 | MMI_ULDC1(%[ftmp10], %[srcA], 0x00) | 166 | MMI_ULDC1(%[ftmp10], %[srcA], 0x00) |
| 167 | MMI_ULDC1(%[ftmp9], %[src0], 0x00) | 167 | MMI_ULDC1(%[ftmp9], %[src0], 0x00) |
| 168 | MMI_ULDC1(%[ftmp8], %[src1], 0x00) | 168 | MMI_ULDC1(%[ftmp8], %[src1], 0x00) |
| @@ -266,7 +266,7 @@ void ff_pred8x8l_dc_8_mmi(uint8_t *src, int has_topleft, int has_topright, · 97 unmodified lines | |||
| 266 | MMI_ULDC1(%[ftmp4], %[srcA], 0x00) | 266 | MMI_ULDC1(%[ftmp4], %[srcA], 0x00) |
| 267 | MMI_ULDC1(%[ftmp5], %[src0], 0x00) | 267 | MMI_ULDC1(%[ftmp5], %[src0], 0x00) |
| 268 | MMI_ULDC1(%[ftmp6], %[src1], 0x00) | 268 | MMI_ULDC1(%[ftmp6], %[src1], 0x00) |
| 269 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 269 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 270 | "dli %[tmp0], 0x03 \n\t" | 270 | "dli %[tmp0], 0x03 \n\t" |
| 271 | "punpcklbh %[ftmp7], %[ftmp4], %[ftmp0] \n\t" | 271 | "punpcklbh %[ftmp7], %[ftmp4], %[ftmp0] \n\t" |
| 272 | "punpckhbh %[ftmp8], %[ftmp4], %[ftmp0] \n\t" | 272 | "punpckhbh %[ftmp8], %[ftmp4], %[ftmp0] \n\t" |
| @@ -357,7 +357,7 @@ void ff_pred8x8l_vertical_8_mmi(uint8_t *src, int has_topleft, · 84 unmodified lines | |||
| 357 | DECLARE_VAR_ALL64; | 357 | DECLARE_VAR_ALL64; |
| 358 | 358 | ||
| 359 | __asm__ volatile ( | 359 | __asm__ volatile ( |
| 360 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 360 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 361 | MMI_LDC1(%[ftmp3], %[srcA], 0x00) | 361 | MMI_LDC1(%[ftmp3], %[srcA], 0x00) |
| 362 | MMI_LDC1(%[ftmp4], %[src0], 0x00) | 362 | MMI_LDC1(%[ftmp4], %[src0], 0x00) |
| 363 | MMI_LDC1(%[ftmp5], %[src1], 0x00) | 363 | MMI_LDC1(%[ftmp5], %[src1], 0x00) |
| @@ -530,7 +530,7 @@ void ff_pred8x8_top_dc_8_mmi(uint8_t *src, ptrdiff_t stride) · 166 unmodified lines | |||
| 530 | 530 | ||
| 531 | __asm__ volatile ( | 531 | __asm__ volatile ( |
| 532 | "dli %[tmp0], 0x02 \n\t" | 532 | "dli %[tmp0], 0x02 \n\t" |
| 533 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 533 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 534 | PTR_SUBU "%[addr0], %[src], %[stride] \n\t" | 534 | PTR_SUBU "%[addr0], %[src], %[stride] \n\t" |
| 535 | MMI_LDC1(%[ftmp1], %[addr0], 0x00) | 535 | MMI_LDC1(%[ftmp1], %[addr0], 0x00) |
| 536 | "punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" | 536 | "punpcklbh %[ftmp2], %[ftmp1], %[ftmp0] \n\t" |
| @@ -640,7 +640,7 @@ void ff_pred8x8_dc_8_mmi(uint8_t *src, ptrdiff_t stride) · 103 unmodified lines | |||
| 640 | PTR_SRL "%[addr4], 0x02 \n\t" | 640 | PTR_SRL "%[addr4], 0x02 \n\t" |
| 641 | PTR_SRL "%[addr1], 0x02 \n\t" | 641 | PTR_SRL "%[addr1], 0x02 \n\t" |
| 642 | PTR_SRL "%[addr2], 0x03 \n\t" | 642 | PTR_SRL "%[addr2], 0x03 \n\t" |
| 643 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 643 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 644 | "dmtc1 %[addr3], %[ftmp1] \n\t" | 644 | "dmtc1 %[addr3], %[ftmp1] \n\t" |
| 645 | "pshufh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 645 | "pshufh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 646 | "dmtc1 %[addr4], %[ftmp2] \n\t" | 646 | "dmtc1 %[addr4], %[ftmp2] \n\t" |
| @@ -757,9 +757,9 @@ static inline void pred16x16_plane_compat_mmi(uint8_t *src, int stride, · 110 unmodified lines | |||
| 757 | "dmtc1 %[tmp0], %[ftmp4] \n\t" | 757 | "dmtc1 %[tmp0], %[ftmp4] \n\t" |
| 758 | MMI_ULDC1(%[ftmp0], %[addr0], -0x01) | 758 | MMI_ULDC1(%[ftmp0], %[addr0], -0x01) |
| 759 | MMI_ULDC1(%[ftmp2], %[addr0], 0x08) | 759 | MMI_ULDC1(%[ftmp2], %[addr0], 0x08) |
| 760 | "dsrl %[ftmp1], %[ftmp0], %[ftmp4] \n\t" | 760 | "ssrld %[ftmp1], %[ftmp0], %[ftmp4] \n\t" |
| 761 | "dsrl %[ftmp3], %[ftmp2], %[ftmp4] \n\t" | 761 | "ssrld %[ftmp3], %[ftmp2], %[ftmp4] \n\t" |
| 762 | "xor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 762 | "pxor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 763 | "punpcklbh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 763 | "punpcklbh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 764 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 764 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 765 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 765 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| @@ -915,7 +915,7 @@ static inline void pred16x16_plane_compat_mmi(uint8_t *src, int stride, · 149 unmodified lines | |||
| 915 | "dmul %[tmp3], %[tmp3], %[tmp2] \n\t" | 915 | "dmul %[tmp3], %[tmp3], %[tmp2] \n\t" |
| 916 | "dsubu %[tmp5], %[tmp5], %[tmp3] \n\t" | 916 | "dsubu %[tmp5], %[tmp5], %[tmp3] \n\t" |
| 917 | 917 | ||
| 918 | "xor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 918 | "pxor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 919 | "dmtc1 %[tmp0], %[ftmp0] \n\t" | 919 | "dmtc1 %[tmp0], %[ftmp0] \n\t" |
| 920 | "pshufh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 920 | "pshufh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 921 | "dmtc1 %[tmp1], %[ftmp5] \n\t" | 921 | "dmtc1 %[tmp1], %[ftmp5] \n\t" |
| @@ -114,7 +114,7 @@ static void put_h264_qpel4_h_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 113 unmodified lines | |||
| 114 | DECLARE_VAR_LOW32; | 114 | DECLARE_VAR_LOW32; |
| 115 | 115 | ||
| 116 | __asm__ volatile ( | 116 | __asm__ volatile ( |
| 117 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 117 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 118 | "dli %[tmp0], 0x04 \n\t" | 118 | "dli %[tmp0], 0x04 \n\t" |
| 119 | "1: \n\t" | 119 | "1: \n\t" |
| 120 | MMI_ULWC1(%[ftmp1], %[src], -0x02) | 120 | MMI_ULWC1(%[ftmp1], %[src], -0x02) |
| @@ -169,7 +169,7 @@ static void put_h264_qpel8_h_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 48 unmodified lines | |||
| 169 | DECLARE_VAR_ALL64; | 169 | DECLARE_VAR_ALL64; |
| 170 | 170 | ||
| 171 | __asm__ volatile ( | 171 | __asm__ volatile ( |
| 172 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 172 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 173 | "dli %[tmp0], 0x08 \n\t" | 173 | "dli %[tmp0], 0x08 \n\t" |
| 174 | "1: \n\t" | 174 | "1: \n\t" |
| 175 | MMI_ULDC1(%[ftmp1], %[src], -0x02) | 175 | MMI_ULDC1(%[ftmp1], %[src], -0x02) |
| @@ -250,7 +250,7 @@ static void avg_h264_qpel4_h_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 74 unmodified lines | |||
| 250 | DECLARE_VAR_LOW32; | 250 | DECLARE_VAR_LOW32; |
| 251 | 251 | ||
| 252 | __asm__ volatile ( | 252 | __asm__ volatile ( |
| 253 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 253 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 254 | "dli %[tmp0], 0x04 \n\t" | 254 | "dli %[tmp0], 0x04 \n\t" |
| 255 | "1: \n\t" | 255 | "1: \n\t" |
| 256 | MMI_ULWC1(%[ftmp1], %[src], -0x02) | 256 | MMI_ULWC1(%[ftmp1], %[src], -0x02) |
| @@ -307,7 +307,7 @@ static void avg_h264_qpel8_h_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 50 unmodified lines | |||
| 307 | DECLARE_VAR_ALL64; | 307 | DECLARE_VAR_ALL64; |
| 308 | 308 | ||
| 309 | __asm__ volatile ( | 309 | __asm__ volatile ( |
| 310 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 310 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 311 | "dli %[tmp0], 0x08 \n\t" | 311 | "dli %[tmp0], 0x08 \n\t" |
| 312 | "1: \n\t" | 312 | "1: \n\t" |
| 313 | MMI_ULDC1(%[ftmp1], %[src], -0x02) | 313 | MMI_ULDC1(%[ftmp1], %[src], -0x02) |
| @@ -394,7 +394,7 @@ static void put_h264_qpel4_v_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 80 unmodified lines | |||
| 394 | __asm__ volatile ( | 394 | __asm__ volatile ( |
| 395 | ".set push \n\t" | 395 | ".set push \n\t" |
| 396 | ".set noreorder \n\t" | 396 | ".set noreorder \n\t" |
| 397 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 397 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 398 | "dli %[tmp0], 0x02 \n\t" | 398 | "dli %[tmp0], 0x02 \n\t" |
| 399 | MMI_LWC1(%[ftmp1], %[src], 0x00) | 399 | MMI_LWC1(%[ftmp1], %[src], 0x00) |
| 400 | "mtc1 %[tmp0], %[ftmp10] \n\t" | 400 | "mtc1 %[tmp0], %[ftmp10] \n\t" |
| @@ -516,7 +516,7 @@ static void put_h264_qpel8_v_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 115 unmodified lines | |||
| 516 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" | 516 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" |
| 517 | MMI_LWC1(%[ftmp2], %[src], 0x00) | 517 | MMI_LWC1(%[ftmp2], %[src], 0x00) |
| 518 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" | 518 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" |
| 519 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 519 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 520 | MMI_LWC1(%[ftmp3], %[src], 0x00) | 520 | MMI_LWC1(%[ftmp3], %[src], 0x00) |
| 521 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" | 521 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" |
| 522 | MMI_LWC1(%[ftmp4], %[src], 0x00) | 522 | MMI_LWC1(%[ftmp4], %[src], 0x00) |
| @@ -812,7 +812,7 @@ static void avg_h264_qpel4_v_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 289 unmodified lines | |||
| 812 | ".set push \n\t" | 812 | ".set push \n\t" |
| 813 | ".set noreorder \n\t" | 813 | ".set noreorder \n\t" |
| 814 | "dli %[tmp0], 0x02 \n\t" | 814 | "dli %[tmp0], 0x02 \n\t" |
| 815 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 815 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 816 | "mtc1 %[tmp0], %[ftmp9] \n\t" | 816 | "mtc1 %[tmp0], %[ftmp9] \n\t" |
| 817 | "dli %[tmp0], 0x05 \n\t" | 817 | "dli %[tmp0], 0x05 \n\t" |
| 818 | MMI_LWC1(%[ftmp0], %[src], 0x00) | 818 | MMI_LWC1(%[ftmp0], %[src], 0x00) |
| @@ -930,7 +930,7 @@ static void avg_h264_qpel8_v_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 111 unmodified lines | |||
| 930 | ".set push \n\t" | 930 | ".set push \n\t" |
| 931 | ".set noreorder \n\t" | 931 | ".set noreorder \n\t" |
| 932 | "dli %[tmp0], 0x02 \n\t" | 932 | "dli %[tmp0], 0x02 \n\t" |
| 933 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 933 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 934 | "mtc1 %[tmp0], %[ftmp9] \n\t" | 934 | "mtc1 %[tmp0], %[ftmp9] \n\t" |
| 935 | "dli %[tmp0], 0x05 \n\t" | 935 | "dli %[tmp0], 0x05 \n\t" |
| 936 | MMI_LWC1(%[ftmp0], %[src], 0x00) | 936 | MMI_LWC1(%[ftmp0], %[src], 0x00) |
| @@ -1269,7 +1269,7 @@ static void put_h264_qpel4_hv_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 332 unmodified lines | |||
| 1269 | src -= 2*srcStride; | 1269 | src -= 2*srcStride; |
| 1270 | 1270 | ||
| 1271 | __asm__ volatile ( | 1271 | __asm__ volatile ( |
| 1272 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1272 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1273 | "dli %[tmp0], 0x09 \n\t" | 1273 | "dli %[tmp0], 0x09 \n\t" |
| 1274 | "1: \n\t" | 1274 | "1: \n\t" |
| 1275 | MMI_ULWC1(%[ftmp1], %[src], -0x02) | 1275 | MMI_ULWC1(%[ftmp1], %[src], -0x02) |
| @@ -1347,7 +1347,7 @@ static void put_h264_qpel8or16_hv1_lowpass_mmi(int16_t *tmp, · 71 unmodified lines | |||
| 1347 | MMI_ULWC1(%[ftmp0], %[src], 0x00) | 1347 | MMI_ULWC1(%[ftmp0], %[src], 0x00) |
| 1348 | "mtc1 %[tmp0], %[ftmp10] \n\t" | 1348 | "mtc1 %[tmp0], %[ftmp10] \n\t" |
| 1349 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" | 1349 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" |
| 1350 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 1350 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 1351 | MMI_ULWC1(%[ftmp1], %[src], 0x00) | 1351 | MMI_ULWC1(%[ftmp1], %[src], 0x00) |
| 1352 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" | 1352 | PTR_ADDU "%[src], %[src], %[srcStride] \n\t" |
| 1353 | MMI_ULWC1(%[ftmp2], %[src], 0x00) | 1353 | MMI_ULWC1(%[ftmp2], %[src], 0x00) |
| @@ -1684,7 +1684,7 @@ static void put_h264_qpel8_h_lowpass_l2_mmi(uint8_t *dst, const uint8_t *src, · 330 unmodified lines | |||
| 1684 | "dli %[tmp0], 0x02 \n\t" | 1684 | "dli %[tmp0], 0x02 \n\t" |
| 1685 | "mtc1 %[tmp0], %[ftmp7] \n\t" | 1685 | "mtc1 %[tmp0], %[ftmp7] \n\t" |
| 1686 | "dli %[tmp0], 0x05 \n\t" | 1686 | "dli %[tmp0], 0x05 \n\t" |
| 1687 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1687 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1688 | "mtc1 %[tmp0], %[ftmp8] \n\t" | 1688 | "mtc1 %[tmp0], %[ftmp8] \n\t" |
| 1689 | "1: \n\t" | 1689 | "1: \n\t" |
| 1690 | MMI_ULDC1(%[ftmp1], %[src], 0x00) | 1690 | MMI_ULDC1(%[ftmp1], %[src], 0x00) |
| @@ -1833,7 +1833,7 @@ static void avg_h264_qpel4_hv_lowpass_mmi(uint8_t *dst, const uint8_t *src, · 142 unmodified lines | |||
| 1833 | src -= 2*srcStride; | 1833 | src -= 2*srcStride; |
| 1834 | 1834 | ||
| 1835 | __asm__ volatile ( | 1835 | __asm__ volatile ( |
| 1836 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1836 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1837 | "dli %[tmp0], 0x09 \n\t" | 1837 | "dli %[tmp0], 0x09 \n\t" |
| 1838 | "1: \n\t" | 1838 | "1: \n\t" |
| 1839 | MMI_ULWC1(%[ftmp1], %[src], -0x02) | 1839 | MMI_ULWC1(%[ftmp1], %[src], -0x02) |
| @@ -2005,7 +2005,7 @@ static void avg_h264_qpel8_h_lowpass_l2_mmi(uint8_t *dst, const uint8_t *src, · 165 unmodified lines | |||
| 2005 | "ori %[tmp0], $0, 0x8 \n\t" | 2005 | "ori %[tmp0], $0, 0x8 \n\t" |
| 2006 | "mtc1 %[tmp1], %[ftmp7] \n\t" | 2006 | "mtc1 %[tmp1], %[ftmp7] \n\t" |
| 2007 | "dli %[tmp1], 0x05 \n\t" | 2007 | "dli %[tmp1], 0x05 \n\t" |
| 2008 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2008 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2009 | "mtc1 %[tmp1], %[ftmp8] \n\t" | 2009 | "mtc1 %[tmp1], %[ftmp8] \n\t" |
| 2010 | "1: \n\t" | 2010 | "1: \n\t" |
| 2011 | MMI_ULDC1(%[ftmp1], %[src], 0x00) | 2011 | MMI_ULDC1(%[ftmp1], %[src], 0x00) |
| @@ -46,7 +46,7 @@ void ff_hevc_put_hevc_qpel_h##w##_8_mmi(int16_t *dst, uint8_t *_src, \ · 45 unmodified lines | |||
| 46 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 46 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 47 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ | 47 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ |
| 48 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ | 48 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ |
| 49 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 49 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 50 | \ | 50 | \ |
| 51 | "1: \n\t" \ | 51 | "1: \n\t" \ |
| 52 | "2: \n\t" \ | 52 | "2: \n\t" \ |
| @@ -147,7 +147,7 @@ void ff_hevc_put_hevc_qpel_hv##w##_8_mmi(int16_t *dst, uint8_t *_src, \ · 94 unmodified lines | |||
| 147 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 147 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 148 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ | 148 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ |
| 149 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ | 149 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ |
| 150 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 150 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 151 | \ | 151 | \ |
| 152 | "1: \n\t" \ | 152 | "1: \n\t" \ |
| 153 | "2: \n\t" \ | 153 | "2: \n\t" \ |
| @@ -344,7 +344,7 @@ void ff_hevc_put_hevc_qpel_bi_h##w##_8_mmi(uint8_t *_dst, \ · 190 unmodified lines | |||
| 344 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 344 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 345 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ | 345 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ |
| 346 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ | 346 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ |
| 347 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 347 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 348 | "punpcklhw %[offset], %[offset], %[offset] \n\t" \ | 348 | "punpcklhw %[offset], %[offset], %[offset] \n\t" \ |
| 349 | "punpcklwd %[offset], %[offset], %[offset] \n\t" \ | 349 | "punpcklwd %[offset], %[offset], %[offset] \n\t" \ |
| 350 | \ | 350 | \ |
| @@ -403,7 +403,7 @@ void ff_hevc_put_hevc_qpel_bi_h##w##_8_mmi(uint8_t *_dst, \ · 52 unmodified lines | |||
| 403 | "psraw %[ftmp6], %[ftmp6], %[shift] \n\t" \ | 403 | "psraw %[ftmp6], %[ftmp6], %[shift] \n\t" \ |
| 404 | "packsswh %[ftmp5], %[ftmp5], %[ftmp6] \n\t" \ | 404 | "packsswh %[ftmp5], %[ftmp5], %[ftmp6] \n\t" \ |
| 405 | "pcmpgth %[ftmp7], %[ftmp5], %[ftmp0] \n\t" \ | 405 | "pcmpgth %[ftmp7], %[ftmp5], %[ftmp0] \n\t" \ |
| 406 | "and %[ftmp3], %[ftmp5], %[ftmp7] \n\t" \ | 406 | "pand %[ftmp3], %[ftmp5], %[ftmp7] \n\t" \ |
| 407 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ | 407 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ |
| 408 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ | 408 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ |
| 409 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ | 409 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ |
| @@ -480,7 +480,7 @@ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst, \ · 70 unmodified lines | |||
| 480 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 480 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 481 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ | 481 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ |
| 482 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ | 482 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ |
| 483 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 483 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 484 | \ | 484 | \ |
| 485 | "1: \n\t" \ | 485 | "1: \n\t" \ |
| 486 | "2: \n\t" \ | 486 | "2: \n\t" \ |
| @@ -612,7 +612,7 @@ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst, \ · 125 unmodified lines | |||
| 612 | "packsswh %[ftmp3], %[ftmp3], %[ftmp5] \n\t" \ | 612 | "packsswh %[ftmp3], %[ftmp3], %[ftmp5] \n\t" \ |
| 613 | "gsldlc1 %[ftmp4], 0x07(%[src2]) \n\t" \ | 613 | "gsldlc1 %[ftmp4], 0x07(%[src2]) \n\t" \ |
| 614 | "gsldrc1 %[ftmp4], 0x00(%[src2]) \n\t" \ | 614 | "gsldrc1 %[ftmp4], 0x00(%[src2]) \n\t" \ |
| 615 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" \ | 615 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" \ |
| 616 | "li %[rtmp0], 0x10 \n\t" \ | 616 | "li %[rtmp0], 0x10 \n\t" \ |
| 617 | "dmtc1 %[rtmp0], %[ftmp8] \n\t" \ | 617 | "dmtc1 %[rtmp0], %[ftmp8] \n\t" \ |
| 618 | "punpcklhw %[ftmp5], %[ftmp7], %[ftmp3] \n\t" \ | 618 | "punpcklhw %[ftmp5], %[ftmp7], %[ftmp3] \n\t" \ |
| @@ -631,7 +631,7 @@ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst, \ · 12 unmodified lines | |||
| 631 | "psraw %[ftmp6], %[ftmp6], %[shift] \n\t" \ | 631 | "psraw %[ftmp6], %[ftmp6], %[shift] \n\t" \ |
| 632 | "packsswh %[ftmp5], %[ftmp5], %[ftmp6] \n\t" \ | 632 | "packsswh %[ftmp5], %[ftmp5], %[ftmp6] \n\t" \ |
| 633 | "pcmpgth %[ftmp7], %[ftmp5], %[ftmp7] \n\t" \ | 633 | "pcmpgth %[ftmp7], %[ftmp5], %[ftmp7] \n\t" \ |
| 634 | "and %[ftmp3], %[ftmp5], %[ftmp7] \n\t" \ | 634 | "pand %[ftmp3], %[ftmp5], %[ftmp7] \n\t" \ |
| 635 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ | 635 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ |
| 636 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ | 636 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ |
| 637 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ | 637 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ |
| @@ -706,7 +706,7 @@ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst, \ · 68 unmodified lines | |||
| 706 | "dmtc1 %[rtmp0], %[ftmp0] \n\t" \ | 706 | "dmtc1 %[rtmp0], %[ftmp0] \n\t" \ |
| 707 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 707 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 708 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ | 708 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ |
| 709 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 709 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 710 | \ | 710 | \ |
| 711 | "1: \n\t" \ | 711 | "1: \n\t" \ |
| 712 | "2: \n\t" \ | 712 | "2: \n\t" \ |
| @@ -771,7 +771,7 @@ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst, \ · 58 unmodified lines | |||
| 771 | "li %[rtmp0], 0x06 \n\t" \ | 771 | "li %[rtmp0], 0x06 \n\t" \ |
| 772 | "dmtc1 %[rtmp0], %[ftmp0] \n\t" \ | 772 | "dmtc1 %[rtmp0], %[ftmp0] \n\t" \ |
| 773 | "punpcklwd %[offset], %[offset], %[offset] \n\t" \ | 773 | "punpcklwd %[offset], %[offset], %[offset] \n\t" \ |
| 774 | "xor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" \ | 774 | "pxor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" \ |
| 775 | \ | 775 | \ |
| 776 | "1: \n\t" \ | 776 | "1: \n\t" \ |
| 777 | "li %[x], " #x_step " \n\t" \ | 777 | "li %[x], " #x_step " \n\t" \ |
| @@ -821,7 +821,7 @@ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst, \ · 43 unmodified lines | |||
| 821 | "psraw %[ftmp6], %[ftmp6], %[shift] \n\t" \ | 821 | "psraw %[ftmp6], %[ftmp6], %[shift] \n\t" \ |
| 822 | "packsswh %[ftmp5], %[ftmp5], %[ftmp6] \n\t" \ | 822 | "packsswh %[ftmp5], %[ftmp5], %[ftmp6] \n\t" \ |
| 823 | "pcmpgth %[ftmp7], %[ftmp5], %[ftmp2] \n\t" \ | 823 | "pcmpgth %[ftmp7], %[ftmp5], %[ftmp2] \n\t" \ |
| 824 | "and %[ftmp3], %[ftmp5], %[ftmp7] \n\t" \ | 824 | "pand %[ftmp3], %[ftmp5], %[ftmp7] \n\t" \ |
| 825 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ | 825 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ |
| 826 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ | 826 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ |
| 827 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ | 827 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ |
| @@ -882,7 +882,7 @@ void ff_hevc_put_hevc_pel_bi_pixels##w##_8_mmi(uint8_t *_dst, \ · 54 unmodified lines | |||
| 882 | y = height; \ | 882 | y = height; \ |
| 883 | x = width >> 3; \ | 883 | x = width >> 3; \ |
| 884 | __asm__ volatile( \ | 884 | __asm__ volatile( \ |
| 885 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 885 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 886 | "li %[rtmp0], 0x06 \n\t" \ | 886 | "li %[rtmp0], 0x06 \n\t" \ |
| 887 | "dmtc1 %[rtmp0], %[ftmp1] \n\t" \ | 887 | "dmtc1 %[rtmp0], %[ftmp1] \n\t" \ |
| 888 | "li %[rtmp0], 0x10 \n\t" \ | 888 | "li %[rtmp0], 0x10 \n\t" \ |
| @@ -930,8 +930,8 @@ void ff_hevc_put_hevc_pel_bi_pixels##w##_8_mmi(uint8_t *_dst, \ · 41 unmodified lines | |||
| 930 | "packsswh %[ftmp4], %[ftmp4], %[ftmp5] \n\t" \ | 930 | "packsswh %[ftmp4], %[ftmp4], %[ftmp5] \n\t" \ |
| 931 | "pcmpgth %[ftmp3], %[ftmp2], %[ftmp0] \n\t" \ | 931 | "pcmpgth %[ftmp3], %[ftmp2], %[ftmp0] \n\t" \ |
| 932 | "pcmpgth %[ftmp5], %[ftmp4], %[ftmp0] \n\t" \ | 932 | "pcmpgth %[ftmp5], %[ftmp4], %[ftmp0] \n\t" \ |
| 933 | "and %[ftmp2], %[ftmp2], %[ftmp3] \n\t" \ | 933 | "pand %[ftmp2], %[ftmp2], %[ftmp3] \n\t" \ |
| 934 | "and %[ftmp4], %[ftmp4], %[ftmp5] \n\t" \ | 934 | "pand %[ftmp4], %[ftmp4], %[ftmp5] \n\t" \ |
| 935 | "packushb %[ftmp2], %[ftmp2], %[ftmp4] \n\t" \ | 935 | "packushb %[ftmp2], %[ftmp2], %[ftmp4] \n\t" \ |
| 936 | "gssdlc1 %[ftmp2], 0x07(%[dst]) \n\t" \ | 936 | "gssdlc1 %[ftmp2], 0x07(%[dst]) \n\t" \ |
| 937 | "gssdrc1 %[ftmp2], 0x00(%[dst]) \n\t" \ | 937 | "gssdrc1 %[ftmp2], 0x00(%[dst]) \n\t" \ |
| @@ -1006,7 +1006,7 @@ void ff_hevc_put_hevc_qpel_uni_hv##w##_8_mmi(uint8_t *_dst, \ · 68 unmodified lines | |||
| 1006 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 1006 | "punpcklbh %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 1007 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ | 1007 | "psrah %[ftmp1], %[ftmp1], %[ftmp0] \n\t" \ |
| 1008 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ | 1008 | "psrah %[ftmp2], %[ftmp2], %[ftmp0] \n\t" \ |
| 1009 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 1009 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 1010 | \ | 1010 | \ |
| 1011 | "1: \n\t" \ | 1011 | "1: \n\t" \ |
| 1012 | "2: \n\t" \ | 1012 | "2: \n\t" \ |
| @@ -1139,9 +1139,9 @@ void ff_hevc_put_hevc_qpel_uni_hv##w##_8_mmi(uint8_t *_dst, \ · 126 unmodified lines | |||
| 1139 | "packsswh %[ftmp3], %[ftmp3], %[ftmp5] \n\t" \ | 1139 | "packsswh %[ftmp3], %[ftmp3], %[ftmp5] \n\t" \ |
| 1140 | "paddh %[ftmp3], %[ftmp3], %[offset] \n\t" \ | 1140 | "paddh %[ftmp3], %[ftmp3], %[offset] \n\t" \ |
| 1141 | "psrah %[ftmp3], %[ftmp3], %[shift] \n\t" \ | 1141 | "psrah %[ftmp3], %[ftmp3], %[shift] \n\t" \ |
| 1142 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" \ | 1142 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" \ |
| 1143 | "pcmpgth %[ftmp7], %[ftmp3], %[ftmp7] \n\t" \ | 1143 | "pcmpgth %[ftmp7], %[ftmp3], %[ftmp7] \n\t" \ |
| 1144 | "and %[ftmp3], %[ftmp3], %[ftmp7] \n\t" \ | 1144 | "pand %[ftmp3], %[ftmp3], %[ftmp7] \n\t" \ |
| 1145 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ | 1145 | "packushb %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ |
| 1146 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ | 1146 | "gsswlc1 %[ftmp3], 0x03(%[dst]) \n\t" \ |
| 1147 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ | 1147 | "gsswrc1 %[ftmp3], 0x00(%[dst]) \n\t" \ |
| @@ -676,14 +676,14 @@ inline void ff_put_no_rnd_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1, · 675 unmodified lines | |||
| 676 | PTR_ADDU "%[addr1], %[src2], %[src_stride2] \n\t" | 676 | PTR_ADDU "%[addr1], %[src2], %[src_stride2] \n\t" |
| 677 | MMI_ULDC1(%[ftmp3], %[addr1], 0x00) | 677 | MMI_ULDC1(%[ftmp3], %[addr1], 0x00) |
| 678 | PTR_ADDU "%[src1], %[src1], %[addr2] \n\t" | 678 | PTR_ADDU "%[src1], %[src1], %[addr2] \n\t" |
| 679 | "xor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 679 | "pxor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 680 | "xor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 680 | "pxor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 681 | "xor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 681 | "pxor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| 682 | "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 682 | "pxor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 683 | "pavgb %[ftmp0], %[ftmp0], %[ftmp2] \n\t" | 683 | "pavgb %[ftmp0], %[ftmp0], %[ftmp2] \n\t" |
| 684 | "pavgb %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 684 | "pavgb %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| 685 | "xor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 685 | "pxor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 686 | "xor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 686 | "pxor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 687 | MMI_SDC1(%[ftmp0], %[dst], 0x00) | 687 | MMI_SDC1(%[ftmp0], %[dst], 0x00) |
| 688 | MMI_SDXC1(%[ftmp1], %[dst], %[dst_stride], 0x00) | 688 | MMI_SDXC1(%[ftmp1], %[dst], %[dst_stride], 0x00) |
| 689 | PTR_ADDU "%[src2], %[src2], %[addr3] \n\t" | 689 | PTR_ADDU "%[src2], %[src2], %[addr3] \n\t" |
| @@ -696,14 +696,14 @@ inline void ff_put_no_rnd_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1, · 6 unmodified lines | |||
| 696 | PTR_ADDU "%[addr1], %[src2], %[src_stride2] \n\t" | 696 | PTR_ADDU "%[addr1], %[src2], %[src_stride2] \n\t" |
| 697 | MMI_ULDC1(%[ftmp3], %[addr1], 0x00) | 697 | MMI_ULDC1(%[ftmp3], %[addr1], 0x00) |
| 698 | PTR_ADDU "%[src1], %[src1], %[addr2] \n\t" | 698 | PTR_ADDU "%[src1], %[src1], %[addr2] \n\t" |
| 699 | "xor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 699 | "pxor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 700 | "xor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 700 | "pxor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 701 | "xor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 701 | "pxor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| 702 | "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 702 | "pxor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 703 | "pavgb %[ftmp0], %[ftmp0], %[ftmp2] \n\t" | 703 | "pavgb %[ftmp0], %[ftmp0], %[ftmp2] \n\t" |
| 704 | "pavgb %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 704 | "pavgb %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| 705 | "xor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 705 | "pxor %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 706 | "xor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 706 | "pxor %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 707 | MMI_SDC1(%[ftmp0], %[dst], 0x00) | 707 | MMI_SDC1(%[ftmp0], %[dst], 0x00) |
| 708 | MMI_SDXC1(%[ftmp1], %[dst], %[dst_stride], 0x00) | 708 | MMI_SDXC1(%[ftmp1], %[dst], %[dst_stride], 0x00) |
| 709 | PTR_ADDU "%[src2], %[src2], %[addr3] \n\t" | 709 | PTR_ADDU "%[src2], %[src2], %[addr3] \n\t" |
| @@ -846,7 +846,7 @@ void ff_put_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, · 136 unmodified lines | |||
| 846 | DECLARE_VAR_ADDRT; | 846 | DECLARE_VAR_ADDRT; |
| 847 | 847 | ||
| 848 | __asm__ volatile ( | 848 | __asm__ volatile ( |
| 849 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 849 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 850 | "dli %[addr0], 0x0f \n\t" | 850 | "dli %[addr0], 0x0f \n\t" |
| 851 | "pcmpeqw %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 851 | "pcmpeqw %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 852 | "dmtc1 %[addr0], %[ftmp8] \n\t" | 852 | "dmtc1 %[addr0], %[ftmp8] \n\t" |
| @@ -154,7 +154,7 @@ void ff_add_pixels_clamped_mmi(const int16_t *block, · 153 unmodified lines | |||
| 154 | uint64_t tmp[1]; | 154 | uint64_t tmp[1]; |
| 155 | __asm__ volatile ( | 155 | __asm__ volatile ( |
| 156 | "li %[tmp0], 0x04 \n\t" | 156 | "li %[tmp0], 0x04 \n\t" |
| 157 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 157 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 158 | "1: \n\t" | 158 | "1: \n\t" |
| 159 | MMI_LDC1(%[ftmp5], %[pixels], 0x00) | 159 | MMI_LDC1(%[ftmp5], %[pixels], 0x00) |
| 160 | PTR_ADDU "%[pixels], %[pixels], %[line_size] \n\t" | 160 | PTR_ADDU "%[pixels], %[pixels], %[line_size] \n\t" |
| @@ -53,13 +53,13 @@ void ff_dct_unquantize_h263_intra_mmi(MpegEncContext *s, int16_t *block, · 52 unmodified lines | |||
| 53 | nCoeffs = s->inter_scantable.raster_end[s->block_last_index[n]]; | 53 | nCoeffs = s->inter_scantable.raster_end[s->block_last_index[n]]; |
| 54 | 54 | ||
| 55 | __asm__ volatile ( | 55 | __asm__ volatile ( |
| 56 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 56 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 57 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" | 57 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" |
| 58 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" | 58 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" |
| 59 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" | 59 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" |
| 60 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" | 60 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" |
| 61 | "psubh %[ftmp0], %[ftmp0], %[qadd] \n\t" | 61 | "psubh %[ftmp0], %[ftmp0], %[qadd] \n\t" |
| 62 | "xor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 62 | "pxor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 63 | ".p2align 4 \n\t" | 63 | ".p2align 4 \n\t" |
| 64 | 64 | ||
| 65 | "1: \n\t" | 65 | "1: \n\t" |
| @@ -72,12 +72,12 @@ void ff_dct_unquantize_h263_intra_mmi(MpegEncContext *s, int16_t *block, · 6 unmodified lines | |||
| 72 | "pmullh %[ftmp2], %[ftmp2], %[qmul] \n\t" | 72 | "pmullh %[ftmp2], %[ftmp2], %[qmul] \n\t" |
| 73 | "pcmpgth %[ftmp3], %[ftmp3], %[ftmp5] \n\t" | 73 | "pcmpgth %[ftmp3], %[ftmp3], %[ftmp5] \n\t" |
| 74 | "pcmpgth %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 74 | "pcmpgth %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 75 | "xor %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 75 | "pxor %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| 76 | "xor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 76 | "pxor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| 77 | "paddh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 77 | "paddh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 78 | "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 78 | "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 79 | "xor %[ftmp3], %[ftmp3], %[ftmp1] \n\t" | 79 | "pxor %[ftmp3], %[ftmp3], %[ftmp1] \n\t" |
| 80 | "xor %[ftmp4], %[ftmp4], %[ftmp2] \n\t" | 80 | "pxor %[ftmp4], %[ftmp4], %[ftmp2] \n\t" |
| 81 | "pcmpeqh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 81 | "pcmpeqh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 82 | "pcmpeqh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 82 | "pcmpeqh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 83 | "pandn %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 83 | "pandn %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| @@ -116,11 +116,11 @@ void ff_dct_unquantize_h263_inter_mmi(MpegEncContext *s, int16_t *block, · 32 unmodified lines | |||
| 116 | __asm__ volatile ( | 116 | __asm__ volatile ( |
| 117 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" | 117 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" |
| 118 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" | 118 | "packsswh %[qmul], %[qmul], %[qmul] \n\t" |
| 119 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 119 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 120 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" | 120 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" |
| 121 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" | 121 | "packsswh %[qadd], %[qadd], %[qadd] \n\t" |
| 122 | "psubh %[ftmp0], %[ftmp0], %[qadd] \n\t" | 122 | "psubh %[ftmp0], %[ftmp0], %[qadd] \n\t" |
| 123 | "xor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 123 | "pxor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 124 | ".p2align 4 \n\t" | 124 | ".p2align 4 \n\t" |
| 125 | "1: \n\t" | 125 | "1: \n\t" |
| 126 | PTR_ADDU "%[addr0], %[block], %[nCoeffs] \n\t" | 126 | PTR_ADDU "%[addr0], %[block], %[nCoeffs] \n\t" |
| @@ -132,12 +132,12 @@ void ff_dct_unquantize_h263_inter_mmi(MpegEncContext *s, int16_t *block, · 5 unmodified lines | |||
| 132 | "pmullh %[ftmp2], %[ftmp2], %[qmul] \n\t" | 132 | "pmullh %[ftmp2], %[ftmp2], %[qmul] \n\t" |
| 133 | "pcmpgth %[ftmp3], %[ftmp3], %[ftmp5] \n\t" | 133 | "pcmpgth %[ftmp3], %[ftmp3], %[ftmp5] \n\t" |
| 134 | "pcmpgth %[ftmp4], %[ftmp4], %[ftmp5] \n\t" | 134 | "pcmpgth %[ftmp4], %[ftmp4], %[ftmp5] \n\t" |
| 135 | "xor %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 135 | "pxor %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| 136 | "xor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 136 | "pxor %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| 137 | "paddh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 137 | "paddh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 138 | "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 138 | "paddh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 139 | "xor %[ftmp3], %[ftmp3], %[ftmp1] \n\t" | 139 | "pxor %[ftmp3], %[ftmp3], %[ftmp1] \n\t" |
| 140 | "xor %[ftmp4], %[ftmp4], %[ftmp2] \n\t" | 140 | "pxor %[ftmp4], %[ftmp4], %[ftmp2] \n\t" |
| 141 | "pcmpeqh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 141 | "pcmpeqh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 142 | "pcmpeqh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 142 | "pcmpeqh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 143 | "pandn %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 143 | "pandn %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| @@ -201,18 +201,18 @@ void ff_dct_unquantize_mpeg1_intra_mmi(MpegEncContext *s, int16_t *block, · 57 unmodified lines | |||
| 201 | MMI_LDXC1(%[ftmp7], %[addr0], %[quant], 0x08) | 201 | MMI_LDXC1(%[ftmp7], %[addr0], %[quant], 0x08) |
| 202 | "pmullh %[ftmp6], %[ftmp6], %[ftmp1] \n\t" | 202 | "pmullh %[ftmp6], %[ftmp6], %[ftmp1] \n\t" |
| 203 | "pmullh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" | 203 | "pmullh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" |
| 204 | "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 204 | "pxor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 205 | "xor %[ftmp9], %[ftmp9], %[ftmp9] \n\t" | 205 | "pxor %[ftmp9], %[ftmp9], %[ftmp9] \n\t" |
| 206 | "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" | 206 | "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" |
| 207 | "pcmpgth %[ftmp9], %[ftmp9], %[ftmp3] \n\t" | 207 | "pcmpgth %[ftmp9], %[ftmp9], %[ftmp3] \n\t" |
| 208 | "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 208 | "pxor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 209 | "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 209 | "pxor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 210 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 210 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 211 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 211 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 212 | "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 212 | "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 213 | "pmullh %[ftmp3], %[ftmp3], %[ftmp7] \n\t" | 213 | "pmullh %[ftmp3], %[ftmp3], %[ftmp7] \n\t" |
| 214 | "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 214 | "pxor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 215 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 215 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 216 | "pcmpeqh %[ftmp6], %[ftmp6], %[ftmp4] \n\t" | 216 | "pcmpeqh %[ftmp6], %[ftmp6], %[ftmp4] \n\t" |
| 217 | "dli %[tmp0], 0x03 \n\t" | 217 | "dli %[tmp0], 0x03 \n\t" |
| 218 | "pcmpeqh %[ftmp7], %[ftmp7], %[ftmp5] \n\t" | 218 | "pcmpeqh %[ftmp7], %[ftmp7], %[ftmp5] \n\t" |
| @@ -221,10 +221,10 @@ void ff_dct_unquantize_mpeg1_intra_mmi(MpegEncContext *s, int16_t *block, · 2 unmodified lines | |||
| 221 | "psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 221 | "psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 222 | "psubh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 222 | "psubh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 223 | "psubh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 223 | "psubh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| 224 | "or %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 224 | "por %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 225 | "or %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 225 | "por %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| 226 | "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 226 | "pxor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 227 | "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 227 | "pxor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 228 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 228 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 229 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 229 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 230 | "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" | 230 | "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" |
| @@ -287,12 +287,12 @@ void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block, · 56 unmodified lines | |||
| 287 | MMI_LDXC1(%[ftmp7], %[addr0], %[quant], 0x08) | 287 | MMI_LDXC1(%[ftmp7], %[addr0], %[quant], 0x08) |
| 288 | "pmullh %[ftmp6], %[ftmp6], %[ftmp1] \n\t" | 288 | "pmullh %[ftmp6], %[ftmp6], %[ftmp1] \n\t" |
| 289 | "pmullh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" | 289 | "pmullh %[ftmp7], %[ftmp7], %[ftmp1] \n\t" |
| 290 | "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 290 | "pxor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 291 | "xor %[ftmp9], %[ftmp9], %[ftmp9] \n\t" | 291 | "pxor %[ftmp9], %[ftmp9], %[ftmp9] \n\t" |
| 292 | "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" | 292 | "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" |
| 293 | "pcmpgth %[ftmp9], %[ftmp9], %[ftmp3] \n\t" | 293 | "pcmpgth %[ftmp9], %[ftmp9], %[ftmp3] \n\t" |
| 294 | "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 294 | "pxor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 295 | "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 295 | "pxor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 296 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 296 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 297 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 297 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 298 | "paddh %[ftmp2], %[ftmp2], %[ftmp2] \n\t" | 298 | "paddh %[ftmp2], %[ftmp2], %[ftmp2] \n\t" |
| @@ -301,8 +301,8 @@ void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block, · 2 unmodified lines | |||
| 301 | "paddh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 301 | "paddh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| 302 | "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 302 | "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 303 | "pmullh %[ftmp3], %[ftmp3], %[ftmp7] \n\t" | 303 | "pmullh %[ftmp3], %[ftmp3], %[ftmp7] \n\t" |
| 304 | "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 304 | "pxor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 305 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 305 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 306 | "pcmpeqh %[ftmp6], %[ftmp6], %[ftmp4] \n\t" | 306 | "pcmpeqh %[ftmp6], %[ftmp6], %[ftmp4] \n\t" |
| 307 | "dli %[tmp0], 0x04 \n\t" | 307 | "dli %[tmp0], 0x04 \n\t" |
| 308 | "pcmpeqh %[ftmp7], %[ftmp7], %[ftmp5] \n\t" | 308 | "pcmpeqh %[ftmp7], %[ftmp7], %[ftmp5] \n\t" |
| @@ -311,10 +311,10 @@ void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block, · 2 unmodified lines | |||
| 311 | "psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 311 | "psrah %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 312 | "psubh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 312 | "psubh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 313 | "psubh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 313 | "psubh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| 314 | "or %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 314 | "por %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 315 | "or %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 315 | "por %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| 316 | "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 316 | "pxor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 317 | "xor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 317 | "pxor %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 318 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 318 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 319 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" | 319 | "psubh %[ftmp3], %[ftmp3], %[ftmp9] \n\t" |
| 320 | "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" | 320 | "pandn %[ftmp6], %[ftmp6], %[ftmp2] \n\t" |
| @@ -386,26 +386,26 @@ void ff_dct_unquantize_mpeg2_intra_mmi(MpegEncContext *s, int16_t *block, · 65 unmodified lines | |||
| 386 | MMI_LDXC1(%[ftmp6], %[addr0], %[quant], 0x08) | 386 | MMI_LDXC1(%[ftmp6], %[addr0], %[quant], 0x08) |
| 387 | "pmullh %[ftmp5], %[ftmp5], %[ftmp9] \n\t" | 387 | "pmullh %[ftmp5], %[ftmp5], %[ftmp9] \n\t" |
| 388 | "pmullh %[ftmp6], %[ftmp6], %[ftmp9] \n\t" | 388 | "pmullh %[ftmp6], %[ftmp6], %[ftmp9] \n\t" |
| 389 | "xor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" | 389 | "pxor %[ftmp7], %[ftmp7], %[ftmp7] \n\t" |
| 390 | "xor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" | 390 | "pxor %[ftmp8], %[ftmp8], %[ftmp8] \n\t" |
| 391 | "pcmpgth %[ftmp7], %[ftmp7], %[ftmp1] \n\t" | 391 | "pcmpgth %[ftmp7], %[ftmp7], %[ftmp1] \n\t" |
| 392 | "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" | 392 | "pcmpgth %[ftmp8], %[ftmp8], %[ftmp2] \n\t" |
| 393 | "xor %[ftmp1], %[ftmp1], %[ftmp7] \n\t" | 393 | "pxor %[ftmp1], %[ftmp1], %[ftmp7] \n\t" |
| 394 | "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 394 | "pxor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 395 | "psubh %[ftmp1], %[ftmp1], %[ftmp7] \n\t" | 395 | "psubh %[ftmp1], %[ftmp1], %[ftmp7] \n\t" |
| 396 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 396 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 397 | "pmullh %[ftmp1], %[ftmp1], %[ftmp5] \n\t" | 397 | "pmullh %[ftmp1], %[ftmp1], %[ftmp5] \n\t" |
| 398 | "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" | 398 | "pmullh %[ftmp2], %[ftmp2], %[ftmp6] \n\t" |
| 399 | "xor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" | 399 | "pxor %[ftmp5], %[ftmp5], %[ftmp5] \n\t" |
| 400 | "xor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" | 400 | "pxor %[ftmp6], %[ftmp6], %[ftmp6] \n\t" |
| 401 | "pcmpeqh %[ftmp5], %[ftmp5], %[ftmp3] \n\t" | 401 | "pcmpeqh %[ftmp5], %[ftmp5], %[ftmp3] \n\t" |
| 402 | "dli %[tmp0], 0x03 \n\t" | 402 | "dli %[tmp0], 0x03 \n\t" |
| 403 | "pcmpeqh %[ftmp6] , %[ftmp6], %[ftmp4] \n\t" | 403 | "pcmpeqh %[ftmp6] , %[ftmp6], %[ftmp4] \n\t" |
| 404 | "mtc1 %[tmp0], %[ftmp3] \n\t" | 404 | "mtc1 %[tmp0], %[ftmp3] \n\t" |
| 405 | "psrah %[ftmp1], %[ftmp1], %[ftmp3] \n\t" | 405 | "psrah %[ftmp1], %[ftmp1], %[ftmp3] \n\t" |
| 406 | "psrah %[ftmp2], %[ftmp2], %[ftmp3] \n\t" | 406 | "psrah %[ftmp2], %[ftmp2], %[ftmp3] \n\t" |
| 407 | "xor %[ftmp1], %[ftmp1], %[ftmp7] \n\t" | 407 | "pxor %[ftmp1], %[ftmp1], %[ftmp7] \n\t" |
| 408 | "xor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 408 | "pxor %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 409 | "psubh %[ftmp1], %[ftmp1], %[ftmp7] \n\t" | 409 | "psubh %[ftmp1], %[ftmp1], %[ftmp7] \n\t" |
| 410 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" | 410 | "psubh %[ftmp2], %[ftmp2], %[ftmp8] \n\t" |
| 411 | "pandn %[ftmp5], %[ftmp5], %[ftmp1] \n\t" | 411 | "pandn %[ftmp5], %[ftmp5], %[ftmp1] \n\t" |
| @@ -445,16 +445,16 @@ void ff_denoise_dct_mmi(MpegEncContext *s, int16_t *block) · 33 unmodified lines | |||
| 445 | s->dct_count[intra]++; | 445 | s->dct_count[intra]++; |
| 446 | 446 | ||
| 447 | __asm__ volatile( | 447 | __asm__ volatile( |
| 448 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 448 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 449 | "1: \n\t" | 449 | "1: \n\t" |
| 450 | MMI_LDC1(%[ftmp1], %[block], 0x00) | 450 | MMI_LDC1(%[ftmp1], %[block], 0x00) |
| 451 | "xor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" | 451 | "pxor %[ftmp2], %[ftmp2], %[ftmp2] \n\t" |
| 452 | MMI_LDC1(%[ftmp3], %[block], 0x08) | 452 | MMI_LDC1(%[ftmp3], %[block], 0x08) |
| 453 | "xor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 453 | "pxor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 454 | "pcmpgth %[ftmp2], %[ftmp2], %[ftmp1] \n\t" | 454 | "pcmpgth %[ftmp2], %[ftmp2], %[ftmp1] \n\t" |
| 455 | "pcmpgth %[ftmp4], %[ftmp4], %[ftmp3] \n\t" | 455 | "pcmpgth %[ftmp4], %[ftmp4], %[ftmp3] \n\t" |
| 456 | "xor %[ftmp1], %[ftmp1], %[ftmp2] \n\t" | 456 | "pxor %[ftmp1], %[ftmp1], %[ftmp2] \n\t" |
| 457 | "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 457 | "pxor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 458 | "psubh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" | 458 | "psubh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" |
| 459 | "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 459 | "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 460 | MMI_LDC1(%[ftmp6], %[offset], 0x00) | 460 | MMI_LDC1(%[ftmp6], %[offset], 0x00) |
| @@ -463,8 +463,8 @@ void ff_denoise_dct_mmi(MpegEncContext *s, int16_t *block) · 2 unmodified lines | |||
| 463 | MMI_LDC1(%[ftmp6], %[offset], 0x08) | 463 | MMI_LDC1(%[ftmp6], %[offset], 0x08) |
| 464 | "mov.d %[ftmp7], %[ftmp3] \n\t" | 464 | "mov.d %[ftmp7], %[ftmp3] \n\t" |
| 465 | "psubush %[ftmp3], %[ftmp3], %[ftmp6] \n\t" | 465 | "psubush %[ftmp3], %[ftmp3], %[ftmp6] \n\t" |
| 466 | "xor %[ftmp1], %[ftmp1], %[ftmp2] \n\t" | 466 | "pxor %[ftmp1], %[ftmp1], %[ftmp2] \n\t" |
| 467 | "xor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 467 | "pxor %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 468 | "psubh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" | 468 | "psubh %[ftmp1], %[ftmp1], %[ftmp2] \n\t" |
| 469 | "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 469 | "psubh %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 470 | MMI_SDC1(%[ftmp1], %[block], 0x00) | 470 | MMI_SDC1(%[ftmp1], %[block], 0x00) |
| @@ -33,7 +33,7 @@ void ff_get_pixels_8_mmi(int16_t *av_restrict block, const uint8_t *pixels, · 32 unmodified lines | |||
| 33 | DECLARE_VAR_ADDRT; | 33 | DECLARE_VAR_ADDRT; |
| 34 | 34 | ||
| 35 | __asm__ volatile ( | 35 | __asm__ volatile ( |
| 36 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 36 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 37 | 37 | ||
| 38 | MMI_LDC1(%[ftmp1], %[pixels], 0x00) | 38 | MMI_LDC1(%[ftmp1], %[pixels], 0x00) |
| 39 | MMI_LDXC1(%[ftmp2], %[pixels], %[stride], 0x00) | 39 | MMI_LDXC1(%[ftmp2], %[pixels], %[stride], 0x00) |
| @@ -103,12 +103,12 @@ void ff_diff_pixels_mmi(int16_t *av_restrict block, const uint8_t *src1, · 63 unmodified lines | |||
| 103 | 103 | ||
| 104 | __asm__ volatile ( | 104 | __asm__ volatile ( |
| 105 | "li %[tmp0], 0x08 \n\t" | 105 | "li %[tmp0], 0x08 \n\t" |
| 106 | "xor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" | 106 | "pxor %[ftmp4], %[ftmp4], %[ftmp4] \n\t" |
| 107 | "1: \n\t" | 107 | "1: \n\t" |
| 108 | MMI_LDC1(%[ftmp0], %[src1], 0x00) | 108 | MMI_LDC1(%[ftmp0], %[src1], 0x00) |
| 109 | "or %[ftmp1], %[ftmp0], %[ftmp0] \n\t" | 109 | "por %[ftmp1], %[ftmp0], %[ftmp0] \n\t" |
| 110 | MMI_LDC1(%[ftmp2], %[src2], 0x00) | 110 | MMI_LDC1(%[ftmp2], %[src2], 0x00) |
| 111 | "or %[ftmp3], %[ftmp2], %[ftmp2] \n\t" | 111 | "por %[ftmp3], %[ftmp2], %[ftmp2] \n\t" |
| 112 | "punpcklbh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" | 112 | "punpcklbh %[ftmp0], %[ftmp0], %[ftmp4] \n\t" |
| 113 | "punpckhbh %[ftmp1], %[ftmp1], %[ftmp4] \n\t" | 113 | "punpckhbh %[ftmp1], %[ftmp1], %[ftmp4] \n\t" |
| 114 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp4] \n\t" | 114 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp4] \n\t" |
| @@ -133,7 +133,7 @@ void ff_simple_idct_8_mmi(int16_t *block) · 132 unmodified lines | |||
| 133 | "psllh $f28, "#src1", $f30 \n\t" \ | 133 | "psllh $f28, "#src1", $f30 \n\t" \ |
| 134 | "dmtc1 $9, $f31 \n\t" \ | 134 | "dmtc1 $9, $f31 \n\t" \ |
| 135 | "punpcklhw $f29, $f28, $f28 \n\t" \ | 135 | "punpcklhw $f29, $f28, $f28 \n\t" \ |
| 136 | "and $f29, $f29, $f31 \n\t" \ | 136 | "pand $f29, $f29, $f31 \n\t" \ |
| 137 | "paddw $f28, $f28, $f29 \n\t" \ | 137 | "paddw $f28, $f28, $f29 \n\t" \ |
| 138 | "punpcklwd "#src1", $f28, $f28 \n\t" \ | 138 | "punpcklwd "#src1", $f28, $f28 \n\t" \ |
| 139 | "punpcklwd "#src2", $f28, $f28 \n\t" \ | 139 | "punpcklwd "#src2", $f28, $f28 \n\t" \ |
| @@ -268,9 +268,9 @@ void ff_simple_idct_8_mmi(int16_t *block) · 128 unmodified lines | |||
| 268 | "punpcklwd $f8, $f27, $f29 \n\t" | 268 | "punpcklwd $f8, $f27, $f29 \n\t" |
| 269 | "punpckhwd $f12, $f27, $f29 \n\t" | 269 | "punpckhwd $f12, $f27, $f29 \n\t" |
| 270 | 270 | ||
| 271 | "or $f26, $f2, $f6 \n\t" | 271 | "por $f26, $f2, $f6 \n\t" |
| 272 | "or $f26, $f26, $f10 \n\t" | 272 | "por $f26, $f26, $f10 \n\t" |
| 273 | "or $f26, $f26, $f14 \n\t" | 273 | "por $f26, $f26, $f14 \n\t" |
| 274 | "dmfc1 $10, $f26 \n\t" | 274 | "dmfc1 $10, $f26 \n\t" |
| 275 | "bnez $10, 1f \n\t" | 275 | "bnez $10, 1f \n\t" |
| 276 | /* case1: In this case, row[1,3,5,7] are all zero */ | 276 | /* case1: In this case, row[1,3,5,7] are all zero */ |
| @@ -338,9 +338,9 @@ void ff_simple_idct_8_mmi(int16_t *block) · 61 unmodified lines | |||
| 338 | "punpcklwd $f9, $f27, $f29 \n\t" | 338 | "punpcklwd $f9, $f27, $f29 \n\t" |
| 339 | "punpckhwd $f13, $f27, $f29 \n\t" | 339 | "punpckhwd $f13, $f27, $f29 \n\t" |
| 340 | 340 | ||
| 341 | "or $f26, $f3, $f7 \n\t" | 341 | "por $f26, $f3, $f7 \n\t" |
| 342 | "or $f26, $f26, $f11 \n\t" | 342 | "por $f26, $f26, $f11 \n\t" |
| 343 | "or $f26, $f26, $f15 \n\t" | 343 | "por $f26, $f26, $f15 \n\t" |
| 344 | "dmfc1 $10, $f26 \n\t" | 344 | "dmfc1 $10, $f26 \n\t" |
| 345 | "bnez $10, 1f \n\t" | 345 | "bnez $10, 1f \n\t" |
| 346 | /* case1: In this case, row[1,3,5,7] are all zero */ | 346 | /* case1: In this case, row[1,3,5,7] are all zero */ |
| @@ -134,7 +134,7 @@ void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo · 133 unmodified lines | |||
| 134 | dc = (3 * dc + 16) >> 5; | 134 | dc = (3 * dc + 16) >> 5; |
| 135 | 135 | ||
| 136 | __asm__ volatile( | 136 | __asm__ volatile( |
| 137 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 137 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 138 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" | 138 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" |
| 139 | "li %[count], 0x02 \n\t" | 139 | "li %[count], 0x02 \n\t" |
| 140 | 140 | ||
| @@ -425,7 +425,7 @@ void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo · 284 unmodified lines | |||
| 425 | dc = (17 * dc + 64) >> 7; | 425 | dc = (17 * dc + 64) >> 7; |
| 426 | 426 | ||
| 427 | __asm__ volatile( | 427 | __asm__ volatile( |
| 428 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 428 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 429 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" | 429 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" |
| 430 | 430 | ||
| 431 | MMI_LDC1(%[ftmp1], %[dest0], 0x00) | 431 | MMI_LDC1(%[ftmp1], %[dest0], 0x00) |
| @@ -705,7 +705,7 @@ void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block) · 273 unmodified lines | |||
| 705 | MMI_LWC1(%[ftmp3], %[tmp0], 0x00) | 705 | MMI_LWC1(%[ftmp3], %[tmp0], 0x00) |
| 706 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" | 706 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" |
| 707 | MMI_LWC1(%[ftmp4], %[tmp0], 0x00) | 707 | MMI_LWC1(%[ftmp4], %[tmp0], 0x00) |
| 708 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 708 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 709 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 709 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 710 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 710 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 711 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 711 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| @@ -829,7 +829,7 @@ void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block) · 117 unmodified lines | |||
| 829 | MMI_LWC1(%[ftmp3], %[tmp0], 0x04) | 829 | MMI_LWC1(%[ftmp3], %[tmp0], 0x04) |
| 830 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" | 830 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" |
| 831 | MMI_LWC1(%[ftmp4], %[tmp0], 0x04) | 831 | MMI_LWC1(%[ftmp4], %[tmp0], 0x04) |
| 832 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 832 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 833 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 833 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 834 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 834 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 835 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 835 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| @@ -877,7 +877,7 @@ void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo · 41 unmodified lines | |||
| 877 | dc = (12 * dc + 64) >> 7; | 877 | dc = (12 * dc + 64) >> 7; |
| 878 | 878 | ||
| 879 | __asm__ volatile( | 879 | __asm__ volatile( |
| 880 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 880 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 881 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" | 881 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" |
| 882 | 882 | ||
| 883 | MMI_LWC1(%[ftmp1], %[dest0], 0x00) | 883 | MMI_LWC1(%[ftmp1], %[dest0], 0x00) |
| @@ -1058,7 +1058,7 @@ void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block) · 174 unmodified lines | |||
| 1058 | MMI_LWC1(%[ftmp7], %[tmp0], 0x00) | 1058 | MMI_LWC1(%[ftmp7], %[tmp0], 0x00) |
| 1059 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" | 1059 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" |
| 1060 | MMI_LWC1(%[ftmp8], %[tmp0], 0x00) | 1060 | MMI_LWC1(%[ftmp8], %[tmp0], 0x00) |
| 1061 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1061 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1062 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 1062 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 1063 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 1063 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 1064 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 1064 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| @@ -1133,7 +1133,7 @@ void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo · 68 unmodified lines | |||
| 1133 | dc = (17 * dc + 64) >> 7; | 1133 | dc = (17 * dc + 64) >> 7; |
| 1134 | 1134 | ||
| 1135 | __asm__ volatile( | 1135 | __asm__ volatile( |
| 1136 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1136 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1137 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" | 1137 | "pshufh %[dc], %[dc], %[ftmp0] \n\t" |
| 1138 | 1138 | ||
| 1139 | MMI_LWC1(%[ftmp1], %[dest0], 0x00) | 1139 | MMI_LWC1(%[ftmp1], %[dest0], 0x00) |
| @@ -1339,7 +1339,7 @@ void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block) · 199 unmodified lines | |||
| 1339 | MMI_LWC1(%[ftmp3], %[tmp0], 0x00) | 1339 | MMI_LWC1(%[ftmp3], %[tmp0], 0x00) |
| 1340 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" | 1340 | PTR_ADDU "%[tmp0], %[tmp0], %[linesize] \n\t" |
| 1341 | MMI_LWC1(%[ftmp4], %[tmp0], 0x00) | 1341 | MMI_LWC1(%[ftmp4], %[tmp0], 0x00) |
| 1342 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1342 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1343 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" | 1343 | "punpcklbh %[ftmp1], %[ftmp1], %[ftmp0] \n\t" |
| 1344 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" | 1344 | "punpcklbh %[ftmp2], %[ftmp2], %[ftmp0] \n\t" |
| 1345 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" | 1345 | "punpcklbh %[ftmp3], %[ftmp3], %[ftmp0] \n\t" |
| @@ -1664,7 +1664,7 @@ static void vc1_put_ver_16b_shift2_mmi(int16_t *dst, · 318 unmodified lines | |||
| 1664 | DECLARE_VAR_ADDRT; | 1664 | DECLARE_VAR_ADDRT; |
| 1665 | 1665 | ||
| 1666 | __asm__ volatile( | 1666 | __asm__ volatile( |
| 1667 | "xor $f0, $f0, $f0 \n\t" | 1667 | "pxor $f0, $f0, $f0 \n\t" |
| 1668 | "li $8, 0x03 \n\t" | 1668 | "li $8, 0x03 \n\t" |
| 1669 | LOAD_ROUNDER_MMI("%[rnd]") | 1669 | LOAD_ROUNDER_MMI("%[rnd]") |
| 1670 | "ldc1 $f12, %[ff_pw_9] \n\t" | 1670 | "ldc1 $f12, %[ff_pw_9] \n\t" |
| @@ -1771,7 +1771,7 @@ static void OPNAME ## vc1_shift2_mmi(uint8_t *dst, const uint8_t *src, \ · 100 unmodified lines | |||
| 1771 | rnd = 8 - rnd; \ | 1771 | rnd = 8 - rnd; \ |
| 1772 | \ | 1772 | \ |
| 1773 | __asm__ volatile( \ | 1773 | __asm__ volatile( \ |
| 1774 | "xor $f0, $f0, $f0 \n\t" \ | 1774 | "pxor $f0, $f0, $f0 \n\t" \ |
| 1775 | "li $10, 0x08 \n\t" \ | 1775 | "li $10, 0x08 \n\t" \ |
| 1776 | LOAD_ROUNDER_MMI("%[rnd]") \ | 1776 | LOAD_ROUNDER_MMI("%[rnd]") \ |
| 1777 | "ldc1 $f12, %[ff_pw_9] \n\t" \ | 1777 | "ldc1 $f12, %[ff_pw_9] \n\t" \ |
| @@ -1898,7 +1898,7 @@ vc1_put_ver_16b_ ## NAME ## _mmi(int16_t *dst, const uint8_t *src, \ · 120 unmodified lines | |||
| 1898 | src -= src_stride; \ | 1898 | src -= src_stride; \ |
| 1899 | \ | 1899 | \ |
| 1900 | __asm__ volatile( \ | 1900 | __asm__ volatile( \ |
| 1901 | "xor $f0, $f0, $f0 \n\t" \ | 1901 | "pxor $f0, $f0, $f0 \n\t" \ |
| 1902 | LOAD_ROUNDER_MMI("%[rnd]") \ | 1902 | LOAD_ROUNDER_MMI("%[rnd]") \ |
| 1903 | "ldc1 $f10, %[ff_pw_53] \n\t" \ | 1903 | "ldc1 $f10, %[ff_pw_53] \n\t" \ |
| 1904 | "ldc1 $f12, %[ff_pw_18] \n\t" \ | 1904 | "ldc1 $f12, %[ff_pw_18] \n\t" \ |
| @@ -1973,7 +1973,7 @@ OPNAME ## vc1_hor_16b_ ## NAME ## _mmi(uint8_t *dst, mips_reg stride, \ · 68 unmodified lines | |||
| 1973 | rnd -= (-4+58+13-3)*256; /* Add -256 bias */ \ | 1973 | rnd -= (-4+58+13-3)*256; /* Add -256 bias */ \ |
| 1974 | \ | 1974 | \ |
| 1975 | __asm__ volatile( \ | 1975 | __asm__ volatile( \ |
| 1976 | "xor $f0, $f0, $f0 \n\t" \ | 1976 | "pxor $f0, $f0, $f0 \n\t" \ |
| 1977 | LOAD_ROUNDER_MMI("%[rnd]") \ | 1977 | LOAD_ROUNDER_MMI("%[rnd]") \ |
| 1978 | "ldc1 $f10, %[ff_pw_53] \n\t" \ | 1978 | "ldc1 $f10, %[ff_pw_53] \n\t" \ |
| 1979 | "ldc1 $f12, %[ff_pw_18] \n\t" \ | 1979 | "ldc1 $f12, %[ff_pw_18] \n\t" \ |
| @@ -2023,7 +2023,7 @@ OPNAME ## vc1_## NAME ## _mmi(uint8_t *dst, const uint8_t *src, \ · 43 unmodified lines | |||
| 2023 | rnd = 32-rnd; \ | 2023 | rnd = 32-rnd; \ |
| 2024 | \ | 2024 | \ |
| 2025 | __asm__ volatile ( \ | 2025 | __asm__ volatile ( \ |
| 2026 | "xor $f0, $f0, $f0 \n\t" \ | 2026 | "pxor $f0, $f0, $f0 \n\t" \ |
| 2027 | LOAD_ROUNDER_MMI("%[rnd]") \ | 2027 | LOAD_ROUNDER_MMI("%[rnd]") \ |
| 2028 | "ldc1 $f10, %[ff_pw_53] \n\t" \ | 2028 | "ldc1 $f10, %[ff_pw_53] \n\t" \ |
| 2029 | "ldc1 $f12, %[ff_pw_18] \n\t" \ | 2029 | "ldc1 $f12, %[ff_pw_18] \n\t" \ |
| @@ -2259,7 +2259,7 @@ void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, · 229 unmodified lines | |||
| 2259 | 2259 | ||
| 2260 | __asm__ volatile( | 2260 | __asm__ volatile( |
| 2261 | "li %[tmp0], 0x06 \n\t" | 2261 | "li %[tmp0], 0x06 \n\t" |
| 2262 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2262 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2263 | "mtc1 %[tmp0], %[ftmp9] \n\t" | 2263 | "mtc1 %[tmp0], %[ftmp9] \n\t" |
| 2264 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 2264 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 2265 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 2265 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -2314,7 +2314,7 @@ void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, · 48 unmodified lines | |||
| 2314 | 2314 | ||
| 2315 | __asm__ volatile( | 2315 | __asm__ volatile( |
| 2316 | "li %[tmp0], 0x06 \n\t" | 2316 | "li %[tmp0], 0x06 \n\t" |
| 2317 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2317 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2318 | "mtc1 %[tmp0], %[ftmp5] \n\t" | 2318 | "mtc1 %[tmp0], %[ftmp5] \n\t" |
| 2319 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 2319 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 2320 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 2320 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -2367,7 +2367,7 @@ void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */, · 46 unmodified lines | |||
| 2367 | 2367 | ||
| 2368 | __asm__ volatile( | 2368 | __asm__ volatile( |
| 2369 | "li %[tmp0], 0x06 \n\t" | 2369 | "li %[tmp0], 0x06 \n\t" |
| 2370 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2370 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2371 | "mtc1 %[tmp0], %[ftmp9] \n\t" | 2371 | "mtc1 %[tmp0], %[ftmp9] \n\t" |
| 2372 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 2372 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 2373 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 2373 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -2425,7 +2425,7 @@ void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */, · 51 unmodified lines | |||
| 2425 | 2425 | ||
| 2426 | __asm__ volatile( | 2426 | __asm__ volatile( |
| 2427 | "li %[tmp0], 0x06 \n\t" | 2427 | "li %[tmp0], 0x06 \n\t" |
| 2428 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2428 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2429 | "mtc1 %[tmp0], %[ftmp5] \n\t" | 2429 | "mtc1 %[tmp0], %[ftmp5] \n\t" |
| 2430 | "pshufh %[A], %[A], %[ftmp0] \n\t" | 2430 | "pshufh %[A], %[A], %[ftmp0] \n\t" |
| 2431 | "pshufh %[B], %[B], %[ftmp0] \n\t" | 2431 | "pshufh %[B], %[B], %[ftmp0] \n\t" |
| @@ -34,7 +34,7 @@ static void idct_row_mmi(int16_t *input) · 33 unmodified lines | |||
| 34 | double ftmp[23]; | 34 | double ftmp[23]; |
| 35 | uint64_t tmp[2]; | 35 | uint64_t tmp[2]; |
| 36 | __asm__ volatile ( | 36 | __asm__ volatile ( |
| 37 | "xor %[ftmp10], %[ftmp10], %[ftmp10] \n\t" | 37 | "pxor %[ftmp10], %[ftmp10], %[ftmp10] \n\t" |
| 38 | LOAD_CONST(%[csth_1], 1) | 38 | LOAD_CONST(%[csth_1], 1) |
| 39 | "li %[tmp0], 0x02 \n\t" | 39 | "li %[tmp0], 0x02 \n\t" |
| 40 | "1: \n\t" | 40 | "1: \n\t" |
| @@ -51,14 +51,14 @@ static void idct_row_mmi(int16_t *input) · 10 unmodified lines | |||
| 51 | LOAD_CONST(%[ftmp9], 12785) | 51 | LOAD_CONST(%[ftmp9], 12785) |
| 52 | "pmulhh %[A], %[ftmp9], %[ftmp7] \n\t" | 52 | "pmulhh %[A], %[ftmp9], %[ftmp7] \n\t" |
| 53 | "pcmpgth %[C], %[ftmp10], %[ftmp1] \n\t" | 53 | "pcmpgth %[C], %[ftmp10], %[ftmp1] \n\t" |
| 54 | "or %[mask], %[C], %[csth_1] \n\t" | 54 | "por %[mask], %[C], %[csth_1] \n\t" |
| 55 | "pmullh %[B], %[ftmp1], %[mask] \n\t" | 55 | "pmullh %[B], %[ftmp1], %[mask] \n\t" |
| 56 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" | 56 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" |
| 57 | "pmullh %[B], %[B], %[mask] \n\t" | 57 | "pmullh %[B], %[B], %[mask] \n\t" |
| 58 | "paddh %[A], %[A], %[B] \n\t" | 58 | "paddh %[A], %[A], %[B] \n\t" |
| 59 | "paddh %[A], %[A], %[C] \n\t" | 59 | "paddh %[A], %[A], %[C] \n\t" |
| 60 | "pcmpgth %[D], %[ftmp10], %[ftmp7] \n\t" | 60 | "pcmpgth %[D], %[ftmp10], %[ftmp7] \n\t" |
| 61 | "or %[mask], %[D], %[csth_1] \n\t" | 61 | "por %[mask], %[D], %[csth_1] \n\t" |
| 62 | "pmullh %[ftmp7], %[ftmp7], %[mask] \n\t" | 62 | "pmullh %[ftmp7], %[ftmp7], %[mask] \n\t" |
| 63 | "pmulhuh %[B], %[ftmp8], %[ftmp7] \n\t" | 63 | "pmulhuh %[B], %[ftmp8], %[ftmp7] \n\t" |
| 64 | "pmullh %[B], %[B], %[mask] \n\t" | 64 | "pmullh %[B], %[B], %[mask] \n\t" |
| @@ -69,12 +69,12 @@ static void idct_row_mmi(int16_t *input) · 4 unmodified lines | |||
| 69 | LOAD_CONST(%[ftmp8], 54491) | 69 | LOAD_CONST(%[ftmp8], 54491) |
| 70 | LOAD_CONST(%[ftmp9], 36410) | 70 | LOAD_CONST(%[ftmp9], 36410) |
| 71 | "pcmpgth %[Ad], %[ftmp10], %[ftmp5] \n\t" | 71 | "pcmpgth %[Ad], %[ftmp10], %[ftmp5] \n\t" |
| 72 | "or %[mask], %[Ad], %[csth_1] \n\t" | 72 | "por %[mask], %[Ad], %[csth_1] \n\t" |
| 73 | "pmullh %[ftmp1], %[ftmp5], %[mask] \n\t" | 73 | "pmullh %[ftmp1], %[ftmp5], %[mask] \n\t" |
| 74 | "pmulhuh %[C], %[ftmp9], %[ftmp1] \n\t" | 74 | "pmulhuh %[C], %[ftmp9], %[ftmp1] \n\t" |
| 75 | "pmullh %[C], %[C], %[mask] \n\t" | 75 | "pmullh %[C], %[C], %[mask] \n\t" |
| 76 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" | 76 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" |
| 77 | "or %[mask], %[Bd], %[csth_1] \n\t" | 77 | "por %[mask], %[Bd], %[csth_1] \n\t" |
| 78 | "pmullh %[D], %[ftmp3], %[mask] \n\t" | 78 | "pmullh %[D], %[ftmp3], %[mask] \n\t" |
| 79 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" | 79 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" |
| 80 | "pmullh %[D], %[D], %[mask] \n\t" | 80 | "pmullh %[D], %[D], %[mask] \n\t" |
| @@ -82,12 +82,12 @@ static void idct_row_mmi(int16_t *input) · 1 unmodified line | |||
| 82 | "paddh %[C], %[C], %[Ad] \n\t" | 82 | "paddh %[C], %[C], %[Ad] \n\t" |
| 83 | "paddh %[C], %[C], %[Bd] \n\t" | 83 | "paddh %[C], %[C], %[Bd] \n\t" |
| 84 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" | 84 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" |
| 85 | "or %[mask], %[Bd], %[csth_1] \n\t" | 85 | "por %[mask], %[Bd], %[csth_1] \n\t" |
| 86 | "pmullh %[ftmp1], %[ftmp3], %[mask] \n\t" | 86 | "pmullh %[ftmp1], %[ftmp3], %[mask] \n\t" |
| 87 | "pmulhuh %[D], %[ftmp9], %[ftmp1] \n\t" | 87 | "pmulhuh %[D], %[ftmp9], %[ftmp1] \n\t" |
| 88 | "pmullh %[D], %[D], %[mask] \n\t" | 88 | "pmullh %[D], %[D], %[mask] \n\t" |
| 89 | "pcmpgth %[Ed], %[ftmp10], %[ftmp5] \n\t" | 89 | "pcmpgth %[Ed], %[ftmp10], %[ftmp5] \n\t" |
| 90 | "or %[mask], %[Ed], %[csth_1] \n\t" | 90 | "por %[mask], %[Ed], %[csth_1] \n\t" |
| 91 | "pmullh %[Ad], %[ftmp5], %[mask] \n\t" | 91 | "pmullh %[Ad], %[ftmp5], %[mask] \n\t" |
| 92 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" | 92 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" |
| 93 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 93 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| @@ -98,14 +98,14 @@ static void idct_row_mmi(int16_t *input) · 4 unmodified lines | |||
| 98 | LOAD_CONST(%[ftmp8], 46341) | 98 | LOAD_CONST(%[ftmp8], 46341) |
| 99 | "psubh %[Ad], %[A], %[C] \n\t" | 99 | "psubh %[Ad], %[A], %[C] \n\t" |
| 100 | "pcmpgth %[Bd], %[ftmp10], %[Ad] \n\t" | 100 | "pcmpgth %[Bd], %[ftmp10], %[Ad] \n\t" |
| 101 | "or %[mask], %[Bd], %[csth_1] \n\t" | 101 | "por %[mask], %[Bd], %[csth_1] \n\t" |
| 102 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 102 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| 103 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" | 103 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" |
| 104 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 104 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| 105 | "paddh %[Ad], %[Ad], %[Bd] \n\t" | 105 | "paddh %[Ad], %[Ad], %[Bd] \n\t" |
| 106 | "psubh %[Bd], %[B], %[D] \n\t" | 106 | "psubh %[Bd], %[B], %[D] \n\t" |
| 107 | "pcmpgth %[Cd], %[ftmp10], %[Bd] \n\t" | 107 | "pcmpgth %[Cd], %[ftmp10], %[Bd] \n\t" |
| 108 | "or %[mask], %[Cd], %[csth_1] \n\t" | 108 | "por %[mask], %[Cd], %[csth_1] \n\t" |
| 109 | "pmullh %[Bd], %[Bd], %[mask] \n\t" | 109 | "pmullh %[Bd], %[Bd], %[mask] \n\t" |
| 110 | "pmulhuh %[Bd], %[ftmp8], %[Bd] \n\t" | 110 | "pmulhuh %[Bd], %[ftmp8], %[Bd] \n\t" |
| 111 | "pmullh %[Bd], %[Bd], %[mask] \n\t" | 111 | "pmullh %[Bd], %[Bd], %[mask] \n\t" |
| @@ -114,14 +114,14 @@ static void idct_row_mmi(int16_t *input) · 2 unmodified lines | |||
| 114 | "paddh %[Dd], %[B], %[D] \n\t" | 114 | "paddh %[Dd], %[B], %[D] \n\t" |
| 115 | "paddh %[A], %[ftmp0], %[ftmp4] \n\t" | 115 | "paddh %[A], %[ftmp0], %[ftmp4] \n\t" |
| 116 | "pcmpgth %[B], %[ftmp10], %[A] \n\t" | 116 | "pcmpgth %[B], %[ftmp10], %[A] \n\t" |
| 117 | "or %[mask], %[B], %[csth_1] \n\t" | 117 | "por %[mask], %[B], %[csth_1] \n\t" |
| 118 | "pmullh %[A], %[A], %[mask] \n\t" | 118 | "pmullh %[A], %[A], %[mask] \n\t" |
| 119 | "pmulhuh %[A], %[ftmp8], %[A] \n\t" | 119 | "pmulhuh %[A], %[ftmp8], %[A] \n\t" |
| 120 | "pmullh %[A], %[A], %[mask] \n\t" | 120 | "pmullh %[A], %[A], %[mask] \n\t" |
| 121 | "paddh %[A], %[A], %[B] \n\t" | 121 | "paddh %[A], %[A], %[B] \n\t" |
| 122 | "psubh %[B], %[ftmp0], %[ftmp4] \n\t" | 122 | "psubh %[B], %[ftmp0], %[ftmp4] \n\t" |
| 123 | "pcmpgth %[C], %[ftmp10], %[B] \n\t" | 123 | "pcmpgth %[C], %[ftmp10], %[B] \n\t" |
| 124 | "or %[mask], %[C], %[csth_1] \n\t" | 124 | "por %[mask], %[C], %[csth_1] \n\t" |
| 125 | "pmullh %[B], %[B], %[mask] \n\t" | 125 | "pmullh %[B], %[B], %[mask] \n\t" |
| 126 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" | 126 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" |
| 127 | "pmullh %[B], %[B], %[mask] \n\t" | 127 | "pmullh %[B], %[B], %[mask] \n\t" |
| @@ -131,14 +131,14 @@ static void idct_row_mmi(int16_t *input) · 3 unmodified lines | |||
| 131 | LOAD_CONST(%[ftmp9], 25080) | 131 | LOAD_CONST(%[ftmp9], 25080) |
| 132 | "pmulhh %[C], %[ftmp9], %[ftmp6] \n\t" | 132 | "pmulhh %[C], %[ftmp9], %[ftmp6] \n\t" |
| 133 | "pcmpgth %[D], %[ftmp10], %[ftmp2] \n\t" | 133 | "pcmpgth %[D], %[ftmp10], %[ftmp2] \n\t" |
| 134 | "or %[mask], %[D], %[csth_1] \n\t" | 134 | "por %[mask], %[D], %[csth_1] \n\t" |
| 135 | "pmullh %[Ed], %[ftmp2], %[mask] \n\t" | 135 | "pmullh %[Ed], %[ftmp2], %[mask] \n\t" |
| 136 | "pmulhuh %[Ed], %[ftmp8], %[Ed] \n\t" | 136 | "pmulhuh %[Ed], %[ftmp8], %[Ed] \n\t" |
| 137 | "pmullh %[Ed], %[Ed], %[mask] \n\t" | 137 | "pmullh %[Ed], %[Ed], %[mask] \n\t" |
| 138 | "paddh %[C], %[C], %[Ed] \n\t" | 138 | "paddh %[C], %[C], %[Ed] \n\t" |
| 139 | "paddh %[C], %[C], %[D] \n\t" | 139 | "paddh %[C], %[C], %[D] \n\t" |
| 140 | "pcmpgth %[Ed], %[ftmp10], %[ftmp6] \n\t" | 140 | "pcmpgth %[Ed], %[ftmp10], %[ftmp6] \n\t" |
| 141 | "or %[mask], %[Ed], %[csth_1] \n\t" | 141 | "por %[mask], %[Ed], %[csth_1] \n\t" |
| 142 | "pmullh %[ftmp6], %[ftmp6], %[mask] \n\t" | 142 | "pmullh %[ftmp6], %[ftmp6], %[mask] \n\t" |
| 143 | "pmulhuh %[D], %[ftmp8], %[ftmp6] \n\t" | 143 | "pmulhuh %[D], %[ftmp8], %[ftmp6] \n\t" |
| 144 | "pmullh %[D], %[D], %[mask] \n\t" | 144 | "pmullh %[D], %[D], %[mask] \n\t" |
| @@ -193,7 +193,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 48 unmodified lines | |||
| 193 | for (int i = 0; i < 8; ++i) | 193 | for (int i = 0; i < 8; ++i) |
| 194 | temp_value[i] = av_clip_uint8(128 + ((46341 * input[i << 3] + (8 << 16)) >> 20)); | 194 | temp_value[i] = av_clip_uint8(128 + ((46341 * input[i << 3] + (8 << 16)) >> 20)); |
| 195 | __asm__ volatile ( | 195 | __asm__ volatile ( |
| 196 | "xor %[ftmp10], %[ftmp10], %[ftmp10] \n\t" | 196 | "pxor %[ftmp10], %[ftmp10], %[ftmp10] \n\t" |
| 197 | "li %[tmp0], 0x02 \n\t" | 197 | "li %[tmp0], 0x02 \n\t" |
| 198 | "1: \n\t" | 198 | "1: \n\t" |
| 199 | "ldc1 %[ftmp0], 0x00(%[input]) \n\t" | 199 | "ldc1 %[ftmp0], 0x00(%[input]) \n\t" |
| @@ -213,14 +213,14 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 13 unmodified lines | |||
| 213 | LOAD_CONST(%[Gd], 1) | 213 | LOAD_CONST(%[Gd], 1) |
| 214 | "pmulhh %[A], %[ftmp9], %[ftmp7] \n\t" | 214 | "pmulhh %[A], %[ftmp9], %[ftmp7] \n\t" |
| 215 | "pcmpgth %[C], %[ftmp10], %[ftmp1] \n\t" | 215 | "pcmpgth %[C], %[ftmp10], %[ftmp1] \n\t" |
| 216 | "or %[mask], %[C], %[Gd] \n\t" | 216 | "por %[mask], %[C], %[Gd] \n\t" |
| 217 | "pmullh %[B], %[ftmp1], %[mask] \n\t" | 217 | "pmullh %[B], %[ftmp1], %[mask] \n\t" |
| 218 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" | 218 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" |
| 219 | "pmullh %[B], %[B], %[mask] \n\t" | 219 | "pmullh %[B], %[B], %[mask] \n\t" |
| 220 | "paddh %[A], %[A], %[B] \n\t" | 220 | "paddh %[A], %[A], %[B] \n\t" |
| 221 | "paddh %[A], %[A], %[C] \n\t" | 221 | "paddh %[A], %[A], %[C] \n\t" |
| 222 | "pcmpgth %[D], %[ftmp10], %[ftmp7] \n\t" | 222 | "pcmpgth %[D], %[ftmp10], %[ftmp7] \n\t" |
| 223 | "or %[mask], %[D], %[Gd] \n\t" | 223 | "por %[mask], %[D], %[Gd] \n\t" |
| 224 | "pmullh %[Ad], %[ftmp7], %[mask] \n\t" | 224 | "pmullh %[Ad], %[ftmp7], %[mask] \n\t" |
| 225 | "pmulhuh %[B], %[ftmp8], %[Ad] \n\t" | 225 | "pmulhuh %[B], %[ftmp8], %[Ad] \n\t" |
| 226 | "pmullh %[B], %[B], %[mask] \n\t" | 226 | "pmullh %[B], %[B], %[mask] \n\t" |
| @@ -231,12 +231,12 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 231 | LOAD_CONST(%[ftmp8], 54491) | 231 | LOAD_CONST(%[ftmp8], 54491) |
| 232 | LOAD_CONST(%[ftmp9], 36410) | 232 | LOAD_CONST(%[ftmp9], 36410) |
| 233 | "pcmpgth %[Ad], %[ftmp10], %[ftmp5] \n\t" | 233 | "pcmpgth %[Ad], %[ftmp10], %[ftmp5] \n\t" |
| 234 | "or %[mask], %[Ad], %[Gd] \n\t" | 234 | "por %[mask], %[Ad], %[Gd] \n\t" |
| 235 | "pmullh %[Cd], %[ftmp5], %[mask] \n\t" | 235 | "pmullh %[Cd], %[ftmp5], %[mask] \n\t" |
| 236 | "pmulhuh %[C], %[ftmp9], %[Cd] \n\t" | 236 | "pmulhuh %[C], %[ftmp9], %[Cd] \n\t" |
| 237 | "pmullh %[C], %[C], %[mask] \n\t" | 237 | "pmullh %[C], %[C], %[mask] \n\t" |
| 238 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" | 238 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" |
| 239 | "or %[mask], %[Bd], %[Gd] \n\t" | 239 | "por %[mask], %[Bd], %[Gd] \n\t" |
| 240 | "pmullh %[D], %[ftmp3], %[mask] \n\t" | 240 | "pmullh %[D], %[ftmp3], %[mask] \n\t" |
| 241 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" | 241 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" |
| 242 | "pmullh %[D], %[D], %[mask] \n\t" | 242 | "pmullh %[D], %[D], %[mask] \n\t" |
| @@ -244,12 +244,12 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 1 unmodified line | |||
| 244 | "paddh %[C], %[C], %[Ad] \n\t" | 244 | "paddh %[C], %[C], %[Ad] \n\t" |
| 245 | "paddh %[C], %[C], %[Bd] \n\t" | 245 | "paddh %[C], %[C], %[Bd] \n\t" |
| 246 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" | 246 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" |
| 247 | "or %[mask], %[Bd], %[Gd] \n\t" | 247 | "por %[mask], %[Bd], %[Gd] \n\t" |
| 248 | "pmullh %[Cd], %[ftmp3], %[mask] \n\t" | 248 | "pmullh %[Cd], %[ftmp3], %[mask] \n\t" |
| 249 | "pmulhuh %[D], %[ftmp9], %[Cd] \n\t" | 249 | "pmulhuh %[D], %[ftmp9], %[Cd] \n\t" |
| 250 | "pmullh %[D], %[D], %[mask] \n\t" | 250 | "pmullh %[D], %[D], %[mask] \n\t" |
| 251 | "pcmpgth %[Ed], %[ftmp10], %[ftmp5] \n\t" | 251 | "pcmpgth %[Ed], %[ftmp10], %[ftmp5] \n\t" |
| 252 | "or %[mask], %[Ed], %[Gd] \n\t" | 252 | "por %[mask], %[Ed], %[Gd] \n\t" |
| 253 | "pmullh %[Ad], %[ftmp5], %[mask] \n\t" | 253 | "pmullh %[Ad], %[ftmp5], %[mask] \n\t" |
| 254 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" | 254 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" |
| 255 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 255 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| @@ -260,14 +260,14 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 260 | LOAD_CONST(%[ftmp8], 46341) | 260 | LOAD_CONST(%[ftmp8], 46341) |
| 261 | "psubh %[Ad], %[A], %[C] \n\t" | 261 | "psubh %[Ad], %[A], %[C] \n\t" |
| 262 | "pcmpgth %[Bd], %[ftmp10], %[Ad] \n\t" | 262 | "pcmpgth %[Bd], %[ftmp10], %[Ad] \n\t" |
| 263 | "or %[mask], %[Bd], %[Gd] \n\t" | 263 | "por %[mask], %[Bd], %[Gd] \n\t" |
| 264 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 264 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| 265 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" | 265 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" |
| 266 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 266 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| 267 | "paddh %[Ad], %[Ad], %[Bd] \n\t" | 267 | "paddh %[Ad], %[Ad], %[Bd] \n\t" |
| 268 | "psubh %[Bd], %[B], %[D] \n\t" | 268 | "psubh %[Bd], %[B], %[D] \n\t" |
| 269 | "pcmpgth %[Cd], %[ftmp10], %[Bd] \n\t" | 269 | "pcmpgth %[Cd], %[ftmp10], %[Bd] \n\t" |
| 270 | "or %[mask], %[Cd], %[Gd] \n\t" | 270 | "por %[mask], %[Cd], %[Gd] \n\t" |
| 271 | "pmullh %[Bd], %[Bd], %[mask] \n\t" | 271 | "pmullh %[Bd], %[Bd], %[mask] \n\t" |
| 272 | "pmulhuh %[Bd], %[ftmp8], %[Bd] \n\t" | 272 | "pmulhuh %[Bd], %[ftmp8], %[Bd] \n\t" |
| 273 | "pmullh %[Bd], %[Bd], %[mask] \n\t" | 273 | "pmullh %[Bd], %[Bd], %[mask] \n\t" |
| @@ -278,7 +278,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 278 | LOAD_CONST(%[Ed], 2056) | 278 | LOAD_CONST(%[Ed], 2056) |
| 279 | "paddh %[A], %[ftmp0], %[ftmp4] \n\t" | 279 | "paddh %[A], %[ftmp0], %[ftmp4] \n\t" |
| 280 | "pcmpgth %[B], %[ftmp10], %[A] \n\t" | 280 | "pcmpgth %[B], %[ftmp10], %[A] \n\t" |
| 281 | "or %[mask], %[B], %[Gd] \n\t" | 281 | "por %[mask], %[B], %[Gd] \n\t" |
| 282 | "pmullh %[A], %[A], %[mask] \n\t" | 282 | "pmullh %[A], %[A], %[mask] \n\t" |
| 283 | "pmulhuh %[A], %[ftmp8], %[A] \n\t" | 283 | "pmulhuh %[A], %[ftmp8], %[A] \n\t" |
| 284 | "pmullh %[A], %[A], %[mask] \n\t" | 284 | "pmullh %[A], %[A], %[mask] \n\t" |
| @@ -286,7 +286,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 1 unmodified line | |||
| 286 | "paddh %[A], %[A], %[Ed] \n\t" | 286 | "paddh %[A], %[A], %[Ed] \n\t" |
| 287 | "psubh %[B], %[ftmp0], %[ftmp4] \n\t" | 287 | "psubh %[B], %[ftmp0], %[ftmp4] \n\t" |
| 288 | "pcmpgth %[C], %[ftmp10], %[B] \n\t" | 288 | "pcmpgth %[C], %[ftmp10], %[B] \n\t" |
| 289 | "or %[mask], %[C], %[Gd] \n\t" | 289 | "por %[mask], %[C], %[Gd] \n\t" |
| 290 | "pmullh %[B], %[B], %[mask] \n\t" | 290 | "pmullh %[B], %[B], %[mask] \n\t" |
| 291 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" | 291 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" |
| 292 | "pmullh %[B], %[B], %[mask] \n\t" | 292 | "pmullh %[B], %[B], %[mask] \n\t" |
| @@ -297,14 +297,14 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 297 | LOAD_CONST(%[ftmp9], 25080) | 297 | LOAD_CONST(%[ftmp9], 25080) |
| 298 | "pmulhh %[C], %[ftmp9], %[ftmp6] \n\t" | 298 | "pmulhh %[C], %[ftmp9], %[ftmp6] \n\t" |
| 299 | "pcmpgth %[D], %[ftmp10], %[ftmp2] \n\t" | 299 | "pcmpgth %[D], %[ftmp10], %[ftmp2] \n\t" |
| 300 | "or %[mask], %[D], %[Gd] \n\t" | 300 | "por %[mask], %[D], %[Gd] \n\t" |
| 301 | "pmullh %[Ed], %[ftmp2], %[mask] \n\t" | 301 | "pmullh %[Ed], %[ftmp2], %[mask] \n\t" |
| 302 | "pmulhuh %[Ed], %[ftmp8], %[Ed] \n\t" | 302 | "pmulhuh %[Ed], %[ftmp8], %[Ed] \n\t" |
| 303 | "pmullh %[Ed], %[Ed], %[mask] \n\t" | 303 | "pmullh %[Ed], %[Ed], %[mask] \n\t" |
| 304 | "paddh %[C], %[C], %[Ed] \n\t" | 304 | "paddh %[C], %[C], %[Ed] \n\t" |
| 305 | "paddh %[C], %[C], %[D] \n\t" | 305 | "paddh %[C], %[C], %[D] \n\t" |
| 306 | "pcmpgth %[Ed], %[ftmp10], %[ftmp6] \n\t" | 306 | "pcmpgth %[Ed], %[ftmp10], %[ftmp6] \n\t" |
| 307 | "or %[mask], %[Ed], %[Gd] \n\t" | 307 | "por %[mask], %[Ed], %[Gd] \n\t" |
| 308 | "pmullh %[D], %[ftmp6], %[mask] \n\t" | 308 | "pmullh %[D], %[ftmp6], %[mask] \n\t" |
| 309 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" | 309 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" |
| 310 | "pmullh %[D], %[D], %[mask] \n\t" | 310 | "pmullh %[D], %[D], %[mask] \n\t" |
| @@ -317,12 +317,12 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 6 unmodified lines | |||
| 317 | "psubh %[C], %[B], %[Ad] \n\t" | 317 | "psubh %[C], %[B], %[Ad] \n\t" |
| 318 | "psubh %[B], %[Bd], %[D] \n\t" | 318 | "psubh %[B], %[Bd], %[D] \n\t" |
| 319 | "paddh %[D], %[Bd], %[D] \n\t" | 319 | "paddh %[D], %[Bd], %[D] \n\t" |
| 320 | "or %[mask], %[ftmp1], %[ftmp2] \n\t" | 320 | "por %[mask], %[ftmp1], %[ftmp2] \n\t" |
| 321 | "or %[mask], %[mask], %[ftmp3] \n\t" | 321 | "por %[mask], %[mask], %[ftmp3] \n\t" |
| 322 | "or %[mask], %[mask], %[ftmp4] \n\t" | 322 | "por %[mask], %[mask], %[ftmp4] \n\t" |
| 323 | "or %[mask], %[mask], %[ftmp5] \n\t" | 323 | "por %[mask], %[mask], %[ftmp5] \n\t" |
| 324 | "or %[mask], %[mask], %[ftmp6] \n\t" | 324 | "por %[mask], %[mask], %[ftmp6] \n\t" |
| 325 | "or %[mask], %[mask], %[ftmp7] \n\t" | 325 | "por %[mask], %[mask], %[ftmp7] \n\t" |
| 326 | "pcmpeqh %[mask], %[mask], %[ftmp10] \n\t" | 326 | "pcmpeqh %[mask], %[mask], %[ftmp10] \n\t" |
| 327 | "packushb %[mask], %[mask], %[ftmp10] \n\t" | 327 | "packushb %[mask], %[mask], %[ftmp10] \n\t" |
| 328 | "li %[tmp1], 0x04 \n\t" | 328 | "li %[tmp1], 0x04 \n\t" |
| @@ -361,7 +361,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input) · 32 unmodified lines | |||
| 361 | "packushb %[ftmp7], %[ftmp7], %[ftmp10] \n\t" | 361 | "packushb %[ftmp7], %[ftmp7], %[ftmp10] \n\t" |
| 362 | 362 | ||
| 363 | "lwc1 %[Ed], 0x00(%[temp_value]) \n\t" | 363 | "lwc1 %[Ed], 0x00(%[temp_value]) \n\t" |
| 364 | "and %[Ed], %[Ed], %[mask] \n\t" | 364 | "pand %[Ed], %[Ed], %[mask] \n\t" |
| 365 | "paddb %[ftmp0], %[ftmp0], %[Ed] \n\t" | 365 | "paddb %[ftmp0], %[ftmp0], %[Ed] \n\t" |
| 366 | "paddb %[ftmp1], %[ftmp1], %[Ed] \n\t" | 366 | "paddb %[ftmp1], %[ftmp1], %[Ed] \n\t" |
| 367 | "paddb %[ftmp2], %[ftmp2], %[Ed] \n\t" | 367 | "paddb %[ftmp2], %[ftmp2], %[Ed] \n\t" |
| @@ -412,7 +412,7 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 44 unmodified lines | |||
| 412 | for (int i = 0; i < 8; ++i) | 412 | for (int i = 0; i < 8; ++i) |
| 413 | temp_value[i] = (46341 * input[i << 3] + (8 << 16)) >> 20; | 413 | temp_value[i] = (46341 * input[i << 3] + (8 << 16)) >> 20; |
| 414 | __asm__ volatile ( | 414 | __asm__ volatile ( |
| 415 | "xor %[ftmp10], %[ftmp10], %[ftmp10] \n\t" | 415 | "pxor %[ftmp10], %[ftmp10], %[ftmp10] \n\t" |
| 416 | "li %[tmp0], 0x02 \n\t" | 416 | "li %[tmp0], 0x02 \n\t" |
| 417 | "1: \n\t" | 417 | "1: \n\t" |
| 418 | "ldc1 %[ftmp0], 0x00(%[input]) \n\t" | 418 | "ldc1 %[ftmp0], 0x00(%[input]) \n\t" |
| @@ -432,14 +432,14 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 13 unmodified lines | |||
| 432 | LOAD_CONST(%[Gd], 1) | 432 | LOAD_CONST(%[Gd], 1) |
| 433 | "pmulhh %[A], %[ftmp9], %[ftmp7] \n\t" | 433 | "pmulhh %[A], %[ftmp9], %[ftmp7] \n\t" |
| 434 | "pcmpgth %[C], %[ftmp10], %[ftmp1] \n\t" | 434 | "pcmpgth %[C], %[ftmp10], %[ftmp1] \n\t" |
| 435 | "or %[mask], %[C], %[Gd] \n\t" | 435 | "por %[mask], %[C], %[Gd] \n\t" |
| 436 | "pmullh %[B], %[ftmp1], %[mask] \n\t" | 436 | "pmullh %[B], %[ftmp1], %[mask] \n\t" |
| 437 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" | 437 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" |
| 438 | "pmullh %[B], %[B], %[mask] \n\t" | 438 | "pmullh %[B], %[B], %[mask] \n\t" |
| 439 | "paddh %[A], %[A], %[B] \n\t" | 439 | "paddh %[A], %[A], %[B] \n\t" |
| 440 | "paddh %[A], %[A], %[C] \n\t" | 440 | "paddh %[A], %[A], %[C] \n\t" |
| 441 | "pcmpgth %[D], %[ftmp10], %[ftmp7] \n\t" | 441 | "pcmpgth %[D], %[ftmp10], %[ftmp7] \n\t" |
| 442 | "or %[mask], %[D], %[Gd] \n\t" | 442 | "por %[mask], %[D], %[Gd] \n\t" |
| 443 | "pmullh %[Ad], %[ftmp7], %[mask] \n\t" | 443 | "pmullh %[Ad], %[ftmp7], %[mask] \n\t" |
| 444 | "pmulhuh %[B], %[ftmp8], %[Ad] \n\t" | 444 | "pmulhuh %[B], %[ftmp8], %[Ad] \n\t" |
| 445 | "pmullh %[B], %[B], %[mask] \n\t" | 445 | "pmullh %[B], %[B], %[mask] \n\t" |
| @@ -450,12 +450,12 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 450 | LOAD_CONST(%[ftmp8], 54491) | 450 | LOAD_CONST(%[ftmp8], 54491) |
| 451 | LOAD_CONST(%[ftmp9], 36410) | 451 | LOAD_CONST(%[ftmp9], 36410) |
| 452 | "pcmpgth %[Ad], %[ftmp10], %[ftmp5] \n\t" | 452 | "pcmpgth %[Ad], %[ftmp10], %[ftmp5] \n\t" |
| 453 | "or %[mask], %[Ad], %[Gd] \n\t" | 453 | "por %[mask], %[Ad], %[Gd] \n\t" |
| 454 | "pmullh %[Cd], %[ftmp5], %[mask] \n\t" | 454 | "pmullh %[Cd], %[ftmp5], %[mask] \n\t" |
| 455 | "pmulhuh %[C], %[ftmp9], %[Cd] \n\t" | 455 | "pmulhuh %[C], %[ftmp9], %[Cd] \n\t" |
| 456 | "pmullh %[C], %[C], %[mask] \n\t" | 456 | "pmullh %[C], %[C], %[mask] \n\t" |
| 457 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" | 457 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" |
| 458 | "or %[mask], %[Bd], %[Gd] \n\t" | 458 | "por %[mask], %[Bd], %[Gd] \n\t" |
| 459 | "pmullh %[D], %[ftmp3], %[mask] \n\t" | 459 | "pmullh %[D], %[ftmp3], %[mask] \n\t" |
| 460 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" | 460 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" |
| 461 | "pmullh %[D], %[D], %[mask] \n\t" | 461 | "pmullh %[D], %[D], %[mask] \n\t" |
| @@ -463,12 +463,12 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 1 unmodified line | |||
| 463 | "paddh %[C], %[C], %[Ad] \n\t" | 463 | "paddh %[C], %[C], %[Ad] \n\t" |
| 464 | "paddh %[C], %[C], %[Bd] \n\t" | 464 | "paddh %[C], %[C], %[Bd] \n\t" |
| 465 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" | 465 | "pcmpgth %[Bd], %[ftmp10], %[ftmp3] \n\t" |
| 466 | "or %[mask], %[Bd], %[Gd] \n\t" | 466 | "por %[mask], %[Bd], %[Gd] \n\t" |
| 467 | "pmullh %[Cd], %[ftmp3], %[mask] \n\t" | 467 | "pmullh %[Cd], %[ftmp3], %[mask] \n\t" |
| 468 | "pmulhuh %[D], %[ftmp9], %[Cd] \n\t" | 468 | "pmulhuh %[D], %[ftmp9], %[Cd] \n\t" |
| 469 | "pmullh %[D], %[D], %[mask] \n\t" | 469 | "pmullh %[D], %[D], %[mask] \n\t" |
| 470 | "pcmpgth %[Ed], %[ftmp10], %[ftmp5] \n\t" | 470 | "pcmpgth %[Ed], %[ftmp10], %[ftmp5] \n\t" |
| 471 | "or %[mask], %[Ed], %[Gd] \n\t" | 471 | "por %[mask], %[Ed], %[Gd] \n\t" |
| 472 | "pmullh %[Ad], %[ftmp5], %[mask] \n\t" | 472 | "pmullh %[Ad], %[ftmp5], %[mask] \n\t" |
| 473 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" | 473 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" |
| 474 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 474 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| @@ -479,14 +479,14 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 479 | LOAD_CONST(%[ftmp8], 46341) | 479 | LOAD_CONST(%[ftmp8], 46341) |
| 480 | "psubh %[Ad], %[A], %[C] \n\t" | 480 | "psubh %[Ad], %[A], %[C] \n\t" |
| 481 | "pcmpgth %[Bd], %[ftmp10], %[Ad] \n\t" | 481 | "pcmpgth %[Bd], %[ftmp10], %[Ad] \n\t" |
| 482 | "or %[mask], %[Bd], %[Gd] \n\t" | 482 | "por %[mask], %[Bd], %[Gd] \n\t" |
| 483 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 483 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| 484 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" | 484 | "pmulhuh %[Ad], %[ftmp8], %[Ad] \n\t" |
| 485 | "pmullh %[Ad], %[Ad], %[mask] \n\t" | 485 | "pmullh %[Ad], %[Ad], %[mask] \n\t" |
| 486 | "paddh %[Ad], %[Ad], %[Bd] \n\t" | 486 | "paddh %[Ad], %[Ad], %[Bd] \n\t" |
| 487 | "psubh %[Bd], %[B], %[D] \n\t" | 487 | "psubh %[Bd], %[B], %[D] \n\t" |
| 488 | "pcmpgth %[Cd], %[ftmp10], %[Bd] \n\t" | 488 | "pcmpgth %[Cd], %[ftmp10], %[Bd] \n\t" |
| 489 | "or %[mask], %[Cd], %[Gd] \n\t" | 489 | "por %[mask], %[Cd], %[Gd] \n\t" |
| 490 | "pmullh %[Bd], %[Bd], %[mask] \n\t" | 490 | "pmullh %[Bd], %[Bd], %[mask] \n\t" |
| 491 | "pmulhuh %[Bd], %[ftmp8], %[Bd] \n\t" | 491 | "pmulhuh %[Bd], %[ftmp8], %[Bd] \n\t" |
| 492 | "pmullh %[Bd], %[Bd], %[mask] \n\t" | 492 | "pmullh %[Bd], %[Bd], %[mask] \n\t" |
| @@ -497,7 +497,7 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 497 | LOAD_CONST(%[Ed], 8) | 497 | LOAD_CONST(%[Ed], 8) |
| 498 | "paddh %[A], %[ftmp0], %[ftmp4] \n\t" | 498 | "paddh %[A], %[ftmp0], %[ftmp4] \n\t" |
| 499 | "pcmpgth %[B], %[ftmp10], %[A] \n\t" | 499 | "pcmpgth %[B], %[ftmp10], %[A] \n\t" |
| 500 | "or %[mask], %[B], %[Gd] \n\t" | 500 | "por %[mask], %[B], %[Gd] \n\t" |
| 501 | "pmullh %[A], %[A], %[mask] \n\t" | 501 | "pmullh %[A], %[A], %[mask] \n\t" |
| 502 | "pmulhuh %[A], %[ftmp8], %[A] \n\t" | 502 | "pmulhuh %[A], %[ftmp8], %[A] \n\t" |
| 503 | "pmullh %[A], %[A], %[mask] \n\t" | 503 | "pmullh %[A], %[A], %[mask] \n\t" |
| @@ -505,7 +505,7 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 1 unmodified line | |||
| 505 | "paddh %[A], %[A], %[Ed] \n\t" | 505 | "paddh %[A], %[A], %[Ed] \n\t" |
| 506 | "psubh %[B], %[ftmp0], %[ftmp4] \n\t" | 506 | "psubh %[B], %[ftmp0], %[ftmp4] \n\t" |
| 507 | "pcmpgth %[C], %[ftmp10], %[B] \n\t" | 507 | "pcmpgth %[C], %[ftmp10], %[B] \n\t" |
| 508 | "or %[mask], %[C], %[Gd] \n\t" | 508 | "por %[mask], %[C], %[Gd] \n\t" |
| 509 | "pmullh %[B], %[B], %[mask] \n\t" | 509 | "pmullh %[B], %[B], %[mask] \n\t" |
| 510 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" | 510 | "pmulhuh %[B], %[ftmp8], %[B] \n\t" |
| 511 | "pmullh %[B], %[B], %[mask] \n\t" | 511 | "pmullh %[B], %[B], %[mask] \n\t" |
| @@ -516,14 +516,14 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 4 unmodified lines | |||
| 516 | LOAD_CONST(%[ftmp9], 25080) | 516 | LOAD_CONST(%[ftmp9], 25080) |
| 517 | "pmulhh %[C], %[ftmp9], %[ftmp6] \n\t" | 517 | "pmulhh %[C], %[ftmp9], %[ftmp6] \n\t" |
| 518 | "pcmpgth %[D], %[ftmp10], %[ftmp2] \n\t" | 518 | "pcmpgth %[D], %[ftmp10], %[ftmp2] \n\t" |
| 519 | "or %[mask], %[D], %[Gd] \n\t" | 519 | "por %[mask], %[D], %[Gd] \n\t" |
| 520 | "pmullh %[Ed], %[ftmp2], %[mask] \n\t" | 520 | "pmullh %[Ed], %[ftmp2], %[mask] \n\t" |
| 521 | "pmulhuh %[Ed], %[ftmp8], %[Ed] \n\t" | 521 | "pmulhuh %[Ed], %[ftmp8], %[Ed] \n\t" |
| 522 | "pmullh %[Ed], %[Ed], %[mask] \n\t" | 522 | "pmullh %[Ed], %[Ed], %[mask] \n\t" |
| 523 | "paddh %[C], %[C], %[Ed] \n\t" | 523 | "paddh %[C], %[C], %[Ed] \n\t" |
| 524 | "paddh %[C], %[C], %[D] \n\t" | 524 | "paddh %[C], %[C], %[D] \n\t" |
| 525 | "pcmpgth %[Ed], %[ftmp10], %[ftmp6] \n\t" | 525 | "pcmpgth %[Ed], %[ftmp10], %[ftmp6] \n\t" |
| 526 | "or %[mask], %[Ed], %[Gd] \n\t" | 526 | "por %[mask], %[Ed], %[Gd] \n\t" |
| 527 | "pmullh %[D], %[ftmp6], %[mask] \n\t" | 527 | "pmullh %[D], %[ftmp6], %[mask] \n\t" |
| 528 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" | 528 | "pmulhuh %[D], %[ftmp8], %[D] \n\t" |
| 529 | "pmullh %[D], %[D], %[mask] \n\t" | 529 | "pmullh %[D], %[D], %[mask] \n\t" |
| @@ -536,12 +536,12 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 6 unmodified lines | |||
| 536 | "psubh %[C], %[B], %[Ad] \n\t" | 536 | "psubh %[C], %[B], %[Ad] \n\t" |
| 537 | "psubh %[B], %[Bd], %[D] \n\t" | 537 | "psubh %[B], %[Bd], %[D] \n\t" |
| 538 | "paddh %[D], %[Bd], %[D] \n\t" | 538 | "paddh %[D], %[Bd], %[D] \n\t" |
| 539 | "or %[mask], %[ftmp1], %[ftmp2] \n\t" | 539 | "por %[mask], %[ftmp1], %[ftmp2] \n\t" |
| 540 | "or %[mask], %[mask], %[ftmp3] \n\t" | 540 | "por %[mask], %[mask], %[ftmp3] \n\t" |
| 541 | "or %[mask], %[mask], %[ftmp4] \n\t" | 541 | "por %[mask], %[mask], %[ftmp4] \n\t" |
| 542 | "or %[mask], %[mask], %[ftmp5] \n\t" | 542 | "por %[mask], %[mask], %[ftmp5] \n\t" |
| 543 | "or %[mask], %[mask], %[ftmp6] \n\t" | 543 | "por %[mask], %[mask], %[ftmp6] \n\t" |
| 544 | "or %[mask], %[mask], %[ftmp7] \n\t" | 544 | "por %[mask], %[mask], %[ftmp7] \n\t" |
| 545 | "pcmpeqh %[mask], %[mask], %[ftmp10] \n\t" | 545 | "pcmpeqh %[mask], %[mask], %[ftmp10] \n\t" |
| 546 | "li %[tmp1], 0x04 \n\t" | 546 | "li %[tmp1], 0x04 \n\t" |
| 547 | "dmtc1 %[tmp1], %[ftmp8] \n\t" | 547 | "dmtc1 %[tmp1], %[ftmp8] \n\t" |
| @@ -587,16 +587,16 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input) · 39 unmodified lines | |||
| 587 | "punpcklbh %[Cd], %[Cd], %[ftmp10] \n\t" | 587 | "punpcklbh %[Cd], %[Cd], %[ftmp10] \n\t" |
| 588 | "punpcklbh %[Dd], %[Dd], %[ftmp10] \n\t" | 588 | "punpcklbh %[Dd], %[Dd], %[ftmp10] \n\t" |
| 589 | "ldc1 %[Ed], 0x00(%[temp_value]) \n\t" | 589 | "ldc1 %[Ed], 0x00(%[temp_value]) \n\t" |
| 590 | "and %[Ed], %[Ed], %[mask] \n\t" | 590 | "pand %[Ed], %[Ed], %[mask] \n\t" |
| 591 | "nor %[mask], %[mask], %[mask] \n\t" | 591 | "pnor %[mask], %[mask], %[mask] \n\t" |
| 592 | "and %[ftmp0], %[ftmp0], %[mask] \n\t" | 592 | "pand %[ftmp0], %[ftmp0], %[mask] \n\t" |
| 593 | "and %[ftmp1], %[ftmp1], %[mask] \n\t" | 593 | "pand %[ftmp1], %[ftmp1], %[mask] \n\t" |
| 594 | "and %[ftmp2], %[ftmp2], %[mask] \n\t" | 594 | "pand %[ftmp2], %[ftmp2], %[mask] \n\t" |
| 595 | "and %[ftmp3], %[ftmp3], %[mask] \n\t" | 595 | "pand %[ftmp3], %[ftmp3], %[mask] \n\t" |
| 596 | "and %[ftmp4], %[ftmp4], %[mask] \n\t" | 596 | "pand %[ftmp4], %[ftmp4], %[mask] \n\t" |
| 597 | "and %[ftmp5], %[ftmp5], %[mask] \n\t" | 597 | "pand %[ftmp5], %[ftmp5], %[mask] \n\t" |
| 598 | "and %[ftmp6], %[ftmp6], %[mask] \n\t" | 598 | "pand %[ftmp6], %[ftmp6], %[mask] \n\t" |
| 599 | "and %[ftmp7], %[ftmp7], %[mask] \n\t" | 599 | "pand %[ftmp7], %[ftmp7], %[mask] \n\t" |
| 600 | "paddh %[ftmp0], %[ftmp0], %[A] \n\t" | 600 | "paddh %[ftmp0], %[ftmp0], %[A] \n\t" |
| 601 | "paddh %[ftmp1], %[ftmp1], %[B] \n\t" | 601 | "paddh %[ftmp1], %[ftmp1], %[B] \n\t" |
| 602 | "paddh %[ftmp2], %[ftmp2], %[C] \n\t" | 602 | "paddh %[ftmp2], %[ftmp2], %[C] \n\t" |
| @@ -689,7 +689,7 @@ void ff_vp3_idct_dc_add_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block) · 86 unmodified lines | |||
| 689 | double ftmp[7]; | 689 | double ftmp[7]; |
| 690 | uint64_t tmp; | 690 | uint64_t tmp; |
| 691 | __asm__ volatile ( | 691 | __asm__ volatile ( |
| 692 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 692 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 693 | "mtc1 %[dc], %[ftmp5] \n\t" | 693 | "mtc1 %[dc], %[ftmp5] \n\t" |
| 694 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" | 694 | "pshufh %[ftmp5], %[ftmp5], %[ftmp0] \n\t" |
| 695 | "li %[tmp0], 0x08 \n\t" | 695 | "li %[tmp0], 0x08 \n\t" |
| @@ -734,10 +734,10 @@ void ff_put_no_rnd_pixels_l2_mmi(uint8_t *dst, const uint8_t *src1, · 38 unmodified lines | |||
| 734 | "gsldrc1 %[ftmp1], 0x00(%[src1]) \n\t" | 734 | "gsldrc1 %[ftmp1], 0x00(%[src1]) \n\t" |
| 735 | "gsldlc1 %[ftmp2], 0x07(%[src2]) \n\t" | 735 | "gsldlc1 %[ftmp2], 0x07(%[src2]) \n\t" |
| 736 | "gsldrc1 %[ftmp2], 0x00(%[src2]) \n\t" | 736 | "gsldrc1 %[ftmp2], 0x00(%[src2]) \n\t" |
| 737 | "xor %[ftmp3], %[ftmp1], %[ftmp2] \n\t" | 737 | "pxor %[ftmp3], %[ftmp1], %[ftmp2] \n\t" |
| 738 | "and %[ftmp3], %[ftmp3], %[ftmp4] \n\t" | 738 | "pand %[ftmp3], %[ftmp3], %[ftmp4] \n\t" |
| 739 | "psrlw %[ftmp3], %[ftmp3], %[ftmp5] \n\t" | 739 | "psrlw %[ftmp3], %[ftmp3], %[ftmp5] \n\t" |
| 740 | "and %[ftmp6], %[ftmp1], %[ftmp2] \n\t" | 740 | "pand %[ftmp6], %[ftmp1], %[ftmp2] \n\t" |
| 741 | "paddw %[ftmp3], %[ftmp3], %[ftmp6] \n\t" | 741 | "paddw %[ftmp3], %[ftmp3], %[ftmp6] \n\t" |
| 742 | "sdc1 %[ftmp3], 0x00(%[dst]) \n\t" | 742 | "sdc1 %[ftmp3], 0x00(%[dst]) \n\t" |
| 743 | PTR_ADDU "%[src1], %[src1], %[stride] \n\t" | 743 | PTR_ADDU "%[src1], %[src1], %[stride] \n\t" |
| @@ -38,10 +38,10 @@ · 37 unmodified lines | |||
| 38 | "pcmpeqb %[db_1], "#src1", "#src2" \n\t" \ | 38 | "pcmpeqb %[db_1], "#src1", "#src2" \n\t" \ |
| 39 | "pmaxub %[db_2], "#src1", "#src2" \n\t" \ | 39 | "pmaxub %[db_2], "#src1", "#src2" \n\t" \ |
| 40 | "pcmpeqb %[db_2], %[db_2], "#src1" \n\t" \ | 40 | "pcmpeqb %[db_2], %[db_2], "#src1" \n\t" \ |
| 41 | "xor "#dst", %[db_2], %[db_1] \n\t" | 41 | "pxor "#dst", %[db_2], %[db_1] \n\t" |
| 42 | 42 | ||
| 43 | #define MMI_BTOH(dst_l, dst_r, src) \ | 43 | #define MMI_BTOH(dst_l, dst_r, src) \ |
| 44 | "xor %[db_1], %[db_1], %[db_1] \n\t" \ | 44 | "pxor %[db_1], %[db_1], %[db_1] \n\t" \ |
| 45 | "pcmpgtb %[db_2], %[db_1], "#src" \n\t" \ | 45 | "pcmpgtb %[db_2], %[db_1], "#src" \n\t" \ |
| 46 | "punpcklbh "#dst_r", "#src", %[db_2] \n\t" \ | 46 | "punpcklbh "#dst_r", "#src", %[db_2] \n\t" \ |
| 47 | "punpckhbh "#dst_l", "#src", %[db_2] \n\t" | 47 | "punpckhbh "#dst_l", "#src", %[db_2] \n\t" |
| @@ -84,17 +84,17 @@ · 36 unmodified lines | |||
| 84 | "punpcklwd %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ | 84 | "punpcklwd %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ |
| 85 | MMI_PCMPGTUB(%[mask], %[mask], %[ftmp3]) \ | 85 | MMI_PCMPGTUB(%[mask], %[mask], %[ftmp3]) \ |
| 86 | "pcmpeqw %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ | 86 | "pcmpeqw %[ftmp3], %[ftmp3], %[ftmp3] \n\t" \ |
| 87 | "xor %[mask], %[mask], %[ftmp3] \n\t" \ | 87 | "pxor %[mask], %[mask], %[ftmp3] \n\t" \ |
| 88 | /* VP8_MBFILTER */ \ | 88 | /* VP8_MBFILTER */ \ |
| 89 | "li %[tmp0], 0x80808080 \n\t" \ | 89 | "li %[tmp0], 0x80808080 \n\t" \ |
| 90 | "dmtc1 %[tmp0], %[ftmp7] \n\t" \ | 90 | "dmtc1 %[tmp0], %[ftmp7] \n\t" \ |
| 91 | "punpcklwd %[ftmp7], %[ftmp7], %[ftmp7] \n\t" \ | 91 | "punpcklwd %[ftmp7], %[ftmp7], %[ftmp7] \n\t" \ |
| 92 | "xor %[p2], %[p2], %[ftmp7] \n\t" \ | 92 | "pxor %[p2], %[p2], %[ftmp7] \n\t" \ |
| 93 | "xor %[p1], %[p1], %[ftmp7] \n\t" \ | 93 | "pxor %[p1], %[p1], %[ftmp7] \n\t" \ |
| 94 | "xor %[p0], %[p0], %[ftmp7] \n\t" \ | 94 | "pxor %[p0], %[p0], %[ftmp7] \n\t" \ |
| 95 | "xor %[q0], %[q0], %[ftmp7] \n\t" \ | 95 | "pxor %[q0], %[q0], %[ftmp7] \n\t" \ |
| 96 | "xor %[q1], %[q1], %[ftmp7] \n\t" \ | 96 | "pxor %[q1], %[q1], %[ftmp7] \n\t" \ |
| 97 | "xor %[q2], %[q2], %[ftmp7] \n\t" \ | 97 | "pxor %[q2], %[q2], %[ftmp7] \n\t" \ |
| 98 | "psubsb %[ftmp4], %[p1], %[q1] \n\t" \ | 98 | "psubsb %[ftmp4], %[p1], %[q1] \n\t" \ |
| 99 | "psubb %[ftmp5], %[q0], %[p0] \n\t" \ | 99 | "psubb %[ftmp5], %[q0], %[p0] \n\t" \ |
| 100 | MMI_BTOH(%[ftmp1], %[ftmp0], %[ftmp5]) \ | 100 | MMI_BTOH(%[ftmp1], %[ftmp0], %[ftmp5]) \ |
| @@ -109,8 +109,8 @@ · 8 unmodified lines | |||
| 109 | "paddh %[ftmp1], %[ftmp3], %[ftmp1] \n\t" \ | 109 | "paddh %[ftmp1], %[ftmp3], %[ftmp1] \n\t" \ |
| 110 | /* Combine left and right part */ \ | 110 | /* Combine left and right part */ \ |
| 111 | "packsshb %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ | 111 | "packsshb %[ftmp1], %[ftmp0], %[ftmp1] \n\t" \ |
| 112 | "and %[ftmp1], %[ftmp1], %[mask] \n\t" \ | 112 | "pand %[ftmp1], %[ftmp1], %[mask] \n\t" \ |
| 113 | "and %[ftmp2], %[ftmp1], %[hev] \n\t" \ | 113 | "pand %[ftmp2], %[ftmp1], %[hev] \n\t" \ |
| 114 | "li %[tmp0], 0x04040404 \n\t" \ | 114 | "li %[tmp0], 0x04040404 \n\t" \ |
| 115 | "dmtc1 %[tmp0], %[ftmp0] \n\t" \ | 115 | "dmtc1 %[tmp0], %[ftmp0] \n\t" \ |
| 116 | "punpcklwd %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 116 | "punpcklwd %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| @@ -129,8 +129,8 @@ · 12 unmodified lines | |||
| 129 | "paddsb %[p0], %[p0], %[ftmp4] \n\t" \ | 129 | "paddsb %[p0], %[p0], %[ftmp4] \n\t" \ |
| 130 | /* filt_val &= ~hev */ \ | 130 | /* filt_val &= ~hev */ \ |
| 131 | "pcmpeqw %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ | 131 | "pcmpeqw %[ftmp0], %[ftmp0], %[ftmp0] \n\t" \ |
| 132 | "xor %[hev], %[hev], %[ftmp0] \n\t" \ | 132 | "pxor %[hev], %[hev], %[ftmp0] \n\t" \ |
| 133 | "and %[ftmp1], %[ftmp1], %[hev] \n\t" \ | 133 | "pand %[ftmp1], %[ftmp1], %[hev] \n\t" \ |
| 134 | MMI_BTOH(%[ftmp5], %[ftmp6], %[ftmp1]) \ | 134 | MMI_BTOH(%[ftmp5], %[ftmp6], %[ftmp1]) \ |
| 135 | "li %[tmp0], 0x07 \n\t" \ | 135 | "li %[tmp0], 0x07 \n\t" \ |
| 136 | "dmtc1 %[tmp0], %[ftmp2] \n\t" \ | 136 | "dmtc1 %[tmp0], %[ftmp2] \n\t" \ |
| @@ -151,9 +151,9 @@ · 14 unmodified lines | |||
| 151 | /* Combine left and right part */ \ | 151 | /* Combine left and right part */ \ |
| 152 | "packsshb %[ftmp4], %[ftmp3], %[ftmp4] \n\t" \ | 152 | "packsshb %[ftmp4], %[ftmp3], %[ftmp4] \n\t" \ |
| 153 | "psubsb %[q0], %[q0], %[ftmp4] \n\t" \ | 153 | "psubsb %[q0], %[q0], %[ftmp4] \n\t" \ |
| 154 | "xor %[q0], %[q0], %[ftmp7] \n\t" \ | 154 | "pxor %[q0], %[q0], %[ftmp7] \n\t" \ |
| 155 | "paddsb %[p0], %[p0], %[ftmp4] \n\t" \ | 155 | "paddsb %[p0], %[p0], %[ftmp4] \n\t" \ |
| 156 | "xor %[p0], %[p0], %[ftmp7] \n\t" \ | 156 | "pxor %[p0], %[p0], %[ftmp7] \n\t" \ |
| 157 | "li %[tmp0], 0x00120012 \n\t" \ | 157 | "li %[tmp0], 0x00120012 \n\t" \ |
| 158 | "dmtc1 %[tmp0], %[ftmp1] \n\t" \ | 158 | "dmtc1 %[tmp0], %[ftmp1] \n\t" \ |
| 159 | "punpcklwd %[ftmp1], %[ftmp1], %[ftmp1] \n\t" \ | 159 | "punpcklwd %[ftmp1], %[ftmp1], %[ftmp1] \n\t" \ |
| @@ -168,9 +168,9 @@ · 8 unmodified lines | |||
| 168 | /* Combine left and right part */ \ | 168 | /* Combine left and right part */ \ |
| 169 | "packsshb %[ftmp4], %[ftmp3], %[ftmp4] \n\t" \ | 169 | "packsshb %[ftmp4], %[ftmp3], %[ftmp4] \n\t" \ |
| 170 | "psubsb %[q1], %[q1], %[ftmp4] \n\t" \ | 170 | "psubsb %[q1], %[q1], %[ftmp4] \n\t" \ |
| 171 | "xor %[q1], %[q1], %[ftmp7] \n\t" \ | 171 | "pxor %[q1], %[q1], %[ftmp7] \n\t" \ |
| 172 | "paddsb %[p1], %[p1], %[ftmp4] \n\t" \ | 172 | "paddsb %[p1], %[p1], %[ftmp4] \n\t" \ |
| 173 | "xor %[p1], %[p1], %[ftmp7] \n\t" \ | 173 | "pxor %[p1], %[p1], %[ftmp7] \n\t" \ |
| 174 | "li %[tmp0], 0x03 \n\t" \ | 174 | "li %[tmp0], 0x03 \n\t" \ |
| 175 | "dmtc1 %[tmp0], %[ftmp1] \n\t" \ | 175 | "dmtc1 %[tmp0], %[ftmp1] \n\t" \ |
| 176 | /* Right part */ \ | 176 | /* Right part */ \ |
| @@ -186,9 +186,9 @@ · 9 unmodified lines | |||
| 186 | /* Combine left and right part */ \ | 186 | /* Combine left and right part */ \ |
| 187 | "packsshb %[ftmp4], %[ftmp3], %[ftmp4] \n\t" \ | 187 | "packsshb %[ftmp4], %[ftmp3], %[ftmp4] \n\t" \ |
| 188 | "psubsb %[q2], %[q2], %[ftmp4] \n\t" \ | 188 | "psubsb %[q2], %[q2], %[ftmp4] \n\t" \ |
| 189 | "xor %[q2], %[q2], %[ftmp7] \n\t" \ | 189 | "pxor %[q2], %[q2], %[ftmp7] \n\t" \ |
| 190 | "paddsb %[p2], %[p2], %[ftmp4] \n\t" \ | 190 | "paddsb %[p2], %[p2], %[ftmp4] \n\t" \ |
| 191 | "xor %[p2], %[p2], %[ftmp7] \n\t" | 191 | "pxor %[p2], %[p2], %[ftmp7] \n\t" |
| 192 | 192 | ||
| 193 | #define PUT_VP8_EPEL4_H6_MMI(src, dst) \ | 193 | #define PUT_VP8_EPEL4_H6_MMI(src, dst) \ |
| 194 | MMI_ULWC1(%[ftmp1], src, 0x00) \ | 194 | MMI_ULWC1(%[ftmp1], src, 0x00) \ |
| @@ -1021,7 +1021,7 @@ void ff_vp8_luma_dc_wht_mmi(int16_t block[4][4][16], int16_t dc[16]) · 826 unmodified lines | |||
| 1021 | block[3][3][0] = (dc[12] - dc[15] + 3 - dc[13] + dc[14]) >> 3; | 1021 | block[3][3][0] = (dc[12] - dc[15] + 3 - dc[13] + dc[14]) >> 3; |
| 1022 | 1022 | ||
| 1023 | __asm__ volatile ( | 1023 | __asm__ volatile ( |
| 1024 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1024 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1025 | MMI_SDC1(%[ftmp0], %[dc], 0x00) | 1025 | MMI_SDC1(%[ftmp0], %[dc], 0x00) |
| 1026 | MMI_SDC1(%[ftmp0], %[dc], 0x08) | 1026 | MMI_SDC1(%[ftmp0], %[dc], 0x08) |
| 1027 | MMI_SDC1(%[ftmp0], %[dc], 0x10) | 1027 | MMI_SDC1(%[ftmp0], %[dc], 0x10) |
| @@ -1136,7 +1136,7 @@ void ff_vp8_idct_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride) · 108 unmodified lines | |||
| 1136 | DECLARE_VAR_ALL64; | 1136 | DECLARE_VAR_ALL64; |
| 1137 | 1137 | ||
| 1138 | __asm__ volatile ( | 1138 | __asm__ volatile ( |
| 1139 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1139 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1140 | MMI_LDC1(%[ftmp1], %[block], 0x00) | 1140 | MMI_LDC1(%[ftmp1], %[block], 0x00) |
| 1141 | MMI_LDC1(%[ftmp2], %[block], 0x08) | 1141 | MMI_LDC1(%[ftmp2], %[block], 0x08) |
| 1142 | MMI_LDC1(%[ftmp3], %[block], 0x10) | 1142 | MMI_LDC1(%[ftmp3], %[block], 0x10) |
| @@ -1302,7 +1302,7 @@ void ff_vp8_idct_dc_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride) · 159 unmodified lines | |||
| 1302 | block[0] = 0; | 1302 | block[0] = 0; |
| 1303 | 1303 | ||
| 1304 | __asm__ volatile ( | 1304 | __asm__ volatile ( |
| 1305 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1305 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1306 | "mtc1 %[dc], %[ftmp5] \n\t" | 1306 | "mtc1 %[dc], %[ftmp5] \n\t" |
| 1307 | MMI_LWC1(%[ftmp1], %[dst0], 0x00) | 1307 | MMI_LWC1(%[ftmp1], %[dst0], 0x00) |
| 1308 | MMI_LWC1(%[ftmp2], %[dst1], 0x00) | 1308 | MMI_LWC1(%[ftmp2], %[dst1], 0x00) |
| @@ -1618,7 +1618,7 @@ void ff_put_vp8_epel16_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 309 unmodified lines | |||
| 1618 | dst[15] = cm[(filter[2] * src[15] - filter[1] * src[14] + filter[3] * src[16] - filter[4] * src[17] + 64) >> 7]; | 1618 | dst[15] = cm[(filter[2] * src[15] - filter[1] * src[14] + filter[3] * src[16] - filter[4] * src[17] + 64) >> 7]; |
| 1619 | */ | 1619 | */ |
| 1620 | __asm__ volatile ( | 1620 | __asm__ volatile ( |
| 1621 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1621 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1622 | "li %[tmp0], 0x07 \n\t" | 1622 | "li %[tmp0], 0x07 \n\t" |
| 1623 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 1623 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 1624 | 1624 | ||
| @@ -1685,7 +1685,7 @@ void ff_put_vp8_epel8_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 60 unmodified lines | |||
| 1685 | dst[7] = cm[(filter[2] * src[7] - filter[1] * src[ 6] + filter[3] * src[8] - filter[4] * src[9] + 64) >> 7]; | 1685 | dst[7] = cm[(filter[2] * src[7] - filter[1] * src[ 6] + filter[3] * src[8] - filter[4] * src[9] + 64) >> 7]; |
| 1686 | */ | 1686 | */ |
| 1687 | __asm__ volatile ( | 1687 | __asm__ volatile ( |
| 1688 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1688 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1689 | "li %[tmp0], 0x07 \n\t" | 1689 | "li %[tmp0], 0x07 \n\t" |
| 1690 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 1690 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 1691 | 1691 | ||
| @@ -1742,7 +1742,7 @@ void ff_put_vp8_epel4_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 50 unmodified lines | |||
| 1742 | dst[3] = cm[(filter[2] * src[3] - filter[1] * src[ 2] + filter[3] * src[4] - filter[4] * src[5] + 64) >> 7]; | 1742 | dst[3] = cm[(filter[2] * src[3] - filter[1] * src[ 2] + filter[3] * src[4] - filter[4] * src[5] + 64) >> 7]; |
| 1743 | */ | 1743 | */ |
| 1744 | __asm__ volatile ( | 1744 | __asm__ volatile ( |
| 1745 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1745 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1746 | "li %[tmp0], 0x07 \n\t" | 1746 | "li %[tmp0], 0x07 \n\t" |
| 1747 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 1747 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 1748 | 1748 | ||
| @@ -1811,7 +1811,7 @@ void ff_put_vp8_epel16_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 62 unmodified lines | |||
| 1811 | dst[15] = cm[(filter[2]*src[15] - filter[1]*src[14] + filter[0]*src[13] + filter[3]*src[16] - filter[4]*src[17] + filter[5]*src[18] + 64) >> 7]; | 1811 | dst[15] = cm[(filter[2]*src[15] - filter[1]*src[14] + filter[0]*src[13] + filter[3]*src[16] - filter[4]*src[17] + filter[5]*src[18] + 64) >> 7]; |
| 1812 | */ | 1812 | */ |
| 1813 | __asm__ volatile ( | 1813 | __asm__ volatile ( |
| 1814 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1814 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1815 | "li %[tmp0], 0x07 \n\t" | 1815 | "li %[tmp0], 0x07 \n\t" |
| 1816 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 1816 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 1817 | 1817 | ||
| @@ -1879,7 +1879,7 @@ void ff_put_vp8_epel8_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 61 unmodified lines | |||
| 1879 | dst[7] = cm[(filter[2]*src[7] - filter[1]*src[ 6] + filter[0]*src[ 5] + filter[3]*src[8] - filter[4]*src[9] + filter[5]*src[10] + 64) >> 7]; | 1879 | dst[7] = cm[(filter[2]*src[7] - filter[1]*src[ 6] + filter[0]*src[ 5] + filter[3]*src[8] - filter[4]*src[9] + filter[5]*src[10] + 64) >> 7]; |
| 1880 | */ | 1880 | */ |
| 1881 | __asm__ volatile ( | 1881 | __asm__ volatile ( |
| 1882 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1882 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1883 | "li %[tmp0], 0x07 \n\t" | 1883 | "li %[tmp0], 0x07 \n\t" |
| 1884 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 1884 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 1885 | 1885 | ||
| @@ -1937,7 +1937,7 @@ void ff_put_vp8_epel4_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 51 unmodified lines | |||
| 1937 | dst[3] = cm[(filter[2]*src[3] - filter[1]*src[ 2] + filter[0]*src[ 1] + filter[3]*src[4] - filter[4]*src[5] + filter[5]*src[ 6] + 64) >> 7]; | 1937 | dst[3] = cm[(filter[2]*src[3] - filter[1]*src[ 2] + filter[0]*src[ 1] + filter[3]*src[4] - filter[4]*src[5] + filter[5]*src[ 6] + 64) >> 7]; |
| 1938 | */ | 1938 | */ |
| 1939 | __asm__ volatile ( | 1939 | __asm__ volatile ( |
| 1940 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 1940 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 1941 | "li %[tmp0], 0x07 \n\t" | 1941 | "li %[tmp0], 0x07 \n\t" |
| 1942 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 1942 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 1943 | 1943 | ||
| @@ -2007,7 +2007,7 @@ void ff_put_vp8_epel16_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 63 unmodified lines | |||
| 2007 | dst[15] = cm[(filter[2] * src[15] - filter[1] * src[15-srcstride] + filter[3] * src[15+srcstride] - filter[4] * src[15+2*srcstride] + 64) >> 7]; | 2007 | dst[15] = cm[(filter[2] * src[15] - filter[1] * src[15-srcstride] + filter[3] * src[15+srcstride] - filter[4] * src[15+2*srcstride] + 64) >> 7]; |
| 2008 | */ | 2008 | */ |
| 2009 | __asm__ volatile ( | 2009 | __asm__ volatile ( |
| 2010 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2010 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2011 | "li %[tmp0], 0x07 \n\t" | 2011 | "li %[tmp0], 0x07 \n\t" |
| 2012 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2012 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2013 | 2013 | ||
| @@ -2076,7 +2076,7 @@ void ff_put_vp8_epel8_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 62 unmodified lines | |||
| 2076 | dst[7] = cm[(filter[2] * src[7] - filter[1] * src[7-srcstride] + filter[3] * src[7+srcstride] - filter[4] * src[7+2*srcstride] + 64) >> 7]; | 2076 | dst[7] = cm[(filter[2] * src[7] - filter[1] * src[7-srcstride] + filter[3] * src[7+srcstride] - filter[4] * src[7+2*srcstride] + 64) >> 7]; |
| 2077 | */ | 2077 | */ |
| 2078 | __asm__ volatile ( | 2078 | __asm__ volatile ( |
| 2079 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2079 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2080 | "li %[tmp0], 0x07 \n\t" | 2080 | "li %[tmp0], 0x07 \n\t" |
| 2081 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2081 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2082 | 2082 | ||
| @@ -2135,7 +2135,7 @@ void ff_put_vp8_epel4_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 52 unmodified lines | |||
| 2135 | dst[3] = cm[(filter[2] * src[3] - filter[1] * src[3-srcstride] + filter[3] * src[3+srcstride] - filter[4] * src[3+2*srcstride] + 64) >> 7]; | 2135 | dst[3] = cm[(filter[2] * src[3] - filter[1] * src[3-srcstride] + filter[3] * src[3+srcstride] - filter[4] * src[3+2*srcstride] + 64) >> 7]; |
| 2136 | */ | 2136 | */ |
| 2137 | __asm__ volatile ( | 2137 | __asm__ volatile ( |
| 2138 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2138 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2139 | "li %[tmp0], 0x07 \n\t" | 2139 | "li %[tmp0], 0x07 \n\t" |
| 2140 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2140 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2141 | 2141 | ||
| @@ -2205,7 +2205,7 @@ void ff_put_vp8_epel16_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 63 unmodified lines | |||
| 2205 | dst[15] = cm[(filter[2]*src[15] - filter[1]*src[15-srcstride] + filter[0]*src[15-2*srcstride] + filter[3]*src[15+srcstride] - filter[4]*src[15+2*srcstride] + filter[5]*src[15+3*srcstride] + 64) >> 7]; | 2205 | dst[15] = cm[(filter[2]*src[15] - filter[1]*src[15-srcstride] + filter[0]*src[15-2*srcstride] + filter[3]*src[15+srcstride] - filter[4]*src[15+2*srcstride] + filter[5]*src[15+3*srcstride] + 64) >> 7]; |
| 2206 | */ | 2206 | */ |
| 2207 | __asm__ volatile ( | 2207 | __asm__ volatile ( |
| 2208 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2208 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2209 | "li %[tmp0], 0x07 \n\t" | 2209 | "li %[tmp0], 0x07 \n\t" |
| 2210 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2210 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2211 | 2211 | ||
| @@ -2275,7 +2275,7 @@ void ff_put_vp8_epel8_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 63 unmodified lines | |||
| 2275 | dst[7] = cm[(filter[2]*src[7] - filter[1]*src[7-srcstride] + filter[0]*src[7-2*srcstride] + filter[3]*src[7+srcstride] - filter[4]*src[7+2*srcstride] + filter[5]*src[7+3*srcstride] + 64) >> 7]; | 2275 | dst[7] = cm[(filter[2]*src[7] - filter[1]*src[7-srcstride] + filter[0]*src[7-2*srcstride] + filter[3]*src[7+srcstride] - filter[4]*src[7+2*srcstride] + filter[5]*src[7+3*srcstride] + 64) >> 7]; |
| 2276 | */ | 2276 | */ |
| 2277 | __asm__ volatile ( | 2277 | __asm__ volatile ( |
| 2278 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2278 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2279 | "li %[tmp0], 0x07 \n\t" | 2279 | "li %[tmp0], 0x07 \n\t" |
| 2280 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2280 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2281 | 2281 | ||
| @@ -2335,7 +2335,7 @@ void ff_put_vp8_epel4_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src, · 53 unmodified lines | |||
| 2335 | dst[3] = cm[(filter[2]*src[3] - filter[1]*src[3-srcstride] + filter[0]*src[3-2*srcstride] + filter[3]*src[3+srcstride] - filter[4]*src[3+2*srcstride] + filter[5]*src[3+3*srcstride] + 64) >> 7]; | 2335 | dst[3] = cm[(filter[2]*src[3] - filter[1]*src[3-srcstride] + filter[0]*src[3-2*srcstride] + filter[3]*src[3+srcstride] - filter[4]*src[3+2*srcstride] + filter[5]*src[3+3*srcstride] + 64) >> 7]; |
| 2336 | */ | 2336 | */ |
| 2337 | __asm__ volatile ( | 2337 | __asm__ volatile ( |
| 2338 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2338 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2339 | "li %[tmp0], 0x07 \n\t" | 2339 | "li %[tmp0], 0x07 \n\t" |
| 2340 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2340 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2341 | 2341 | ||
| @@ -2873,7 +2873,7 @@ void ff_put_vp8_bilinear16_h_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src, · 531 unmodified lines | |||
| 2873 | dst[15] = (a * src[15] + b * src[16] + 4) >> 3; | 2873 | dst[15] = (a * src[15] + b * src[16] + 4) >> 3; |
| 2874 | */ | 2874 | */ |
| 2875 | __asm__ volatile ( | 2875 | __asm__ volatile ( |
| 2876 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2876 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2877 | "li %[tmp0], 0x03 \n\t" | 2877 | "li %[tmp0], 0x03 \n\t" |
| 2878 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2878 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2879 | "pshufh %[a], %[a], %[ftmp0] \n\t" | 2879 | "pshufh %[a], %[a], %[ftmp0] \n\t" |
| @@ -2940,7 +2940,7 @@ void ff_put_vp8_bilinear16_v_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src, · 60 unmodified lines | |||
| 2940 | dst[7] = (c * src[7] + d * src[7 + sstride] + 4) >> 3; | 2940 | dst[7] = (c * src[7] + d * src[7 + sstride] + 4) >> 3; |
| 2941 | */ | 2941 | */ |
| 2942 | __asm__ volatile ( | 2942 | __asm__ volatile ( |
| 2943 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 2943 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 2944 | "li %[tmp0], 0x03 \n\t" | 2944 | "li %[tmp0], 0x03 \n\t" |
| 2945 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 2945 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 2946 | "pshufh %[c], %[c], %[ftmp0] \n\t" | 2946 | "pshufh %[c], %[c], %[ftmp0] \n\t" |
| @@ -3041,7 +3041,7 @@ void ff_put_vp8_bilinear8_h_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src, · 94 unmodified lines | |||
| 3041 | dst[7] = (a * src[7] + b * src[8] + 4) >> 3; | 3041 | dst[7] = (a * src[7] + b * src[8] + 4) >> 3; |
| 3042 | */ | 3042 | */ |
| 3043 | __asm__ volatile ( | 3043 | __asm__ volatile ( |
| 3044 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 3044 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 3045 | "li %[tmp0], 0x03 \n\t" | 3045 | "li %[tmp0], 0x03 \n\t" |
| 3046 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 3046 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 3047 | "pshufh %[a], %[a], %[ftmp0] \n\t" | 3047 | "pshufh %[a], %[a], %[ftmp0] \n\t" |
| @@ -3102,7 +3102,7 @@ void ff_put_vp8_bilinear8_v_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src, · 54 unmodified lines | |||
| 3102 | dst[7] = (c * src[7] + d * src[7 + sstride] + 4) >> 3; | 3102 | dst[7] = (c * src[7] + d * src[7 + sstride] + 4) >> 3; |
| 3103 | */ | 3103 | */ |
| 3104 | __asm__ volatile ( | 3104 | __asm__ volatile ( |
| 3105 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 3105 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 3106 | "li %[tmp0], 0x03 \n\t" | 3106 | "li %[tmp0], 0x03 \n\t" |
| 3107 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 3107 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 3108 | "pshufh %[c], %[c], %[ftmp0] \n\t" | 3108 | "pshufh %[c], %[c], %[ftmp0] \n\t" |
| @@ -3194,7 +3194,7 @@ void ff_put_vp8_bilinear4_h_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src, · 85 unmodified lines | |||
| 3194 | dst[3] = (a * src[3] + b * src[4] + 4) >> 3; | 3194 | dst[3] = (a * src[3] + b * src[4] + 4) >> 3; |
| 3195 | */ | 3195 | */ |
| 3196 | __asm__ volatile ( | 3196 | __asm__ volatile ( |
| 3197 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 3197 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 3198 | "li %[tmp0], 0x03 \n\t" | 3198 | "li %[tmp0], 0x03 \n\t" |
| 3199 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 3199 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 3200 | "pshufh %[a], %[a], %[ftmp0] \n\t" | 3200 | "pshufh %[a], %[a], %[ftmp0] \n\t" |
| @@ -3252,7 +3252,7 @@ void ff_put_vp8_bilinear4_v_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src, · 51 unmodified lines | |||
| 3252 | dst[3] = (c * src[3] + d * src[3 + sstride] + 4) >> 3; | 3252 | dst[3] = (c * src[3] + d * src[3 + sstride] + 4) >> 3; |
| 3253 | */ | 3253 | */ |
| 3254 | __asm__ volatile ( | 3254 | __asm__ volatile ( |
| 3255 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 3255 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 3256 | "li %[tmp0], 0x03 \n\t" | 3256 | "li %[tmp0], 0x03 \n\t" |
| 3257 | "mtc1 %[tmp0], %[ftmp4] \n\t" | 3257 | "mtc1 %[tmp0], %[ftmp4] \n\t" |
| 3258 | "pshufh %[c], %[c], %[ftmp0] \n\t" | 3258 | "pshufh %[c], %[c], %[ftmp0] \n\t" |
| @@ -82,7 +82,7 @@ static void convolve_horiz_mmi(const uint8_t *src, int32_t src_stride, · 81 unmodified lines | |||
| 82 | dst_stride -= w; | 82 | dst_stride -= w; |
| 83 | __asm__ volatile ( | 83 | __asm__ volatile ( |
| 84 | "move %[tmp1], %[width] \n\t" | 84 | "move %[tmp1], %[width] \n\t" |
| 85 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 85 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 86 | "gsldlc1 %[filter1], 0x03(%[filter]) \n\t" | 86 | "gsldlc1 %[filter1], 0x03(%[filter]) \n\t" |
| 87 | "gsldrc1 %[filter1], 0x00(%[filter]) \n\t" | 87 | "gsldrc1 %[filter1], 0x00(%[filter]) \n\t" |
| 88 | "gsldlc1 %[filter2], 0x0b(%[filter]) \n\t" | 88 | "gsldlc1 %[filter2], 0x0b(%[filter]) \n\t" |
| @@ -157,7 +157,7 @@ static void convolve_vert_mmi(const uint8_t *src, int32_t src_stride, · 68 unmodified lines | |||
| 157 | dst_stride -= w; | 157 | dst_stride -= w; |
| 158 | 158 | ||
| 159 | __asm__ volatile ( | 159 | __asm__ volatile ( |
| 160 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 160 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 161 | "gsldlc1 %[ftmp4], 0x03(%[filter]) \n\t" | 161 | "gsldlc1 %[ftmp4], 0x03(%[filter]) \n\t" |
| 162 | "gsldrc1 %[ftmp4], 0x00(%[filter]) \n\t" | 162 | "gsldrc1 %[ftmp4], 0x00(%[filter]) \n\t" |
| 163 | "gsldlc1 %[ftmp5], 0x0b(%[filter]) \n\t" | 163 | "gsldlc1 %[ftmp5], 0x0b(%[filter]) \n\t" |
| @@ -253,7 +253,7 @@ static void convolve_avg_horiz_mmi(const uint8_t *src, int32_t src_stride, · 89 unmodified lines | |||
| 253 | 253 | ||
| 254 | __asm__ volatile ( | 254 | __asm__ volatile ( |
| 255 | "move %[tmp1], %[width] \n\t" | 255 | "move %[tmp1], %[width] \n\t" |
| 256 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 256 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 257 | "gsldlc1 %[filter1], 0x03(%[filter]) \n\t" | 257 | "gsldlc1 %[filter1], 0x03(%[filter]) \n\t" |
| 258 | "gsldrc1 %[filter1], 0x00(%[filter]) \n\t" | 258 | "gsldrc1 %[filter1], 0x00(%[filter]) \n\t" |
| 259 | "gsldlc1 %[filter2], 0x0b(%[filter]) \n\t" | 259 | "gsldlc1 %[filter2], 0x0b(%[filter]) \n\t" |
| @@ -339,7 +339,7 @@ static void convolve_avg_vert_mmi(const uint8_t *src, int32_t src_stride, · 79 unmodified lines | |||
| 339 | dst_stride -= w; | 339 | dst_stride -= w; |
| 340 | 340 | ||
| 341 | __asm__ volatile ( | 341 | __asm__ volatile ( |
| 342 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 342 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 343 | "gsldlc1 %[ftmp4], 0x03(%[filter]) \n\t" | 343 | "gsldlc1 %[ftmp4], 0x03(%[filter]) \n\t" |
| 344 | "gsldrc1 %[ftmp4], 0x00(%[filter]) \n\t" | 344 | "gsldrc1 %[ftmp4], 0x00(%[filter]) \n\t" |
| 345 | "gsldlc1 %[ftmp5], 0x0b(%[filter]) \n\t" | 345 | "gsldlc1 %[ftmp5], 0x0b(%[filter]) \n\t" |
| @@ -444,7 +444,7 @@ static void convolve_avg_mmi(const uint8_t *src, int32_t src_stride, · 98 unmodified lines | |||
| 444 | 444 | ||
| 445 | __asm__ volatile ( | 445 | __asm__ volatile ( |
| 446 | "move %[tmp1], %[width] \n\t" | 446 | "move %[tmp1], %[width] \n\t" |
| 447 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 447 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 448 | "li %[tmp0], 0x10001 \n\t" | 448 | "li %[tmp0], 0x10001 \n\t" |
| 449 | "dmtc1 %[tmp0], %[ftmp3] \n\t" | 449 | "dmtc1 %[tmp0], %[ftmp3] \n\t" |
| 450 | "punpcklhw %[ftmp3], %[ftmp3], %[ftmp3] \n\t" | 450 | "punpcklhw %[ftmp3], %[ftmp3], %[ftmp3] \n\t" |
| @@ -106,7 +106,7 @@ void ff_wmv2_idct_add_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block) · 105 unmodified lines | |||
| 106 | wmv2_idct_col_mmi(block + i); | 106 | wmv2_idct_col_mmi(block + i); |
| 107 | 107 | ||
| 108 | __asm__ volatile ( | 108 | __asm__ volatile ( |
| 109 | "xor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" | 109 | "pxor %[ftmp0], %[ftmp0], %[ftmp0] \n\t" |
| 110 | 110 | ||
| 111 | // low 4 loop | 111 | // low 4 loop |
| 112 | MMI_LDC1(%[ftmp1], %[block], 0x00) | 112 | MMI_LDC1(%[ftmp1], %[block], 0x00) |