diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2018-03-09 12:32:22 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2018-03-09 12:32:22 +0000 |
commit | a4c6bd0821099f6b8c0f64a96ffd9d01a025c413 (patch) | |
tree | fbb5139f7467a70b6487265769a13e764a1e2823 /libatomic/configure.tgt | |
parent | d04e6ed5ae7668dc8a68069cd456d278c59fd972 (diff) | |
download | gcc-a4c6bd0821099f6b8c0f64a96ffd9d01a025c413.zip gcc-a4c6bd0821099f6b8c0f64a96ffd9d01a025c413.tar.gz gcc-a4c6bd0821099f6b8c0f64a96ffd9d01a025c413.tar.bz2 |
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
Diffstat (limited to 'libatomic/configure.tgt')
-rw-r--r-- | libatomic/configure.tgt | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index 807ef10..ea8c34f 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -129,6 +129,11 @@ case "${target}" in config_path="${config_path} linux/arm posix" ;; + s390*-*-linux*) + # OS support for atomic primitives. + config_path="${config_path} s390 posix" + ;; + *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu \ | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly* \ | *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11* \ |