Fix qYieldCpu() for ARM < ARMv7

Apparently, we still support these architecture versions, and there's
no way to detect ARMv6k-or-greater specifically, so exclude yield for
ARM < ARMv7.

Amends 877c158c5976bebffd0ff02c39b6b66a842c6344.

Fixes: QTBUG-104316
Change-Id: I51a2f0f8e0993dba41e47bb6110473ac8e7cd32a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 8128abeaece5b05476f79ff493597b838b223512)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Marc Mutz 2022-08-03 17:23:20 +02:00 committed by Qt Cherry-pick Bot
parent c76bd92017
commit f01fd007a6

View File

@ -383,7 +383,7 @@ static inline void qYieldCpu()
{ {
#if defined(Q_PROCESSOR_X86) #if defined(Q_PROCESSOR_X86)
_mm_pause(); _mm_pause();
#elif defined(Q_PROCESSOR_ARM) #elif defined(Q_PROCESSOR_ARM) && Q_PROCESSOR_ARM >= 7 /* yield was added in ARMv7 */
# if __has_builtin(__builtin_arm_yield) /* e.g. Clang */ # if __has_builtin(__builtin_arm_yield) /* e.g. Clang */
__builtin_arm_yield(); __builtin_arm_yield();
# elif defined(Q_OS_INTEGRITY) || \ # elif defined(Q_OS_INTEGRITY) || \