Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)
authorIvan Maidanski <ivmai@mail.ru>
Sat, 17 Aug 2013 07:48:59 +0000 (11:48 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 18 Aug 2013 07:49:08 +0000 (11:49 +0400)
commita5c19ac61c311fb0bbe731a236a46c994339011c
treed527dedddf1383e4c1a4a88957621b3a6664cebb
parent24bc2e581e7527f9a59d7c9760f59421327d72a6
Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)
(Apply commit db2eef2 from 'master' branch.)

* src/atomic_ops/sysdeps/gcc/arm.h
(AO_double_compare_and_swap): Specify that LDREXD and STREXD use 2
adjacent registers (thus preventing Clang3.3 from register allocation
failures leading to "registers may not be the same" or
"even register required" GAS errors).

Conflicts:

    src/atomic_ops/sysdeps/gcc/arm.h
src/atomic_ops/sysdeps/gcc/arm.h