aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJames A. Morrison <ja2morri@uwaterloo.ca>2004-03-26 11:13:48 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2004-03-26 11:13:48 +0000
commit9e1395f14ce68c41f078a6c2a5207996e5fdf100 (patch)
tree791d6370437bde18eebb5f25f84a9a2112a2b1a6 /gcc
parent22e63bd346c056fb94086e0797eda465fbe7a7ac (diff)
downloadgcc-9e1395f14ce68c41f078a6c2a5207996e5fdf100.zip
gcc-9e1395f14ce68c41f078a6c2a5207996e5fdf100.tar.gz
gcc-9e1395f14ce68c41f078a6c2a5207996e5fdf100.tar.bz2
config.gcc: Remove sparc-tti-*.
* config.gcc: Remove sparc-tti-*. * config/sparc/pbd.h: Delete. * config/sparc/sol2.h: Remove note about Sun OS 4.x. * config/sparc/aout.h: Likewise. * config/sparc/sparc.h: Remove if 0'd code. * config/sparc/sparc.md (call): Remove if 0'd code. (call_value): Likewise. (nonlocal_goto): Likewise. (unimp_insn): Delete. From-SVN: r79980
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog14
-rw-r--r--gcc/config.gcc4
-rw-r--r--gcc/config/sparc/aout.h5
-rw-r--r--gcc/config/sparc/pbd.h145
-rw-r--r--gcc/config/sparc/sol2.h2
-rw-r--r--gcc/config/sparc/sparc.h11
-rw-r--r--gcc/config/sparc/sparc.md49
7 files changed, 23 insertions, 207 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c56fb86..b41b630 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@
+2004-03-26 James A. Morrison <ja2morri@uwaterloo.ca>
+
+ * config.gcc: Remove sparc-tti-*.
+ * config/sparc/pbd.h: Delete.
+
+ * config/sparc/sol2.h: Remove note about Sun OS 4.x.
+ * config/sparc/aout.h: Likewise.
+
+ * config/sparc/sparc.h: Remove if 0'd code.
+ * config/sparc/sparc.md (call): Remove if 0'd code.
+ (call_value): Likewise.
+ (nonlocal_goto): Likewise.
+ (unimp_insn): Delete.
+
2004-03-25 Roger Sayle <roger@eyesopen.com>
* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 8d7f0d0..9be962c 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1784,10 +1784,6 @@ sh-*-*)
tm_file="${tm_file} dbxcoff.h sh/coff.h"
use_fixproto=yes
;;
-sparc-tti-*)
- tm_file="${tm_file} sparc/pbd.h"
- use_fixproto=yes
- ;;
sparc-*-netbsdelf*)
tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
;;
diff --git a/gcc/config/sparc/aout.h b/gcc/config/sparc/aout.h
index 0a02f77..5c5e622 100644
--- a/gcc/config/sparc/aout.h
+++ b/gcc/config/sparc/aout.h
@@ -48,10 +48,7 @@ do { \
#define DATA_SECTION_ASM_OP "\t.data"
/* This is how to output a note to DBX telling it the line number
- to which the following sequence of instructions corresponds.
-
- This is needed for SunOS 4.0, and should not hurt for 3.2
- versions either. */
+ to which the following sequence of instructions corresponds. */
#define ASM_OUTPUT_SOURCE_LINE(file, line, counter) \
fprintf (file, ".stabn 68,0,%d,LM%d\nLM%d:\n", \
line, counter, counter)
diff --git a/gcc/config/sparc/pbd.h b/gcc/config/sparc/pbd.h
deleted file mode 100644
index 650ad68..0000000
--- a/gcc/config/sparc/pbd.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Definitions of target machine for GNU compiler, Citicorp/TTI Unicom PBD
- version (using GAS and COFF (encapsulated is unacceptable) )
- Copyright (C) 1990, 1996, 2000, 2004 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-/* Target OS builtins. */
-#define TARGET_OS_CPP_BUILTINS() \
- do \
- { \
- builtin_define_std ("unix"); \
- builtin_define_std ("UnicomPBD"); \
- builtin_assert ("system=unix"); \
- } \
- while (0)
-
-/* We want DBX format for use with gdb under COFF. */
-
-#define DBX_DEBUGGING_INFO 1
-
-/* Generate calls to memcpy, memcmp and memset. */
-
-#define TARGET_MEM_FUNCTIONS
-
-/* we use /lib/libp/lib* when profiling */
-
-#undef LIB_SPEC
-#define LIB_SPEC "%{p:-L/usr/lib/libp} %{pg:-L/usr/lib/libp} -lc"
-
-
-/* Use crt1.o as a startup file and crtn.o as a closing file. */
-/*
- * The loader directive file gcc.ifile defines how to merge the constructor
- * sections into the data section. Also, since gas only puts out those
- * sections in response to N_SETT stabs, and does not (yet) have a
- * ".sections" directive, gcc.ifile also defines the list symbols
- * __DTOR_LIST__ and __CTOR_LIST__.
- *
- * Finally, we must explicitly specify the file from libgcc.a that defines
- * exit(), otherwise if the user specifies (for example) "-lc_s" on the
- * command line, the wrong exit() will be used and global destructors will
- * not get called .
- */
-
-#define STARTFILE_SPEC \
-"%{!r: gcc.ifile%s} %{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}} \
-%{!r:_exit.o%s}"
-
-#define ENDFILE_SPEC "crtn.o%s"
-
-/* LINK_SPEC is needed only for SunOS 4. */
-
-#undef LINK_SPEC
-
-/* Although the gas we use can create .ctor and .dtor sections from N_SETT
- stabs, it does not support section directives, so we need to have the loader
- define the lists.
- */
-#define CTOR_LISTS_DEFINED_EXTERNALLY
-
-/* similar to default, but allows for the table defined by ld with gcc.ifile.
- nptrs is always 0. So we need to instead check that __DTOR_LIST__[1] != 0.
- The old check is left in so that the same macro can be used if and when
- a future version of gas does support section directives. */
-
-#define DO_GLOBAL_DTORS_BODY {int nptrs = *(int *)__DTOR_LIST__; int i; \
- if (nptrs == -1 || (__DTOR_LIST__[0] == 0 && __DTOR_LIST__[1] != 0)) \
- for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++); \
- for (i = nptrs; i >= 1; i--) \
- __DTOR_LIST__[i] (); }
-
-/*
- * Here is an example gcc.ifile. I've tested it on PBD sparc
- * systems. The NEXT(0x200000) works on just about all 386 and m68k systems,
- * but can be reduced to any power of 2 that is >= NBPS (0x40000 on a pbd).
-
- SECTIONS {
- .text BIND(0x41000200) BLOCK (0x200) :
- { *(.init) *(.text) vfork = fork; *(.fini) }
-
- GROUP BIND( NEXT(0x200000) + ADDR(.text) + SIZEOF(.text)):
- { .data : { __CTOR_LIST__ = . ; . += 4; *(.ctor) . += 4 ;
- __DTOR_LIST__ = . ; . += 4; *(.dtor) . += 4 ; }
- .bss : { }
- }
- }
- */
-
-/* The prefix to add to user-visible assembler symbols. */
-
-#undef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
-
-/* fixes: */
-/*
- * Internal labels are prefixed with a period.
- */
-
-#undef LOCAL_LABEL_PREFIX
-#define LOCAL_LABEL_PREFIX "."
-
-/* This is how to store into the string LABEL
- the symbol_ref name of an internal numbered label where
- PREFIX is the class of label and NUM is the number within the class.
- This is suitable for output with `assemble_name'. */
-
-#undef ASM_GENERATE_INTERNAL_LABEL
-#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
- sprintf (LABEL, "*.%s%ld", PREFIX, (long)(NUM))
-
-/* This is how to output an element of a case-vector that is relative. */
-
-#undef ASM_OUTPUT_ADDR_DIFF_ELT
-#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
- fprintf (FILE, "\t.word .L%d-.L%d\n", VALUE, REL)
-
-/* This is how to output an element of a case-vector that is absolute.
- (The 68000 does not use such vectors,
- but we must define this macro anyway.) */
-
-#undef ASM_OUTPUT_ADDR_VEC_ELT
-#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \
- fprintf (FILE, "\t.word .L%d\n", VALUE)
-
-/* This is needed for SunOS 4.0, and should not hurt for 3.2
- versions either. */
-#undef ASM_OUTPUT_SOURCE_LINE
-#define ASM_OUTPUT_SOURCE_LINE(file, line, counter) \
- fprintf (file, ".stabn 68,0,%d,.LM%d\n.LM%d:\n", \
- line, counter, counter)
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h
index 717a5a6..fcfc759 100644
--- a/gcc/config/sparc/sol2.h
+++ b/gcc/config/sparc/sol2.h
@@ -130,8 +130,6 @@ Boston, MA 02111-1307, USA. */
#undef SUPPORTS_INIT_PRIORITY
#define SUPPORTS_INIT_PRIORITY 0
-/* ??? This does not work in SunOS 4.x, so it is not enabled in sparc.h.
- Instead, it is enabled here, because it does work under Solaris. */
/* Define for support of TFmode long double.
SPARC ABI says that long double is 4 words. */
#define LONG_DOUBLE_TYPE_SIZE 128
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 44776c7..768525b 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -699,14 +699,9 @@ extern struct sparc_cpu_select sparc_select[];
#define LONG_LONG_TYPE_SIZE 64
#define FLOAT_TYPE_SIZE 32
#define DOUBLE_TYPE_SIZE 64
-
-#if 0
-/* ??? This does not work in SunOS 4.x, so it is not enabled here.
- Instead, it is enabled in sol2.h, because it does work under Solaris. */
-/* Define for support of TFmode long double.
- SPARC ABI says that long double is 4 words. */
-#define LONG_DOUBLE_TYPE_SIZE 128
-#endif
+/* LONG_DOUBLE_TYPE_SIZE is defined per OS even though the
+ SPARC ABI says that it is 128-bit wide. */
+/* #define LONG_DOUBLE_TYPE_SIZE 128 */
/* Width in bits of a pointer.
See also the macro `Pmode' defined below. */
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index f0e69b1..2c388f9 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -7309,15 +7309,6 @@
"jmp\t%a0%#"
[(set_attr "type" "uncond_branch")])
-;; This pattern recognizes the "instruction" that appears in
-;; a function call that wants a structure value,
-;; to inform the called function if compiled with Sun CC.
-;(define_insn "*unimp_insn"
-; [(match_operand:SI 0 "immediate_operand" "")]
-; "GET_CODE (operands[0]) == CONST_INT && INTVAL (operands[0]) > 0"
-; "unimp\t%0"
-; [(set_attr "type" "marker")])
-
;;- jump to subroutine
(define_expand "call"
;; Note that this expression is not used for generating RTL.
@@ -7328,7 +7319,7 @@
;; operands[3] is struct_value_size_rtx.
""
{
- rtx fn_rtx, nregs_rtx;
+ rtx fn_rtx;
if (GET_MODE (operands[0]) != FUNCTION_MODE)
abort ();
@@ -7362,42 +7353,21 @@
fn_rtx = operands[0];
- /* Count the number of parameter registers being used by this call.
- if that argument is NULL, it means we are using them all, which
- means 6 on the sparc. */
-#if 0
- if (operands[2])
- nregs_rtx = GEN_INT (REGNO (operands[2]) - 8);
- else
- nregs_rtx = GEN_INT (6);
-#else
- nregs_rtx = const0_rtx;
-#endif
-
if (! TARGET_ARCH64 && INTVAL (operands[3]) != 0)
emit_call_insn
(gen_rtx_PARALLEL
(VOIDmode,
- gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
+ gen_rtvec (3, gen_rtx_CALL (VOIDmode, fn_rtx, const0_rtx),
operands[3],
gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15)))));
else
emit_call_insn
(gen_rtx_PARALLEL
(VOIDmode,
- gen_rtvec (2, gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx),
+ gen_rtvec (2, gen_rtx_CALL (VOIDmode, fn_rtx, const0_rtx),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15)))));
finish_call:
-#if 0
- /* If this call wants a structure value,
- emit an unimp insn to let the called function know about this. */
- if (! TARGET_ARCH64 && INTVAL (operands[3]) > 0)
- {
- rtx insn = emit_insn (operands[3]);
- SCHED_GROUP_P (insn) = 1;
- }
-#endif
DONE;
})
@@ -7502,7 +7472,7 @@
;; operand 3 is next_arg_register
""
{
- rtx fn_rtx, nregs_rtx;
+ rtx fn_rtx;
rtvec vec;
if (GET_MODE (operands[1]) != FUNCTION_MODE)
@@ -7510,18 +7480,9 @@
fn_rtx = operands[1];
-#if 0
- if (operands[3])
- nregs_rtx = GEN_INT (REGNO (operands[3]) - 8);
- else
- nregs_rtx = GEN_INT (6);
-#else
- nregs_rtx = const0_rtx;
-#endif
-
vec = gen_rtvec (2,
gen_rtx_SET (VOIDmode, operands[0],
- gen_rtx_CALL (VOIDmode, fn_rtx, nregs_rtx)),
+ gen_rtx_CALL (VOIDmode, fn_rtx, const0_rtx)),
gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15)));
emit_call_insn (gen_rtx_PARALLEL (VOIDmode, vec));