| Index: source/rotate.cc | 
| diff --git a/source/rotate.cc b/source/rotate.cc | 
| index 098fcf7c70e79484a944e000c1eb38a82ead1b61..bfd51421b3cbe299d36314e8fbc1b44dd33c6d89 100644 | 
| --- a/source/rotate.cc | 
| +++ b/source/rotate.cc | 
| @@ -62,6 +62,14 @@ void TransposePlane(const uint8* src, | 
| } | 
| } | 
| #endif | 
| +#if defined(HAS_TRANSPOSEWX8_MSA) | 
| +  if (TestCpuFlag(kCpuHasMSA)) { | 
| +    TransposeWx8 = TransposeWx8_Any_MSA; | 
| +    if (IS_ALIGNED(width, 16)) { | 
| +      TransposeWx8 = TransposeWx8_MSA; | 
| +    } | 
| +  } | 
| +#endif | 
|  | 
| // Work across the source in 8x8 tiles | 
| while (i >= 8) { | 
| @@ -232,6 +240,14 @@ void TransposeUV(const uint8* src, | 
| TransposeUVWx8 = TransposeUVWx8_DSPR2; | 
| } | 
| #endif | 
| +#if defined(HAS_TRANSPOSEUVWX8_MSA) | 
| +  if (TestCpuFlag(kCpuHasMSA)) { | 
| +    TransposeUVWx8 = TransposeUVWx8_Any_MSA; | 
| +    if (IS_ALIGNED(width, 8)) { | 
| +      TransposeUVWx8 = TransposeUVWx8_MSA; | 
| +    } | 
| +  } | 
| +#endif | 
|  | 
| // Work through the source in 8x8 tiles. | 
| while (i >= 8) { | 
|  |