mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-10-28 18:07:12 +08:00
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:
parent
0da8e419df
commit
7badb217b9
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user