Index: chromium-120.0.6099.71/third_party/highway/src/hwy/ops/ppc_vsx-inl.h =================================================================== --- chromium-120.0.6099.71.orig/third_party/highway/src/hwy/ops/ppc_vsx-inl.h +++ chromium-120.0.6099.71/third_party/highway/src/hwy/ops/ppc_vsx-inl.h @@ -36,6 +36,8 @@ #include "hwy/ops/shared-inl.h" +#undef __SIZEOF_INT128__ + HWY_BEFORE_NAMESPACE(); namespace hwy { namespace HWY_NAMESPACE { @@ -2844,7 +2846,6 @@ struct CompressIsPartition { namespace detail { -#if HWY_TARGET > HWY_PPC10 || __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ // fallback for missing vec_extractm template HWY_INLINE uint64_t ExtractSignBits(Vec128 sign_bits, @@ -2857,22 +2858,16 @@ HWY_INLINE uint64_t ExtractSignBits(Vec1 return extracted.raw[__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__]; } -#endif // HWY_TARGET > HWY_PPC10 - template HWY_INLINE uint64_t BitsFromMask(hwy::SizeTag<1> /*tag*/, Mask128 mask) { const DFromM d; const Repartition du8; const VFromD sign_bits = BitCast(du8, VecFromMask(d, mask)); -#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - return static_cast(vec_extractm(sign_bits.raw)); -#else const __vector unsigned char kBitShuffle = { 120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0 }; return ExtractSignBits(sign_bits, kBitShuffle); -#endif // HWY_TARGET <= HWY_PPC10 } template @@ -2882,10 +2877,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si const Repartition du8; const VFromD sign_bits = BitCast(du8, VecFromMask(d, mask)); -#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - const RebindToUnsigned du; - return static_cast(vec_extractm(BitCast(du, sign_bits).raw)); -#else #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ const __vector unsigned char kBitShuffle = { 112, 96, 80, 64, 48, 32, 16, 0, 128, 128, 128, 128, 128, 128, 128, 128}; @@ -2894,7 +2885,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si 128, 128, 128, 128, 128, 128, 128, 128, 112, 96, 80, 64, 48, 32, 16, 0}; #endif return ExtractSignBits(sign_bits, kBitShuffle); -#endif // HWY_TARGET <= HWY_PPC10 } template @@ -2903,10 +2893,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si const DFromM d; const Repartition du8; const VFromD sign_bits = BitCast(du8, VecFromMask(d, mask)); -#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - const RebindToUnsigned du; - return static_cast(vec_extractm(BitCast(du, sign_bits).raw)); -#else #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ const __vector unsigned char kBitShuffle = { 96, 64, 32, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}; @@ -2915,7 +2901,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 96, 64, 32, 0}; #endif return ExtractSignBits(sign_bits, kBitShuffle); -#endif // HWY_TARGET <= HWY_PPC10 } template @@ -2924,10 +2909,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si const DFromM d; const Repartition du8; const VFromD sign_bits = BitCast(du8, VecFromMask(d, mask)); -#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ - const RebindToUnsigned du; - return static_cast(vec_extractm(BitCast(du, sign_bits).raw)); -#else #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ const __vector unsigned char kBitShuffle = {64, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, @@ -2938,7 +2919,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si 128, 128, 64, 0}; #endif return ExtractSignBits(sign_bits, kBitShuffle); -#endif // HWY_TARGET <= HWY_PPC10 } // Returns the lowest N of the mask bits.