[FFmpeg-devel] [PATCH] Revert "libavcodec/mips: Fix specification of instruction name"

Jiaxun Yang jiaxun.yang at flygoat.com
Wed Jul 21 12:39:22 EEST 2021


This reverts commit ebedd26eefe2ff4bbf5a358907c4e8e4b0d62eae.

The original commit states that "gcc supports both of them,
clang only supports the second type", it's obviousely not ture.

Error: opcode not supported on this processor: loongson3a(mips64r2) `pxor $f3,$f3,$f3'

Tested with latest GCC11 and binutils 2.37.

The statement is not true. I guess you may have a internal toolchain modified
for this purpose, but you're not the sole user of FFmpeg, you're breaking
other users like Debian. Also I can't find clang with Loongson extention
support every where.

I'm reverting this for now. If you would like to implement it, another approach
could be make it as marco in mmiutils.h and filter it with #if define(__clang__).

Signed-off-by: Jiaxun Yang <jiaxun.yang at flygoat.com>
Cc: Jin Bo <jinbo at loongson.cn>
Cc: yinshiyou-hf at loongson.cn
---
 libavcodec/mips/blockdsp_mmi.c    |   8 +-
 libavcodec/mips/h264chroma_mmi.c  |  50 ++++++
 libavcodec/mips/h264dsp_mmi.c     | 288 +++++++++++++++---------------
 libavcodec/mips/h264pred_mmi.c    |  18 +-
 libavcodec/mips/h264qpel_mmi.c    |  26 +--
 libavcodec/mips/hevcdsp_mmi.c     |  32 ++--
 libavcodec/mips/hpeldsp_mmi.c     |  26 +--
 libavcodec/mips/idctdsp_mmi.c     |   2 +-
 libavcodec/mips/mpegvideo_mmi.c   |  94 +++++-----
 libavcodec/mips/pixblockdsp_mmi.c |   8 +-
 libavcodec/mips/simple_idct_mmi.c |  14 +-
 libavcodec/mips/vc1dsp_mmi.c      |  34 ++--
 libavcodec/mips/vp3dsp_idct_mmi.c | 132 +++++++-------
 libavcodec/mips/vp8dsp_mmi.c      |  80 ++++-----
 libavcodec/mips/vp9_mc_mmi.c      |  22 ++-
 libavcodec/mips/wmv2dsp_mmi.c     |   2 +-
 16 files changed, 453 insertions(+), 383 deletions(-)

diff --git a/libavcodec/mips/blockdsp_mmi.c b/libavcodec/mips/blockdsp_mmi.c
index 8b5c7e955c..68641e2544 100644
--- a/libavcodec/mips/blockdsp_mmi.c
+++ b/libavcodec/mips/blockdsp_mmi.c
@@ -76,8 +76,8 @@ void ff_clear_block_mmi(int16_t *block)
     double ftmp[2];
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp1]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp1]                \n\t"
         MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x00)
         MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x10)
         MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x20)
@@ -97,8 +97,8 @@ void ff_clear_blocks_mmi(int16_t *block)
     double ftmp[2];
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp1]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp1]                \n\t"
         MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x00)
         MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x10)
         MMI_SQC1(%[ftmp0], %[ftmp1], %[block], 0x20)
diff --git a/libavcodec/mips/h264chroma_mmi.c b/libavcodec/mips/h264chroma_mmi.c
index cc2d7cb7e9..f62cf50e54 100644
--- a/libavcodec/mips/h264chroma_mmi.c
+++ b/libavcodec/mips/h264chroma_mmi.c
@@ -72,7 +72,12 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
         A.i = 64 - D.i - B.i - C.i;
 
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]           \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]           \n\t"
+            "dli        %[tmp0],    0x06                               \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]           \n\t"
             "pshufh     %[B],       %[B],           %[ftmp0]           \n\t"
             "mtc1       %[tmp0],    %[ftmp9]                           \n\t"
@@ -171,7 +176,12 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
         A.i = 64 - E.i;
 
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]           \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]           \n\t"
+            "dli        %[tmp0],    0x06                               \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]           \n\t"
             "pshufh     %[E],       %[E],           %[ftmp0]           \n\t"
             "mtc1       %[tmp0],    %[ftmp7]                           \n\t"
@@ -218,7 +228,12 @@ void ff_put_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
         A.i = 64 - E.i;
 
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]           \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]           \n\t"
+            "dli        %[tmp0],    0x06                               \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]           \n\t"
             "pshufh     %[E],       %[E],           %[ftmp0]           \n\t"
             "mtc1       %[tmp0],    %[ftmp7]                           \n\t"
@@ -324,7 +339,12 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
         C.i = (y << 3) - D.i;
         A.i = 64 - D.i - B.i - C.i;
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]       \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]       \n\t"
+            "dli        %[tmp0],    0x06                           \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]       \n\t"
             "pshufh     %[B],       %[B],           %[ftmp0]       \n\t"
             "mtc1       %[tmp0],    %[ftmp9]                       \n\t"
@@ -391,7 +411,12 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
         E.i = x << 3;
         A.i = 64 - E.i;
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]       \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]       \n\t"
+            "dli        %[tmp0],    0x06                           \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]       \n\t"
             "pshufh     %[E],       %[E],           %[ftmp0]       \n\t"
             "mtc1       %[tmp0],    %[ftmp7]                       \n\t"
@@ -439,7 +464,12 @@ void ff_avg_h264_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
         E.i = y << 3;
         A.i = 64 - E.i;
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]       \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]       \n\t"
+            "dli        %[tmp0],    0x06                           \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]       \n\t"
             "pshufh     %[E],       %[E],           %[ftmp0]       \n\t"
             "mtc1       %[tmp0],    %[ftmp7]                       \n\t"
@@ -500,7 +530,12 @@ void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
 
     if (D.i) {
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "dli        %[tmp0],    0x06                                \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]            \n\t"
             "pshufh     %[B],       %[B],           %[ftmp0]            \n\t"
             "mtc1       %[tmp0],    %[ftmp7]                            \n\t"
@@ -549,7 +584,12 @@ void ff_put_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
     } else if (E.i) {
         const int step = C.i ? stride : 1;
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "dli        %[tmp0],    0x06                                \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]            \n\t"
             "pshufh     %[E],       %[E],           %[ftmp0]            \n\t"
             "mtc1       %[tmp0],    %[ftmp5]                            \n\t"
@@ -621,7 +661,12 @@ void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
 
     if (D.i) {
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "dli        %[tmp0],    0x06                                \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]            \n\t"
             "pshufh     %[B],       %[B],           %[ftmp0]            \n\t"
             "mtc1       %[tmp0],    %[ftmp7]                            \n\t"
@@ -672,7 +717,12 @@ void ff_avg_h264_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
     } else if (E.i) {
         const int step = C.i ? stride : 1;
         __asm__ volatile (
+<<<<<<< HEAD
             "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+=======
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "dli        %[tmp0],    0x06                                \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
             "pshufh     %[A],       %[A],           %[ftmp0]            \n\t"
             "pshufh     %[E],       %[E],           %[ftmp0]            \n\t"
             "mtc1       %[tmp0],    %[ftmp5]                            \n\t"
diff --git a/libavcodec/mips/h264dsp_mmi.c b/libavcodec/mips/h264dsp_mmi.c
index 6e77995523..62348b30a7 100644
--- a/libavcodec/mips/h264dsp_mmi.c
+++ b/libavcodec/mips/h264dsp_mmi.c
@@ -34,7 +34,7 @@ void ff_h264_add_pixels4_8_mmi(uint8_t *dst, int16_t *src, int stride)
     DECLARE_VAR_LOW32;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         MMI_LDC1(%[ftmp1], %[src], 0x00)
         MMI_LDC1(%[ftmp2], %[src], 0x08)
         MMI_LDC1(%[ftmp3], %[src], 0x10)
@@ -89,7 +89,7 @@ void ff_h264_idct_add_8_mmi(uint8_t *dst, int16_t *block, int stride)
         MMI_LDC1(%[ftmp2], %[block], 0x10)
         MMI_LDC1(%[ftmp3], %[block], 0x18)
         /* memset(block, 0, 32) */
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
         "gssqc1     %[ftmp4],   %[ftmp4],       0x00(%[block])          \n\t"
         "gssqc1     %[ftmp4],   %[ftmp4],       0x10(%[block])          \n\t"
         "dli        %[tmp0],    0x01                                    \n\t"
@@ -127,7 +127,7 @@ void ff_h264_idct_add_8_mmi(uint8_t *dst, int16_t *block, int stride)
         "psubh      %[ftmp5],   %[ftmp5],       %[ftmp4]                \n\t"
         MMI_ULWC1(%[ftmp2], %[dst], 0x00)
         MMI_LWXC1(%[ftmp0], %[dst], %[stride], 0x00)
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "psrah      %[ftmp3],   %[ftmp10],      %[ftmp9]                \n\t"
         "psrah      %[ftmp4],   %[ftmp11],      %[ftmp9]                \n\t"
         "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)
         "psubh      %[ftmp7],   %[ftmp7],       %[ftmp1]                \n\t"
         MMI_SDC1(%[ftmp0], $sp, 0x10)
         "dmfc1      %[tmp1],    %[ftmp2]                                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp2]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp2]                \n\t"
         MMI_SDC1(%[ftmp2], %[block], 0x00)
         MMI_SDC1(%[ftmp2], %[block], 0x08)
         MMI_SDC1(%[ftmp2], %[block], 0x10)
@@ -555,7 +555,7 @@ void ff_h264_idct8_add_8_mmi(uint8_t *dst, int16_t *block, int stride)
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         MMI_SDC1(%[ftmp7], $sp, 0x18)
         "dmfc1      %[tmp2],    %[ftmp0]                                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         MMI_ULWC1(%[ftmp6], %[addr0], 0x00)
         MMI_LWXC1(%[ftmp7], %[addr0], %[stride], 0x00)
         "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)
 
     __asm__ volatile (
         "mtc1       %[dc],      %[ftmp5]                                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "pshufh     %[ftmp5],   %[ftmp5],       %[ftmp0]                \n\t"
         MMI_ULWC1(%[ftmp1], %[dst0], 0x00)
         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)
 
     __asm__ volatile (
         "mtc1       %[dc],      %[ftmp5]                                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "pshufh     %[ftmp5],   %[ftmp5],       %[ftmp0]                \n\t"
         MMI_LDC1(%[ftmp1], %[dst0], 0x00)
         MMI_LDC1(%[ftmp2], %[dst1], 0x00)
@@ -929,7 +929,7 @@ void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input,
         "packsswh   %[ftmp0],   %[ftmp0],       %[ftmp1]                \n\t"
         "packsswh   %[ftmp2],   %[ftmp2],       %[ftmp5]                \n\t"
         "dmfc1      %[tmp1],    %[ftmp0]                                \n\t"
-        "ssrld      %[ftmp0],   %[ftmp0],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp0],   %[ftmp0],       %[ftmp9]                \n\t"
         "mfc1       %[input],   %[ftmp0]                                \n\t"
         "sh         %[tmp1],    0x00(%[output])                         \n\t"
         "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,
         "sh         %[tmp1],    0x20(%[output])                         \n\t"
         "sh         %[input],   0xa0(%[output])                         \n\t"
         "dmfc1      %[tmp1],    %[ftmp2]                                \n\t"
-        "ssrld      %[ftmp2],   %[ftmp2],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp2],   %[ftmp2],       %[ftmp9]                \n\t"
         "mfc1       %[input],   %[ftmp2]                                \n\t"
         "sh         %[tmp1],    0x40(%[output])                         \n\t"
         "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,
         "packsswh   %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
         "packsswh   %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
         "dmfc1      %[tmp1],    %[ftmp3]                                \n\t"
-        "ssrld      %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "mfc1       %[input],   %[ftmp3]                                \n\t"
         "sh         %[tmp1],    0x100(%[output])                        \n\t"
         "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,
         "sh         %[tmp1],    0x120(%[output])                        \n\t"
         "sh         %[input],   0x1a0(%[output])                        \n\t"
         "dmfc1      %[tmp1],    %[ftmp4]                                \n\t"
-        "ssrld      %[ftmp4],   %[ftmp4],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp4],   %[ftmp4],       %[ftmp9]                \n\t"
         "mfc1       %[input],   %[ftmp4]                                \n\t"
         "sh         %[tmp1],    0x140(%[output])                        \n\t"
         "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,
         "packsswh   %[ftmp0],   %[ftmp0],       %[ftmp1]                \n\t"
         "packsswh   %[ftmp2],   %[ftmp2],       %[ftmp5]                \n\t"
         "dmfc1      %[tmp1],    %[ftmp0]                                \n\t"
-        "ssrld      %[ftmp0],   %[ftmp0],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp0],   %[ftmp0],       %[ftmp9]                \n\t"
         "sh         %[tmp1],    0x00(%[output])                         \n\t"
         "mfc1       %[input],   %[ftmp0]                                \n\t"
         "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,
         PTR_SRL    "%[input],   %[input],       0x10                    \n\t"
         "dmfc1      %[tmp1],    %[ftmp2]                                \n\t"
         "sh         %[input],   0xa0(%[output])                         \n\t"
-        "ssrld      %[ftmp2],   %[ftmp2],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp2],   %[ftmp2],       %[ftmp9]                \n\t"
         "sh         %[tmp1],    0x40(%[output])                         \n\t"
         "mfc1       %[input],   %[ftmp2]                                \n\t"
         "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,
         "packsswh   %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
         "packsswh   %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
         "dmfc1      %[tmp1],    %[ftmp3]                                \n\t"
-        "ssrld      %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "mfc1       %[input],   %[ftmp3]                                \n\t"
         "sh         %[tmp1],    0x100(%[output])                        \n\t"
         "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,
         "sh         %[tmp1],    0x120(%[output])                        \n\t"
         "sh         %[input],   0x1a0(%[output])                        \n\t"
         "dmfc1      %[tmp1],    %[ftmp4]                                \n\t"
-        "ssrld      %[ftmp4],   %[ftmp4],       %[ftmp9]                \n\t"
+        "dsrl       %[ftmp4],   %[ftmp4],       %[ftmp9]                \n\t"
         "mfc1       %[input],   %[ftmp4]                                \n\t"
         "sh         %[tmp1],    0x140(%[output])                        \n\t"
         "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,
 
     for (y=0; y<height; y++, block+=stride) {
         __asm__ volatile (
-            "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
             MMI_LDC1(%[ftmp1], %[block0], 0x00)
             MMI_LDC1(%[ftmp2], %[block1], 0x00)
             "mtc1       %[weight],  %[ftmp3]                            \n\t"
@@ -1198,7 +1198,7 @@ void ff_h264_biweight_pixels16_8_mmi(uint8_t *dst, uint8_t *src,
 
     for (y=0; y<height; y++, dst+=stride, src+=stride) {
         __asm__ volatile (
-            "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
             MMI_LDC1(%[ftmp1], %[src0], 0x00)
             MMI_LDC1(%[ftmp2], %[dst0], 0x00)
             "mtc1       %[weights], %[ftmp3]                            \n\t"
@@ -1271,7 +1271,7 @@ void ff_h264_weight_pixels8_8_mmi(uint8_t *block, ptrdiff_t stride, int height,
 
     for (y=0; y<height; y++, block+=stride) {
         __asm__ volatile (
-            "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
             MMI_LDC1(%[ftmp1], %[block], 0x00)
             "mtc1       %[weight],  %[ftmp2]                            \n\t"
             "mtc1       %[offset],  %[ftmp3]                            \n\t"
@@ -1312,7 +1312,7 @@ void ff_h264_biweight_pixels8_8_mmi(uint8_t *dst, uint8_t *src,
 
     for (y=0; y<height; y++, dst+=stride, src+=stride) {
         __asm__ volatile (
-            "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
             MMI_LDC1(%[ftmp1], %[src], 0x00)
             MMI_LDC1(%[ftmp2], %[dst], 0x00)
             "mtc1       %[weights], %[ftmp3]                            \n\t"
@@ -1366,7 +1366,7 @@ void ff_h264_weight_pixels4_8_mmi(uint8_t *block, ptrdiff_t stride, int height,
 
     for (y=0; y<height; y++, block+=stride) {
         __asm__ volatile (
-            "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
             MMI_ULWC1(%[ftmp1], %[block], 0x00)
             "mtc1       %[weight],  %[ftmp2]                            \n\t"
             "mtc1       %[offset],  %[ftmp3]                            \n\t"
@@ -1402,7 +1402,7 @@ void ff_h264_biweight_pixels4_8_mmi(uint8_t *dst, uint8_t *src,
 
     for (y=0; y<height; y++, dst+=stride, src+=stride) {
         __asm__ volatile (
-            "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+            "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
             MMI_ULWC1(%[ftmp1], %[src], 0x00)
             MMI_ULWC1(%[ftmp2], %[dst], 0x00)
             "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
 
     __asm__ volatile (
         PTR_ADDU   "%[addr0],   %[stride],      %[stride]               \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         PTR_ADDU   "%[addr1],   %[stride],      %[addr0]                \n\t"
         "addi       %[alpha],   %[alpha],       -0x01                   \n\t"
         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
         "packushb   %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp2]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp2],       %[ftmp3]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp2],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp1],       %[ftmp2]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp4],       %[ftmp3]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "pcmpeqb    %[ftmp8],   %[ftmp8],       %[ftmp0]                \n\t"
         "pcmpeqb    %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
         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
         "punpcklbh  %[ftmp9],   %[ftmp5],       %[ftmp5]                \n\t"
         "pcmpgtb    %[ftmp5],   %[ftmp9],       %[ftmp4]                \n\t"
         MMI_LDC1(%[ftmp4], %[addr1], 0x00)
-        "pand       %[ftmp10],  %[ftmp5],       %[ftmp8]                \n\t"
+        "and        %[ftmp10],  %[ftmp5],       %[ftmp8]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp4],       %[ftmp2]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp2],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp7],   %[ftmp7],       %[ftmp8]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
-        "pand       %[ftmp5],   %[ftmp10],      %[ftmp9]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "and        %[ftmp5],   %[ftmp10],      %[ftmp9]                \n\t"
         "psubb      %[ftmp8],   %[ftmp5],       %[ftmp7]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
         "pavgb      %[ftmp5],   %[ftmp2],       %[ftmp3]                \n\t"
         MMI_LDC1(%[ftmp11], %[addr1], 0x00)
         "pavgb      %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp11]               \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp11]               \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
         "psubusb    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp1],       %[ftmp7]                \n\t"
         "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
         "psubusb    %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         "psubb      %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
-        "pand       %[ftmp6],   %[ftmp9],       %[ftmp7]                \n\t"
+        "and        %[ftmp6],   %[ftmp9],       %[ftmp7]                \n\t"
         MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00)
         "pavgb      %[ftmp7],   %[ftmp2],       %[ftmp3]                \n\t"
         MMI_LDXC1(%[ftmp11], %[pix], %[addr0], 0x00)
         "pavgb      %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp11]               \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp11]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ff_pb_1]              \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp4],       %[ftmp6]                \n\t"
         "paddusb    %[ftmp6],   %[ftmp6],       %[ftmp4]                \n\t"
         "pmaxub     %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "pminub     %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
         MMI_SDXC1(%[ftmp5], %[pix], %[stride], 0x00)
-        "pxor       %[ftmp6],   %[ftmp2],       %[ftmp3]                \n\t"
+        "xor        %[ftmp6],   %[ftmp2],       %[ftmp3]                \n\t"
         "pcmpeqb    %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
-        "pand       %[ftmp6],   %[ftmp6],       %[ff_pb_1]              \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp2]                \n\t"
+        "and        %[ftmp6],   %[ftmp6],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp2]                \n\t"
         "pavgb      %[ftmp4],   %[ftmp4],       %[ftmp1]                \n\t"
         "pavgb      %[ftmp4],   %[ftmp4],       %[ff_pb_3]              \n\t"
         "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
 
     __asm__ volatile (
         "ori        %[tmp0],    $0,             0x01                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "mtc1       %[tmp0],    %[ftmp9]                                \n\t"
         PTR_SLL    "%[addr0],   %[stride],      0x02                    \n\t"
         PTR_ADDU   "%[addr2],   %[stride],      %[stride]               \n\t"
         PTR_ADDIU  "%[alpha],   %[alpha],       -0x01                   \n\t"
-        "sslld      %[ftmp11],  %[ftmp9],       %[ftmp9]                \n\t"
+        PTR_SLL    "%[ftmp11],  %[ftmp9],       %[ftmp9]                \n\t"
         "bltz       %[alpha],   1f                                      \n\t"
         PTR_ADDU   "%[addr1],   %[addr2],       %[stride]               \n\t"
         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
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp2]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp2],       %[ftmp3]                \n\t"
         "packushb   %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         MMI_SDC1(%[ftmp5], %[stack], 0x10)
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp2],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp1],       %[ftmp2]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp4],       %[ftmp3]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         MMI_LDC1(%[ftmp5], %[stack], 0x10)
         "pcmpeqb    %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         "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
         "psubusb    %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
         MMI_LDC1(%[ftmp15], %[stack], 0x20)
         "pcmpeqb    %[ftmp7],   %[ftmp7],       %[ftmp8]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp15]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp15]               \n\t"
         MMI_LDXC1(%[ftmp15], %[addr0], %[stride], 0x00)
         "psubusb    %[ftmp8],   %[ftmp15],      %[ftmp2]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp2],       %[ftmp15]               \n\t"
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp5],   %[ftmp5],       %[ftmp8]                \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         MMI_LDXC1(%[ftmp14], %[pix], %[addr2], 0x00)
         MMI_SDC1(%[ftmp5], %[stack], 0x30)
         "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
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp5],   %[ftmp5],       %[ftmp8]                \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         MMI_SDC1(%[ftmp5], %[stack], 0x40)
         "pavgb      %[ftmp5],   %[ftmp15],      %[ftmp1]                \n\t"
         "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
         MMI_SDC1(%[ftmp7], %[stack], 0x00)
         "psrlh      %[ftmp7],   %[ftmp7],       %[ftmp9]                \n\t"
         "pavgb      %[ftmp7],   %[ftmp7],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         "psubb      %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "pavgb      %[ftmp6],   %[ftmp15],      %[ftmp4]                \n\t"
         "psubb      %[ftmp7],   %[ftmp15],      %[ftmp4]                \n\t"
         "paddb      %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
         "psubb      %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         "psubb      %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
         MMI_LDC1(%[ftmp13], %[stack], 0x10)
         "pavgb      %[ftmp6],   %[ftmp6],       %[ftmp1]                \n\t"
         "psrlh      %[ftmp8],   %[ftmp8],       %[ftmp11]               \n\t"
         "pavgb      %[ftmp6],   %[ftmp6],       %[ftmp13]               \n\t"
         "pavgb      %[ftmp8],   %[ftmp8],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
-        "pand       %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
+        "and        %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
         "psubb      %[ftmp6],   %[ftmp6],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp2],       %[ftmp4]                \n\t"
+        "xor        %[ftmp8],   %[ftmp2],       %[ftmp4]                \n\t"
         "pavgb      %[ftmp7],   %[ftmp2],       %[ftmp4]                \n\t"
-        "pand       %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
+        "and        %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
         "psubb      %[ftmp7],   %[ftmp7],       %[ftmp8]                \n\t"
         MMI_LDC1(%[ftmp13], %[stack], 0x30)
         "pavgb      %[ftmp7],   %[ftmp7],       %[ftmp1]                \n\t"
         MMI_LDC1(%[ftmp12], %[stack], 0x20)
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp2]                \n\t"
-        "pand       %[ftmp6],   %[ftmp6],       %[ftmp13]               \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp12]               \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp2]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp2]                \n\t"
+        "and        %[ftmp6],   %[ftmp6],       %[ftmp13]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp12]               \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp2]                \n\t"
         MMI_SDXC1(%[ftmp6], %[addr0], %[addr1], 0x00)
         MMI_LDC1(%[ftmp6], %[addr0], 0x00)
         "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
         "paddb      %[ftmp7],   %[ftmp7],       %[ftmp12]               \n\t"
         "psrlh      %[ftmp7],   %[ftmp7],       %[ftmp11]               \n\t"
         "pavgb      %[ftmp7],   %[ftmp7],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         MMI_LDC1(%[ftmp12], %[stack], 0x30)
         "psubb      %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp15]               \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ftmp12]               \n\t"
-        "pand       %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp15]               \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp1]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp15]               \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ftmp12]               \n\t"
+        "and        %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp1]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp15]               \n\t"
         MMI_SDXC1(%[ftmp5], %[addr0], %[addr2], 0x00)
         MMI_SDXC1(%[ftmp6], %[addr0], %[stride], 0x00)
         "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
         MMI_SDC1(%[ftmp7], %[stack], 0x00)
         "psrlh      %[ftmp7],   %[ftmp7],       %[ftmp9]                \n\t"
         "pavgb      %[ftmp7],   %[ftmp7],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         "psubb      %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "pavgb      %[ftmp6],   %[ftmp14],      %[ftmp1]                \n\t"
         "paddb      %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
         "psubb      %[ftmp7],   %[ftmp14],      %[ftmp1]                \n\t"
         "psubb      %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         "psubb      %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
         MMI_LDC1(%[ftmp12], %[stack], 0x10)
         "pavgb      %[ftmp6],   %[ftmp6],       %[ftmp4]                \n\t"
         "pavgb      %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
         "psrlh      %[ftmp8],   %[ftmp8],       %[ftmp11]               \n\t"
         "pavgb      %[ftmp8],   %[ftmp8],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
-        "pand       %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp6]                \n\t"
+        "and        %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
         "psubb      %[ftmp6],   %[ftmp6],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp3],       %[ftmp1]                \n\t"
+        "xor        %[ftmp8],   %[ftmp3],       %[ftmp1]                \n\t"
         "pavgb      %[ftmp7],   %[ftmp3],       %[ftmp1]                \n\t"
-        "pand       %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
+        "and        %[ftmp8],   %[ftmp8],       %[ftmp10]               \n\t"
         MMI_LDC1(%[ftmp12], %[stack], 0x40)
         "psubb      %[ftmp7],   %[ftmp7],       %[ftmp8]                \n\t"
         MMI_LDC1(%[ftmp13], %[stack], 0x20)
         "pavgb      %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp3]                \n\t"
-        "pand       %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp13]               \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp3]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp3]                \n\t"
+        "and        %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp13]               \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp3]                \n\t"
         MMI_SDC1(%[ftmp6], %[pix], 0x00)
         MMI_LDXC1(%[ftmp6], %[pix], %[addr1], 0x00)
         "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
         "paddb      %[ftmp7],   %[ftmp7],       %[ftmp12]               \n\t"
         "psrlh      %[ftmp7],   %[ftmp7],       %[ftmp11]               \n\t"
         "pavgb      %[ftmp7],   %[ftmp7],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp10]               \n\t"
         MMI_LDC1(%[ftmp12], %[stack], 0x40)
         "psubb      %[ftmp6],   %[ftmp6],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp14]               \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ftmp12]               \n\t"
-        "pand       %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp14]               \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp4]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp14]               \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ftmp12]               \n\t"
+        "and        %[ftmp6],   %[ftmp6],       %[ftmp12]               \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp4]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp14]               \n\t"
         MMI_SDXC1(%[ftmp5], %[pix], %[stride], 0x00)
         MMI_SDXC1(%[ftmp6], %[pix], %[addr2], 0x00)
         "1:                                                             \n\t"
@@ -1808,7 +1808,7 @@ void ff_deblock_v_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha,
         MMI_LDC1(%[ftmp3], %[pix], 0x00)
         MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00)
 
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "mtc1       %[alpha],   %[ftmp5]                                \n\t"
         "mtc1       %[beta],    %[ftmp6]                                \n\t"
         "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,
         "packushb   %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp2]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp2],       %[ftmp3]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp2],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp1],       %[ftmp2]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp4],       %[ftmp3]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "pcmpeqb    %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         MMI_ULWC1(%[ftmp7], %[tc0], 0x00)
         "punpcklbh  %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
-        "pand       %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
+        "and        %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         "pcmpeqb    %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp2],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "pand       %[ftmp6],   %[ftmp6],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp6],   %[ftmp2],       %[ftmp3]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
+        "and        %[ftmp6],   %[ftmp6],       %[ff_pb_1]              \n\t"
         "pavgb      %[ftmp4],   %[ftmp4],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp2]                \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp2]                \n\t"
         "pavgb      %[ftmp4],   %[ftmp4],       %[ff_pb_3]              \n\t"
         "pavgb      %[ftmp5],   %[ftmp5],       %[ftmp3]                \n\t"
         "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,
         MMI_LDC1(%[ftmp3], %[pix], 0x00)
         MMI_LDXC1(%[ftmp4], %[pix], %[stride], 0x00)
 
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "mtc1       %[alpha],   %[ftmp5]                                \n\t"
         "mtc1       %[beta],    %[ftmp6]                                \n\t"
         "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,
         "packushb   %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp2]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp2],       %[ftmp3]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp2],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp1],       %[ftmp2]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp4],       %[ftmp3]                \n\t"
-        "por        %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
+        "or         %[ftmp5],   %[ftmp5],       %[ftmp7]                \n\t"
         "psubusb    %[ftmp5],   %[ftmp5],       %[ftmp6]                \n\t"
-        "por        %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "or         %[ftmp8],   %[ftmp8],       %[ftmp5]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "pcmpeqb    %[ftmp8],   %[ftmp8],       %[ftmp7]                \n\t"
         "mov.d      %[ftmp6],   %[ftmp2]                                \n\t"
         "mov.d      %[ftmp7],   %[ftmp3]                                \n\t"
-        "pxor       %[ftmp5],   %[ftmp2],       %[ftmp4]                \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp5],   %[ftmp2],       %[ftmp4]                \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
         "pavgb      %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp2],   %[ftmp2],       %[ftmp5]                \n\t"
         "pavgb      %[ftmp2],   %[ftmp2],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp3],       %[ftmp1]                \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp5],   %[ftmp3],       %[ftmp1]                \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
         "pavgb      %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp3],   %[ftmp3],       %[ftmp5]                \n\t"
         "pavgb      %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubb      %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
         "psubb      %[ftmp3],   %[ftmp3],       %[ftmp7]                \n\t"
-        "pand       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
-        "pand       %[ftmp3],   %[ftmp3],       %[ftmp8]                \n\t"
+        "and        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "and        %[ftmp3],   %[ftmp3],       %[ftmp8]                \n\t"
         "paddb      %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
         "paddb      %[ftmp3],   %[ftmp3],       %[ftmp7]                \n\t"
 
@@ -1996,7 +1996,7 @@ void ff_deblock_h_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int be
         "mov.d      %[ftmp9],   %[ftmp0]                                \n\t"
         "mov.d      %[ftmp10],  %[ftmp3]                                \n\t"
 
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
         "mtc1       %[alpha],   %[ftmp4]                                \n\t"
         "mtc1       %[beta],    %[ftmp5]                                \n\t"
         "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
         "packushb   %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp6],   %[ftmp2],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp1],       %[ftmp2]                \n\t"
-        "por        %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
+        "or         %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp6],   %[ftmp1],       %[ftmp0]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp0],       %[ftmp1]                \n\t"
-        "por        %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
+        "or         %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "por        %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
+        "or         %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp6],   %[ftmp2],       %[ftmp3]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp3],       %[ftmp2]                \n\t"
-        "por        %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
+        "or         %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "por        %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
+        "or         %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         MMI_ULWC1(%[ftmp6], %[tc0], 0x00)
         "punpcklbh  %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
-        "pand       %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
+        "and        %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp1],       %[ftmp2]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
-        "pand       %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp5],   %[ftmp1],       %[ftmp2]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
+        "and        %[ftmp5],   %[ftmp5],       %[ff_pb_1]              \n\t"
         "pavgb      %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp1]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp1]                \n\t"
         "pavgb      %[ftmp3],   %[ftmp3],       %[ff_pb_3]              \n\t"
         "pavgb      %[ftmp4],   %[ftmp4],       %[ftmp2]                \n\t"
         "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,
         "punpcklwd  %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
         "punpcklwd  %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
 
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
         "mtc1       %[alpha],   %[ftmp4]                                \n\t"
         "mtc1       %[beta],    %[ftmp5]                                \n\t"
         "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,
         "packushb   %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
         "psubusb    %[ftmp6],   %[ftmp2],       %[ftmp1]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp1],       %[ftmp2]                \n\t"
-        "por        %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
+        "or         %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp6],   %[ftmp1],       %[ftmp0]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp0],       %[ftmp1]                \n\t"
-        "por        %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
+        "or         %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "por        %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
+        "or         %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
         "psubusb    %[ftmp6],   %[ftmp2],       %[ftmp3]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp3],       %[ftmp2]                \n\t"
-        "por        %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
+        "or         %[ftmp4],   %[ftmp4],       %[ftmp6]                \n\t"
         "psubusb    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "por        %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
+        "or         %[ftmp7],   %[ftmp7],       %[ftmp4]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "pcmpeqb    %[ftmp7],   %[ftmp7],       %[ftmp6]                \n\t"
         "mov.d      %[ftmp5],   %[ftmp1]                                \n\t"
         "mov.d      %[ftmp6],   %[ftmp2]                                \n\t"
-        "pxor       %[ftmp4],   %[ftmp1],       %[ftmp3]                \n\t"
-        "pand       %[ftmp4],   %[ftmp4],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp4],   %[ftmp1],       %[ftmp3]                \n\t"
+        "and        %[ftmp4],   %[ftmp4],       %[ff_pb_1]              \n\t"
         "pavgb      %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
         "psubusb    %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
         "pavgb      %[ftmp1],   %[ftmp1],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp4],   %[ftmp2],       %[ftmp0]                \n\t"
-        "pand       %[ftmp4],   %[ftmp4],       %[ff_pb_1]              \n\t"
+        "xor        %[ftmp4],   %[ftmp2],       %[ftmp0]                \n\t"
+        "and        %[ftmp4],   %[ftmp4],       %[ff_pb_1]              \n\t"
         "pavgb      %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
         "psubusb    %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
         "pavgb      %[ftmp2],   %[ftmp2],       %[ftmp3]                \n\t"
         "psubb      %[ftmp1],   %[ftmp1],       %[ftmp5]                \n\t"
         "psubb      %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
-        "pand       %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
-        "pand       %[ftmp2],   %[ftmp2],       %[ftmp7]                \n\t"
+        "and        %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
+        "and        %[ftmp2],   %[ftmp2],       %[ftmp7]                \n\t"
         "paddb      %[ftmp1],   %[ftmp1],       %[ftmp5]                \n\t"
         "paddb      %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
 
diff --git a/libavcodec/mips/h264pred_mmi.c b/libavcodec/mips/h264pred_mmi.c
index 480411f5b5..3542d575be 100644
--- a/libavcodec/mips/h264pred_mmi.c
+++ b/libavcodec/mips/h264pred_mmi.c
@@ -162,7 +162,7 @@ void ff_pred8x8l_top_dc_8_mmi(uint8_t *src, int has_topleft,
     DECLARE_VAR_ADDRT;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         MMI_ULDC1(%[ftmp10], %[srcA], 0x00)
         MMI_ULDC1(%[ftmp9], %[src0], 0x00)
         MMI_ULDC1(%[ftmp8], %[src1], 0x00)
@@ -267,7 +267,7 @@ void ff_pred8x8l_dc_8_mmi(uint8_t *src, int has_topleft, int has_topright,
         MMI_ULDC1(%[ftmp4], %[srcA], 0x00)
         MMI_ULDC1(%[ftmp5], %[src0], 0x00)
         MMI_ULDC1(%[ftmp6], %[src1], 0x00)
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x03                                    \n\t"
         "punpcklbh  %[ftmp7],   %[ftmp4],       %[ftmp0]                \n\t"
         "punpckhbh  %[ftmp8],   %[ftmp4],       %[ftmp0]                \n\t"
@@ -358,7 +358,7 @@ void ff_pred8x8l_vertical_8_mmi(uint8_t *src, int has_topleft,
     DECLARE_VAR_ALL64;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         MMI_LDC1(%[ftmp3], %[srcA], 0x00)
         MMI_LDC1(%[ftmp4], %[src0], 0x00)
         MMI_LDC1(%[ftmp5], %[src1], 0x00)
@@ -531,7 +531,7 @@ void ff_pred8x8_top_dc_8_mmi(uint8_t *src, ptrdiff_t stride)
 
     __asm__ volatile (
         "dli        %[tmp0],    0x02                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         PTR_SUBU   "%[addr0],   %[src],         %[stride]               \n\t"
         MMI_LDC1(%[ftmp1], %[addr0], 0x00)
         "punpcklbh  %[ftmp2],   %[ftmp1],       %[ftmp0]                \n\t"
@@ -641,7 +641,7 @@ void ff_pred8x8_dc_8_mmi(uint8_t *src, ptrdiff_t stride)
         PTR_SRL    "%[addr4],   0x02                                    \n\t"
         PTR_SRL    "%[addr1],   0x02                                    \n\t"
         PTR_SRL    "%[addr2],   0x03                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dmtc1      %[addr3],   %[ftmp1]                                \n\t"
         "pshufh     %[ftmp1],   %[ftmp1],       %[ftmp0]                \n\t"
         "dmtc1      %[addr4],   %[ftmp2]                                \n\t"
@@ -758,9 +758,9 @@ static inline void pred16x16_plane_compat_mmi(uint8_t *src, int stride,
         "dmtc1      %[tmp0],    %[ftmp4]                                \n\t"
         MMI_ULDC1(%[ftmp0], %[addr0], -0x01)
         MMI_ULDC1(%[ftmp2], %[addr0],  0x08)
-        "ssrld      %[ftmp1],   %[ftmp0],       %[ftmp4]                \n\t"
-        "ssrld      %[ftmp3],   %[ftmp2],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
+        "dsrl       %[ftmp1],   %[ftmp0],       %[ftmp4]                \n\t"
+        "dsrl       %[ftmp3],   %[ftmp2],       %[ftmp4]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
         "punpcklbh  %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
         "punpcklbh  %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
         "punpcklbh  %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
@@ -916,7 +916,7 @@ static inline void pred16x16_plane_compat_mmi(uint8_t *src, int stride,
         "dmul       %[tmp3],    %[tmp3],        %[tmp2]                 \n\t"
         "dsubu      %[tmp5],    %[tmp5],        %[tmp3]                 \n\t"
 
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
         "dmtc1      %[tmp0],    %[ftmp0]                                \n\t"
         "pshufh     %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
         "dmtc1      %[tmp1],    %[ftmp5]                                \n\t"
diff --git a/libavcodec/mips/h264qpel_mmi.c b/libavcodec/mips/h264qpel_mmi.c
index 3482956e13..99903a2258 100644
--- a/libavcodec/mips/h264qpel_mmi.c
+++ b/libavcodec/mips/h264qpel_mmi.c
@@ -114,7 +114,7 @@ static void put_h264_qpel4_h_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     DECLARE_VAR_LOW32;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x04                                    \n\t"
         "1:                                                             \n\t"
         MMI_ULWC1(%[ftmp1], %[src], -0x02)
@@ -169,7 +169,7 @@ static void put_h264_qpel8_h_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     DECLARE_VAR_ALL64;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x08                                    \n\t"
         "1:                                                             \n\t"
         MMI_ULDC1(%[ftmp1], %[src], -0x02)
@@ -250,7 +250,7 @@ static void avg_h264_qpel4_h_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     DECLARE_VAR_LOW32;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x04                                    \n\t"
         "1:                                                             \n\t"
         MMI_ULWC1(%[ftmp1], %[src], -0x02)
@@ -307,7 +307,7 @@ static void avg_h264_qpel8_h_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     DECLARE_VAR_ALL64;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x08                                    \n\t"
         "1:                                                             \n\t"
         MMI_ULDC1(%[ftmp1], %[src], -0x02)
@@ -394,7 +394,7 @@ static void put_h264_qpel4_v_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     __asm__ volatile (
         ".set       push                                                \n\t"
         ".set       noreorder                                           \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x02                                    \n\t"
         MMI_LWC1(%[ftmp1], %[src], 0x00)
         "mtc1       %[tmp0],    %[ftmp10]                               \n\t"
@@ -516,7 +516,7 @@ static void put_h264_qpel8_v_lowpass_mmi(uint8_t *dst, const uint8_t *src,
             PTR_ADDU   "%[src],     %[src],         %[srcStride]        \n\t"
             MMI_LWC1(%[ftmp2], %[src], 0x00)
             PTR_ADDU   "%[src],     %[src],         %[srcStride]        \n\t"
-            "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"
+            "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"
             MMI_LWC1(%[ftmp3], %[src], 0x00)
             PTR_ADDU   "%[src],     %[src],         %[srcStride]        \n\t"
             MMI_LWC1(%[ftmp4], %[src], 0x00)
@@ -812,7 +812,7 @@ static void avg_h264_qpel4_v_lowpass_mmi(uint8_t *dst, const uint8_t *src,
         ".set       push                                                \n\t"
         ".set       noreorder                                           \n\t"
         "dli        %[tmp0],    0x02                                    \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "mtc1       %[tmp0],    %[ftmp9]                                \n\t"
         "dli        %[tmp0],    0x05                                    \n\t"
         MMI_LWC1(%[ftmp0], %[src], 0x00)
@@ -930,7 +930,7 @@ static void avg_h264_qpel8_v_lowpass_mmi(uint8_t *dst, const uint8_t *src,
             ".set       push                                            \n\t"
             ".set       noreorder                                       \n\t"
             "dli        %[tmp0],    0x02                                \n\t"
-            "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"
+            "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"
             "mtc1       %[tmp0],    %[ftmp9]                            \n\t"
             "dli        %[tmp0],    0x05                                \n\t"
             MMI_LWC1(%[ftmp0], %[src], 0x00)
@@ -1269,7 +1269,7 @@ static void put_h264_qpel4_hv_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     src -= 2*srcStride;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x09                                    \n\t"
         "1:                                                             \n\t"
         MMI_ULWC1(%[ftmp1], %[src], -0x02)
@@ -1347,7 +1347,7 @@ static void put_h264_qpel8or16_hv1_lowpass_mmi(int16_t *tmp,
             MMI_ULWC1(%[ftmp0], %[src], 0x00)
             "mtc1       %[tmp0],    %[ftmp10]                           \n\t"
             PTR_ADDU   "%[src],     %[src],         %[srcStride]        \n\t"
-            "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"
+            "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"
             MMI_ULWC1(%[ftmp1], %[src], 0x00)
             PTR_ADDU   "%[src],     %[src],         %[srcStride]        \n\t"
             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,
         "dli        %[tmp0],    0x02                                    \n\t"
         "mtc1       %[tmp0],    %[ftmp7]                                \n\t"
         "dli        %[tmp0],    0x05                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "mtc1       %[tmp0],    %[ftmp8]                                \n\t"
         "1:                                                             \n\t"
         MMI_ULDC1(%[ftmp1], %[src], 0x00)
@@ -1833,7 +1833,7 @@ static void avg_h264_qpel4_hv_lowpass_mmi(uint8_t *dst, const uint8_t *src,
     src -= 2*srcStride;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "dli        %[tmp0],    0x09                                    \n\t"
         "1:                                                             \n\t"
         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,
         "ori        %[tmp0],    $0,             0x8                     \n\t"
         "mtc1       %[tmp1],    %[ftmp7]                                \n\t"
         "dli        %[tmp1],    0x05                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "mtc1       %[tmp1],    %[ftmp8]                                \n\t"
         "1:                                                             \n\t"
         MMI_ULDC1(%[ftmp1], %[src], 0x00)
diff --git a/libavcodec/mips/hevcdsp_mmi.c b/libavcodec/mips/hevcdsp_mmi.c
index 87fc2555a4..cb80ecae38 100644
--- a/libavcodec/mips/hevcdsp_mmi.c
+++ b/libavcodec/mips/hevcdsp_mmi.c
@@ -46,7 +46,7 @@ void ff_hevc_put_hevc_qpel_h##w##_8_mmi(int16_t *dst, uint8_t *_src,     \
         "punpcklbh    %[ftmp1],      %[ftmp0],      %[ftmp1]    \n\t"    \
         "psrah        %[ftmp1],      %[ftmp1],      %[ftmp0]    \n\t"    \
         "psrah        %[ftmp2],      %[ftmp2],      %[ftmp0]    \n\t"    \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"    \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"    \
                                                                          \
         "1:                                                     \n\t"    \
         "2:                                                     \n\t"    \
@@ -147,7 +147,7 @@ void ff_hevc_put_hevc_qpel_hv##w##_8_mmi(int16_t *dst, uint8_t *_src,    \
         "punpcklbh    %[ftmp1],      %[ftmp0],      %[ftmp1]    \n\t"    \
         "psrah        %[ftmp1],      %[ftmp1],      %[ftmp0]    \n\t"    \
         "psrah        %[ftmp2],      %[ftmp2],      %[ftmp0]    \n\t"    \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"    \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"    \
                                                                          \
         "1:                                                     \n\t"    \
         "2:                                                     \n\t"    \
@@ -346,7 +346,7 @@ void ff_hevc_put_hevc_qpel_bi_h##w##_8_mmi(uint8_t *_dst,               \
         "punpcklbh    %[ftmp1],      %[ftmp0],      %[ftmp1]    \n\t"   \
         "psrah        %[ftmp1],      %[ftmp1],      %[ftmp0]    \n\t"   \
         "psrah        %[ftmp2],      %[ftmp2],      %[ftmp0]    \n\t"   \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
         "punpcklhw    %[offset],     %[offset],     %[offset]   \n\t"   \
         "punpcklwd    %[offset],     %[offset],     %[offset]   \n\t"   \
                                                                         \
@@ -405,7 +405,7 @@ void ff_hevc_put_hevc_qpel_bi_h##w##_8_mmi(uint8_t *_dst,               \
         "psraw        %[ftmp6],      %[ftmp6],      %[shift]    \n\t"   \
         "packsswh     %[ftmp5],      %[ftmp5],      %[ftmp6]    \n\t"   \
         "pcmpgth      %[ftmp7],      %[ftmp5],      %[ftmp0]    \n\t"   \
-        "pand         %[ftmp3],      %[ftmp5],      %[ftmp7]    \n\t"   \
+        "and          %[ftmp3],      %[ftmp5],      %[ftmp7]    \n\t"   \
         "packushb     %[ftmp3],      %[ftmp3],      %[ftmp3]    \n\t"   \
         "gsswlc1      %[ftmp3],      0x03(%[dst])               \n\t"   \
         "gsswrc1      %[ftmp3],      0x00(%[dst])               \n\t"   \
@@ -484,7 +484,7 @@ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst,              \
         "punpcklbh    %[ftmp1],      %[ftmp0],      %[ftmp1]    \n\t"   \
         "psrah        %[ftmp1],      %[ftmp1],      %[ftmp0]    \n\t"   \
         "psrah        %[ftmp2],      %[ftmp2],      %[ftmp0]    \n\t"   \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
                                                                         \
         "1:                                                     \n\t"   \
         "2:                                                     \n\t"   \
@@ -616,7 +616,7 @@ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst,              \
         "packsswh     %[ftmp3],      %[ftmp3],      %[ftmp5]    \n\t"   \
         "gsldlc1      %[ftmp4],      0x07(%[src2])              \n\t"   \
         "gsldrc1      %[ftmp4],      0x00(%[src2])              \n\t"   \
-        "pxor         %[ftmp7],      %[ftmp7],      %[ftmp7]    \n\t"   \
+        "xor          %[ftmp7],      %[ftmp7],      %[ftmp7]    \n\t"   \
         "li           %[rtmp0],      0x10                       \n\t"   \
         "dmtc1        %[rtmp0],      %[ftmp8]                   \n\t"   \
         "punpcklhw    %[ftmp5],      %[ftmp7],      %[ftmp3]    \n\t"   \
@@ -635,7 +635,7 @@ void ff_hevc_put_hevc_qpel_bi_hv##w##_8_mmi(uint8_t *_dst,              \
         "psraw        %[ftmp6],      %[ftmp6],      %[shift]    \n\t"   \
         "packsswh     %[ftmp5],      %[ftmp5],      %[ftmp6]    \n\t"   \
         "pcmpgth      %[ftmp7],      %[ftmp5],      %[ftmp7]    \n\t"   \
-        "pand         %[ftmp3],      %[ftmp5],      %[ftmp7]    \n\t"   \
+        "and          %[ftmp3],      %[ftmp5],      %[ftmp7]    \n\t"   \
         "packushb     %[ftmp3],      %[ftmp3],      %[ftmp3]    \n\t"   \
         "gsswlc1      %[ftmp3],      0x03(%[dst])               \n\t"   \
         "gsswrc1      %[ftmp3],      0x00(%[dst])               \n\t"   \
@@ -712,7 +712,7 @@ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst,              \
         "dmtc1        %[rtmp0],      %[ftmp0]                   \n\t"   \
         "punpcklbh    %[ftmp1],      %[ftmp0],      %[ftmp1]    \n\t"   \
         "psrah        %[ftmp1],      %[ftmp1],      %[ftmp0]    \n\t"   \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
                                                                         \
         "1:                                                     \n\t"   \
         "2:                                                     \n\t"   \
@@ -777,7 +777,7 @@ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst,              \
         "li           %[rtmp0],      0x06                       \n\t"   \
         "dmtc1        %[rtmp0],      %[ftmp0]                   \n\t"   \
         "punpcklwd    %[offset],     %[offset],     %[offset]   \n\t"   \
-        "pxor         %[ftmp2],      %[ftmp2],      %[ftmp2]    \n\t"   \
+        "xor          %[ftmp2],      %[ftmp2],      %[ftmp2]    \n\t"   \
                                                                         \
         "1:                                                     \n\t"   \
         "li           %[x],        " #x_step "                  \n\t"   \
@@ -827,7 +827,7 @@ void ff_hevc_put_hevc_epel_bi_hv##w##_8_mmi(uint8_t *_dst,              \
         "psraw        %[ftmp6],      %[ftmp6],      %[shift]    \n\t"   \
         "packsswh     %[ftmp5],      %[ftmp5],      %[ftmp6]    \n\t"   \
         "pcmpgth      %[ftmp7],      %[ftmp5],      %[ftmp2]    \n\t"   \
-        "pand         %[ftmp3],      %[ftmp5],      %[ftmp7]    \n\t"   \
+        "and          %[ftmp3],      %[ftmp5],      %[ftmp7]    \n\t"   \
         "packushb     %[ftmp3],      %[ftmp3],      %[ftmp3]    \n\t"   \
         "gsswlc1      %[ftmp3],      0x03(%[dst])               \n\t"   \
         "gsswrc1      %[ftmp3],      0x00(%[dst])               \n\t"   \
@@ -889,7 +889,7 @@ void ff_hevc_put_hevc_pel_bi_pixels##w##_8_mmi(uint8_t *_dst,             \
     y = height;                                                           \
     x = width >> 3;                                                       \
     __asm__ volatile(                                                     \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"     \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"     \
         "li           %[rtmp0],      0x06                       \n\t"     \
         "dmtc1        %[rtmp0],      %[ftmp1]                   \n\t"     \
         "li           %[rtmp0],      0x10                       \n\t"     \
@@ -937,8 +937,8 @@ void ff_hevc_put_hevc_pel_bi_pixels##w##_8_mmi(uint8_t *_dst,             \
         "packsswh     %[ftmp4],      %[ftmp4],      %[ftmp5]    \n\t"     \
         "pcmpgth      %[ftmp3],      %[ftmp2],      %[ftmp0]    \n\t"     \
         "pcmpgth      %[ftmp5],      %[ftmp4],      %[ftmp0]    \n\t"     \
-        "pand         %[ftmp2],      %[ftmp2],      %[ftmp3]    \n\t"     \
-        "pand         %[ftmp4],      %[ftmp4],      %[ftmp5]    \n\t"     \
+        "and          %[ftmp2],      %[ftmp2],      %[ftmp3]    \n\t"     \
+        "and          %[ftmp4],      %[ftmp4],      %[ftmp5]    \n\t"     \
         "packushb     %[ftmp2],      %[ftmp2],      %[ftmp4]    \n\t"     \
         "gssdlc1      %[ftmp2],      0x07(%[dst])               \n\t"     \
         "gssdrc1      %[ftmp2],      0x00(%[dst])               \n\t"     \
@@ -1015,7 +1015,7 @@ void ff_hevc_put_hevc_qpel_uni_hv##w##_8_mmi(uint8_t *_dst,             \
         "punpcklbh    %[ftmp1],      %[ftmp0],      %[ftmp1]    \n\t"   \
         "psrah        %[ftmp1],      %[ftmp1],      %[ftmp0]    \n\t"   \
         "psrah        %[ftmp2],      %[ftmp2],      %[ftmp0]    \n\t"   \
-        "pxor         %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
+        "xor          %[ftmp0],      %[ftmp0],      %[ftmp0]    \n\t"   \
                                                                         \
         "1:                                                     \n\t"   \
         "2:                                                     \n\t"   \
@@ -1148,9 +1148,9 @@ void ff_hevc_put_hevc_qpel_uni_hv##w##_8_mmi(uint8_t *_dst,             \
         "packsswh     %[ftmp3],      %[ftmp3],      %[ftmp5]    \n\t"   \
         "paddh        %[ftmp3],      %[ftmp3],      %[offset]   \n\t"   \
         "psrah        %[ftmp3],      %[ftmp3],      %[shift]    \n\t"   \
-        "pxor         %[ftmp7],      %[ftmp7],      %[ftmp7]    \n\t"   \
+        "xor          %[ftmp7],      %[ftmp7],      %[ftmp7]    \n\t"   \
         "pcmpgth      %[ftmp7],      %[ftmp3],      %[ftmp7]    \n\t"   \
-        "pand         %[ftmp3],      %[ftmp3],      %[ftmp7]    \n\t"   \
+        "and          %[ftmp3],      %[ftmp3],      %[ftmp7]    \n\t"   \
         "packushb     %[ftmp3],      %[ftmp3],      %[ftmp3]    \n\t"   \
         "gsswlc1      %[ftmp3],      0x03(%[dst])               \n\t"   \
         "gsswrc1      %[ftmp3],      0x00(%[dst])               \n\t"   \
diff --git a/libavcodec/mips/hpeldsp_mmi.c b/libavcodec/mips/hpeldsp_mmi.c
index bf3e4636aa..e69b2bd980 100644
--- a/libavcodec/mips/hpeldsp_mmi.c
+++ b/libavcodec/mips/hpeldsp_mmi.c
@@ -676,14 +676,14 @@ inline void ff_put_no_rnd_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
         PTR_ADDU   "%[addr1],   %[src2],        %[src_stride2]          \n\t"
         MMI_ULDC1(%[ftmp3], %[addr1], 0x00)
         PTR_ADDU   "%[src1],    %[src1],        %[addr2]                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "pavgb      %[ftmp0],   %[ftmp0],       %[ftmp2]                \n\t"
         "pavgb      %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
         MMI_SDC1(%[ftmp0], %[dst], 0x00)
         MMI_SDXC1(%[ftmp1], %[dst], %[dst_stride], 0x00)
         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,
         PTR_ADDU   "%[addr1],   %[src2],        %[src_stride2]          \n\t"
         MMI_ULDC1(%[ftmp3], %[addr1], 0x00)
         PTR_ADDU   "%[src1],    %[src1],        %[addr2]                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "pavgb      %[ftmp0],   %[ftmp0],       %[ftmp2]                \n\t"
         "pavgb      %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
         MMI_SDC1(%[ftmp0], %[dst], 0x00)
         MMI_SDXC1(%[ftmp1], %[dst], %[dst_stride], 0x00)
         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,
     DECLARE_VAR_ADDRT;
 
     __asm__ volatile (
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "dli        %[addr0],   0x0f                                    \n\t"
         "pcmpeqw    %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "dmtc1      %[addr0],   %[ftmp8]                                \n\t"
diff --git a/libavcodec/mips/idctdsp_mmi.c b/libavcodec/mips/idctdsp_mmi.c
index d22e5eedd7..b97f91fac8 100644
--- a/libavcodec/mips/idctdsp_mmi.c
+++ b/libavcodec/mips/idctdsp_mmi.c
@@ -154,7 +154,7 @@ void ff_add_pixels_clamped_mmi(const int16_t *block,
     uint64_t tmp[1];
     __asm__ volatile (
         "li         %[tmp0],    0x04                           \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]           \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]           \n\t"
         "1:                                                    \n\t"
         MMI_LDC1(%[ftmp5], %[pixels], 0x00)
         PTR_ADDU   "%[pixels],  %[pixels],  %[line_size]       \n\t"
diff --git a/libavcodec/mips/mpegvideo_mmi.c b/libavcodec/mips/mpegvideo_mmi.c
index 3d5b5e20ab..fe01306466 100644
--- a/libavcodec/mips/mpegvideo_mmi.c
+++ b/libavcodec/mips/mpegvideo_mmi.c
@@ -54,13 +54,13 @@ void ff_dct_unquantize_h263_intra_mmi(MpegEncContext *s, int16_t *block,
         nCoeffs = s->inter_scantable.raster_end[s->block_last_index[n]];
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "packsswh   %[qmul],    %[qmul],        %[qmul]                 \n\t"
         "packsswh   %[qmul],    %[qmul],        %[qmul]                 \n\t"
         "packsswh   %[qadd],    %[qadd],        %[qadd]                 \n\t"
         "packsswh   %[qadd],    %[qadd],        %[qadd]                 \n\t"
         "psubh      %[ftmp0],   %[ftmp0],       %[qadd]                 \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
         ".p2align   4                                                   \n\t"
 
         "1:                                                             \n\t"
@@ -73,12 +73,12 @@ void ff_dct_unquantize_h263_intra_mmi(MpegEncContext *s, int16_t *block,
         "pmullh     %[ftmp2],   %[ftmp2],       %[qmul]                 \n\t"
         "pcmpgth    %[ftmp3],   %[ftmp3],       %[ftmp5]                \n\t"
         "pcmpgth    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
         "paddh      %[ftmp1],   %[ftmp1],       %[ftmp0]                \n\t"
         "paddh      %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp2]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp2]                \n\t"
         "pcmpeqh    %[ftmp1],   %[ftmp1],       %[ftmp0]                \n\t"
         "pcmpeqh    %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
         "pandn      %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
@@ -118,11 +118,11 @@ void ff_dct_unquantize_h263_inter_mmi(MpegEncContext *s, int16_t *block,
     __asm__ volatile (
         "packsswh   %[qmul],    %[qmul],        %[qmul]                 \n\t"
         "packsswh   %[qmul],    %[qmul],        %[qmul]                 \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "packsswh   %[qadd],    %[qadd],        %[qadd]                 \n\t"
         "packsswh   %[qadd],    %[qadd],        %[qadd]                 \n\t"
         "psubh      %[ftmp0],   %[ftmp0],       %[qadd]                 \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
         ".p2align   4                                                   \n\t"
         "1:                                                             \n\t"
         PTR_ADDU   "%[addr0],   %[block],       %[nCoeffs]              \n\t"
@@ -134,12 +134,12 @@ void ff_dct_unquantize_h263_inter_mmi(MpegEncContext *s, int16_t *block,
         "pmullh     %[ftmp2],   %[ftmp2],       %[qmul]                 \n\t"
         "pcmpgth    %[ftmp3],   %[ftmp3],       %[ftmp5]                \n\t"
         "pcmpgth    %[ftmp4],   %[ftmp4],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
         "paddh      %[ftmp1],   %[ftmp1],       %[ftmp0]                \n\t"
         "paddh      %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp2]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp1]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp2]                \n\t"
         "pcmpeqh    %[ftmp1],   %[ftmp1],       %[ftmp0]                \n\t"
         "pcmpeqh    %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
         "pandn      %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
@@ -203,18 +203,18 @@ void ff_dct_unquantize_mpeg1_intra_mmi(MpegEncContext *s, int16_t *block,
         MMI_LDXC1(%[ftmp7], %[addr0], %[quant], 0x08)
         "pmullh     %[ftmp6],   %[ftmp6],       %[ftmp1]                \n\t"
         "pmullh     %[ftmp7],   %[ftmp7],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp9],   %[ftmp9],       %[ftmp9]                \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
+        "xor        %[ftmp9],   %[ftmp9],       %[ftmp9]                \n\t"
         "pcmpgth    %[ftmp8],   %[ftmp8],       %[ftmp2]                \n\t"
         "pcmpgth    %[ftmp9],   %[ftmp9],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "pmullh     %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
         "pmullh     %[ftmp3],   %[ftmp3],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "pcmpeqh    %[ftmp6],   %[ftmp6],       %[ftmp4]                \n\t"
         "dli        %[tmp0],    0x03                                    \n\t"
         "pcmpeqh    %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
@@ -223,10 +223,10 @@ void ff_dct_unquantize_mpeg1_intra_mmi(MpegEncContext *s, int16_t *block,
         "psrah      %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
-        "por        %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
-        "por        %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
+        "or         %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
+        "or         %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "pandn      %[ftmp6],   %[ftmp6],       %[ftmp2]                \n\t"
@@ -289,12 +289,12 @@ void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block,
         MMI_LDXC1(%[ftmp7], %[addr0], %[quant], 0x08)
         "pmullh     %[ftmp6],   %[ftmp6],       %[ftmp1]                \n\t"
         "pmullh     %[ftmp7],   %[ftmp7],       %[ftmp1]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp9],   %[ftmp9],       %[ftmp9]                \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
+        "xor        %[ftmp9],   %[ftmp9],       %[ftmp9]                \n\t"
         "pcmpgth    %[ftmp8],   %[ftmp8],       %[ftmp2]                \n\t"
         "pcmpgth    %[ftmp9],   %[ftmp9],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "paddh      %[ftmp2],   %[ftmp2],       %[ftmp2]                \n\t"
@@ -303,8 +303,8 @@ void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block,
         "paddh      %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
         "pmullh     %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
         "pmullh     %[ftmp3],   %[ftmp3],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
         "pcmpeqh    %[ftmp6],   %[ftmp6],       %[ftmp4]                \n\t"
         "dli        %[tmp0],    0x04                                    \n\t"
         "pcmpeqh    %[ftmp7],   %[ftmp7],       %[ftmp5]                \n\t"
@@ -313,10 +313,10 @@ void ff_dct_unquantize_mpeg1_inter_mmi(MpegEncContext *s, int16_t *block,
         "psrah      %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
-        "por        %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
-        "por        %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
+        "or         %[ftmp2],   %[ftmp2],       %[ftmp0]                \n\t"
+        "or         %[ftmp3],   %[ftmp3],       %[ftmp0]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp9]                \n\t"
         "pandn      %[ftmp6],   %[ftmp6],       %[ftmp2]                \n\t"
@@ -388,26 +388,26 @@ void ff_dct_unquantize_mpeg2_intra_mmi(MpegEncContext *s, int16_t *block,
         MMI_LDXC1(%[ftmp6], %[addr0], %[quant], 0x08)
         "pmullh     %[ftmp5],   %[ftmp5],       %[ftmp9]                \n\t"
         "pmullh     %[ftmp6],   %[ftmp6],       %[ftmp9]                \n\t"
-        "pxor       %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
+        "xor        %[ftmp7],   %[ftmp7],       %[ftmp7]                \n\t"
+        "xor        %[ftmp8],   %[ftmp8],       %[ftmp8]                \n\t"
         "pcmpgth    %[ftmp7],   %[ftmp7],       %[ftmp1]                \n\t"
         "pcmpgth    %[ftmp8],   %[ftmp8],       %[ftmp2]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "psubh      %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "pmullh     %[ftmp1],   %[ftmp1],       %[ftmp5]                \n\t"
         "pmullh     %[ftmp2],   %[ftmp2],       %[ftmp6]                \n\t"
-        "pxor       %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
-        "pxor       %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
+        "xor        %[ftmp5],   %[ftmp5],       %[ftmp5]                \n\t"
+        "xor        %[ftmp6],   %[ftmp6],       %[ftmp6]                \n\t"
         "pcmpeqh    %[ftmp5],   %[ftmp5],       %[ftmp3]                \n\t"
         "dli        %[tmp0],    0x03                                    \n\t"
         "pcmpeqh    %[ftmp6] ,  %[ftmp6],       %[ftmp4]                \n\t"
         "mtc1       %[tmp0],    %[ftmp3]                                \n\t"
         "psrah      %[ftmp1],   %[ftmp1],       %[ftmp3]                \n\t"
         "psrah      %[ftmp2],   %[ftmp2],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "psubh      %[ftmp1],   %[ftmp1],       %[ftmp7]                \n\t"
         "psubh      %[ftmp2],   %[ftmp2],       %[ftmp8]                \n\t"
         "pandn      %[ftmp5],   %[ftmp5],       %[ftmp1]                \n\t"
@@ -447,16 +447,16 @@ void ff_denoise_dct_mmi(MpegEncContext *s, int16_t *block)
     s->dct_count[intra]++;
 
     __asm__ volatile(
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "1:                                                             \n\t"
         MMI_LDC1(%[ftmp1], %[block], 0x00)
-        "pxor       %[ftmp2],   %[ftmp2],       %[ftmp2]                \n\t"
+        "xor        %[ftmp2],   %[ftmp2],       %[ftmp2]                \n\t"
         MMI_LDC1(%[ftmp3], %[block], 0x08)
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
         "pcmpgth    %[ftmp2],   %[ftmp2],       %[ftmp1]                \n\t"
         "pcmpgth    %[ftmp4],   %[ftmp4],       %[ftmp3]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp2]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp2]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubh      %[ftmp1],   %[ftmp1],       %[ftmp2]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         MMI_LDC1(%[ftmp6], %[offset], 0x00)
@@ -465,8 +465,8 @@ void ff_denoise_dct_mmi(MpegEncContext *s, int16_t *block)
         MMI_LDC1(%[ftmp6], %[offset], 0x08)
         "mov.d      %[ftmp7],   %[ftmp3]                                \n\t"
         "psubush    %[ftmp3],   %[ftmp3],       %[ftmp6]                \n\t"
-        "pxor       %[ftmp1],   %[ftmp1],       %[ftmp2]                \n\t"
-        "pxor       %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
+        "xor        %[ftmp1],   %[ftmp1],       %[ftmp2]                \n\t"
+        "xor        %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         "psubh      %[ftmp1],   %[ftmp1],       %[ftmp2]                \n\t"
         "psubh      %[ftmp3],   %[ftmp3],       %[ftmp4]                \n\t"
         MMI_SDC1(%[ftmp1], %[block], 0x00)
diff --git a/libavcodec/mips/pixblockdsp_mmi.c b/libavcodec/mips/pixblockdsp_mmi.c
index 1230f5de88..a915a3c28b 100644
--- a/libavcodec/mips/pixblockdsp_mmi.c
+++ b/libavcodec/mips/pixblockdsp_mmi.c
@@ -33,7 +33,7 @@ void ff_get_pixels_8_mmi(int16_t *av_restrict block, const uint8_t *pixels,
     DECLARE_VAR_ADDRT;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
 
         MMI_LDC1(%[ftmp1], %[pixels], 0x00)
         MMI_LDXC1(%[ftmp2], %[pixels], %[stride], 0x00)
@@ -103,12 +103,12 @@ void ff_diff_pixels_mmi(int16_t *av_restrict block, const uint8_t *src1,
 
     __asm__ volatile (
         "li         %[tmp0],    0x08                                    \n\t"
-        "pxor       %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
+        "xor        %[ftmp4],   %[ftmp4],       %[ftmp4]                \n\t"
         "1:                                                             \n\t"
         MMI_LDC1(%[ftmp0], %[src1], 0x00)
-        "por        %[ftmp1],   %[ftmp0],       %[ftmp0]                \n\t"
+        "or         %[ftmp1],   %[ftmp0],       %[ftmp0]                \n\t"
         MMI_LDC1(%[ftmp2], %[src2], 0x00)
-        "por        %[ftmp3],   %[ftmp2],       %[ftmp2]                \n\t"
+        "or         %[ftmp3],   %[ftmp2],       %[ftmp2]                \n\t"
         "punpcklbh  %[ftmp0],   %[ftmp0],       %[ftmp4]                \n\t"
         "punpckhbh  %[ftmp1],   %[ftmp1],       %[ftmp4]                \n\t"
         "punpcklbh  %[ftmp2],   %[ftmp2],       %[ftmp4]                \n\t"
diff --git a/libavcodec/mips/simple_idct_mmi.c b/libavcodec/mips/simple_idct_mmi.c
index ad068a8251..e4b58dcfdd 100644
--- a/libavcodec/mips/simple_idct_mmi.c
+++ b/libavcodec/mips/simple_idct_mmi.c
@@ -133,7 +133,7 @@ void ff_simple_idct_8_mmi(int16_t *block)
         "psllh        $f28,     "#src1",    $f30                \n\t" \
         "dmtc1        $9,        $f31                           \n\t" \
         "punpcklhw    $f29,      $f28,      $f28                \n\t" \
-        "pand         $f29,      $f29,      $f31                \n\t" \
+        "and          $f29,      $f29,      $f31                \n\t" \
         "paddw        $f28,      $f28,      $f29                \n\t" \
         "punpcklwd   "#src1",    $f28,      $f28                \n\t" \
         "punpcklwd   "#src2",    $f28,      $f28                \n\t" \
@@ -268,9 +268,9 @@ void ff_simple_idct_8_mmi(int16_t *block)
         "punpcklwd    $f8,       $f27,      $f29                \n\t"
         "punpckhwd    $f12,      $f27,      $f29                \n\t"
 
-        "por          $f26,      $f2,       $f6                 \n\t"
-        "por          $f26,      $f26,      $f10                \n\t"
-        "por          $f26,      $f26,      $f14                \n\t"
+        "or           $f26,      $f2,       $f6                 \n\t"
+        "or           $f26,      $f26,      $f10                \n\t"
+        "or           $f26,      $f26,      $f14                \n\t"
         "dmfc1        $10,       $f26                           \n\t"
         "bnez         $10,       1f                             \n\t"
         /* 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)
         "punpcklwd    $f9,       $f27,      $f29                \n\t"
         "punpckhwd    $f13,      $f27,      $f29                \n\t"
 
-        "por          $f26,      $f3,       $f7                 \n\t"
-        "por          $f26,      $f26,      $f11                \n\t"
-        "por          $f26,      $f26,      $f15                \n\t"
+        "or           $f26,      $f3,       $f7                 \n\t"
+        "or           $f26,      $f26,      $f11                \n\t"
+        "or           $f26,      $f26,      $f15                \n\t"
         "dmfc1        $10,       $f26                           \n\t"
         "bnez         $10,       1f                             \n\t"
         /* case1: In this case, row[1,3,5,7] are all zero */
diff --git a/libavcodec/mips/vc1dsp_mmi.c b/libavcodec/mips/vc1dsp_mmi.c
index 27a3c813da..af2118371d 100644
--- a/libavcodec/mips/vc1dsp_mmi.c
+++ b/libavcodec/mips/vc1dsp_mmi.c
@@ -136,7 +136,7 @@ void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo
     dc_u.i = dc;
 
     __asm__ volatile(
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "pshufh     %[dc],      %[dc],          %[ftmp0]                \n\t"
         "li         %[count],   0x02                                    \n\t"
 
@@ -426,7 +426,7 @@ void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo
     dc_u.i = dc;
 
     __asm__ volatile(
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "pshufh     %[dc],      %[dc],          %[ftmp0]                \n\t"
 
         MMI_LDC1(%[ftmp1], %[dest0], 0x00)
@@ -704,7 +704,7 @@ void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
         MMI_LWC1(%[ftmp3], %[tmp0], 0x00)
         PTR_ADDU    "%[tmp0],   %[tmp0],    %[linesize]                 \n\t"
         MMI_LWC1(%[ftmp4], %[tmp0], 0x00)
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp1],   %[ftmp1],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp2],   %[ftmp2],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp3],   %[ftmp3],   %[ftmp0]                    \n\t"
@@ -828,7 +828,7 @@ void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
         MMI_LWC1(%[ftmp3], %[tmp0], 0x04)
         PTR_ADDU    "%[tmp0],   %[tmp0],    %[linesize]                 \n\t"
         MMI_LWC1(%[ftmp4], %[tmp0], 0x04)
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp1],   %[ftmp1],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp2],   %[ftmp2],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp3],   %[ftmp3],   %[ftmp0]                    \n\t"
@@ -878,7 +878,7 @@ void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *blo
     dc_u.i = dc;
 
     __asm__ volatile(
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "pshufh     %[dc],      %[dc],          %[ftmp0]                \n\t"
 
         MMI_LWC1(%[ftmp1], %[dest0], 0x00)
@@ -1056,7 +1056,7 @@ void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
         MMI_LWC1(%[ftmp7], %[tmp0], 0x00)
         PTR_ADDU  "%[tmp0],   %[tmp0],    %[linesize]                 \n\t"
         MMI_LWC1(%[ftmp8], %[tmp0], 0x00)
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp1],   %[ftmp1],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp2],   %[ftmp2],   %[ftmp0]                    \n\t"
         "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
     dc_u.i = dc;
 
     __asm__ volatile(
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]                \n\t"
         "pshufh     %[dc],      %[dc],          %[ftmp0]                \n\t"
 
         MMI_LWC1(%[ftmp1], %[dest0], 0x00)
@@ -1337,7 +1337,7 @@ void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
         MMI_LWC1(%[ftmp3], %[tmp0], 0x00)
         PTR_ADDU    "%[tmp0],   %[tmp0],    %[linesize]                 \n\t"
         MMI_LWC1(%[ftmp4], %[tmp0], 0x00)
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp1],   %[ftmp1],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp2],   %[ftmp2],   %[ftmp0]                    \n\t"
         "punpcklbh  %[ftmp3],   %[ftmp3],   %[ftmp0]                    \n\t"
@@ -1664,7 +1664,7 @@ static void vc1_put_ver_16b_shift2_mmi(int16_t *dst,
     shift_u.i = shift;
 
     __asm__ volatile(
-        "pxor       $f0,    $f0,    $f0             \n\t"
+        "xor        $f0,    $f0,    $f0             \n\t"
         "li         $8,     0x03                    \n\t"
         LOAD_ROUNDER_MMI("%[rnd]")
         "1:                                         \n\t"
@@ -1768,7 +1768,7 @@ static void OPNAME ## vc1_shift2_mmi(uint8_t *dst, const uint8_t *src,      \
     rnd = 8 - rnd;                                                          \
                                                                             \
     __asm__ volatile(                                                       \
-        "pxor       $f0,    $f0,    $f0             \n\t"                   \
+        "xor        $f0,    $f0,    $f0             \n\t"                   \
         "li         $10,    0x08                    \n\t"                   \
         LOAD_ROUNDER_MMI("%[rnd]")                                          \
         "1:                                         \n\t"                   \
@@ -1896,7 +1896,7 @@ vc1_put_ver_16b_ ## NAME ## _mmi(int16_t *dst, const uint8_t *src,          \
     src -= src_stride;                                                      \
                                                                             \
     __asm__ volatile(                                                       \
-        "pxor       $f0,    $f0,    $f0             \n\t"                   \
+        "xor        $f0,    $f0,    $f0             \n\t"                   \
         LOAD_ROUNDER_MMI("%[rnd]")                                          \
         ".p2align 3                                 \n\t"                   \
         "1:                                         \n\t"                   \
@@ -1969,7 +1969,7 @@ OPNAME ## vc1_hor_16b_ ## NAME ## _mmi(uint8_t *dst, mips_reg stride,       \
     rnd -= (-4+58+13-3)*256; /* Add -256 bias */                            \
                                                                             \
     __asm__ volatile(                                                       \
-        "pxor       $f0,    $f0,    $f0             \n\t"                   \
+        "xor        $f0,    $f0,    $f0             \n\t"                   \
         LOAD_ROUNDER_MMI("%[rnd]")                                          \
         ".p2align 3                                 \n\t"                   \
         "1:                                         \n\t"                   \
@@ -2017,7 +2017,7 @@ OPNAME ## vc1_## NAME ## _mmi(uint8_t *dst, const uint8_t *src,             \
     rnd = 32-rnd;                                                           \
                                                                             \
     __asm__ volatile (                                                      \
-        "pxor       $f0,    $f0,    $f0             \n\t"                   \
+        "xor        $f0,    $f0,    $f0             \n\t"                   \
         LOAD_ROUNDER_MMI("%[rnd]")                                          \
         ".p2align 3                                 \n\t"                   \
         "1:                                         \n\t"                   \
@@ -2252,7 +2252,7 @@ void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
 
     __asm__ volatile(
         "li         %[tmp0],    0x06                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "mtc1       %[tmp0],    %[ftmp9]                                \n\t"
         "pshufh     %[A],       %[A],       %[ftmp0]                    \n\t"
         "pshufh     %[B],       %[B],       %[ftmp0]                    \n\t"
@@ -2308,7 +2308,7 @@ void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
 
     __asm__ volatile(
         "li         %[tmp0],    0x06                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "mtc1       %[tmp0],    %[ftmp5]                                \n\t"
         "pshufh     %[A],       %[A],       %[ftmp0]                    \n\t"
         "pshufh     %[B],       %[B],       %[ftmp0]                    \n\t"
@@ -2362,7 +2362,7 @@ void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
 
     __asm__ volatile(
         "li         %[tmp0],    0x06                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "mtc1       %[tmp0],    %[ftmp9]                                \n\t"
         "pshufh     %[A],       %[A],       %[ftmp0]                    \n\t"
         "pshufh     %[B],       %[B],       %[ftmp0]                    \n\t"
@@ -2421,7 +2421,7 @@ void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
 
     __asm__ volatile(
         "li         %[tmp0],    0x06                                    \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
         "mtc1       %[tmp0],    %[ftmp5]                                \n\t"
         "pshufh     %[A],       %[A],       %[ftmp0]                    \n\t"
         "pshufh     %[B],       %[B],       %[ftmp0]                    \n\t"
diff --git a/libavcodec/mips/vp3dsp_idct_mmi.c b/libavcodec/mips/vp3dsp_idct_mmi.c
index 0d4cba19ec..c5c4cf3127 100644
--- a/libavcodec/mips/vp3dsp_idct_mmi.c
+++ b/libavcodec/mips/vp3dsp_idct_mmi.c
@@ -34,7 +34,7 @@ static void idct_row_mmi(int16_t *input)
     double ftmp[23];
     uint64_t tmp[2];
     __asm__ volatile (
-        "pxor       %[ftmp10],      %[ftmp10],        %[ftmp10] \n\t"
+        "xor        %[ftmp10],      %[ftmp10],        %[ftmp10] \n\t"
         LOAD_CONST(%[csth_1], 1)
         "li         %[tmp0],        0x02                        \n\t"
         "1:                                                     \n\t"
@@ -51,14 +51,14 @@ static void idct_row_mmi(int16_t *input)
         LOAD_CONST(%[ftmp9], 12785)
         "pmulhh     %[A],           %[ftmp9],         %[ftmp7]  \n\t"
         "pcmpgth    %[C],           %[ftmp10],        %[ftmp1]  \n\t"
-        "por        %[mask],        %[C],             %[csth_1] \n\t"
+        "or         %[mask],        %[C],             %[csth_1] \n\t"
         "pmullh     %[B],           %[ftmp1],         %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],         %[B]      \n\t"
         "pmullh     %[B],           %[B],             %[mask]   \n\t"
         "paddh      %[A],           %[A],             %[B]      \n\t"
         "paddh      %[A],           %[A],             %[C]      \n\t"
         "pcmpgth    %[D],           %[ftmp10],        %[ftmp7]  \n\t"
-        "por        %[mask],        %[D],             %[csth_1] \n\t"
+        "or         %[mask],        %[D],             %[csth_1] \n\t"
         "pmullh     %[ftmp7],       %[ftmp7],         %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],         %[ftmp7]  \n\t"
         "pmullh     %[B],           %[B],             %[mask]   \n\t"
@@ -69,12 +69,12 @@ static void idct_row_mmi(int16_t *input)
         LOAD_CONST(%[ftmp8], 54491)
         LOAD_CONST(%[ftmp9], 36410)
         "pcmpgth    %[Ad],          %[ftmp10],        %[ftmp5]  \n\t"
-        "por        %[mask],        %[Ad],            %[csth_1] \n\t"
+        "or         %[mask],        %[Ad],            %[csth_1] \n\t"
         "pmullh     %[ftmp1],       %[ftmp5],         %[mask]   \n\t"
         "pmulhuh    %[C],           %[ftmp9],         %[ftmp1]  \n\t"
         "pmullh     %[C],           %[C],             %[mask]   \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],        %[ftmp3]  \n\t"
-        "por        %[mask],        %[Bd],            %[csth_1] \n\t"
+        "or         %[mask],        %[Bd],            %[csth_1] \n\t"
         "pmullh     %[D],           %[ftmp3],         %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp8],         %[D]      \n\t"
         "pmullh     %[D],           %[D],             %[mask]   \n\t"
@@ -82,12 +82,12 @@ static void idct_row_mmi(int16_t *input)
         "paddh      %[C],           %[C],             %[Ad]     \n\t"
         "paddh      %[C],           %[C],             %[Bd]     \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],        %[ftmp3]  \n\t"
-        "por        %[mask],        %[Bd],            %[csth_1] \n\t"
+        "or         %[mask],        %[Bd],            %[csth_1] \n\t"
         "pmullh     %[ftmp1],       %[ftmp3],         %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp9],         %[ftmp1]  \n\t"
         "pmullh     %[D],           %[D],             %[mask]   \n\t"
         "pcmpgth    %[Ed],          %[ftmp10],        %[ftmp5]  \n\t"
-        "por        %[mask],        %[Ed],            %[csth_1] \n\t"
+        "or         %[mask],        %[Ed],            %[csth_1] \n\t"
         "pmullh     %[Ad],          %[ftmp5],         %[mask]   \n\t"
         "pmulhuh    %[Ad],          %[ftmp8],         %[Ad]     \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]   \n\t"
@@ -98,14 +98,14 @@ static void idct_row_mmi(int16_t *input)
         LOAD_CONST(%[ftmp8], 46341)
         "psubh      %[Ad],          %[A],             %[C]      \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],        %[Ad]     \n\t"
-        "por        %[mask],        %[Bd],            %[csth_1] \n\t"
+        "or         %[mask],        %[Bd],            %[csth_1] \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]   \n\t"
         "pmulhuh    %[Ad],          %[ftmp8],         %[Ad]     \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]   \n\t"
         "paddh      %[Ad],          %[Ad],            %[Bd]     \n\t"
         "psubh      %[Bd],          %[B],             %[D]      \n\t"
         "pcmpgth    %[Cd],          %[ftmp10],        %[Bd]     \n\t"
-        "por        %[mask],        %[Cd],            %[csth_1] \n\t"
+        "or         %[mask],        %[Cd],            %[csth_1] \n\t"
         "pmullh     %[Bd],          %[Bd],            %[mask]   \n\t"
         "pmulhuh    %[Bd],          %[ftmp8],         %[Bd]     \n\t"
         "pmullh     %[Bd],          %[Bd],            %[mask]   \n\t"
@@ -114,14 +114,14 @@ static void idct_row_mmi(int16_t *input)
         "paddh      %[Dd],          %[B],             %[D]      \n\t"
         "paddh      %[A],           %[ftmp0],         %[ftmp4]  \n\t"
         "pcmpgth    %[B],           %[ftmp10],        %[A]      \n\t"
-        "por        %[mask],        %[B],             %[csth_1] \n\t"
+        "or         %[mask],        %[B],             %[csth_1] \n\t"
         "pmullh     %[A],           %[A],             %[mask]   \n\t"
         "pmulhuh    %[A],           %[ftmp8],         %[A]      \n\t"
         "pmullh     %[A],           %[A],             %[mask]   \n\t"
         "paddh      %[A],           %[A],             %[B]      \n\t"
         "psubh      %[B],           %[ftmp0],         %[ftmp4]  \n\t"
         "pcmpgth    %[C],           %[ftmp10],        %[B]      \n\t"
-        "por        %[mask],        %[C],             %[csth_1] \n\t"
+        "or         %[mask],        %[C],             %[csth_1] \n\t"
         "pmullh     %[B],           %[B],             %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],         %[B]      \n\t"
         "pmullh     %[B],           %[B],             %[mask]   \n\t"
@@ -131,14 +131,14 @@ static void idct_row_mmi(int16_t *input)
         LOAD_CONST(%[ftmp9], 25080)
         "pmulhh     %[C],           %[ftmp9],         %[ftmp6]  \n\t"
         "pcmpgth    %[D],           %[ftmp10],        %[ftmp2]  \n\t"
-        "por        %[mask],        %[D],             %[csth_1] \n\t"
+        "or         %[mask],        %[D],             %[csth_1] \n\t"
         "pmullh     %[Ed],          %[ftmp2],         %[mask]   \n\t"
         "pmulhuh    %[Ed],          %[ftmp8],         %[Ed]     \n\t"
         "pmullh     %[Ed],          %[Ed],            %[mask]   \n\t"
         "paddh      %[C],           %[C],             %[Ed]     \n\t"
         "paddh      %[C],           %[C],             %[D]      \n\t"
         "pcmpgth    %[Ed],          %[ftmp10],        %[ftmp6]  \n\t"
-        "por        %[mask],        %[Ed],            %[csth_1] \n\t"
+        "or         %[mask],        %[Ed],            %[csth_1] \n\t"
         "pmullh     %[ftmp6],       %[ftmp6],         %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp8],         %[ftmp6]  \n\t"
         "pmullh     %[D],           %[D],             %[mask]   \n\t"
@@ -193,7 +193,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
     for (int i = 0; i < 8; ++i)
         temp_value[i] = av_clip_uint8(128 + ((46341 * input[i << 3] + (8 << 16)) >> 20));
     __asm__ volatile (
-        "pxor       %[ftmp10],      %[ftmp10],          %[ftmp10] \n\t"
+        "xor        %[ftmp10],      %[ftmp10],          %[ftmp10] \n\t"
         "li         %[tmp0],        0x02                          \n\t"
         "1:                                                       \n\t"
         "ldc1       %[ftmp0],       0x00(%[input])                \n\t"
@@ -213,14 +213,14 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[Gd], 1)
         "pmulhh     %[A],           %[ftmp9],           %[ftmp7]  \n\t"
         "pcmpgth    %[C],           %[ftmp10],          %[ftmp1]  \n\t"
-        "por        %[mask],        %[C],               %[Gd]     \n\t"
+        "or         %[mask],        %[C],               %[Gd]     \n\t"
         "pmullh     %[B],           %[ftmp1],           %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],           %[B]      \n\t"
         "pmullh     %[B],           %[B],               %[mask]   \n\t"
         "paddh      %[A],           %[A],               %[B]      \n\t"
         "paddh      %[A],           %[A],               %[C]      \n\t"
         "pcmpgth    %[D],           %[ftmp10],          %[ftmp7]  \n\t"
-        "por        %[mask],        %[D],               %[Gd]     \n\t"
+        "or         %[mask],        %[D],               %[Gd]     \n\t"
         "pmullh     %[Ad],          %[ftmp7],           %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],           %[Ad]     \n\t"
         "pmullh     %[B],           %[B],               %[mask]   \n\t"
@@ -231,12 +231,12 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[ftmp8], 54491)
         LOAD_CONST(%[ftmp9], 36410)
         "pcmpgth    %[Ad],          %[ftmp10],          %[ftmp5]  \n\t"
-        "por        %[mask],        %[Ad],              %[Gd]     \n\t"
+        "or         %[mask],        %[Ad],              %[Gd]     \n\t"
         "pmullh     %[Cd],          %[ftmp5],           %[mask]   \n\t"
         "pmulhuh    %[C],           %[ftmp9],           %[Cd]     \n\t"
         "pmullh     %[C],           %[C],               %[mask]   \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],          %[ftmp3]  \n\t"
-        "por        %[mask],        %[Bd],              %[Gd]     \n\t"
+        "or         %[mask],        %[Bd],              %[Gd]     \n\t"
         "pmullh     %[D],           %[ftmp3],           %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp8],           %[D]      \n\t"
         "pmullh     %[D],           %[D],               %[mask]   \n\t"
@@ -244,12 +244,12 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         "paddh      %[C],           %[C],               %[Ad]     \n\t"
         "paddh      %[C],           %[C],               %[Bd]     \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],          %[ftmp3]  \n\t"
-        "por        %[mask],        %[Bd],              %[Gd]     \n\t"
+        "or         %[mask],        %[Bd],              %[Gd]     \n\t"
         "pmullh     %[Cd],          %[ftmp3],           %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp9],           %[Cd]     \n\t"
         "pmullh     %[D],           %[D],               %[mask]   \n\t"
         "pcmpgth    %[Ed],          %[ftmp10],          %[ftmp5]  \n\t"
-        "por        %[mask],        %[Ed],              %[Gd]     \n\t"
+        "or         %[mask],        %[Ed],              %[Gd]     \n\t"
         "pmullh     %[Ad],          %[ftmp5],           %[mask]   \n\t"
         "pmulhuh    %[Ad],          %[ftmp8],           %[Ad]     \n\t"
         "pmullh     %[Ad],          %[Ad],              %[mask]   \n\t"
@@ -260,14 +260,14 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[ftmp8], 46341)
         "psubh      %[Ad],          %[A],             %[C]        \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],        %[Ad]       \n\t"
-        "por        %[mask],        %[Bd],            %[Gd]       \n\t"
+        "or         %[mask],        %[Bd],            %[Gd]       \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]     \n\t"
         "pmulhuh    %[Ad],          %[ftmp8],         %[Ad]       \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]     \n\t"
         "paddh      %[Ad],          %[Ad],            %[Bd]       \n\t"
         "psubh      %[Bd],          %[B],             %[D]        \n\t"
         "pcmpgth    %[Cd],          %[ftmp10],        %[Bd]       \n\t"
-        "por        %[mask],        %[Cd],            %[Gd]       \n\t"
+        "or         %[mask],        %[Cd],            %[Gd]       \n\t"
         "pmullh     %[Bd],          %[Bd],            %[mask]     \n\t"
         "pmulhuh    %[Bd],          %[ftmp8],         %[Bd]       \n\t"
         "pmullh     %[Bd],          %[Bd],            %[mask]     \n\t"
@@ -278,7 +278,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[Ed], 2056)
         "paddh      %[A],           %[ftmp0],         %[ftmp4]    \n\t"
         "pcmpgth    %[B],           %[ftmp10],        %[A]        \n\t"
-        "por        %[mask],        %[B],             %[Gd]       \n\t"
+        "or         %[mask],        %[B],             %[Gd]       \n\t"
         "pmullh     %[A],           %[A],             %[mask]     \n\t"
         "pmulhuh    %[A],           %[ftmp8],         %[A]        \n\t"
         "pmullh     %[A],           %[A],             %[mask]     \n\t"
@@ -286,7 +286,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         "paddh      %[A],           %[A],             %[Ed]       \n\t"
         "psubh      %[B],           %[ftmp0],         %[ftmp4]    \n\t"
         "pcmpgth    %[C],           %[ftmp10],        %[B]        \n\t"
-        "por        %[mask],        %[C],             %[Gd]       \n\t"
+        "or         %[mask],        %[C],             %[Gd]       \n\t"
         "pmullh     %[B],           %[B],             %[mask]     \n\t"
         "pmulhuh    %[B],           %[ftmp8],         %[B]        \n\t"
         "pmullh     %[B],           %[B],             %[mask]     \n\t"
@@ -297,14 +297,14 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[ftmp9], 25080)
         "pmulhh     %[C],           %[ftmp9],         %[ftmp6]    \n\t"
         "pcmpgth    %[D],           %[ftmp10],        %[ftmp2]    \n\t"
-        "por        %[mask],        %[D],             %[Gd]       \n\t"
+        "or         %[mask],        %[D],             %[Gd]       \n\t"
         "pmullh     %[Ed],          %[ftmp2],         %[mask]     \n\t"
         "pmulhuh    %[Ed],          %[ftmp8],         %[Ed]       \n\t"
         "pmullh     %[Ed],          %[Ed],            %[mask]     \n\t"
         "paddh      %[C],           %[C],             %[Ed]       \n\t"
         "paddh      %[C],           %[C],             %[D]        \n\t"
         "pcmpgth    %[Ed],          %[ftmp10],        %[ftmp6]    \n\t"
-        "por        %[mask],        %[Ed],            %[Gd]       \n\t"
+        "or         %[mask],        %[Ed],            %[Gd]       \n\t"
         "pmullh     %[D],           %[ftmp6],         %[mask]     \n\t"
         "pmulhuh    %[D],           %[ftmp8],         %[D]        \n\t"
         "pmullh     %[D],           %[D],             %[mask]     \n\t"
@@ -317,12 +317,12 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         "psubh      %[C],           %[B],             %[Ad]       \n\t"
         "psubh      %[B],           %[Bd],            %[D]        \n\t"
         "paddh      %[D],           %[Bd],            %[D]        \n\t"
-        "por        %[mask],        %[ftmp1],         %[ftmp2]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp3]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp4]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp5]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp6]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp7]    \n\t"
+        "or         %[mask],        %[ftmp1],         %[ftmp2]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp3]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp4]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp5]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp6]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp7]    \n\t"
         "pcmpeqh    %[mask],        %[mask],          %[ftmp10]   \n\t"
         "packushb   %[mask],        %[mask],          %[ftmp10]   \n\t"
         "li         %[tmp1],        0x04                          \n\t"
@@ -361,7 +361,7 @@ static void idct_column_true_mmi(uint8_t *dst, int stride, int16_t *input)
         "packushb   %[ftmp7],       %[ftmp7],         %[ftmp10]   \n\t"
 
         "lwc1       %[Ed],          0x00(%[temp_value])           \n\t"
-        "pand       %[Ed],          %[Ed],            %[mask]     \n\t"
+        "and        %[Ed],          %[Ed],            %[mask]     \n\t"
         "paddb      %[ftmp0],       %[ftmp0],         %[Ed]       \n\t"
         "paddb      %[ftmp1],       %[ftmp1],         %[Ed]       \n\t"
         "paddb      %[ftmp2],       %[ftmp2],         %[Ed]       \n\t"
@@ -412,7 +412,7 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
     for (int i = 0; i < 8; ++i)
         temp_value[i] = (46341 * input[i << 3] + (8 << 16)) >> 20;
     __asm__ volatile (
-        "pxor       %[ftmp10],      %[ftmp10],          %[ftmp10] \n\t"
+        "xor        %[ftmp10],      %[ftmp10],          %[ftmp10] \n\t"
         "li         %[tmp0],        0x02                          \n\t"
         "1:                                                       \n\t"
         "ldc1       %[ftmp0],       0x00(%[input])                \n\t"
@@ -432,14 +432,14 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[Gd], 1)
         "pmulhh     %[A],           %[ftmp9],           %[ftmp7]  \n\t"
         "pcmpgth    %[C],           %[ftmp10],          %[ftmp1]  \n\t"
-        "por        %[mask],        %[C],               %[Gd]     \n\t"
+        "or         %[mask],        %[C],               %[Gd]     \n\t"
         "pmullh     %[B],           %[ftmp1],           %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],           %[B]      \n\t"
         "pmullh     %[B],           %[B],               %[mask]   \n\t"
         "paddh      %[A],           %[A],               %[B]      \n\t"
         "paddh      %[A],           %[A],               %[C]      \n\t"
         "pcmpgth    %[D],           %[ftmp10],          %[ftmp7]  \n\t"
-        "por        %[mask],        %[D],               %[Gd]     \n\t"
+        "or         %[mask],        %[D],               %[Gd]     \n\t"
         "pmullh     %[Ad],          %[ftmp7],           %[mask]   \n\t"
         "pmulhuh    %[B],           %[ftmp8],           %[Ad]     \n\t"
         "pmullh     %[B],           %[B],               %[mask]   \n\t"
@@ -450,12 +450,12 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[ftmp8], 54491)
         LOAD_CONST(%[ftmp9], 36410)
         "pcmpgth    %[Ad],          %[ftmp10],          %[ftmp5]  \n\t"
-        "por        %[mask],        %[Ad],              %[Gd]     \n\t"
+        "or         %[mask],        %[Ad],              %[Gd]     \n\t"
         "pmullh     %[Cd],          %[ftmp5],           %[mask]   \n\t"
         "pmulhuh    %[C],           %[ftmp9],           %[Cd]     \n\t"
         "pmullh     %[C],           %[C],               %[mask]   \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],          %[ftmp3]  \n\t"
-        "por        %[mask],        %[Bd],              %[Gd]     \n\t"
+        "or         %[mask],        %[Bd],              %[Gd]     \n\t"
         "pmullh     %[D],           %[ftmp3],           %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp8],           %[D]      \n\t"
         "pmullh     %[D],           %[D],               %[mask]   \n\t"
@@ -463,12 +463,12 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         "paddh      %[C],           %[C],               %[Ad]     \n\t"
         "paddh      %[C],           %[C],               %[Bd]     \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],          %[ftmp3]  \n\t"
-        "por        %[mask],        %[Bd],              %[Gd]     \n\t"
+        "or         %[mask],        %[Bd],              %[Gd]     \n\t"
         "pmullh     %[Cd],          %[ftmp3],           %[mask]   \n\t"
         "pmulhuh    %[D],           %[ftmp9],           %[Cd]     \n\t"
         "pmullh     %[D],           %[D],               %[mask]   \n\t"
         "pcmpgth    %[Ed],          %[ftmp10],          %[ftmp5]  \n\t"
-        "por        %[mask],        %[Ed],              %[Gd]     \n\t"
+        "or         %[mask],        %[Ed],              %[Gd]     \n\t"
         "pmullh     %[Ad],          %[ftmp5],           %[mask]   \n\t"
         "pmulhuh    %[Ad],          %[ftmp8],           %[Ad]     \n\t"
         "pmullh     %[Ad],          %[Ad],              %[mask]   \n\t"
@@ -479,14 +479,14 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[ftmp8], 46341)
         "psubh      %[Ad],          %[A],             %[C]        \n\t"
         "pcmpgth    %[Bd],          %[ftmp10],        %[Ad]       \n\t"
-        "por        %[mask],        %[Bd],            %[Gd]       \n\t"
+        "or         %[mask],        %[Bd],            %[Gd]       \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]     \n\t"
         "pmulhuh    %[Ad],          %[ftmp8],         %[Ad]       \n\t"
         "pmullh     %[Ad],          %[Ad],            %[mask]     \n\t"
         "paddh      %[Ad],          %[Ad],            %[Bd]       \n\t"
         "psubh      %[Bd],          %[B],             %[D]        \n\t"
         "pcmpgth    %[Cd],          %[ftmp10],        %[Bd]       \n\t"
-        "por        %[mask],        %[Cd],            %[Gd]       \n\t"
+        "or         %[mask],        %[Cd],            %[Gd]       \n\t"
         "pmullh     %[Bd],          %[Bd],            %[mask]     \n\t"
         "pmulhuh    %[Bd],          %[ftmp8],         %[Bd]       \n\t"
         "pmullh     %[Bd],          %[Bd],            %[mask]     \n\t"
@@ -497,7 +497,7 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[Ed], 8)
         "paddh      %[A],           %[ftmp0],         %[ftmp4]    \n\t"
         "pcmpgth    %[B],           %[ftmp10],        %[A]        \n\t"
-        "por        %[mask],        %[B],             %[Gd]       \n\t"
+        "or         %[mask],        %[B],             %[Gd]       \n\t"
         "pmullh     %[A],           %[A],             %[mask]     \n\t"
         "pmulhuh    %[A],           %[ftmp8],         %[A]        \n\t"
         "pmullh     %[A],           %[A],             %[mask]     \n\t"
@@ -505,7 +505,7 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         "paddh      %[A],           %[A],             %[Ed]       \n\t"
         "psubh      %[B],           %[ftmp0],         %[ftmp4]    \n\t"
         "pcmpgth    %[C],           %[ftmp10],        %[B]        \n\t"
-        "por        %[mask],        %[C],             %[Gd]       \n\t"
+        "or         %[mask],        %[C],             %[Gd]       \n\t"
         "pmullh     %[B],           %[B],             %[mask]     \n\t"
         "pmulhuh    %[B],           %[ftmp8],         %[B]        \n\t"
         "pmullh     %[B],           %[B],             %[mask]     \n\t"
@@ -516,14 +516,14 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         LOAD_CONST(%[ftmp9], 25080)
         "pmulhh     %[C],           %[ftmp9],         %[ftmp6]    \n\t"
         "pcmpgth    %[D],           %[ftmp10],        %[ftmp2]    \n\t"
-        "por        %[mask],        %[D],             %[Gd]       \n\t"
+        "or         %[mask],        %[D],             %[Gd]       \n\t"
         "pmullh     %[Ed],          %[ftmp2],         %[mask]     \n\t"
         "pmulhuh    %[Ed],          %[ftmp8],         %[Ed]       \n\t"
         "pmullh     %[Ed],          %[Ed],            %[mask]     \n\t"
         "paddh      %[C],           %[C],             %[Ed]       \n\t"
         "paddh      %[C],           %[C],             %[D]        \n\t"
         "pcmpgth    %[Ed],          %[ftmp10],        %[ftmp6]    \n\t"
-        "por        %[mask],        %[Ed],            %[Gd]       \n\t"
+        "or         %[mask],        %[Ed],            %[Gd]       \n\t"
         "pmullh     %[D],           %[ftmp6],         %[mask]     \n\t"
         "pmulhuh    %[D],           %[ftmp8],         %[D]        \n\t"
         "pmullh     %[D],           %[D],             %[mask]     \n\t"
@@ -536,12 +536,12 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         "psubh      %[C],           %[B],             %[Ad]       \n\t"
         "psubh      %[B],           %[Bd],            %[D]        \n\t"
         "paddh      %[D],           %[Bd],            %[D]        \n\t"
-        "por        %[mask],        %[ftmp1],         %[ftmp2]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp3]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp4]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp5]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp6]    \n\t"
-        "por        %[mask],        %[mask],          %[ftmp7]    \n\t"
+        "or         %[mask],        %[ftmp1],         %[ftmp2]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp3]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp4]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp5]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp6]    \n\t"
+        "or         %[mask],        %[mask],          %[ftmp7]    \n\t"
         "pcmpeqh    %[mask],        %[mask],          %[ftmp10]   \n\t"
         "li         %[tmp1],        0x04                          \n\t"
         "dmtc1      %[tmp1],        %[ftmp8]                      \n\t"
@@ -587,16 +587,16 @@ static void idct_column_false_mmi(uint8_t *dst, int stride, int16_t *input)
         "punpcklbh  %[Cd],          %[Cd],            %[ftmp10]   \n\t"
         "punpcklbh  %[Dd],          %[Dd],            %[ftmp10]   \n\t"
         "ldc1       %[Ed],          0x00(%[temp_value])           \n\t"
-        "pand       %[Ed],          %[Ed],            %[mask]     \n\t"
-        "pnor       %[mask],        %[mask],          %[mask]     \n\t"
-        "pand       %[ftmp0],       %[ftmp0],         %[mask]     \n\t"
-        "pand       %[ftmp1],       %[ftmp1],         %[mask]     \n\t"
-        "pand       %[ftmp2],       %[ftmp2],         %[mask]     \n\t"
-        "pand       %[ftmp3],       %[ftmp3],         %[mask]     \n\t"
-        "pand       %[ftmp4],       %[ftmp4],         %[mask]     \n\t"
-        "pand       %[ftmp5],       %[ftmp5],         %[mask]     \n\t"
-        "pand       %[ftmp6],       %[ftmp6],         %[mask]     \n\t"
-        "pand       %[ftmp7],       %[ftmp7],         %[mask]     \n\t"
+        "and        %[Ed],          %[Ed],            %[mask]     \n\t"
+        "nor        %[mask],        %[mask],          %[mask]     \n\t"
+        "and        %[ftmp0],       %[ftmp0],         %[mask]     \n\t"
+        "and        %[ftmp1],       %[ftmp1],         %[mask]     \n\t"
+        "and        %[ftmp2],       %[ftmp2],         %[mask]     \n\t"
+        "and        %[ftmp3],       %[ftmp3],         %[mask]     \n\t"
+        "and        %[ftmp4],       %[ftmp4],         %[mask]     \n\t"
+        "and        %[ftmp5],       %[ftmp5],         %[mask]     \n\t"
+        "and        %[ftmp6],       %[ftmp6],         %[mask]     \n\t"
+        "and        %[ftmp7],       %[ftmp7],         %[mask]     \n\t"
         "paddh      %[ftmp0],       %[ftmp0],         %[A]        \n\t"
         "paddh      %[ftmp1],       %[ftmp1],         %[B]        \n\t"
         "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)
     double ftmp[7];
     uint64_t tmp;
     __asm__ volatile (
-        "pxor       %[ftmp0],     %[ftmp0],           %[ftmp0]      \n\t"
+        "xor        %[ftmp0],     %[ftmp0],           %[ftmp0]      \n\t"
         "mtc1       %[dc],        %[ftmp5]                          \n\t"
         "pshufh     %[ftmp5],     %[ftmp5],           %[ftmp0]      \n\t"
         "li         %[tmp0],      0x08                              \n\t"
@@ -734,10 +734,10 @@ void ff_put_no_rnd_pixels_l2_mmi(uint8_t *dst, const uint8_t *src1,
             "gsldrc1     %[ftmp1],       0x00(%[src1])                   \n\t"
             "gsldlc1     %[ftmp2],       0x07(%[src2])                   \n\t"
             "gsldrc1     %[ftmp2],       0x00(%[src2])                   \n\t"
-            "pxor        %[ftmp3],       %[ftmp1],             %[ftmp2]  \n\t"
-            "pand        %[ftmp3],       %[ftmp3],             %[ftmp4]  \n\t"
+            "xor         %[ftmp3],       %[ftmp1],             %[ftmp2]  \n\t"
+            "and         %[ftmp3],       %[ftmp3],             %[ftmp4]  \n\t"
             "psrlw       %[ftmp3],       %[ftmp3],             %[ftmp5]  \n\t"
-            "pand        %[ftmp6],       %[ftmp1],             %[ftmp2]  \n\t"
+            "and         %[ftmp6],       %[ftmp1],             %[ftmp2]  \n\t"
             "paddw       %[ftmp3],       %[ftmp3],             %[ftmp6]  \n\t"
             "sdc1        %[ftmp3],       0x00(%[dst])                    \n\t"
             PTR_ADDU    "%[src1],        %[src1],              %[stride] \n\t"
diff --git a/libavcodec/mips/vp8dsp_mmi.c b/libavcodec/mips/vp8dsp_mmi.c
index 327eaf561e..c36d2dfd15 100644
--- a/libavcodec/mips/vp8dsp_mmi.c
+++ b/libavcodec/mips/vp8dsp_mmi.c
@@ -38,10 +38,10 @@
         "pcmpeqb    %[db_1],    "#src1",        "#src2"             \n\t"   \
         "pmaxub     %[db_2],    "#src1",        "#src2"             \n\t"   \
         "pcmpeqb    %[db_2],    %[db_2],        "#src1"             \n\t"   \
-        "pxor       "#dst",     %[db_2],        %[db_1]             \n\t"
+        "xor        "#dst",     %[db_2],        %[db_1]             \n\t"
 
 #define MMI_BTOH(dst_l, dst_r, src)                                         \
-        "pxor       %[db_1],    %[db_1],        %[db_1]             \n\t"   \
+        "xor        %[db_1],    %[db_1],        %[db_1]             \n\t"   \
         "pcmpgtb    %[db_2],    %[db_1],        "#src"              \n\t"   \
         "punpcklbh  "#dst_r",   "#src",         %[db_2]             \n\t"   \
         "punpckhbh  "#dst_l",   "#src",         %[db_2]             \n\t"
@@ -84,17 +84,17 @@
         "punpcklwd  %[ftmp3],   %[ftmp3],       %[ftmp3]            \n\t"   \
         MMI_PCMPGTUB(%[mask], %[mask], %[ftmp3])                            \
         "pcmpeqw    %[ftmp3],   %[ftmp3],       %[ftmp3]            \n\t"   \
-        "pxor       %[mask],    %[mask],        %[ftmp3]            \n\t"   \
+        "xor        %[mask],    %[mask],        %[ftmp3]            \n\t"   \
         /* VP8_MBFILTER */                                                  \
         "li         %[tmp0],    0x80808080                          \n\t"   \
         "dmtc1      %[tmp0],    %[ftmp7]                            \n\t"   \
         "punpcklwd  %[ftmp7],   %[ftmp7],       %[ftmp7]            \n\t"   \
-        "pxor       %[p2],      %[p2],          %[ftmp7]            \n\t"   \
-        "pxor       %[p1],      %[p1],          %[ftmp7]            \n\t"   \
-        "pxor       %[p0],      %[p0],          %[ftmp7]            \n\t"   \
-        "pxor       %[q0],      %[q0],          %[ftmp7]            \n\t"   \
-        "pxor       %[q1],      %[q1],          %[ftmp7]            \n\t"   \
-        "pxor       %[q2],      %[q2],          %[ftmp7]            \n\t"   \
+        "xor        %[p2],      %[p2],          %[ftmp7]            \n\t"   \
+        "xor        %[p1],      %[p1],          %[ftmp7]            \n\t"   \
+        "xor        %[p0],      %[p0],          %[ftmp7]            \n\t"   \
+        "xor        %[q0],      %[q0],          %[ftmp7]            \n\t"   \
+        "xor        %[q1],      %[q1],          %[ftmp7]            \n\t"   \
+        "xor        %[q2],      %[q2],          %[ftmp7]            \n\t"   \
         "psubsb     %[ftmp4],   %[p1],          %[q1]               \n\t"   \
         "psubb      %[ftmp5],   %[q0],          %[p0]               \n\t"   \
         MMI_BTOH(%[ftmp1],  %[ftmp0],  %[ftmp5])                            \
@@ -109,8 +109,8 @@
         "paddh      %[ftmp1],   %[ftmp3],       %[ftmp1]            \n\t"   \
         /* Combine left and right part */                                   \
         "packsshb   %[ftmp1],   %[ftmp0],       %[ftmp1]            \n\t"   \
-        "pand       %[ftmp1],   %[ftmp1],       %[mask]             \n\t"   \
-        "pand       %[ftmp2],   %[ftmp1],       %[hev]              \n\t"   \
+        "and        %[ftmp1],   %[ftmp1],       %[mask]             \n\t"   \
+        "and        %[ftmp2],   %[ftmp1],       %[hev]              \n\t"   \
         "li         %[tmp0],    0x04040404                          \n\t"   \
         "dmtc1      %[tmp0],    %[ftmp0]                            \n\t"   \
         "punpcklwd  %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"   \
@@ -129,8 +129,8 @@
         "paddsb     %[p0],      %[p0],          %[ftmp4]            \n\t"   \
         /* filt_val &= ~hev */                                              \
         "pcmpeqw    %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"   \
-        "pxor       %[hev],     %[hev],         %[ftmp0]            \n\t"   \
-        "pand       %[ftmp1],   %[ftmp1],       %[hev]              \n\t"   \
+        "xor        %[hev],     %[hev],         %[ftmp0]            \n\t"   \
+        "and        %[ftmp1],   %[ftmp1],       %[hev]              \n\t"   \
         MMI_BTOH(%[ftmp5],  %[ftmp6],  %[ftmp1])                            \
         "li         %[tmp0],    0x07                                \n\t"   \
         "dmtc1      %[tmp0],    %[ftmp2]                            \n\t"   \
@@ -151,9 +151,9 @@
         /* Combine left and right part */                                   \
         "packsshb   %[ftmp4],   %[ftmp3],       %[ftmp4]            \n\t"   \
         "psubsb     %[q0],      %[q0],          %[ftmp4]            \n\t"   \
-        "pxor       %[q0],      %[q0],          %[ftmp7]            \n\t"   \
+        "xor        %[q0],      %[q0],          %[ftmp7]            \n\t"   \
         "paddsb     %[p0],      %[p0],          %[ftmp4]            \n\t"   \
-        "pxor       %[p0],      %[p0],          %[ftmp7]            \n\t"   \
+        "xor        %[p0],      %[p0],          %[ftmp7]            \n\t"   \
         "li         %[tmp0],    0x00120012                          \n\t"   \
         "dmtc1      %[tmp0],    %[ftmp1]                            \n\t"   \
         "punpcklwd  %[ftmp1],   %[ftmp1],       %[ftmp1]            \n\t"   \
@@ -168,9 +168,9 @@
         /* Combine left and right part */                                   \
         "packsshb   %[ftmp4],   %[ftmp3],       %[ftmp4]            \n\t"   \
         "psubsb     %[q1],      %[q1],          %[ftmp4]            \n\t"   \
-        "pxor       %[q1],      %[q1],          %[ftmp7]            \n\t"   \
+        "xor        %[q1],      %[q1],          %[ftmp7]            \n\t"   \
         "paddsb     %[p1],      %[p1],          %[ftmp4]            \n\t"   \
-        "pxor       %[p1],      %[p1],          %[ftmp7]            \n\t"   \
+        "xor        %[p1],      %[p1],          %[ftmp7]            \n\t"   \
         "li         %[tmp0],    0x03                                \n\t"   \
         "dmtc1      %[tmp0],    %[ftmp1]                            \n\t"   \
         /* Right part */                                                    \
@@ -186,9 +186,9 @@
         /* Combine left and right part */                                   \
         "packsshb   %[ftmp4],   %[ftmp3],       %[ftmp4]            \n\t"   \
         "psubsb     %[q2],      %[q2],          %[ftmp4]            \n\t"   \
-        "pxor       %[q2],      %[q2],          %[ftmp7]            \n\t"   \
+        "xor        %[q2],      %[q2],          %[ftmp7]            \n\t"   \
         "paddsb     %[p2],      %[p2],          %[ftmp4]            \n\t"   \
-        "pxor       %[p2],      %[p2],          %[ftmp7]            \n\t"
+        "xor        %[p2],      %[p2],          %[ftmp7]            \n\t"
 
 #define PUT_VP8_EPEL4_H6_MMI(src, dst)                                      \
         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])
     block[3][3][0] = (dc[12] - dc[15] + 3 - dc[13] + dc[14]) >> 3;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         MMI_SDC1(%[ftmp0], %[dc], 0x00)
         MMI_SDC1(%[ftmp0], %[dc], 0x08)
         MMI_SDC1(%[ftmp0], %[dc], 0x10)
@@ -1138,7 +1138,7 @@ void ff_vp8_idct_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride)
     ff_ph_22a3_u.i = 0x22a322a322a322a3ULL;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         MMI_LDC1(%[ftmp1], %[block], 0x00)
         MMI_LDC1(%[ftmp2], %[block], 0x08)
         MMI_LDC1(%[ftmp3], %[block], 0x10)
@@ -1304,7 +1304,7 @@ void ff_vp8_idct_dc_add_mmi(uint8_t *dst, int16_t block[16], ptrdiff_t stride)
     block[0] = 0;
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "mtc1       %[dc],      %[ftmp5]                            \n\t"
         MMI_LWC1(%[ftmp1], %[dst0], 0x00)
         MMI_LWC1(%[ftmp2], %[dst1], 0x00)
@@ -1628,7 +1628,7 @@ void ff_put_vp8_epel16_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     dst[15] = cm[(filter[2] * src[15] - filter[1] * src[14] + filter[3] * src[16] - filter[4] * src[17] + 64) >> 7];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -1704,7 +1704,7 @@ void ff_put_vp8_epel8_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     dst[7] = cm[(filter[2] * src[7] - filter[1] * src[ 6] + filter[3] * src[8] - filter[4] * src[9] + 64) >> 7];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -1769,7 +1769,7 @@ void ff_put_vp8_epel4_h4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     dst[3] = cm[(filter[2] * src[3] - filter[1] * src[ 2] + filter[3] * src[4] - filter[4] * src[5] + 64) >> 7];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -1850,7 +1850,7 @@ void ff_put_vp8_epel16_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -1930,7 +1930,7 @@ void ff_put_vp8_epel8_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2000,7 +2000,7 @@ void ff_put_vp8_epel4_h6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2078,7 +2078,7 @@ void ff_put_vp8_epel16_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2155,7 +2155,7 @@ void ff_put_vp8_epel8_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2222,7 +2222,7 @@ void ff_put_vp8_epel4_v4_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2304,7 +2304,7 @@ void ff_put_vp8_epel16_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2386,7 +2386,7 @@ void ff_put_vp8_epel8_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2458,7 +2458,7 @@ void ff_put_vp8_epel4_v6_mmi(uint8_t *dst, ptrdiff_t dststride, uint8_t *src,
     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];
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x07                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
 
@@ -2998,7 +2998,7 @@ void ff_put_vp8_bilinear16_h_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src,
     dst[15] = (a * src[15] + b * src[16] + 4) >> 3;
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x03                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
         "pshufh     %[a],       %[a],           %[ftmp0]            \n\t"
@@ -3067,7 +3067,7 @@ void ff_put_vp8_bilinear16_v_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src,
     dst[7] = (c * src[7] + d * src[7 + sstride] + 4) >> 3;
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x03                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
         "pshufh     %[c],       %[c],           %[ftmp0]            \n\t"
@@ -3170,7 +3170,7 @@ void ff_put_vp8_bilinear8_h_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src,
     dst[7] = (a * src[7] + b * src[8] + 4) >> 3;
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x03                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
         "pshufh     %[a],       %[a],           %[ftmp0]            \n\t"
@@ -3233,7 +3233,7 @@ void ff_put_vp8_bilinear8_v_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src,
     dst[7] = (c * src[7] + d * src[7 + sstride] + 4) >> 3;
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x03                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
         "pshufh     %[c],       %[c],           %[ftmp0]            \n\t"
@@ -3327,7 +3327,7 @@ void ff_put_vp8_bilinear4_h_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src,
     dst[3] = (a * src[3] + b * src[4] + 4) >> 3;
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x03                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
         "pshufh     %[a],       %[a],           %[ftmp0]            \n\t"
@@ -3387,7 +3387,7 @@ void ff_put_vp8_bilinear4_v_mmi(uint8_t *dst, ptrdiff_t dstride, uint8_t *src,
     dst[3] = (c * src[3] + d * src[3 + sstride] + 4) >> 3;
     */
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
+        "xor        %[ftmp0],   %[ftmp0],       %[ftmp0]            \n\t"
         "li         %[tmp0],    0x03                                \n\t"
         "mtc1       %[tmp0],    %[ftmp4]                            \n\t"
         "pshufh     %[c],       %[c],           %[ftmp0]            \n\t"
diff --git a/libavcodec/mips/vp9_mc_mmi.c b/libavcodec/mips/vp9_mc_mmi.c
index 812f7a6994..2fc2be7973 100644
--- a/libavcodec/mips/vp9_mc_mmi.c
+++ b/libavcodec/mips/vp9_mc_mmi.c
@@ -82,8 +82,13 @@ static void convolve_horiz_mmi(const uint8_t *src, int32_t src_stride,
     dst_stride -= w;
     __asm__ volatile (
         "move       %[tmp1],    %[width]                   \n\t"
+<<<<<<< HEAD
         "pxor       %[ftmp0],   %[ftmp0],    %[ftmp0]      \n\t"
         "gsldlc1    %[filter1], 0x07(%[filter])            \n\t"
+=======
+        "xor        %[ftmp0],   %[ftmp0],    %[ftmp0]      \n\t"
+        "gsldlc1    %[filter1], 0x03(%[filter])            \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
         "gsldrc1    %[filter1], 0x00(%[filter])            \n\t"
         "gsldlc1    %[filter2], 0x0f(%[filter])            \n\t"
         "gsldrc1    %[filter2], 0x08(%[filter])            \n\t"
@@ -157,8 +162,13 @@ static void convolve_vert_mmi(const uint8_t *src, int32_t src_stride,
     dst_stride -= w;
 
     __asm__ volatile (
+<<<<<<< HEAD
         "pxor       %[ftmp0],    %[ftmp0],   %[ftmp0]      \n\t"
         "gsldlc1    %[ftmp4],    0x07(%[filter])           \n\t"
+=======
+        "xor        %[ftmp0],    %[ftmp0],   %[ftmp0]      \n\t"
+        "gsldlc1    %[ftmp4],    0x03(%[filter])           \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
         "gsldrc1    %[ftmp4],    0x00(%[filter])           \n\t"
         "gsldlc1    %[ftmp5],    0x0f(%[filter])           \n\t"
         "gsldrc1    %[ftmp5],    0x08(%[filter])           \n\t"
@@ -253,8 +263,13 @@ static void convolve_avg_horiz_mmi(const uint8_t *src, int32_t src_stride,
 
     __asm__ volatile (
         "move       %[tmp1],    %[width]                   \n\t"
+<<<<<<< HEAD
         "pxor       %[ftmp0],   %[ftmp0],    %[ftmp0]      \n\t"
         "gsldlc1    %[filter1], 0x07(%[filter])            \n\t"
+=======
+        "xor        %[ftmp0],   %[ftmp0],    %[ftmp0]      \n\t"
+        "gsldlc1    %[filter1], 0x03(%[filter])            \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
         "gsldrc1    %[filter1], 0x00(%[filter])            \n\t"
         "gsldlc1    %[filter2], 0x0f(%[filter])            \n\t"
         "gsldrc1    %[filter2], 0x08(%[filter])            \n\t"
@@ -339,8 +354,13 @@ static void convolve_avg_vert_mmi(const uint8_t *src, int32_t src_stride,
     dst_stride -= w;
 
     __asm__ volatile (
+<<<<<<< HEAD
         "pxor       %[ftmp0],    %[ftmp0],   %[ftmp0]      \n\t"
         "gsldlc1    %[ftmp4],    0x07(%[filter])           \n\t"
+=======
+        "xor        %[ftmp0],    %[ftmp0],   %[ftmp0]      \n\t"
+        "gsldlc1    %[ftmp4],    0x03(%[filter])           \n\t"
+>>>>>>> parent of ebedd26eef (libavcodec/mips: Fix specification of instruction name)
         "gsldrc1    %[ftmp4],    0x00(%[filter])           \n\t"
         "gsldlc1    %[ftmp5],    0x0f(%[filter])           \n\t"
         "gsldrc1    %[ftmp5],    0x08(%[filter])           \n\t"
@@ -444,7 +464,7 @@ static void convolve_avg_mmi(const uint8_t *src, int32_t src_stride,
 
     __asm__ volatile (
         "move       %[tmp1],    %[width]                  \n\t"
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]      \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]      \n\t"
         "li         %[tmp0],    0x10001                   \n\t"
         "dmtc1      %[tmp0],    %[ftmp3]                  \n\t"
         "punpcklhw  %[ftmp3],   %[ftmp3],   %[ftmp3]      \n\t"
diff --git a/libavcodec/mips/wmv2dsp_mmi.c b/libavcodec/mips/wmv2dsp_mmi.c
index 1a6781ae77..82e16f929b 100644
--- a/libavcodec/mips/wmv2dsp_mmi.c
+++ b/libavcodec/mips/wmv2dsp_mmi.c
@@ -106,7 +106,7 @@ void ff_wmv2_idct_add_mmi(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
         wmv2_idct_col_mmi(block + i);
 
     __asm__ volatile (
-        "pxor       %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
+        "xor        %[ftmp0],   %[ftmp0],   %[ftmp0]                    \n\t"
 
         // low 4 loop
         MMI_LDC1(%[ftmp1], %[block], 0x00)
-- 
2.32.0



More information about the ffmpeg-devel mailing list