Revert "JS optimisations pt.3"

This reverts commit 5f2a3dd028.
This commit is contained in:
wuggy 2026-09-19 03:27:30 -07:00
commit 57592e04c9

View file

@ -487,15 +487,10 @@ CopyAndInflateChars(char16_t* dst, const char* src, size_t srclen)
size_t i = 0;
const __m128i zero = _mm_setzero_si128();
for (; i + 32 <= srclen; i += 32) {
uint64_t value0, value1, value2, value3;
js_memcpy(&value0, src + i, sizeof(value0));
js_memcpy(&value1, src + i + 8, sizeof(value1));
js_memcpy(&value2, src + i + 16, sizeof(value2));
js_memcpy(&value3, src + i + 24, sizeof(value3));
const __m128i bytes0 = _mm_cvtsi64_si128(static_cast<int64_t>(value0));
const __m128i bytes1 = _mm_cvtsi64_si128(static_cast<int64_t>(value1));
const __m128i bytes2 = _mm_cvtsi64_si128(static_cast<int64_t>(value2));
const __m128i bytes3 = _mm_cvtsi64_si128(static_cast<int64_t>(value3));
const __m128i bytes0 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i));
const __m128i bytes1 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i + 8));
const __m128i bytes2 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i + 16));
const __m128i bytes3 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i + 24));
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst + i),
_mm_unpacklo_epi8(bytes0, zero));
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst + i + 8),
@ -506,9 +501,7 @@ CopyAndInflateChars(char16_t* dst, const char* src, size_t srclen)
_mm_unpacklo_epi8(bytes3, zero));
}
for (; i + 8 <= srclen; i += 8) {
uint64_t value;
js_memcpy(&value, src + i, sizeof(value));
const __m128i bytes8 = _mm_cvtsi64_si128(static_cast<int64_t>(value));
const __m128i bytes8 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i));
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst + i),
_mm_unpacklo_epi8(bytes8, zero));
}
@ -527,15 +520,10 @@ CopyAndInflateChars(char16_t* dst, const JS::Latin1Char* src, size_t srclen)
size_t i = 0;
const __m128i zero = _mm_setzero_si128();
for (; i + 32 <= srclen; i += 32) {
uint64_t value0, value1, value2, value3;
js_memcpy(&value0, src + i, sizeof(value0));
js_memcpy(&value1, src + i + 8, sizeof(value1));
js_memcpy(&value2, src + i + 16, sizeof(value2));
js_memcpy(&value3, src + i + 24, sizeof(value3));
const __m128i bytes0 = _mm_cvtsi64_si128(static_cast<int64_t>(value0));
const __m128i bytes1 = _mm_cvtsi64_si128(static_cast<int64_t>(value1));
const __m128i bytes2 = _mm_cvtsi64_si128(static_cast<int64_t>(value2));
const __m128i bytes3 = _mm_cvtsi64_si128(static_cast<int64_t>(value3));
const __m128i bytes0 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i));
const __m128i bytes1 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i + 8));
const __m128i bytes2 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i + 16));
const __m128i bytes3 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i + 24));
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst + i),
_mm_unpacklo_epi8(bytes0, zero));
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst + i + 8),
@ -546,9 +534,7 @@ CopyAndInflateChars(char16_t* dst, const JS::Latin1Char* src, size_t srclen)
_mm_unpacklo_epi8(bytes3, zero));
}
for (; i + 8 <= srclen; i += 8) {
uint64_t value;
js_memcpy(&value, src + i, sizeof(value));
const __m128i bytes8 = _mm_cvtsi64_si128(static_cast<int64_t>(value));
const __m128i bytes8 = _mm_loadl_epi64(reinterpret_cast<const __m128i*>(src + i));
_mm_storeu_si128(reinterpret_cast<__m128i*>(dst + i),
_mm_unpacklo_epi8(bytes8, zero));
}