Add the missing 'itt eq' instructions to the ARM atomics.
This affected the 16- and 64-bit sizes only. Must have been a C&P failure. Change-Id: If7b1e534a61d812226a6e4970909b53b0cc5a9a6 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>bb10
parent
1ba5796d09
commit
acc9716331
|
|
@ -387,6 +387,7 @@ bool QBasicAtomicOps<2>::testAndSetRelaxed(T &_q_value, T expectedValue, T newVa
|
|||
asm volatile("0:\n"
|
||||
"ldrexh %[result], [%[_q_value]]\n"
|
||||
"eors %[result], %[result], %[expectedValue]\n"
|
||||
"itt eq\n"
|
||||
"strexheq %[result], %[newValue], [%[_q_value]]\n"
|
||||
"teqeq %[result], #1\n"
|
||||
"beq 0b\n"
|
||||
|
|
@ -497,6 +498,7 @@ bool QBasicAtomicOps<8>::testAndSetRelaxed(T &_q_value, T expectedValue, T newVa
|
|||
"eor %[result], %[result], %[expectedValue]\n"
|
||||
"eor %H[result], %H[result], %H[expectedValue]\n"
|
||||
"orrs %[result], %[result], %H[result]\n"
|
||||
"itt eq\n"
|
||||
"strexdeq %[result], %[newValue], %H[newValue], [%[_q_value]]\n"
|
||||
"teqeq %[result], #1\n"
|
||||
"beq 0b\n"
|
||||
|
|
|
|||
Loading…
Reference in New Issue