| Index: source/row_neon64.cc
 | 
| diff --git a/source/row_neon64.cc b/source/row_neon64.cc
 | 
| index 2f0227cf06124f9461c02ed60e59659c01dde750..3ec6bab8c50886a31603a9da940f224b95103859 100644
 | 
| --- a/source/row_neon64.cc
 | 
| +++ b/source/row_neon64.cc
 | 
| @@ -2718,19 +2718,19 @@ void HalfFloat1Row_NEON(const uint16* src, uint16* dst, float, int width) {
 | 
|      "ld1        {v1.16b}, [%0], #16            \n"  // load 8 shorts
 | 
|      "subs       %w2, %w2, #8                   \n"  // 8 pixels per loop
 | 
|      "uxtl       v2.4s, v1.4h                   \n"  // 8 int's
 | 
| -    "uxtl2      v1.4s, v1.8h                   \n"
 | 
| +    "uxtl2      v3.4s, v1.8h                   \n"
 | 
|      "scvtf      v2.4s, v2.4s                   \n"  // 8 floats
 | 
| -    "scvtf      v1.4s, v1.4s                   \n"
 | 
| -    "fcvtn      v4.4h, v2.4s                   \n"  // 8 floatsgit
 | 
| -    "fcvtn2     v4.8h, v1.4s                   \n"
 | 
| +    "scvtf      v3.4s, v3.4s                   \n"
 | 
| +    "fcvtn      v1.4h, v2.4s                   \n"  // 8 floatsgit
 | 
| +    "fcvtn2     v1.8h, v3.4s                   \n"
 | 
|     MEMACCESS(1)
 | 
| -    "st1        {v4.16b}, [%1], #16            \n"  // store 8 shorts
 | 
| +    "st1        {v1.16b}, [%1], #16            \n"  // store 8 shorts
 | 
|      "b.gt       1b                             \n"
 | 
|    : "+r"(src),    // %0
 | 
|      "+r"(dst),    // %1
 | 
|      "+r"(width)   // %2
 | 
|    :
 | 
| -  : "cc", "memory", "v1", "v2", "v4"
 | 
| +  : "cc", "memory", "v1", "v2", "v3"
 | 
|    );
 | 
|  }
 | 
|  
 | 
| @@ -2741,21 +2741,21 @@ void HalfFloatRow_NEON(const uint16* src, uint16* dst, float scale, int width) {
 | 
|      "ld1        {v1.16b}, [%0], #16            \n"  // load 8 shorts
 | 
|      "subs       %w2, %w2, #8                   \n"  // 8 pixels per loop
 | 
|      "uxtl       v2.4s, v1.4h                   \n"  // 8 int's
 | 
| -    "uxtl2      v1.4s, v1.8h                   \n"
 | 
| +    "uxtl2      v3.4s, v1.8h                   \n"
 | 
|      "scvtf      v2.4s, v2.4s                   \n"  // 8 floats
 | 
| -    "scvtf      v1.4s, v1.4s                   \n"
 | 
| +    "scvtf      v3.4s, v3.4s                   \n"
 | 
|      "fmul       v2.4s, v2.4s, %3.s[0]          \n"  // adjust exponent
 | 
| -    "fmul       v1.4s, v1.4s, %3.s[0]          \n"
 | 
| -    "uqshrn     v4.4h, v2.4s, #13              \n"  // isolate halffloat
 | 
| -    "uqshrn2    v4.8h, v1.4s, #13              \n"
 | 
| +    "fmul       v3.4s, v3.4s, %3.s[0]          \n"
 | 
| +    "uqshrn     v1.4h, v2.4s, #13              \n"  // isolate halffloat
 | 
| +    "uqshrn2    v1.8h, v3.4s, #13              \n"
 | 
|     MEMACCESS(1)
 | 
| -    "st1        {v4.16b}, [%1], #16            \n"  // store 8 shorts
 | 
| +    "st1        {v1.16b}, [%1], #16            \n"  // store 8 shorts
 | 
|      "b.gt       1b                             \n"
 | 
|    : "+r"(src),    // %0
 | 
|      "+r"(dst),    // %1
 | 
|      "+r"(width)   // %2
 | 
|    : "w"(scale * 1.9259299444e-34f)    // %3
 | 
| -  : "cc", "memory", "v1", "v2", "v4"
 | 
| +  : "cc", "memory", "v1", "v2", "v3"
 | 
|    );
 | 
|  }
 | 
|  
 | 
| 
 |