summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tools')
-rw-r--r--src/corelib/tools/qarraydataops.h8
-rw-r--r--src/corelib/tools/qsimd_p.h28
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