| Index: source/row_gcc.cc
|
| diff --git a/source/row_gcc.cc b/source/row_gcc.cc
|
| index a6df00264b07bfed22b6a0ec8a315b0e30bfbde9..4aacca3d0e69c8559cadd60ee6ccbdbbdc0eef8a 100644
|
| --- a/source/row_gcc.cc
|
| +++ b/source/row_gcc.cc
|
| @@ -1570,7 +1570,6 @@ void OMITFP I422ToRGB24Row_SSSE3(const uint8* y_buf,
|
| [u_buf]"+r"(u_buf), // %[u_buf]
|
| [v_buf]"+r"(v_buf), // %[v_buf]
|
| [dst_rgb24]"+r"(dst_rgb24), // %[dst_rgb24]
|
| -// TODO(fbarchard): Make width a register for 32 bit.
|
| #if defined(__i386__) && defined(__pic__)
|
| [width]"+m"(width) // %[width]
|
| #else
|
| @@ -1615,7 +1614,6 @@ void OMITFP I422ToRAWRow_SSSE3(const uint8* y_buf,
|
| [u_buf]"+r"(u_buf), // %[u_buf]
|
| [v_buf]"+r"(v_buf), // %[v_buf]
|
| [dst_raw]"+r"(dst_raw), // %[dst_raw]
|
| -// TODO(fbarchard): Make width a register for 32 bit.
|
| #if defined(__i386__) && defined(__pic__)
|
| [width]"+m"(width) // %[width]
|
| #else
|
| @@ -1670,14 +1668,18 @@ void OMITFP I422AlphaToARGBRow_SSSE3(const uint8* y_buf,
|
| READYUVA422
|
| YUVTORGB(yuvconstants)
|
| STOREARGB
|
| - "sub $0x8,%[width] \n"
|
| + "subl $0x8,%[width] \n"
|
| "jg 1b \n"
|
| : [y_buf]"+r"(y_buf), // %[y_buf]
|
| [u_buf]"+r"(u_buf), // %[u_buf]
|
| [v_buf]"+r"(v_buf), // %[v_buf]
|
| [a_buf]"+r"(a_buf), // %[a_buf]
|
| [dst_argb]"+r"(dst_argb), // %[dst_argb]
|
| +#if defined(__i386__) && defined(__pic__)
|
| + [width]"+m"(width) // %[width]
|
| +#else
|
| [width]"+rm"(width) // %[width]
|
| +#endif
|
| : [yuvconstants]"r"(yuvconstants) // %[yuvconstants]
|
| : "memory", "cc", NACL_R14
|
| "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
|
| @@ -1698,14 +1700,18 @@ void OMITFP I422AlphaToABGRRow_SSSE3(const uint8* y_buf,
|
| READYUVA422
|
| YUVTORGB(yuvconstants)
|
| STOREABGR
|
| - "sub $0x8,%[width] \n"
|
| + "subl $0x8,%[width] \n"
|
| "jg 1b \n"
|
| : [y_buf]"+r"(y_buf), // %[y_buf]
|
| [u_buf]"+r"(u_buf), // %[u_buf]
|
| [v_buf]"+r"(v_buf), // %[v_buf]
|
| [a_buf]"+r"(a_buf), // %[a_buf]
|
| [dst_abgr]"+r"(dst_abgr), // %[dst_abgr]
|
| +#if defined(__i386__) && defined(__pic__)
|
| + [width]"+m"(width) // %[width]
|
| +#else
|
| [width]"+rm"(width) // %[width]
|
| +#endif
|
| : [yuvconstants]"r"(yuvconstants) // %[yuvconstants]
|
| : "memory", "cc", NACL_R14
|
| "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
|
| @@ -2088,7 +2094,7 @@ void OMITFP I422AlphaToARGBRow_AVX2(const uint8* y_buf,
|
| READYUVA422_AVX2
|
| YUVTORGB_AVX2(yuvconstants)
|
| STOREARGB_AVX2
|
| - "sub $0x10,%[width] \n"
|
| + "subl $0x10,%[width] \n"
|
| "jg 1b \n"
|
| "vzeroupper \n"
|
| : [y_buf]"+r"(y_buf), // %[y_buf]
|
| @@ -2096,7 +2102,11 @@ void OMITFP I422AlphaToARGBRow_AVX2(const uint8* y_buf,
|
| [v_buf]"+r"(v_buf), // %[v_buf]
|
| [a_buf]"+r"(a_buf), // %[a_buf]
|
| [dst_argb]"+r"(dst_argb), // %[dst_argb]
|
| +#if defined(__i386__) && defined(__pic__)
|
| + [width]"+m"(width) // %[width]
|
| +#else
|
| [width]"+rm"(width) // %[width]
|
| +#endif
|
| : [yuvconstants]"r"(yuvconstants) // %[yuvconstants]
|
| : "memory", "cc", NACL_R14
|
| "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
|
| @@ -2121,7 +2131,7 @@ void OMITFP I422AlphaToABGRRow_AVX2(const uint8* y_buf,
|
| READYUVA422_AVX2
|
| YUVTORGB_AVX2(yuvconstants)
|
| STOREABGR_AVX2
|
| - "sub $0x10,%[width] \n"
|
| + "subl $0x10,%[width] \n"
|
| "jg 1b \n"
|
| "vzeroupper \n"
|
| : [y_buf]"+r"(y_buf), // %[y_buf]
|
| @@ -2129,7 +2139,11 @@ void OMITFP I422AlphaToABGRRow_AVX2(const uint8* y_buf,
|
| [v_buf]"+r"(v_buf), // %[v_buf]
|
| [a_buf]"+r"(a_buf), // %[a_buf]
|
| [dst_abgr]"+r"(dst_abgr), // %[dst_abgr]
|
| +#if defined(__i386__) && defined(__pic__)
|
| + [width]"+m"(width) // %[width]
|
| +#else
|
| [width]"+rm"(width) // %[width]
|
| +#endif
|
| : [yuvconstants]"r"(yuvconstants) // %[yuvconstants]
|
| : "memory", "cc", NACL_R14
|
| "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
|
|
|