diff options
Diffstat (limited to 'src/corelib/tools')
-rw-r--r-- | src/corelib/tools/qarraydataops.h | 8 | ||||
-rw-r--r-- | src/corelib/tools/qsimd_p.h | 28 |
2 files changed, 6 insertions, 30 deletions
diff --git a/src/corelib/tools/qarraydataops.h b/src/corelib/tools/qarraydataops.h index 47df15ddaa..6bb8280ca8 100644 --- a/src/corelib/tools/qarraydataops.h +++ b/src/corelib/tools/qarraydataops.h @@ -319,7 +319,8 @@ struct QMovableArrayOps , end(finish) , displace(diff) { - ::memmove(begin + displace, begin, (end - begin) * sizeof(T)); + ::memmove(static_cast<void *>(begin + displace), static_cast<void *>(begin), + (end - begin) * sizeof(T)); } void commit() { displace = 0; } @@ -327,7 +328,8 @@ struct QMovableArrayOps ~ReversibleDisplace() { if (displace) - ::memmove(begin, begin + displace, (end - begin) * sizeof(T)); + ::memmove(static_cast<void *>(begin), static_cast<void *>(begin + displace), + (end - begin) * sizeof(T)); } T *const begin; @@ -384,7 +386,7 @@ struct QMovableArrayOps ~Mover() { - ::memmove(destination, source, n * sizeof(T)); + ::memmove(static_cast<void *>(destination), static_cast<const void *>(source), n * sizeof(T)); size -= (source - destination); } diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 8cf0c5a4d2..259da3cfec 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -285,7 +285,7 @@ #endif #endif // AArch64/ARM64 -#if defined(Q_PROCESSOR_ARM_V8) +#if defined(Q_PROCESSOR_ARM_V8) && defined(__ARM_FEATURE_CRC32) #define QT_FUNCTION_TARGET_STRING_CRC32 "+crc" # include <arm_acle.h> #endif @@ -468,32 +468,6 @@ static inline quint64 qCpuFeatures() #define ALIGNMENT_PROLOGUE_16BYTES(ptr, i, length) \ for (; i < static_cast<int>(qMin(static_cast<quintptr>(length), ((4 - ((reinterpret_cast<quintptr>(ptr) >> 2) & 0x3)) & 0x3))); ++i) -template <typename T> -Q_ALWAYS_INLINE -T qUnalignedLoad(const void *ptr) Q_DECL_NOTHROW -{ - T result; -#if QT_HAS_BUILTIN(__builtin_memcpy) - __builtin_memcpy -#else - memcpy -#endif - /*memcpy*/(&result, ptr, sizeof result); - return result; -} - -template <typename T> -Q_ALWAYS_INLINE -void qUnalignedStore(void *ptr, T t) Q_DECL_NOTHROW -{ -#if QT_HAS_BUILTIN(__builtin_memcpy) - __builtin_memcpy -#else - memcpy -#endif - /*memcpy*/(ptr, &t, sizeof t); -} - QT_END_NAMESPACE #endif // QSIMD_P_H |