From 1ccbf8fb7b1d84d37eabb26de933f841daf0ade7 Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Wed, 16 Dec 2015 17:13:37 -0800 Subject: [PATCH] use memory for loop counter to work around nearly out of registers TBR=harryjin@google.com BUG=libyuv:533 Review URL: https://codereview.chromium.org/1535433003 . --- source/row_gcc.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/row_gcc.cc b/source/row_gcc.cc index 959d0559a..0ccf76b30 100644 --- a/source/row_gcc.cc +++ b/source/row_gcc.cc @@ -1813,14 +1813,18 @@ void OMITFP I411ToARGBRow_SSSE3(const uint8* y_buf, READYUV411_TEMP 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] [dst_argb]"+r"(dst_argb), // %[dst_argb] [temp]"+r"(temp), // %[temp] +#if defined(__i386__) && defined(__pic__) + [width]"+m"(width) // %[width] +#else [width]"+rm"(width) // %[width] +#endif : [yuvconstants]"r"(yuvconstants) // %[yuvconstants] : "memory", "cc", NACL_R14 YUVTORGB_REGS "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"