@@ -1003,6 +1003,11 @@ AC_DEFUN([OPAL_CONFIG_ASM],[
1003
1003
OPAL_GCC_INLINE_ASSIGN=""
1004
1004
OPAL_ASM_SUPPORT_64BIT=0
1005
1005
case "${host}" in
1006
+ x86_64-*x32)
1007
+ opal_cv_asm_arch="AMD64"
1008
+ OPAL_ASM_SUPPORT_64BIT=1
1009
+ OPAL_GCC_INLINE_ASSIGN='"xaddl %1,%0" : "=m"(ret), "+r"(negone) : "m"(ret)'
1010
+ ;;
1006
1011
i?86-*|x86_64*)
1007
1012
if test "$ac_cv_sizeof_long" = "4" ; then
1008
1013
opal_cv_asm_arch="IA32"
@@ -1028,7 +1033,7 @@ AC_DEFUN([OPAL_CONFIG_ASM],[
1028
1033
OPAL_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
1029
1034
;;
1030
1035
1031
- armv7*)
1036
+ armv7*|arm-*-linux-gnueabihf )
1032
1037
opal_cv_asm_arch="ARM"
1033
1038
OPAL_ASM_SUPPORT_64BIT=1
1034
1039
OPAL_ASM_ARM_VERSION=7
@@ -1047,7 +1052,7 @@ AC_DEFUN([OPAL_CONFIG_ASM],[
1047
1052
OPAL_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
1048
1053
;;
1049
1054
1050
- armv5*linux*|armv4*linux*)
1055
+ armv5*linux*|armv4*linux*|arm-*-linux-gnueabi )
1051
1056
# uses Linux kernel helpers for some atomic operations
1052
1057
opal_cv_asm_arch="ARM"
1053
1058
OPAL_ASM_SUPPORT_64BIT=0
@@ -1255,27 +1260,21 @@ if test "$opal_cv_asm_arch" != "WINDOWS" && test "$opal_cv_asm_builtin" != "BUIL
1255
1260
rm -rf conftest.*
1256
1261
1257
1262
if test "$opal_cv_asm_file" = "" ; then
1258
- if test ! "$PERL" = "" ; then
1259
- # we have perl... Can we generate a file?
1260
- AC_MSG_CHECKING ( [ whether possible to generate assembly file] )
1261
- mkdir -p opal/asm/generated
1262
- opal_cv_asm_file="atomic-local.s"
1263
- opal_try='$PERL $OPAL_TOP_SRCDIR/opal/asm/generate-asm.pl $opal_cv_asm_arch "$opal_cv_asm_format" $OPAL_TOP_SRCDIR/opal/asm/base $OPAL_TOP_BUILDDIR/opal/asm/generated/$opal_cv_asm_file >conftest.out 2>&1'
1264
- if AC_TRY_EVAL(opal_try) ; then
1265
- # save the warnings
1266
- cat conftest.out >&AC_FD_CC
1267
- AC_MSG_RESULT ( [ yes] )
1268
- else
1269
- # save output
1270
- cat conftest.out >&AC_FD_CC
1271
- opal_cv_asm_file=""
1272
- AC_MSG_RESULT ( [ failed] )
1273
- AC_MSG_WARN ( [ Could not build atomic operations assembly file.] )
1274
- AC_MSG_WARN ( [ There will be no atomic operations for this build.] )
1275
- fi
1263
+ # Can we generate a file?
1264
+ AC_MSG_CHECKING ( [ whether possible to generate assembly file] )
1265
+ mkdir -p opal/asm/generated
1266
+ opal_cv_asm_file="atomic-local.s"
1267
+ opal_try='$PERL $OPAL_TOP_SRCDIR/opal/asm/generate-asm.pl $opal_cv_asm_arch "$opal_cv_asm_format" $OPAL_TOP_SRCDIR/opal/asm/base $OPAL_TOP_BUILDDIR/opal/asm/generated/$opal_cv_asm_file >conftest.out 2>&1'
1268
+ if AC_TRY_EVAL(opal_try) ; then
1269
+ # save the warnings
1270
+ cat conftest.out >&AC_FD_CC
1271
+ AC_MSG_RESULT ( [ yes] )
1276
1272
else
1277
- AC_MSG_WARN ( [ Could not find prebuilt atomic operations file and could not] )
1278
- AC_MSG_WARN ( [ find perl to attempt to generate a custom assembly file.] )
1273
+ # save output
1274
+ cat conftest.out >&AC_FD_CC
1275
+ opal_cv_asm_file=""
1276
+ AC_MSG_RESULT ( [ failed] )
1277
+ AC_MSG_WARN ( [ Could not build atomic operations assembly file.] )
1279
1278
AC_MSG_WARN ( [ There will be no atomic operations for this build.] )
1280
1279
fi
1281
1280
fi
0 commit comments