Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
7ef46d9
Drop support for Tilera architectures.
insertinterestingnamehere Sep 11, 2024
dafab3e
Drop support for Itanium.
insertinterestingnamehere Sep 12, 2024
692e6de
Drop whatever support is present for ALPHA architecture.
insertinterestingnamehere Sep 12, 2024
1a5f763
Drop whatever preliminary support was there for MIPS.
insertinterestingnamehere Sep 12, 2024
6d9ae78
Drop support for Sparc architecture.
insertinterestingnamehere Sep 12, 2024
d055ede
Stop searching for the old ia32intrin.h header.
insertinterestingnamehere Sep 12, 2024
40ca057
Drop support for SUN compiler.
insertinterestingnamehere Sep 12, 2024
5953e8b
Drop support for Convey and EKOPath compilers.
insertinterestingnamehere Sep 12, 2024
901f501
Drop support for Open64 compiler.
insertinterestingnamehere Sep 12, 2024
512f27e
Drop support for PGI compiler.
insertinterestingnamehere Sep 12, 2024
8b7b82f
Drop support for the IBM XL compiler.
insertinterestingnamehere Sep 12, 2024
31528c2
Clear away some additional tilera-related code.
insertinterestingnamehere Sep 12, 2024
f7a0a08
Drop detection for Borland.
insertinterestingnamehere Sep 12, 2024
3b91771
Drop ACC compiler.
insertinterestingnamehere Sep 13, 2024
6cc9e9c
Drop Altium compilers.
insertinterestingnamehere Sep 13, 2024
8824aa7
Drop support for ACK compiler.
insertinterestingnamehere Sep 13, 2024
1c1fa8d
Drop ARM's old RealView compiler.
insertinterestingnamehere Sep 13, 2024
9938b70
Drop Aztec compiler
insertinterestingnamehere Sep 13, 2024
21d129b
Drop Compaq compiler
insertinterestingnamehere Sep 13, 2024
773f336
Drop Comeau compiler.
insertinterestingnamehere Sep 13, 2024
ba2bdc7
Drop Convex compiler.
insertinterestingnamehere Sep 13, 2024
88883c4
Drop Cray C compiler.
insertinterestingnamehere Sep 13, 2024
699be5f
Drop CC65 compiler.
insertinterestingnamehere Sep 13, 2024
e0c9e0d
Drop Dice compiler.
insertinterestingnamehere Sep 13, 2024
25dea55
Drop Diab compiler.
insertinterestingnamehere Sep 13, 2024
bab433a
Drop Digital Mars compiler.
insertinterestingnamehere Sep 13, 2024
52b1652
Drop Dignus compiler.
insertinterestingnamehere Sep 13, 2024
99e98fd
Drop DJGPP compiler.
insertinterestingnamehere Sep 13, 2024
02ab96f
Drop Fujitsu compiler.
insertinterestingnamehere Sep 13, 2024
37d61d7
Drop Green Hills compiler.
insertinterestingnamehere Sep 13, 2024
a3bdb3c
Drop old HP compiler.
insertinterestingnamehere Sep 13, 2024
f4e847f
Drop IAR compiler.
insertinterestingnamehere Sep 13, 2024
63397ca
Drop IBM zOS compilers.
insertinterestingnamehere Sep 13, 2024
19c4a2d
Drop ImageCraft compiler.
insertinterestingnamehere Sep 13, 2024
6688a3d
Drop various Keil compilers.
insertinterestingnamehere Sep 13, 2024
d2d8992
Drop LCC compiler.
insertinterestingnamehere Sep 13, 2024
e2a73d5
Drop KAI compiler.
insertinterestingnamehere Sep 13, 2024
082360d
Drop Metaware compiler.
insertinterestingnamehere Sep 13, 2024
adfc259
Drop Metrowerks Compiler.
insertinterestingnamehere Sep 13, 2024
bdaee95
Drop MPW compiler.
insertinterestingnamehere Sep 13, 2024
97f8a36
Drop MSVC compiler.
insertinterestingnamehere Sep 13, 2024
5520dfc
Drop Microtec compiler.
insertinterestingnamehere Sep 13, 2024
66f23a4
Remove Palm compiler.
insertinterestingnamehere Sep 13, 2024
643a971
Drop Microway compiler.
insertinterestingnamehere Sep 13, 2024
2e164ee
Drop Miracle compiler.
insertinterestingnamehere Sep 13, 2024
668c059
Drop Norcroft compiler.
insertinterestingnamehere Sep 13, 2024
ae131c9
Drop NWCC compiler.
insertinterestingnamehere Sep 13, 2024
01f0e8a
Drop Pacific compiler.
insertinterestingnamehere Sep 13, 2024
2d552ad
Drop Pelles compiler.
insertinterestingnamehere Sep 13, 2024
a38b48f
Drop Renesas compiler.
insertinterestingnamehere Sep 13, 2024
c67141a
Drop SAS compiler.
insertinterestingnamehere Sep 13, 2024
5a760ac
Drop SCO compiler.
insertinterestingnamehere Sep 13, 2024
2957971
Drop SmallDevice compiler.
insertinterestingnamehere Sep 13, 2024
61751cf
Drop SN compiler.
insertinterestingnamehere Sep 13, 2024
8d48b77
Drop Stratus VOS compiler.
insertinterestingnamehere Sep 13, 2024
3c4bfb0
Drop TenDRA compiler.
insertinterestingnamehere Sep 13, 2024
6e0fa0e
Drop Symantec compiler.
insertinterestingnamehere Sep 13, 2024
a299dbd
Drop THINK compilers.
insertinterestingnamehere Sep 13, 2024
0fa7762
Drop TinyC compiler.
insertinterestingnamehere Sep 13, 2024
59c24af
Drop Turbo compiler.
insertinterestingnamehere Sep 13, 2024
a896092
Drop ultimate compiler.
insertinterestingnamehere Sep 13, 2024
78e13ed
Drop USL compiler.
insertinterestingnamehere Sep 13, 2024
9b109cc
Drop EDG compiler.
insertinterestingnamehere Sep 13, 2024
9946e13
Drop Watcom compiler.
insertinterestingnamehere Sep 13, 2024
9e64b6b
Drop Zortech compiler.
insertinterestingnamehere Sep 13, 2024
0982e5a
Allow mingw and Cygwin to be detected as gcc since they're really jus…
insertinterestingnamehere Sep 13, 2024
5485c0b
Clear away some outdated references from the readme.
insertinterestingnamehere Sep 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 1 addition & 48 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,51 +134,4 @@ For example, `Collect<mt_loop_traits::Add>` is rougly equivalent to the followin
retval += function(args);
}
```
******************************************************

##NOTE FOR PGI USERS
pgcc needs the `-c9x` flag in order to correctly process variadic macros (which
are used in qthread.c) and the PRIuMAX format definitions (used in `qalloc.c`).
Use the CFLAGS variable to add this flag. Note that pgcc's support for the full
C90/C99 standards is lousy, so most C90/C99 features that COULD be used are
avoided.

******************************************************

##NOTE FOR IBM XL USERS
make check will probably fail with the error:

`xlc++: 1501-210 command option t contains an incorrect subargument`
`.../.libs/libqthread.so: could not read symbols: Invalid operation`

This does not mean that the library did not compile correctly, but instead
means that your libtool is probably broken (most are). The problem seems to be
that the wrapper script (testloop) is created with incorrect arguments to
xlc++. The other wrapper scripts (e.g. test1/test2/test3/testq) all have the
correct arguments, and if you modify testloop so that $relink_command uses the
`-Wl,--rpath -Wl,directory` syntax rather than the `-rpath,directory` syntax,
it would work just fine.

*******************************************************

## NOTE FOR IBM BLUEGENE/P GCC USERS
Old versions of GCC do not handle builtin atomics correctly on this platform.
The non-existence of `__sync_fetch_and_add()` cannot be reliably detected, so to
use those compilers, you probably need to configure with
`--disable-internal-spinlock`.

*******************************************************

## NOTE FOR TILERA USERS
The Tilera cache coherency protocols, as of the TileGX boards, appear to be
somewhat buggy for large multithreaded programs. And by buggy I mean they cause
kernel panics (at least, I haven't been able to demonstrate data corruption
yet). Thankfully, you can pick from several cache coherency protocols, and one
of them is more stable than the default. What I have found that seems to be
*more* stable, if not perfectly stable, is to force the cache coherency
protocol to hashed. The way you do this is with a boot argument to the Tilera
kernel. The tile-monitor command I use is this:

`tile-monitor --net <tilera> --hvx ucache_hash=all --`

Good luck!

12 changes: 1 addition & 11 deletions config/ax_c_restrict.m4
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@
# the same family, and in the presence of varying compiler options. If only
# plain "restrict" works, do nothing. Here are some variants:
# - GCC supports both __restrict and __restrict__
# - older DEC Alpha C compilers support only __restrict
# - _Restrict is the only spelling accepted by Sun WorkShop 6 update 2 C
# Otherwise, define "restrict" to be empty.
AN_IDENTIFIER([restrict], [AX_C_RESTRICT])
AC_DEFUN([AX_C_RESTRICT],
Expand All @@ -95,15 +93,7 @@ AC_DEFUN([AX_C_RESTRICT],
nothing if this is not supported. Do not define if restrict is
supported directly. */
#undef restrict
/* Work around a bug in Sun C++: it does not support _Restrict or
__restrict__, even though the corresponding Sun C compiler ends up with
"#define restrict _Restrict" or "#define restrict __restrict__" in the
previous line. Perhaps some future version of Sun C++ will work with
restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
#if defined __SUNPRO_CC && !defined __RESTRICT
# define _Restrict
# define __restrict__
#endif])
])
case $ac_cv_c_restrict in
restrict) ;;
no) AC_DEFINE([restrict], []) ;;
Expand Down
6 changes: 3 additions & 3 deletions config/ax_openmp.m4
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX

AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI),
# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none
ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none"
# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI),
# -omp (Tru64), -qsmp=omp (AIX), none
ax_openmp_flags="-fopenmp -openmp -mp -omp -qsmp=omp none"
if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then
ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags"
fi
Expand Down
122 changes: 0 additions & 122 deletions config/qthread_check_assembly.m4
Original file line number Diff line number Diff line change
Expand Up @@ -78,92 +78,6 @@ rm -rf conftest*
unset qthread_assemble
])dnl


dnl #################################################################
dnl
dnl QTHREAD_CHECK_SPARCV8PLUS
dnl
dnl #################################################################
AC_DEFUN([QTHREAD_CHECK_SPARCV8PLUS],[
AC_MSG_CHECKING([if have Sparc v8+/v9 support])
sparc_result=0
QTHREAD_TRY_ASSEMBLE([$qthread_cv_asm_text
casa [%o0] 0x80, %o1, %o2],
[sparc_result=1],
[sparc_result=0])
if test "$sparc_result" = "1" ; then
AC_MSG_RESULT([yes])
ifelse([$1],,:,[$1])
else
AC_MSG_RESULT([no])
ifelse([$2],,:,[$2])
fi

unset sparc_result
])dnl


dnl #################################################################
dnl
dnl QTHREAD_CHECK_INLINE_GCC
dnl
dnl Check if the compiler is capable of doing GCC-style inline
dnl assembly. Some compilers emit a warning and ignore the inline
dnl assembly (xlc on OS X) and compile without error. Therefore,
dnl the test attempts to run the emited code to check that the
dnl assembly is actually run. To run this test, one argument to
dnl the macro must be an assembly instruction in gcc format to move
dnl the value 0 into the register containing the variable ret.
dnl For PowerPC, this would be:
dnl
dnl "li %0,0" : "=&r"(ret)
dnl
dnl DEFINE QTHREAD_GCC_INLINE_ASSEMBLY to 0 or 1 depending on GCC
dnl support
dnl
dnl #################################################################
AC_DEFUN([QTHREAD_CHECK_INLINE_C_GCC],[
AC_CACHE_CHECK([support for __asm__ __volatile__],
[qt_cv_asm_volatile],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[__asm__ __volatile__ ("":::"memory");]])],
[qt_cv_asm_volatile=yes],
[qt_cv_asm_volatile=no])])
AC_CACHE_CHECK([$CC support for GCC inline assembly],[qt_cv_gcc_inline_assembly],[
assembly="$1"
asm_result="unknown"
AS_IF([test ! "$assembly" = ""],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
int main(void) {
int ret = 1;
__asm__ __volatile__ ($assembly);
return ret;
}]])],
[asm_result="yes"], [asm_result="no"],
[asm_result="unknown"])],
[assembly="test skipped - assuming no"])

# if we're cross compiling, just try to compile and figure good enough
AS_IF([test "$asm_result" = "unknown"],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
int main(void)
{
int ret = 1;
__asm__ __volatile__ ($assembly);
return ret;
}]])],
[asm_result="yes"], [asm_result="no"])
])
qt_cv_gcc_inline_assembly="$asm_result"
unset assembly asm_result])


AS_IF([test "x$qt_cv_gcc_inline_assembly" = "xyes"],
[AC_DEFINE([HAVE_GCC_INLINE_ASSEMBLY], [1],
[Whether C compiler supports GCC style inline assembly])
$2], [$3])
])dnl


AC_DEFUN([QTHREAD_CHECK_ASSEMBLY],[
AC_REQUIRE([AM_PROG_AS])
AC_CHECK_SIZEOF([long])
Expand All @@ -179,23 +93,6 @@ AC_DEFUN([QTHREAD_CHECK_ASSEMBLY],[
qthread_gcc_inline_assign='"movl [$]0, %0" : "=&r"(ret)'
;;

ia64-*)
qthread_cv_asm_arch="IA64"
qthread_gcc_inline_assign='"mov %0=r0\n;;\n" : "=&r"(ret)'
;;

alpha-*|alphaev[[4-8]]-*|alphaev56-*|alphaev6[[78]]-*)
qthread_cv_asm_arch="ALPHA"
qthread_gcc_inline_assign='"bis [$]31,[$]31,%0" : "=&r"(ret)'
;;

tile-*)
AS_IF([test "$ac_cv_sizeof_long" = "4"],
[qthread_cv_asm_arch="TILE"],
[qthread_cv_asm_arch="TILEGX"])
qthread_gcc_inline_assign='"movei %0, 5" : "=&r"(ret)'
;;

armv7l-*)
qthread_cv_asm_arch="ARM"
qthread_gcc_inline_assign='"movt %0, #5" : "=&r"(ret)'
Expand All @@ -205,13 +102,6 @@ AC_DEFUN([QTHREAD_CHECK_ASSEMBLY],[
qthread_cv_asm_arch="ARMV8_A64"
;;

mips-*|mips64-*)
# Should really find some way to make sure that we are on
# a MIPS III machine (r4000 and later)
qthread_cv_asm_arch="MIPS"
qthread_gcc_inline_assign='"or %0,[$]0,[$]0" : "=&r"(ret)'
;;

powerpc*|powerpc64*)
AS_IF([test "$ac_cv_sizeof_long" = "4"],
[qthread_cv_asm_arch="POWERPC32"],
Expand All @@ -236,20 +126,8 @@ AC_DEFUN([QTHREAD_CHECK_ASSEMBLY],[
qthread_gcc_inline_assign='"A_%=: li %0,0" : "=&r"(ret)'
;;

sparc*-*)
# SPARC v9 (and above) are the only ones with 64bit support
# if compiling 32 bit, see if we are v9 (aka v8plus) or
# earlier (casa is v8+/v9).
AS_IF([test "$ac_cv_sizeof_long" = "4"],
[QTHREAD_CHECK_SPARCV8PLUS([qthread_cv_asm_arch="SPARCV9_32"])],
[qthread_cv_asm_arch="SPARCV9_64"])
qthread_gcc_inline_assign='"mov 0,%0" : "=&r"(ret)'
;;
esac

# now that we know our architecture, try to inline assemble
QTHREAD_CHECK_INLINE_C_GCC([$qthread_gcc_inline_assign], [$1], [$2])

AC_MSG_CHECKING([for asssembly architecture])
AC_MSG_RESULT([$qthread_cv_asm_arch])
result="QTHREAD_$qthread_cv_asm_arch"
Expand Down
60 changes: 0 additions & 60 deletions config/qthread_check_atomics.m4
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,9 @@ AC_REQUIRE([QTHREAD_DETECT_COMPILER_TYPE])
AC_ARG_ENABLE([builtin-atomics],
[AS_HELP_STRING([--disable-builtin-atomics],
[force the use of inline-assembly (if possible) rather than compiler-builtins for atomics. This is useful for working around some compiler bugs; normally, it's preferable to use compiler builtins.])])
AS_IF([test "x$enable_builtin_atomics" != xno],
[AS_IF([test "x$qthread_cv_c_compiler_type" = xIBM_XL -o "x$qthread_cv_cxx_compiler_type" = xIBM_XL],
[AS_IF([test "x$enable_builtin_atomics" = xyes],
[AC_MSG_WARN([Disabling builtin atomics on IBM_XL, due to compiler design decision])])
enable_builtin_atomics=no])])
AS_IF([test "x$enable_builtin_atomics" != xno], [
AS_IF([test "x$qthread_cv_c_compiler_type" = xIntel -o "x$qthread_cv_cxx_compiler_type" = xIntel],
[AC_CHECK_HEADERS([ia64intrin.h ia32intrin.h])])
AC_CACHE_CHECK([whether compiler supports builtin atomic CAS-32],
[qthread_cv_atomic_CAS32],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>
#include <stdint.h> /* for uint32_t */

Expand All @@ -40,11 +27,6 @@ return (int)foo;
AC_CACHE_CHECK([whether compiler supports builtin atomic CAS-64],
[qthread_cv_atomic_CAS64],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>
#include <stdint.h> /* for uint64_t */

Expand All @@ -59,11 +41,6 @@ return foo;
AC_CACHE_CHECK([whether compiler supports builtin atomic CAS-ptr],
[qthread_cv_atomic_CASptr],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>

int main(void)
Expand Down Expand Up @@ -130,11 +107,6 @@ AC_CACHE_CHECK([whether compiler supports builtin atomic incr],
[qthread_cv_atomic_incr],
[AS_IF([test "$1" -eq 8],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>
#include <stdint.h> /* for uint64_t */

Expand All @@ -147,11 +119,6 @@ return foo;
[qthread_cv_atomic_incr="yes"],
[qthread_cv_atomic_incr="no"])],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>
#include <stdint.h> /* for uint32_t */

Expand All @@ -169,11 +136,6 @@ AS_IF([test "$qthread_cv_atomic_incr" = "yes"],
[qt_cv_atomic_incr_works],
[AS_IF([test "$1" -eq 8],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>
#include <stdint.h> /* for uint64_t */

Expand Down Expand Up @@ -204,11 +166,6 @@ return 0;
[qt_cv_atomic_incr_works="no"],
[qt_cv_atomic_incr_works="assuming yes"])],
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
#ifdef HAVE_IA64INTRIN_H
# include <ia64intrin.h>
#elif HAVE_IA32INTRIN_H
# include <ia32intrin.h>
#endif
#include <stdlib.h>
#include <stdint.h> /* for uint32_t */

Expand All @@ -224,23 +181,6 @@ return 0;
[qt_cv_atomic_incr_works="no"],
[qt_cv_atomic_incr_works="assuming yes"])])
])])
AS_IF([test "$qthread_cv_atomic_CAS" = "yes"],
[AC_CACHE_CHECK([whether ia64intrin.h is required],
[qthread_cv_require_ia64intrin_h],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <stdlib.h>

int main(void)
{
long bar=1, old=1, new=2;
long foo = __sync_val_compare_and_swap(&bar, old, new);
return foo;
}]])],
[qthread_cv_require_ia64intrin_h="no"],
[qthread_cv_require_ia64intrin_h="yes"])])])
])
AS_IF([test "$qthread_cv_require_ia64intrin_h" = "yes"],
[AC_DEFINE([QTHREAD_NEEDS_IA64INTRIN],[1],[if this header is necessary for builtin atomics])])
AS_IF([test "x$qthread_cv_atomic_CASptr" = "xyes"],
[AC_DEFINE([QTHREAD_ATOMIC_CAS_PTR],[1],
[if the compiler supports __sync_val_compare_and_swap on pointers])])
Expand Down
9 changes: 2 additions & 7 deletions config/qthread_check_attributes.m4
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,12 @@ AC_DEFUN([QTHREAD_BUILTIN_PREFETCH],[dnl
AC_CACHE_CHECK(
[support for __builtin_prefetch],
[qt_cv_builtin_prefetch],
[AS_IF([test "$qthread_cv_c_compiler_type" == PortlandGroup],
[qt_cv_builtin_prefetch=no],
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
int x;]],[[
__builtin_prefetch(&x, 0, 0);
return malloc(x)?1:0;]])],
[qt_cv_builtin_prefetch=yes],
[qt_cv_builtin_prefetch=no])])])
[qt_cv_builtin_prefetch=no])])
AS_IF([test "x$qt_cv_builtin_prefetch" = xyes],
[AC_DEFINE([HAS_BUILTIN_PREFETCH], [1], [define if compiler supports __builtin_prefetch])
$1], [$2])
Expand Down Expand Up @@ -140,9 +138,6 @@ AC_CACHE_CHECK([support for __sync_synchronize],
POWERPC*)
mdefstr='__asm__ __volatile__ ("sync":::"memory")'
;;
SPARCV9_32|SPARCV9_64)
mdefstr='__asm__ __volatile__ ("membar #StoreStore|#LoadStore|#StoreLoad|#LoadLoad":::"memory")'
;;
*)
AC_MSG_ERROR([ASM $qthread_cv_asm_arch])
mdefstr="$cdefstr"
Expand Down
Loading
Loading