diff options
| author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-16 23:01:28 +0000 |
|---|---|---|
| committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-16 23:01:28 +0000 |
| commit | c480bf2b1cce7c876d02ccddbfd39448e2c424b7 (patch) | |
| tree | d00e98aecf7dae647fcfd4dd0c981831bb187000 /libstdc++-v3/include/parallel | |
| parent | 181dd5b2aa854d19a2c3a9b3343e6bfcd9bc0193 (diff) | |
| download | ppe42-gcc-c480bf2b1cce7c876d02ccddbfd39448e2c424b7.tar.gz ppe42-gcc-c480bf2b1cce7c876d02ccddbfd39448e2c424b7.zip | |
2010-03-16 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/43394
* include/parallel/compatibility.h: Add __k8 and __core2 among the
i386 targets supporting atomic operations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157498 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/parallel')
| -rw-r--r-- | libstdc++-v3/include/parallel/compatibility.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libstdc++-v3/include/parallel/compatibility.h b/libstdc++-v3/include/parallel/compatibility.h index 688a7cf348f..9fffd8e012c 100644 --- a/libstdc++-v3/include/parallel/compatibility.h +++ b/libstdc++-v3/include/parallel/compatibility.h @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -147,7 +147,8 @@ namespace __gnu_parallel #elif defined(__GNUC__) && defined(__x86_64) return __sync_fetch_and_add(__ptr, __addend); #elif defined(__GNUC__) && defined(__i386) && \ - (defined(__i686) || defined(__pentium4) || defined(__athlon)) + (defined(__i686) || defined(__pentium4) || defined(__athlon) \ + || defined(__k8) || defined(__core2)) return __sync_fetch_and_add(__ptr, __addend); #elif defined(__SUNPRO_CC) && defined(__sparc) volatile int64_t __before, __after; @@ -299,7 +300,8 @@ namespace __gnu_parallel #elif defined(__GNUC__) && defined(__x86_64) return __sync_bool_compare_and_swap(__ptr, __comparand, __replacement); #elif defined(__GNUC__) && defined(__i386) && \ - (defined(__i686) || defined(__pentium4) || defined(__athlon)) + (defined(__i686) || defined(__pentium4) || defined(__athlon) \ + || defined(__k8) || defined(__core2)) return __sync_bool_compare_and_swap(__ptr, __comparand, __replacement); #elif defined(__SUNPRO_CC) && defined(__sparc) return atomic_cas_64((volatile unsigned long long*)__ptr, |

