]> granicus.if.org Git - libatomic_ops/commit
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>
Sat, 17 Aug 2013 09:30:32 +0000 (13:30 +0400)
commitdb2eef2f6e44c06e3a50b50a494dc242e4669d68
tree50a3adcc7f4b0d00f00e2b9fd1b60e2b0ccc1ea2
parent546d513d60c1612549f00590c0cc07def5385af9
Fix ARMv7 LDREXD/STREXD double-wide operand specification (GCC/Clang)

* src/atomic_ops/sysdeps/gcc/arm.h (AO_double_load, AO_double_store,
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).
src/atomic_ops/sysdeps/gcc/arm.h