parent
37db6b60fe
commit
6d35301532
@ -1,14 +0,0 @@
|
|||||||
Index: chromium-120.0.6099.71/third_party/highway/BUILD.gn
|
|
||||||
===================================================================
|
|
||||||
--- chromium-120.0.6099.71.orig/third_party/highway/BUILD.gn
|
|
||||||
+++ chromium-120.0.6099.71/third_party/highway/BUILD.gn
|
|
||||||
@@ -13,6 +13,9 @@ config("libhwy_external_config") {
|
|
||||||
# explicitly disabling AVX2 and AVX3 targets.
|
|
||||||
defines += [ "HWY_BROKEN_TARGETS=(HWY_AVX2|HWY_AVX3)" ]
|
|
||||||
}
|
|
||||||
+ if (target_cpu == "ppc64") {
|
|
||||||
+ defines += [ "TOOLCHAIN_MISS_ASM_HWCAP_H" ]
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
source_set("libhwy") {
|
|
@ -1,101 +0,0 @@
|
|||||||
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 <size_t N>
|
|
||||||
HWY_INLINE uint64_t ExtractSignBits(Vec128<uint8_t, N> 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 <typename T, size_t N>
|
|
||||||
HWY_INLINE uint64_t BitsFromMask(hwy::SizeTag<1> /*tag*/,
|
|
||||||
Mask128<T, N> mask) {
|
|
||||||
const DFromM<decltype(mask)> d;
|
|
||||||
const Repartition<uint8_t, decltype(d)> du8;
|
|
||||||
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
|
|
||||||
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
- return static_cast<uint64_t>(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 <typename T, size_t N>
|
|
||||||
@@ -2882,10 +2877,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
|
|
||||||
const Repartition<uint8_t, decltype(d)> du8;
|
|
||||||
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
|
|
||||||
|
|
||||||
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
- const RebindToUnsigned<decltype(d)> du;
|
|
||||||
- return static_cast<uint64_t>(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 <typename T, size_t N>
|
|
||||||
@@ -2903,10 +2893,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
|
|
||||||
const DFromM<decltype(mask)> d;
|
|
||||||
const Repartition<uint8_t, decltype(d)> du8;
|
|
||||||
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
|
|
||||||
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
- const RebindToUnsigned<decltype(d)> du;
|
|
||||||
- return static_cast<uint64_t>(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 <typename T, size_t N>
|
|
||||||
@@ -2924,10 +2909,6 @@ HWY_INLINE uint64_t BitsFromMask(hwy::Si
|
|
||||||
const DFromM<decltype(mask)> d;
|
|
||||||
const Repartition<uint8_t, decltype(d)> du8;
|
|
||||||
const VFromD<decltype(du8)> sign_bits = BitCast(du8, VecFromMask(d, mask));
|
|
||||||
-#if HWY_TARGET <= HWY_PPC10 && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
||||||
- const RebindToUnsigned<decltype(d)> du;
|
|
||||||
- return static_cast<uint64_t>(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.
|
|
Loading…
Reference in new issue