]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/config/i860/i860.h
typo typo fixes fixes
[thirdparty/gcc.git] / gcc / config / i860 / i860.h
index 73d70c4b17900bd7adb787fba60f53171e39613e..316ba65a7d0d995674bdcd7fad5389fd4e54dab6 100644 (file)
@@ -1,9 +1,6 @@
 /* Definitions of target machine for GNU compiler, for Intel 860.
-   Copyright (C) 1989, 1991, 1993 Free Software Foundation, Inc.
-
-   Written by Richard Stallman (rms@ai.mit.edu).
-
-   Hacked substantially by Ron Guilmette (rfg@ncd.com) to cater to
+   Copyright (C) 1989, 91, 93, 95, 96, 1997 Free Software Foundation, Inc.
+   Hacked substantially by Ron Guilmette (rfg@monkeys.com) to cater to
    the whims of the System V Release 4 assembler.
 
 This file is part of GNU CC.
@@ -20,7 +17,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 
 /* Note that some other tm.h files include this one and then override
@@ -415,11 +413,12 @@ enum reg_class { NO_REGS, GENERAL_REGS, FP_REGS, ALL_REGS, LIM_REG_CLASSES };
 
 /* Value is the number of bytes of arguments automatically
    popped when returning from a subroutine call.
+   FUNDECL is the declaration node of the function (as a tree),
    FUNTYPE is the data type of the function (as a tree),
    or for a library call it is an identifier node for the subroutine name.
    SIZE is the number of bytes of arguments passed on the stack.  */
 
-#define RETURN_POPS_ARGS(FUNTYPE,SIZE) 0
+#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) 0
 
 /* Define how to find the value returned by a function.
    VALTYPE is the data type of the value (as a tree).
@@ -473,7 +472,7 @@ struct cumulative_args { int ints, floats; };
    when the function gets a structure-value-address as an
    invisible first argument.  */
 
-#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME      \
+#define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT)      \
  ((CUM).ints = ((FNTYPE) != 0 && aggregate_value_p (TREE_TYPE ((FNTYPE))) \
                ? 4 : 0),                       \
   (CUM).floats = 0)
@@ -619,11 +618,11 @@ struct cumulative_args { int ints, floats; };
      or #BOTTOM_OF_STATIC,r29,r29  */
 #define TRAMPOLINE_TEMPLATE(FILE)                                      \
 {                                                                      \
-  ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0xec1f0000));    \
-  ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0xe7ff0000));    \
-  ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0xec1d0000));    \
-  ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x4000f800));    \
-  ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0xe7bd0000));    \
+  ASM_OUTPUT_INT (FILE, GEN_INT (0xec1f0000)); \
+  ASM_OUTPUT_INT (FILE, GEN_INT (0xe7ff0000)); \
+  ASM_OUTPUT_INT (FILE, GEN_INT (0xec1d0000)); \
+  ASM_OUTPUT_INT (FILE, GEN_INT (0x4000f800)); \
+  ASM_OUTPUT_INT (FILE, GEN_INT (0xe7bd0000)); \
 }
 
 /* Length in units of the trampoline for entering a nested function.  */
@@ -843,10 +842,11 @@ struct cumulative_args { int ints, floats; };
    for the index in the tablejump instruction.  */
 #define CASE_VECTOR_MODE SImode
 
-/* Define this if the tablejump instruction expects the table
-   to contain offsets from the address of the table.
-   Do not define this if the table should contain absolute addresses.  */
-/* #define CASE_VECTOR_PC_RELATIVE */
+/* Define as C expression which evaluates to nonzero if the tablejump
+   instruction expects the table to contain offsets from the address of the
+   table.
+   Do not define this if the table should contain absolute addresses. */
+/* #define CASE_VECTOR_PC_RELATIVE 1 */
 
 /* Specify the tree operation to be used to convert reals to integers.  */
 #define IMPLICIT_FIX_EXPR FIX_ROUND_EXPR
@@ -1047,15 +1047,13 @@ struct cumulative_args { int ints, floats; };
        fputs ("\n", FILE);                                             \
   } while (0)
 
-/* This is how to output a reference to a user-level label named NAME.
-   `assemble_name' uses this.
+/* The prefix to add to user-visible assembler symbols.
 
    This definition is overridden in i860v4.h because under System V
    Release 4, user-level symbols are *not* prefixed with underscores in
    the generated assembly code.  */
 
-#define ASM_OUTPUT_LABELREF(FILE,NAME) \
-  fprintf (FILE, "_%s", NAME)
+#define USER_LABEL_PREFIX "_"
 
 /* This is how to output an internal numbered label where
    PREFIX is the class of label and NUM is the number within the class.  */
@@ -1148,7 +1146,7 @@ do { ASM_OUTPUT_ALIGN ((FILE), 2);                                        \
    (The i860 does not use such vectors,
    but we must define this macro anyway.)  */
 
-#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL)  \
+#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 assembler line
@@ -1211,7 +1209,7 @@ do { ASM_OUTPUT_ALIGN ((FILE), 2);                                        \
 
    On the i860, the following target-specific special codes are recognized:
 
-       `r'     The operand can be anything, but if is is an immediate zero
+       `r'     The operand can be anything, but if it is an immediate zero
                value (either integer or floating point) then it will be
                represented as `r0' or as `f0' (respectively).
 
@@ -1372,7 +1370,7 @@ extern unsigned long sfmode_constant_to_ulong ();
    stack (where the i860 calling conventions require structs &
    unions to be passed).  */
 
-#define FLOAT_TYPE_VALUE       float
+#define FLOAT_VALUE_TYPE       float
 #define INTIFY(FLOATVAL)       (FLOATVAL)
 #define FLOATIFY(INTVAL)       (INTVAL)
 #define FLOAT_ARG_TYPE         float