per conversation with George, don't try to figure out all the assembly
information on Windows with the CL compiler. We don't use it, and we were running into trouble with the compiler on some tests This commit was SVN r8558.
Этот коммит содержится в:
родитель
209fe64de0
Коммит
f9018a148c
@ -132,7 +132,6 @@ ${sym}mytestlabel$ompi_cv_asm_label_suffix],
|
||||
# OMPI_CHECK_ASM_LSYM()
|
||||
# ---------------------
|
||||
AC_DEFUN([OMPI_CHECK_ASM_LSYM],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_LABEL_SUFFIX])
|
||||
AC_REQUIRE([AC_PROG_NM])
|
||||
|
||||
AC_CACHE_CHECK([prefix for lsym labels],
|
||||
@ -170,10 +169,6 @@ AC_DEFUN([OMPI_CHECK_ASM_GSYM],[
|
||||
])
|
||||
|
||||
AC_DEFUN([_OMPI_CHECK_ASM_GSYM],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_GLOBAL])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_LABEL_SUFFIX])
|
||||
|
||||
ompi_cv_asm_gsym="none"
|
||||
|
||||
for sym in "_" "" "." ; do
|
||||
@ -267,9 +262,6 @@ dnl logarithmically, 0 otherwise
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_ASM_ALIGN_LOG],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_GLOBAL])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_LABEL_SUFFIX])
|
||||
AC_REQUIRE([AC_PROG_NM])
|
||||
|
||||
AC_CACHE_CHECK([if .align directive takes logarithmic value],
|
||||
@ -397,7 +389,6 @@ dnl or rX (OS X)
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_POWERPC_REG],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
AC_MSG_CHECKING([if PowerPC registers have r prefix])
|
||||
OMPI_TRY_ASSEMBLE([$ompi_cv_asm_text
|
||||
addi 1,1,0],
|
||||
@ -429,8 +420,6 @@ dnl operations (on a long long).
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_POWERPC_64BIT],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
|
||||
AC_MSG_CHECKING([for 64-bit PowerPC assembly support])
|
||||
ppc64_result=0
|
||||
if test "$ompi_cv_asm_powerpc_r_reg" = "1" ; then
|
||||
@ -460,8 +449,6 @@ dnl OMPI_CHECK_SPARCV8PLUS
|
||||
dnl
|
||||
dnl #################################################################
|
||||
AC_DEFUN([OMPI_CHECK_SPARCV8PLUS],[
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
|
||||
AC_MSG_CHECKING([if have Sparc v8+/v9 support])
|
||||
sparc_result=0
|
||||
OMPI_TRY_ASSEMBLE([$ompi_cv_asm_text
|
||||
@ -730,44 +717,40 @@ AC_DEFUN([OMPI_CONFIG_ASM],[
|
||||
AC_REQUIRE([OMPI_SETUP_CC])
|
||||
AC_REQUIRE([OMPI_SETUP_CXX])
|
||||
AC_REQUIRE([AM_PROG_AS])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TEXT])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_GLOBAL])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_GSYM])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_LSYM])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_TYPE])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_SIZE])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_LABEL_SUFFIX])
|
||||
AC_REQUIRE([OMPI_CHECK_ASM_ALIGN_LOG])
|
||||
|
||||
AC_MSG_CHECKING([whether to enable smp locks])
|
||||
AC_ARG_ENABLE(smp-locks,
|
||||
AC_HELP_STRING([--enable-smp-locks],
|
||||
[disable smp locks in atomic ops (default: enabled)]))
|
||||
if test "$enable_smp_locks" != "no"; then
|
||||
|
||||
AC_MSG_CHECKING([whether to enable smp locks])
|
||||
AC_ARG_ENABLE([smp-locks],
|
||||
[AC_HELP_STRING([--enable-smp-locks],
|
||||
[disable smp locks in atomic ops (default: enabled)])])
|
||||
if test "$enable_smp_locks" != "no"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
want_smp_locks=1
|
||||
else
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
want_smp_locks=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([OMPI_WANT_SMP_LOCKS], [$want_smp_locks],
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([OMPI_WANT_SMP_LOCKS], [$want_smp_locks],
|
||||
[whether we want to have smp locks in atomic ops or not])
|
||||
|
||||
|
||||
# find our architecture for purposes of assembly stuff
|
||||
ompi_cv_asm_arch="UNSUPPORTED"
|
||||
OMPI_GCC_INLINE_ASSIGN=""
|
||||
OMPI_ASM_SUPPORT_64BIT=0
|
||||
case "${host}" in
|
||||
*-winnt*)
|
||||
ompi_cv_asm_arch="WINDOWS"
|
||||
;;
|
||||
|
||||
i?86-*|x86_64*)
|
||||
if test "$ompi_cv_c_compiler_vendor" = "microsoft" ; then
|
||||
ompi_cv_asm_arch="WINDOWS"
|
||||
OMPI_GCC_INLINE_ASSIGN='"MOVL [$]0, %0" : "=&r"(ret)'
|
||||
else
|
||||
OMPI_CHECK_ASM_TEXT
|
||||
OMPI_CHECK_ASM_GLOBAL
|
||||
OMPI_CHECK_ASM_LABEL_SUFFIX
|
||||
OMPI_CHECK_ASM_GSYM
|
||||
OMPI_CHECK_ASM_LSYM
|
||||
OMPI_CHECK_ASM_TYPE
|
||||
OMPI_CHECK_ASM_SIZE
|
||||
OMPI_CHECK_ASM_ALIGN_LOG
|
||||
|
||||
# find our architecture for purposes of assembly stuff
|
||||
ompi_cv_asm_arch="UNSUPPORTED"
|
||||
OMPI_GCC_INLINE_ASSIGN=""
|
||||
OMPI_ASM_SUPPORT_64BIT=0
|
||||
case "${host}" in
|
||||
i?86-*|x86_64*)
|
||||
if test "$ac_cv_sizeof_long" = "4" ; then
|
||||
ompi_cv_asm_arch="IA32"
|
||||
else
|
||||
@ -775,7 +758,6 @@ case "${host}" in
|
||||
fi
|
||||
OMPI_ASM_SUPPORT_64BIT=1
|
||||
OMPI_GCC_INLINE_ASSIGN='"movl [$]0, %0" : "=&r"(ret)'
|
||||
fi
|
||||
;;
|
||||
|
||||
ia64-*)
|
||||
@ -851,67 +833,67 @@ AC_MSG_WARN([significant performance increase.])
|
||||
*)
|
||||
AC_MSG_ERROR([No atomic primitives available for $host])
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_SUPPORT_64BIT],
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASM_SUPPORT_64BIT],
|
||||
[$OMPI_ASM_SUPPORT_64BIT],
|
||||
[Whether we can do 64bit assembly operations or not. Should not be used outside of the assembly header files])
|
||||
AC_SUBST([OMPI_ASM_SUPPORT_64BIT])
|
||||
AC_SUBST([OMPI_ASM_SUPPORT_64BIT])
|
||||
|
||||
#
|
||||
# figure out if we need any special function start / stop code
|
||||
#
|
||||
case $host_os in
|
||||
#
|
||||
# figure out if we need any special function start / stop code
|
||||
#
|
||||
case $host_os in
|
||||
aix*)
|
||||
ompi_asm_arch_config="aix"
|
||||
;;
|
||||
*)
|
||||
ompi_asm_arch_config="default"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
# now that we know our architecture, try to inline assemble
|
||||
OMPI_CHECK_INLINE_C_GCC([$OMPI_GCC_INLINE_ASSIGN])
|
||||
OMPI_CHECK_INLINE_C_DEC
|
||||
OMPI_CHECK_INLINE_C_XLC
|
||||
OMPI_CHECK_INLINE_CXX_GCC([$OMPI_GCC_INLINE_ASSIGN])
|
||||
OMPI_CHECK_INLINE_CXX_DEC
|
||||
OMPI_CHECK_INLINE_CXX_XLC
|
||||
|
||||
# now that we know our architecture, try to inline assemble
|
||||
OMPI_CHECK_INLINE_C_GCC([$OMPI_GCC_INLINE_ASSIGN])
|
||||
OMPI_CHECK_INLINE_C_DEC
|
||||
OMPI_CHECK_INLINE_C_XLC
|
||||
OMPI_CHECK_INLINE_CXX_GCC([$OMPI_GCC_INLINE_ASSIGN])
|
||||
OMPI_CHECK_INLINE_CXX_DEC
|
||||
OMPI_CHECK_INLINE_CXX_XLC
|
||||
|
||||
# format:
|
||||
# config_file-text-global-label_suffix-gsym-lsym-type-size-align_log-ppc_r_reg-64_bit
|
||||
asm_format="${ompi_asm_arch_config}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_text}-${ompi_cv_asm_global}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_label_suffix}-${ompi_cv_asm_gsym}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_lsym}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_type}-${ompi_asm_size}"
|
||||
asm_format="${asm_format}-${ompi_asm_align_log_result}"
|
||||
if test "$ompi_cv_asm_arch" = "POWERPC32" -o "$ompi_cv_asm_arch" = "POWERPC64" ; then
|
||||
# format:
|
||||
# config_file-text-global-label_suffix-gsym-lsym-type-size-align_log-ppc_r_reg-64_bit
|
||||
asm_format="${ompi_asm_arch_config}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_text}-${ompi_cv_asm_global}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_label_suffix}-${ompi_cv_asm_gsym}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_lsym}"
|
||||
asm_format="${asm_format}-${ompi_cv_asm_type}-${ompi_asm_size}"
|
||||
asm_format="${asm_format}-${ompi_asm_align_log_result}"
|
||||
if test "$ompi_cv_asm_arch" = "POWERPC32" -o "$ompi_cv_asm_arch" = "POWERPC64" ; then
|
||||
asm_format="${asm_format}-${ompi_cv_asm_powerpc_r_reg}"
|
||||
else
|
||||
else
|
||||
asm_format="${asm_format}-1"
|
||||
fi
|
||||
ompi_cv_asm_format="${asm_format}-${OMPI_ASM_SUPPORT_64BIT}"
|
||||
OMPI_ASSEMBLY_FORMAT="$ompi_cv_asm_format"
|
||||
fi
|
||||
ompi_cv_asm_format="${asm_format}-${OMPI_ASM_SUPPORT_64BIT}"
|
||||
OMPI_ASSEMBLY_FORMAT="$ompi_cv_asm_format"
|
||||
|
||||
AC_MSG_CHECKING([for assembly format])
|
||||
AC_MSG_RESULT([$OMPI_ASSEMBLY_FORMAT])
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASSEMBLY_FORMAT], ["$OMPI_ASSEMBLY_FORMAT"],
|
||||
AC_MSG_CHECKING([for assembly format])
|
||||
AC_MSG_RESULT([$OMPI_ASSEMBLY_FORMAT])
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASSEMBLY_FORMAT], ["$OMPI_ASSEMBLY_FORMAT"],
|
||||
[Format of assembly file])
|
||||
AC_SUBST([OMPI_ASSEMBLY_FORMAT])
|
||||
AC_SUBST([OMPI_ASSEMBLY_FORMAT])
|
||||
fi # if cv_c_compiler_vendor = microsoft
|
||||
|
||||
result="OMPI_$ompi_cv_asm_arch"
|
||||
OMPI_ASSEMBLY_ARCH="$ompi_cv_asm_arch"
|
||||
AC_MSG_CHECKING([for asssembly architecture])
|
||||
AC_MSG_RESULT([$ompi_cv_asm_arch])
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASSEMBLY_ARCH], [$result],
|
||||
result="OMPI_$ompi_cv_asm_arch"
|
||||
OMPI_ASSEMBLY_ARCH="$ompi_cv_asm_arch"
|
||||
AC_MSG_CHECKING([for asssembly architecture])
|
||||
AC_MSG_RESULT([$ompi_cv_asm_arch])
|
||||
AC_DEFINE_UNQUOTED([OMPI_ASSEMBLY_ARCH], [$result],
|
||||
[Architecture type of assembly to use for atomic operations])
|
||||
AC_SUBST([OMPI_ASSEMBLY_ARCH])
|
||||
AC_SUBST([OMPI_ASSEMBLY_ARCH])
|
||||
|
||||
OMPI_ASM_FIND_FILE
|
||||
OMPI_ASM_FIND_FILE
|
||||
|
||||
unset result asm_format
|
||||
unset result asm_format
|
||||
])dnl
|
||||
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user