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