History

libavcodec/mips: Fix specification of instruction name

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.

Jin Bo committed 5 years ago

Commit ebedd261 parent e41255c16 files · +397 −397Browse files

Showing the changes to libavcodec/mips (16 of 16 files). Show all

Unified · Split

16 files
  1. libavcodec/mips/blockdsp_mmi.c +4 −4
  2. libavcodec/mips/h264chroma_mmi.c +10 −10
  3. libavcodec/mips/h264dsp_mmi.c +144 −144
  4. libavcodec/mips/h264pred_mmi.c +9 −9
  5. libavcodec/mips/h264qpel_mmi.c +13 −13
  6. libavcodec/mips/hevcdsp_mmi.c +16 −16
  7. libavcodec/mips/hpeldsp_mmi.c +13 −13
  8. libavcodec/mips/idctdsp_mmi.c +1 −1
  9. libavcodec/mips/mpegvideo_mmi.c +47 −47
  10. libavcodec/mips/pixblockdsp_mmi.c +4 −4
  11. libavcodec/mips/simple_idct_mmi.c +7 −7
  12. libavcodec/mips/vc1dsp_mmi.c +17 −17
  13. libavcodec/mips/vp3dsp_idct_mmi.c +66 −66
  14. libavcodec/mips/vp8dsp_mmi.c +40 −40
  15. libavcodec/mips/vp9_mc_mmi.c +5 −5
  16. libavcodec/mips/wmv2dsp_mmi.c +1 −1
libavcodec/mips/blockdsp_mmi.c+4−4
@@ -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)
libavcodec/mips/h264chroma_mmi.c+10−10
@@ -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"
libavcodec/mips/h264dsp_mmi.c+144−144
@@ -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
libavcodec/mips/h264pred_mmi.c+9−9
@@ -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"
libavcodec/mips/h264qpel_mmi.c+13−13
@@ -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)
libavcodec/mips/hevcdsp_mmi.c+16−16
@@ -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" \
libavcodec/mips/hpeldsp_mmi.c+13−13
@@ -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"
libavcodec/mips/idctdsp_mmi.c+1−1
@@ -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"
libavcodec/mips/mpegvideo_mmi.c+47−47
@@ -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)
libavcodec/mips/pixblockdsp_mmi.c+4−4
@@ -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"
libavcodec/mips/simple_idct_mmi.c+7−7
@@ -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 */
libavcodec/mips/vc1dsp_mmi.c+17−17
@@ -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"
libavcodec/mips/vp3dsp_idct_mmi.c+66−66
@@ -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"
libavcodec/mips/vp8dsp_mmi.c+40−40
@@ -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"
libavcodec/mips/vp9_mc_mmi.c+5−5
@@ -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"
libavcodec/mips/wmv2dsp_mmi.c+1−1
@@ -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 loop111 // low 4 loop
112 MMI_LDC1(%[ftmp1], %[block], 0x00)112 MMI_LDC1(%[ftmp1], %[block], 0x00)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t