From 1b3e4aee47ea51245119adf9f2b1c7675576c07b Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Thu, 23 Jun 2016 20:42:10 -0700 Subject: [PATCH] make count a memory variable for 32 bit 32 bit clang runs out of registers and compiler does core dump. force 32 bit build to use memory variable for counter. BUG=libyuv:612 TBR=harryjin@google.com Review URL: https://codereview.chromium.org/2091913003 . --- source/scale_gcc.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/scale_gcc.cc b/source/scale_gcc.cc index 8d234edaf..e2f88544b 100644 --- a/source/scale_gcc.cc +++ b/source/scale_gcc.cc @@ -878,7 +878,7 @@ void ScaleFilterCols_SSSE3(uint8* dst_ptr, const uint8* src_ptr, "movd %%xmm1,%k2 \n" "mov %w2," MEMACCESS(0) " \n" "lea " MEMLEA(0x2,0) ",%0 \n" - "sub $0x2,%5 \n" + "subl $0x2,%5 \n" "jge 2b \n" LABELALIGN @@ -904,7 +904,11 @@ void ScaleFilterCols_SSSE3(uint8* dst_ptr, const uint8* src_ptr, "=&a"(temp_pixel), // %2 "=&r"(x0), // %3 "=&r"(x1), // %4 +#if defined(__x86_64__) "+rm"(dst_width) // %5 +#else + "+m"(dst_width) // %5 +#endif : "rm"(x), // %6 "rm"(dx), // %7 #if defined(__x86_64__)