diff options
author | Richard Henderson <rth@gcc.gnu.org> | 1999-08-02 15:58:04 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-08-02 15:58:04 -0700 |
commit | 1cb36a981d95f29f37fef511b88a04c48cfa90cc (patch) | |
tree | a4298750822ac9991259b44746e7970194b4f6a4 /gcc/configure.in | |
parent | e76d23764b387e9636b5d568b62531019f7f2273 (diff) | |
download | gcc-1cb36a981d95f29f37fef511b88a04c48cfa90cc.zip gcc-1cb36a981d95f29f37fef511b88a04c48cfa90cc.tar.gz gcc-1cb36a981d95f29f37fef511b88a04c48cfa90cc.tar.bz2 |
Jakub Jelinek <jj@ultra.linux.cz>
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
(RTX_OK_FOR_OLO10): Likewise.
(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
%lo(), allow it in addresses...
(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
does not make sense.
* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
(sparc_output_scratch_registers): New function.
(output_function_prologue, sparc_flat_output_function_prologue): Use
it.
* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
defined.
* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
* configure.in: Add check for .register pseudo-op support in as and
check for offsetable %lo().
* acconfig.h: Add templates for the above checks.
* configure: Regenerate.
Richard Henderson <rth@cygnus.com>
* sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
* sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
* sparc/sol2.h (TARGET_DEFAULT): Likewise.
From-SVN: r28414
Diffstat (limited to 'gcc/configure.in')
-rw-r--r-- | gcc/configure.in | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/gcc/configure.in b/gcc/configure.in index a813cfc..8602748 100644 --- a/gcc/configure.in +++ b/gcc/configure.in @@ -4153,9 +4153,55 @@ EOF fi AC_MSG_RESULT($gcc_cv_as_subsections) -AC_MSG_CHECKING(assembler instructions) -gcc_cv_as_instructions= -if test x$gcc_cv_as != x; then +case "$target" in + sparc*-*-*) + AC_MSG_CHECKING(assembler .register pseudo-op support) + gcc_cv_as_register_pseudo_op= + if test x$gcc_cv_as != x; then + # Check if we have .register + echo ".register %g2, #scratch" > conftest.s + if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_register_pseudo_op=yes + AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP) + fi + rm -f conftest.s conftest.o + fi + AC_MSG_RESULT($gcc_cv_as_register_pseudo_op) + + AC_MSG_CHECKING([assembler offsetable %lo() support]) + gcc_cv_as_offsetable_lo10= + if test x$gcc_cv_as != x; then + # Check if assembler has offsetable %lo() + echo "or %g1, %lo(ab) + 12, %g1" > conftest.s + echo "or %g1, %lo(ab + 12), %g1" > conftest1.s + gcc_cv_as_flags64="-xarch=v9" + if ! $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_flags64="-64" + if ! $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s > /dev/null 2>&1; then + gcc_cv_as_flags64="" + fi + fi + if test -n "$gcc_cv_as_flags64" ; then + if $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s > /dev/null 2>&1; then + if cmp conftest.o conftest1.o > /dev/null 2>&1; then + : + else + gcc_cv_as_offsetable_lo10=yes + AC_DEFINE(HAVE_AS_OFFSETABLE_LO10) + fi + fi + fi + rm -f conftest.s conftest.o conftest1.s conftest1.o + fi + AC_MSG_RESULT($gcc_cv_as_offsetable_lo10) + ;; + +changequote(,)dnl + i[34567]86-*-*) +changequote([,])dnl + AC_MSG_CHECKING(assembler instructions) + gcc_cv_as_instructions= + if test x$gcc_cv_as != x; then set "filds fists" "filds mem; fists mem" while test $# -gt 0 do @@ -4167,8 +4213,10 @@ if test x$gcc_cv_as != x; then shift 2 done rm -f conftest.s conftest.o -fi -AC_MSG_RESULT($gcc_cv_as_instructions) + fi + AC_MSG_RESULT($gcc_cv_as_instructions) + ;; +esac # Figure out what language subdirectories are present. # Look if the user specified --enable-languages="..."; if not, use |