fix-i686-xsimd-incomplete.patch 1.2 KB

123456789101112131415161718192021222324252627282930
  1. diff --git a/dom/base/nsTextFragmentGeneric.h b/dom/base/nsTextFragmentGeneric.h
  2. index 10e16fcfaa..87d9e0d075 100644
  3. --- a/dom/base/nsTextFragmentGeneric.h
  4. +++ b/dom/base/nsTextFragmentGeneric.h
  5. @@ -13,7 +13,6 @@ namespace mozilla {
  6. template <class Arch>
  7. int32_t FirstNon8Bit(const char16_t* str, const char16_t* end) {
  8. - const uint32_t numUnicharsPerVector = xsimd::batch<int16_t, Arch>::size;
  9. using p = Non8BitParameters<sizeof(size_t)>;
  10. const size_t mask = p::mask();
  11. const uint32_t numUnicharsPerWord = p::numUnicharsPerWord();
  12. @@ -28,16 +27,6 @@ int32_t FirstNon8Bit(const char16_t* str, const char16_t* end) {
  13. if (str[i] > 255) return i;
  14. }
  15. - // Check one batch at a time.
  16. - const int32_t vectWalkEnd =
  17. - ((len - i) / numUnicharsPerVector) * numUnicharsPerVector;
  18. - const uint16_t shortMask = 0xff00;
  19. - xsimd::batch<int16_t, Arch> vectmask(static_cast<int16_t>(shortMask));
  20. - for (; i < vectWalkEnd; i += numUnicharsPerVector) {
  21. - const auto vect = xsimd::batch<int16_t, Arch>::load_aligned(str + i);
  22. - if (xsimd::any((vect & vectmask) != 0)) return i;
  23. - }
  24. -
  25. // Check one word at a time.
  26. const int32_t wordWalkEnd =
  27. ((len - i) / numUnicharsPerWord) * numUnicharsPerWord;