HalfWidthRow_16To8_SSSE3 fix 32 bit build using width on stack

Test: compile for android_x86 (32 bit)
Was
source/row_gcc.cc:5524:7: error: inline assembly requires more registers than available
 5524 |       "movd        %4,%%xmm2                     \n"
      |       ^

Bug: b/547388714
Change-Id: Ie2b847dff15a9c6ba190a934ca303906fc53d127
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8253314
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
This commit is contained in:
Frank Barchard 2026-08-17 09:34:03 -07:00 committed by libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com
parent 0da8e419df
commit 7badb217b9

View File

@ -5556,11 +5556,15 @@ void HalfWidthRow_16To8_SSSE3(const uint16_t* src_uv,
"packuswb %%xmm0,%%xmm0 \n"
"movq %%xmm0,(%1) \n"
"add $0x08,%1 \n"
"sub $0x08,%2 \n"
"subl $0x08,%2 \n"
"jg 1b \n"
: "+r"(src_uv), // %0
"+r"(dst_uv), // %1
#if defined(__i386__)
"+m"(width) // %2
#else
"+r"(width) // %2
#endif
: "r"(src_uv_stride), // %3
"r"(scale), // %4
"m"(kShuffleMaskHalfWidth16To8) // %5