aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2005-11-15 05:00:40 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2005-11-15 00:00:40 -0500
commit9719f3b7928a1a740a31925b5b2f3d4053d2d3ff (patch)
treee3c4173d584ff945858e97eecbb8ca939a360bbc /gcc/configure
parentf47bddec0c00f9301cb2feba9740a2e3caa8c236 (diff)
downloadgcc-9719f3b7928a1a740a31925b5b2f3d4053d2d3ff.zip
gcc-9719f3b7928a1a740a31925b5b2f3d4053d2d3ff.tar.gz
gcc-9719f3b7928a1a740a31925b5b2f3d4053d2d3ff.tar.bz2
invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, -mpopcntb, -mfprnd.
* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf, -mpopcntb, -mfprnd. Add -mcpu=power5+. * configure.ac: Add test for FP rounding instructions. * configure: Regenerate. * config.in: Regenerate. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if features enabled. * config/rs6000/rs6000.opt (mfprnd): New. * config/rs6000/rs6000.c (processor_target_table): Add power5+. (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND. * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+. (TARGET_FPRND): New. * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP, UNSPEC_FRIZ): New. (btrunc<mode>2): New. (ceil<mode>2): New. (floor<mode>2): New. (round<mode>2): New. From-SVN: r106938
Diffstat (limited to 'gcc/configure')
-rwxr-xr-xgcc/configure46
1 files changed, 46 insertions, 0 deletions
diff --git a/gcc/configure b/gcc/configure
index ba43b58..37d7ac6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -15577,6 +15577,52 @@ _ACEOF
fi
case $target in
+ *-*-aix*) conftest_s=' .machine "pwr5x"
+ .csect .text[PR]
+ frin 1,1';;
+ *) conftest_s=' .machine power5x
+ .text
+ frin 1,1';;
+ esac
+
+ echo "$as_me:$LINENO: checking assembler for fp round support" >&5
+echo $ECHO_N "checking assembler for fp round support... $ECHO_C" >&6
+if test "${gcc_cv_as_powerpc_fprnd+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ gcc_cv_as_powerpc_fprnd=no
+ if test $in_tree_gas = yes; then
+ if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 17 \) \* 1000 + 0`
+ then gcc_cv_as_powerpc_fprnd=yes
+fi
+ elif test x$gcc_cv_as != x; then
+ echo "$conftest_s" > conftest.s
+ if { ac_try='$gcc_cv_as -o conftest.o conftest.s >&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }
+ then
+ gcc_cv_as_powerpc_fprnd=yes
+ else
+ echo "configure: failed program was" >&5
+ cat conftest.s >&5
+ fi
+ rm -f conftest.o conftest.s
+ fi
+fi
+echo "$as_me:$LINENO: result: $gcc_cv_as_powerpc_fprnd" >&5
+echo "${ECHO_T}$gcc_cv_as_powerpc_fprnd" >&6
+if test $gcc_cv_as_powerpc_fprnd = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_AS_FPRND 1
+_ACEOF
+
+fi
+
+ case $target in
*-*-aix*) conftest_s=' .csect .text[PR]
LCF..0:
addis 11,30,_GLOBAL_OFFSET_TABLE_-LCF..0@ha';;