ARGBToYRow_AVX512BW preserve XMM6-XMM15 due to Windows stack alignment

Bug: 505124541
Change-Id: Id5ae539f57b314980182bec76a788e33273b2392
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7835639
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Reviewed-by: James Zern <jzern@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
This commit is contained in:
Frank Barchard 2026-05-11 12:19:18 -07:00 committed by libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com
parent 4b4e68b372
commit e23282704f
3 changed files with 11 additions and 11 deletions

View File

@ -1,6 +1,6 @@
Name: libyuv Name: libyuv
URL: https://chromium.googlesource.com/libyuv/libyuv/ URL: https://chromium.googlesource.com/libyuv/libyuv/
Version: 1937 Version: 1938
Revision: DEPS Revision: DEPS
License: BSD-3-Clause License: BSD-3-Clause
License File: LICENSE License File: LICENSE

View File

@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ #ifndef INCLUDE_LIBYUV_VERSION_H_
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1937 #define LIBYUV_VERSION 1938
#endif // INCLUDE_LIBYUV_VERSION_H_ #endif // INCLUDE_LIBYUV_VERSION_H_

View File

@ -307,7 +307,7 @@ void RGBToARGBRow_AVX512BW(const uint8_t* src_raw, uint8_t* dst_argb, const uint
"+r"(width) // %2 "+r"(width) // %2
: "m"(kPermdRAWToARGB_AVX512BW), // %3 : "m"(kPermdRAWToARGB_AVX512BW), // %3
"m"(*shuffler) // %4 "m"(*shuffler) // %4
: "memory", "cc", "rax", "k1", "zmm0", "zmm1", "zmm2", "zmm3", "zmm4", "zmm5", "zmm6"); : "memory", "cc", "rax", "k1", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6");
} }
void RAWToARGBRow_AVX512BW(const uint8_t* src_raw, uint8_t* dst_argb, int width) { void RAWToARGBRow_AVX512BW(const uint8_t* src_raw, uint8_t* dst_argb, int width) {
@ -1615,8 +1615,8 @@ void ARGBToYMatrixRow_AVX512BW(const uint8_t* src_argb,
"+r"(width) // %2 "+r"(width) // %2
: "r"(c), // %3 : "r"(c), // %3
"m"(kPermdARGBToY_AVX512BW) // %4 "m"(kPermdARGBToY_AVX512BW) // %4
: "memory", "cc", "zmm0", "zmm1", "zmm2", "zmm3", "zmm4", "zmm5", "zmm6", : "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6",
"zmm7", "zmm16"); "xmm7", "xmm16");
} }
#endif #endif
@ -1757,8 +1757,8 @@ void ARGBToUV444MatrixRow_AVX2(const uint8_t* src_argb,
#endif #endif
: "r"(c), // %4 : "r"(c), // %4
"m"(kPermdARGBToY_AVX) // %5 "m"(kPermdARGBToY_AVX) // %5
: "memory", "cc", "ymm0", "ymm1", "ymm2", "ymm3", "ymm4", "ymm5", "ymm6", : "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6",
"ymm7"); "xmm7");
} }
#endif // HAS_ARGBTOUV444ROW_AVX2 #endif // HAS_ARGBTOUV444ROW_AVX2
@ -1837,8 +1837,8 @@ void ARGBToUV444MatrixRow_AVX512BW(const uint8_t* src_argb,
#endif #endif
: "r"(c), // %4 : "r"(c), // %4
"m"(kPermdARGBToY_AVX512BW) // %5 "m"(kPermdARGBToY_AVX512BW) // %5
: "memory", "cc", "zmm0", "zmm1", "zmm2", "zmm3", "zmm4", "zmm5", "zmm6", : "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6",
"zmm7", "zmm16"); "xmm7", "xmm16");
} }
#endif // HAS_ARGBTOUV444ROW_AVX512BW #endif // HAS_ARGBTOUV444ROW_AVX512BW
@ -2298,8 +2298,8 @@ void ARGBToUVMatrixRow_AVX512BW(const uint8_t* src_argb,
"m"(kShuffleAARRGGBB), // %6 "m"(kShuffleAARRGGBB), // %6
"m"(kPermdARGBToY_AVX512BW), // %7 "m"(kPermdARGBToY_AVX512BW), // %7
"m"(kPermdARGBToUV_AVX512BW) // %8 "m"(kPermdARGBToUV_AVX512BW) // %8
: "memory", "cc", "zmm0", "zmm1", "zmm2", "zmm3", "zmm4", "zmm5", "zmm6", : "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6",
"zmm7", "zmm16", "zmm17", "zmm18", "zmm19"); "xmm7", "xmm16", "xmm17", "xmm18", "xmm19");
} }
void ARGBToUVRow_AVX512BW(const uint8_t* src_argb, void ARGBToUVRow_AVX512BW(const uint8_t* src_argb,