S/390: libatomic: Fix 16 byte atomic exchange
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Fri, 9 Mar 2018 12:32:22 +0000 (12:32 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Fri, 9 Mar 2018 12:32:22 +0000 (12:32 +0000)
commita4c6bd0821099f6b8c0f64a96ffd9d01a025c413
treefbb5139f7467a70b6487265769a13e764a1e2823
parentd04e6ed5ae7668dc8a68069cd456d278c59fd972
S/390: libatomic: Fix 16 byte atomic exchange

The compiler builtin will use the hardware instruction cdsg if the
memory operand is properly aligned and will fall back to the
library call otherwise.
In case the compiler for one part is able to detect that the
location is aligned and fails to do so for another usage of the hw
instruction and the sw fall back would be mixed on the same memory
location.  To avoid this the library fall back also has to use the
hardware instruction if possible.

libatomic/ChangeLog:

2018-03-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/exch_n.c: New file.
* configure.tgt: Add the config directory for s390.

From-SVN: r258384
libatomic/ChangeLog
libatomic/config/s390/exch_n.c [new file with mode: 0644]
libatomic/configure.tgt