mirror of
https://github.com/fastfloat/fast_float.git
synced 2025-12-06 16:56:57 +08:00
* try to fix error on x86 platform step1.
This commit is contained in:
parent
9e1d063628
commit
80902aa90c
@ -70,7 +70,7 @@ read8_to_u64(UC const *chars) {
|
|||||||
|
|
||||||
#ifdef FASTFLOAT_SSE2
|
#ifdef FASTFLOAT_SSE2
|
||||||
|
|
||||||
fastfloat_really_inline uint64_t simd_read8_to_u64(__m128i const &data) {
|
fastfloat_really_inline uint64_t simd_read8_to_u64(__m128i const data) {
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
// _mm_packus_epi16 is SSE2+, converts 8×u16 → 8×u8
|
// _mm_packus_epi16 is SSE2+, converts 8×u16 → 8×u8
|
||||||
__m128i const packed = _mm_packus_epi16(data, data);
|
__m128i const packed = _mm_packus_epi16(data, data);
|
||||||
@ -94,7 +94,7 @@ fastfloat_really_inline uint64_t simd_read8_to_u64(char16_t const *chars) {
|
|||||||
|
|
||||||
#elif defined(FASTFLOAT_NEON)
|
#elif defined(FASTFLOAT_NEON)
|
||||||
|
|
||||||
fastfloat_really_inline uint64_t simd_read8_to_u64(uint16x8_t const &data) {
|
fastfloat_really_inline uint64_t simd_read8_to_u64(uint16x8_t const data) {
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
uint8x8_t utf8_packed = vmovn_u16(data);
|
uint8x8_t utf8_packed = vmovn_u16(data);
|
||||||
return vget_lane_u64(vreinterpret_u64_u8(utf8_packed), 0);
|
return vget_lane_u64(vreinterpret_u64_u8(utf8_packed), 0);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user