From 7badb217b95311113d01db92a34f6d2e8d79f031 Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Mon, 17 Aug 2026 09:34:03 -0700 Subject: [PATCH] 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 Commit-Queue: Frank Barchard --- 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 0cb829584..e2bcc85b3 100644 --- a/source/row_gcc.cc +++ b/source/row_gcc.cc @@ -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