Fix compilation with thumb2.
authorEike Ziller <eike.ziller@nokia.com>
Wed, 10 Aug 2011 07:38:37 +0000 (09:38 +0200)
committerQt by Nokia <qt-info@nokia.com>
Thu, 18 Aug 2011 15:59:18 +0000 (17:59 +0200)
Task-number: QTBUG-16402
Rubber-stamped-by: Thiago Macieira
(cherry picked from commit 6be1b235f7db38146f7080a4bfcfe3051ae54699)

Change-Id: I6f60f1d3079395e765a183961db5c8543cf58cdc
Reviewed-on: http://codereview.qt.nokia.com/3078
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Eckhart Koppen <eckhart.koppen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
src/corelib/arch/qatomic_armv6.h

index 96b561e..dd465db 100644 (file)
@@ -152,6 +152,7 @@ inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
     asm volatile("0:\n"
                  "ldrex %[result], [%[_q_value]]\n"
                  "eors %[result], %[result], %[expectedValue]\n"
+                 "itt eq\n"
                  "strexeq %[result], %[newValue], [%[_q_value]]\n"
                  "teqeq %[result], #1\n"
                  "beq 0b\n"
@@ -210,6 +211,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValu
     asm volatile("0:\n"
                  "ldrex %[result], [%[_q_value]]\n"
                  "eors %[result], %[result], %[expectedValue]\n"
+                 "itt eq\n"
                  "strexeq %[result], %[newValue], [%[_q_value]]\n"
                  "teqeq %[result], #1\n"
                  "beq 0b\n"