This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: VAX spelling


"John David Anglin" <dave@hiauly1.hia.nrc.ca> writes:
> > Would you like a patch to change "vax" and "Vax" into "VAX" in GCC
> > documentation, code comments, etc?
> I have no objection to such a patch.

Ok, here it is.  It consistently uses "VAX", "VAXen", and "MicroVAX"
(common variations are "Vax", "vax", "vaxes", "microvax") throughout
the compilers.  Surprisingly many places besides the VAX back end
contains references to VAX.

2001-08-02  Lars Brinkhoff  <lars@nocrew.org>

	* combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
	simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
	config/convex/convex.h, config/d30v/d30v.c,
	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
	config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
	config/mips/mips.h, config/mn10200/mn10200.h,
	config/mn10300/mn10300.h, config/pdp11/pdp11.md,
	config/v850/v850.h, config/vax/openbsd.h,
	config/vax/openbsd1.h, config/vax/ultrix.h,
	config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
	config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
	cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
	doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
        in comments and documentation.

Index: combine.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/combine.c,v
retrieving revision 1.224
diff -c -3 -p -r1.224 combine.c
*** combine.c	2001/08/01 17:57:25	1.224
--- combine.c	2001/08/02 07:35:27
*************** extract_left_shift (x, count)
*** 6266,6272 ****
  
     Return the new rtx, usually just X.
  
!    Also, for machines like the Vax that don't have logical shift insns,
     try to convert logical to arithmetic shift operations in cases where
     they are equivalent.  This undoes the canonicalizations to logical
     shifts done elsewhere.
--- 6266,6272 ----
  
     Return the new rtx, usually just X.
  
!    Also, for machines like the VAX that don't have logical shift insns,
     try to convert logical to arithmetic shift operations in cases where
     they are equivalent.  This undoes the canonicalizations to logical
     shifts done elsewhere.
*************** simplify_shift_const (x, code, result_mo
*** 8954,8960 ****
        /* We simplify the tests below and elsewhere by converting
  	 ASHIFTRT to LSHIFTRT if we know the sign bit is clear.
  	 `make_compound_operation' will convert it to a ASHIFTRT for
! 	 those machines (such as Vax) that don't have a LSHIFTRT.  */
        if (GET_MODE_BITSIZE (shift_mode) <= HOST_BITS_PER_WIDE_INT
  	  && code == ASHIFTRT
  	  && ((nonzero_bits (varop, shift_mode)
--- 8954,8960 ----
        /* We simplify the tests below and elsewhere by converting
  	 ASHIFTRT to LSHIFTRT if we know the sign bit is clear.
  	 `make_compound_operation' will convert it to a ASHIFTRT for
! 	 those machines (such as VAX) that don't have a LSHIFTRT.  */
        if (GET_MODE_BITSIZE (shift_mode) <= HOST_BITS_PER_WIDE_INT
  	  && code == ASHIFTRT
  	  && ((nonzero_bits (varop, shift_mode)
Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.78
diff -c -3 -p -r1.78 config.gcc
*** config.gcc	2001/08/01 19:25:17	1.78
--- config.gcc	2001/08/02 07:35:28
*************** v850-*-*)
*** 3149,3159 ****
  	c_target_objs="v850-c.o"
  	cxx_target_objs="v850-c.o"
  	;;
! vax-*-bsd*)			# vaxen running BSD
  	use_collect2=yes
  	float_format=vax
  	;;
! vax-*-sysv*)			# vaxen running system V
  	tm_file="${tm_file} vax/vaxv.h"
  	xm_defines=POSIX
  	float_format=vax
--- 3149,3159 ----
  	c_target_objs="v850-c.o"
  	cxx_target_objs="v850-c.o"
  	;;
! vax-*-bsd*)			# VAXen running BSD
  	use_collect2=yes
  	float_format=vax
  	;;
! vax-*-sysv*)			# VAXen running system V
  	tm_file="${tm_file} vax/vaxv.h"
  	xm_defines=POSIX
  	float_format=vax
*************** vax-*-openbsd*)
*** 3169,3184 ****
  	float_format=vax
  	use_collect2=yes
  	;;
! vax-*-ultrix*)			# vaxen running ultrix
  	tm_file="${tm_file} vax/ultrix.h"
  	float_format=vax
  	;;
! vax-*-vms*)			# vaxen running VMS
  	xm_file=vax/xm-vms.h
  	tm_file=vax/vms.h
  	float_format=vax
  	;;
! vax-*-*)			# vax default entry
  	float_format=vax
  	;;
  we32k-att-sysv*)
--- 3169,3184 ----
  	float_format=vax
  	use_collect2=yes
  	;;
! vax-*-ultrix*)			# VAXen running ultrix
  	tm_file="${tm_file} vax/ultrix.h"
  	float_format=vax
  	;;
! vax-*-vms*)			# VAXen running VMS
  	xm_file=vax/xm-vms.h
  	tm_file=vax/vms.h
  	float_format=vax
  	;;
! vax-*-*)			# VAX default entry
  	float_format=vax
  	;;
  we32k-att-sysv*)
Index: cse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cse.c,v
retrieving revision 1.197
diff -c -3 -p -r1.197 cse.c
*** cse.c	2001/08/01 17:57:26	1.197
--- cse.c	2001/08/02 07:35:30
*************** fold_rtx (x, insn)
*** 3339,3345 ****
      case PC:
        /* If the next insn is a CODE_LABEL followed by a jump table,
  	 PC's value is a LABEL_REF pointing to that label.  That
! 	 lets us fold switch statements on the Vax.  */
        if (insn && GET_CODE (insn) == JUMP_INSN)
  	{
  	  rtx next = next_nonnote_insn (insn);
--- 3339,3345 ----
      case PC:
        /* If the next insn is a CODE_LABEL followed by a jump table,
  	 PC's value is a LABEL_REF pointing to that label.  That
! 	 lets us fold switch statements on the VAX.  */
        if (insn && GET_CODE (insn) == JUMP_INSN)
  	{
  	  rtx next = next_nonnote_insn (insn);
*************** cse_end_of_basic_block (insn, data, foll
*** 6852,6858 ****
  	  && NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_END)
  	break;
  
!       /* Don't cse over a call to setjmp; on some machines (eg vax)
  	 the regs restored by the longjmp come from
  	 a later time than the setjmp.  */
        if (GET_CODE (p) == NOTE
--- 6852,6858 ----
  	  && NOTE_LINE_NUMBER (p) == NOTE_INSN_LOOP_END)
  	break;
  
!       /* Don't cse over a call to setjmp; on some machines (eg VAX)
  	 the regs restored by the longjmp come from
  	 a later time than the setjmp.  */
        if (GET_CODE (p) == NOTE
Index: defaults.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/defaults.h,v
retrieving revision 1.47
diff -c -3 -p -r1.47 defaults.h
*** defaults.h	2001/07/18 20:43:40	1.47
--- defaults.h	2001/08/02 07:35:31
*************** do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNA
*** 101,107 ****
  	      fprintf (asm_out_file, "\\%o", c);			      \
  	      /* After an octal-escape, if a digit follows,		      \
  		 terminate one string constant and start another.	      \
! 		 The Vax assembler fails to stop reading the escape	      \
  		 after three digits, so this is the only way we		      \
  		 can get it to parse the data properly.  */		      \
  	      if (i < thissize - 1 && ISDIGIT(p[i + 1]))		      \
--- 101,107 ----
  	      fprintf (asm_out_file, "\\%o", c);			      \
  	      /* After an octal-escape, if a digit follows,		      \
  		 terminate one string constant and start another.	      \
! 		 The VAX assembler fails to stop reading the escape	      \
  		 after three digits, so this is the only way we		      \
  		 can get it to parse the data properly.  */		      \
  	      if (i < thissize - 1 && ISDIGIT(p[i + 1]))		      \
Index: real.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/real.c,v
retrieving revision 1.47
diff -c -3 -p -r1.47 real.c
*** real.c	2001/06/26 03:50:48	1.47
--- real.c	2001/08/02 07:35:32
*************** euifrac (x, i, frac)
*** 4404,4410 ****
      {
        /* Long integer overflow: output large integer
  	 and correct fraction.
! 	 Note, the BSD microvax compiler says that ~(0UL)
  	 is a syntax error.  */
        *i = ~(0L);
        eshift (xi, k);
--- 4404,4410 ----
      {
        /* Long integer overflow: output large integer
  	 and correct fraction.
! 	 Note, the BSD MicroVAX compiler says that ~(0UL)
  	 is a syntax error.  */
        *i = ~(0L);
        eshift (xi, k);
Index: reload.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/reload.c,v
retrieving revision 1.152
diff -c -3 -p -r1.152 reload.c
*** reload.c	2001/07/23 22:41:10	1.152
--- reload.c	2001/08/02 07:35:35
*************** update_auto_inc_notes (insn, regno, relo
*** 5091,5097 ****
  /* Note that we take shortcuts assuming that no multi-reg machine mode
     occurs as part of an address.
     Also, this is not fully machine-customizable; it works for machines
!    such as vaxes and 68000's and 32000's, but other possible machines
     could have addressing modes that this does not handle right.  */
  
  static int
--- 5091,5097 ----
  /* Note that we take shortcuts assuming that no multi-reg machine mode
     occurs as part of an address.
     Also, this is not fully machine-customizable; it works for machines
!    such as VAXen and 68000's and 32000's, but other possible machines
     could have addressing modes that this does not handle right.  */
  
  static int
Index: simplify-rtx.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/simplify-rtx.c,v
retrieving revision 1.73
diff -c -3 -p -r1.73 simplify-rtx.c
*** simplify-rtx.c	2001/07/26 23:47:15	1.73
--- simplify-rtx.c	2001/08/02 07:35:36
*************** simplify_unary_operation (code, mode, op
*** 708,714 ****
  	  /* (sign_extend (truncate (minus (label_ref L1) (label_ref L2))))
  	     becomes just the MINUS if its mode is MODE.  This allows
  	     folding switch statements on machines using casesi (such as
! 	     the Vax).  */
  	  if (GET_CODE (op) == TRUNCATE
  	      && GET_MODE (XEXP (op, 0)) == mode
  	      && GET_CODE (XEXP (op, 0)) == MINUS
--- 708,714 ----
  	  /* (sign_extend (truncate (minus (label_ref L1) (label_ref L2))))
  	     becomes just the MINUS if its mode is MODE.  This allows
  	     folding switch statements on machines using casesi (such as
! 	     the VAX).  */
  	  if (GET_CODE (op) == TRUNCATE
  	      && GET_MODE (XEXP (op, 0)) == mode
  	      && GET_CODE (XEXP (op, 0)) == MINUS
Index: config/alpha/alpha.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.h,v
retrieving revision 1.126
diff -c -3 -p -r1.126 alpha.h
*** alpha.h	2001/07/22 16:02:06	1.126
--- alpha.h	2001/08/02 07:35:37
*************** literal_section ()						\
*** 2097,2103 ****
  	      fprintf (asm_out_file, "\\%o", c);			      \
  	      /* After an octal-escape, if a digit follows,		      \
  		 terminate one string constant and start another.	      \
! 		 The Vax assembler fails to stop reading the escape	      \
  		 after three digits, so this is the only way we		      \
  		 can get it to parse the data properly.  */		      \
  	      if (i < thissize - 1					      \
--- 2097,2103 ----
  	      fprintf (asm_out_file, "\\%o", c);			      \
  	      /* After an octal-escape, if a digit follows,		      \
  		 terminate one string constant and start another.	      \
! 		 The VAX assembler fails to stop reading the escape	      \
  		 after three digits, so this is the only way we		      \
  		 can get it to parse the data properly.  */		      \
  	      if (i < thissize - 1					      \
Index: config/avr/avr.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/avr/avr.h,v
retrieving revision 1.25
diff -c -3 -p -r1.25 avr.h
*** avr.h	2001/07/09 06:09:59	1.25
--- avr.h	2001/08/02 07:35:39
*************** enum reg_class {
*** 1132,1138 ****
     argument popping will always be the responsibility of the calling
     function.
  
!    On the Vax, all functions always pop their arguments, so the
     definition of this macro is STACK-SIZE.  On the 68000, using the
     standard calling convention, no functions pop their arguments, so
     the value of the macro is always 0 in this case.  But an
--- 1132,1138 ----
     argument popping will always be the responsibility of the calling
     function.
  
!    On the VAX, all functions always pop their arguments, so the
     definition of this macro is STACK-SIZE.  On the 68000, using the
     standard calling convention, no functions pop their arguments, so
     the value of the macro is always 0 in this case.  But an
*************** enum reg_class {
*** 1157,1163 ****
     hard register in which to pass the argument, or zero to pass the
     argument on the stack.
  
!    For machines like the Vax and 68000, where normally all arguments
     are pushed, zero suffices as a definition.
  
     The value of the expression can also be a `parallel' RTX.  This is
--- 1157,1163 ----
     hard register in which to pass the argument, or zero to pass the
     argument on the stack.
  
!    For machines like the VAX and 68000, where normally all arguments
     are pushed, zero suffices as a definition.
  
     The value of the expression can also be a `parallel' RTX.  This is
Index: config/convex/convex.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/convex/convex.h,v
retrieving revision 1.16
diff -c -3 -p -r1.16 convex.h
*** convex.h	2001/07/09 06:10:00	1.16
--- convex.h	2001/08/02 07:35:39
*************** enum reg_class {
*** 1144,1154 ****
      }									\
  }
  
! /* Convex uses Vax or IEEE floats.
     Follow the host format. */
  #define TARGET_FLOAT_FORMAT HOST_FLOAT_FORMAT
  
! /* But must prevent real.c from constructing Vax dfloats */
  #define REAL_VALUE_ATOF(X,S) atof (X)
  
  /* Check a `double' value for validity for a particular machine mode.  */
--- 1144,1154 ----
      }									\
  }
  
! /* Convex uses VAX or IEEE floats.
     Follow the host format. */
  #define TARGET_FLOAT_FORMAT HOST_FLOAT_FORMAT
  
! /* But must prevent real.c from constructing VAX dfloats */
  #define REAL_VALUE_ATOF(X,S) atof (X)
  
  /* Check a `double' value for validity for a particular machine mode.  */
Index: config/d30v/d30v.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/d30v/d30v.c,v
retrieving revision 1.11
diff -c -3 -p -r1.11 d30v.c
*** d30v.c	2001/07/07 01:07:18	1.11
--- d30v.c	2001/08/02 07:35:40
*************** d30v_function_arg_boundary (mode, type)
*** 1966,1972 ****
     register in which to pass the argument, or zero to pass the argument on the
     stack.
  
!    For machines like the Vax and 68000, where normally all arguments are
     pushed, zero suffices as a definition.
  
     The usual way to make the ANSI library `stdarg.h' work on a machine where
--- 1966,1972 ----
     register in which to pass the argument, or zero to pass the argument on the
     stack.
  
!    For machines like the VAX and 68000, where normally all arguments are
     pushed, zero suffices as a definition.
  
     The usual way to make the ANSI library `stdarg.h' work on a machine where
Index: config/d30v/d30v.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/d30v/d30v.h,v
retrieving revision 1.26
diff -c -3 -p -r1.26 d30v.h
*** d30v.h	2001/07/21 09:42:19	1.26
--- d30v.h	2001/08/02 07:35:44
*************** do {									\
*** 869,875 ****
          there is no need to define this macro when the format is IEEE.
  
     VAX_FLOAT_FORMAT'
!         This code indicates the peculiar format used on the Vax.
  
     UNKNOWN_FLOAT_FORMAT'
          This code indicates any other format.
--- 869,875 ----
          there is no need to define this macro when the format is IEEE.
  
     VAX_FLOAT_FORMAT'
!         This code indicates the peculiar format used on the VAX.
  
     UNKNOWN_FLOAT_FORMAT'
          This code indicates any other format.
*************** typedef struct d30v_stack {
*** 2290,2296 ****
     variable number of bytes is passed, it is zero, and argument popping will
     always be the responsibility of the calling function.
  
!    On the Vax, all functions always pop their arguments, so the definition of
     this macro is STACK-SIZE.  On the 68000, using the standard calling
     convention, no functions pop their arguments, so the value of the macro is
     always 0 in this case.  But an alternative calling convention is available
--- 2290,2296 ----
     variable number of bytes is passed, it is zero, and argument popping will
     always be the responsibility of the calling function.
  
!    On the VAX, all functions always pop their arguments, so the definition of
     this macro is STACK-SIZE.  On the 68000, using the standard calling
     convention, no functions pop their arguments, so the value of the macro is
     always 0 in this case.  But an alternative calling convention is available
*************** typedef struct d30v_stack {
*** 2317,2323 ****
     register in which to pass the argument, or zero to pass the argument on the
     stack.
  
!    For machines like the Vax and 68000, where normally all arguments are
     pushed, zero suffices as a definition.
  
     The usual way to make the ANSI library `stdarg.h' work on a machine where
--- 2317,2323 ----
     register in which to pass the argument, or zero to pass the argument on the
     stack.
  
!    For machines like the VAX and 68000, where normally all arguments are
     pushed, zero suffices as a definition.
  
     The usual way to make the ANSI library `stdarg.h' work on a machine where
Index: config/dsp16xx/dsp16xx.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/dsp16xx/dsp16xx.h,v
retrieving revision 1.25
diff -c -3 -p -r1.25 dsp16xx.h
*** dsp16xx.h	2001/07/09 06:10:01	1.25
--- dsp16xx.h	2001/08/02 07:35:45
*************** const_section ()                        
*** 1643,1649 ****
  	      fprintf (asm_out_file, "%d", c);			              \
  	      /* After an octal-escape, if a digit follows,		      \
  		 terminate one string constant and start another.	      \
! 		 The Vax assembler fails to stop reading the escape	      \
  		 after three digits, so this is the only way we		      \
  		 can get it to parse the data properly.  		      \
  	      if (i < thissize - 1					      \
--- 1643,1649 ----
  	      fprintf (asm_out_file, "%d", c);			              \
  	      /* After an octal-escape, if a digit follows,		      \
  		 terminate one string constant and start another.	      \
! 		 The VAX assembler fails to stop reading the escape	      \
  		 after three digits, so this is the only way we		      \
  		 can get it to parse the data properly.  		      \
  	      if (i < thissize - 1					      \
Index: config/elxsi/elxsi.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/elxsi/elxsi.h,v
retrieving revision 1.17
diff -c -3 -p -r1.17 elxsi.h
*** elxsi.h	2001/07/09 06:10:01	1.17
--- elxsi.h	2001/08/02 07:35:45
*************** extern int target_flags;
*** 62,68 ****
  
  /* Define this if most significant bit is lowest numbered
     in instructions that operate on numbered bit-fields.
!    This is not true on the vax.  */
  #define BITS_BIG_ENDIAN 0
  
  /* Define this if most significant byte of a word is the lowest numbered.  */
--- 62,68 ----
  
  /* Define this if most significant bit is lowest numbered
     in instructions that operate on numbered bit-fields.
!    This is not true on the VAX.  */
  #define BITS_BIG_ENDIAN 0
  
  /* Define this if most significant byte of a word is the lowest numbered.  */
*************** extern int target_flags;
*** 151,157 ****
     to hold something of mode MODE.
     This is ordinarily the length in words of a value of mode MODE
     but can be less for certain modes in special long registers.
!    On the vax, all registers are one word long.  */
  #define HARD_REGNO_NREGS(REGNO, MODE)   \
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
  
--- 151,157 ----
     to hold something of mode MODE.
     This is ordinarily the length in words of a value of mode MODE
     but can be less for certain modes in special long registers.
!    On the VAX, all registers are one word long.  */
  #define HARD_REGNO_NREGS(REGNO, MODE)   \
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
  
*************** extern int target_flags;
*** 219,225 ****
     For any two classes, it is very desirable that there be another
     class that represents their union.  */
     
! /* The vax has only one kind of registers, so NO_REGS and ALL_REGS
     are the only classes.  */
  
  enum reg_class { NO_REGS, GENERAL_REGS, ALL_REGS, LIM_REG_CLASSES };
--- 219,225 ----
     For any two classes, it is very desirable that there be another
     class that represents their union.  */
     
! /* The VAX has only one kind of registers, so NO_REGS and ALL_REGS
     are the only classes.  */
  
  enum reg_class { NO_REGS, GENERAL_REGS, ALL_REGS, LIM_REG_CLASSES };
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 276,282 ****
  
  /* Return the maximum number of consecutive registers
     needed to represent mode MODE in a register of class CLASS.  */
! /* On the vax, this is always the size of MODE in words,
     since all registers are the same size.  */
  #define CLASS_MAX_NREGS(CLASS, MODE)	\
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
--- 276,282 ----
  
  /* Return the maximum number of consecutive registers
     needed to represent mode MODE in a register of class CLASS.  */
! /* On the VAX, this is always the size of MODE in words,
     since all registers are the same size.  */
  #define CLASS_MAX_NREGS(CLASS, MODE)	\
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 308,314 ****
     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.
  
!    On the Vax, the RET insn always pops all the args for any function.  */
  
  #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) (SIZE)
  
--- 308,314 ----
     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.
  
!    On the VAX, the RET insn always pops all the args for any function.  */
  
  #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) (SIZE)
  
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 317,323 ****
     If the precise function being called is known, FUNC is its FUNCTION_DECL;
     otherwise, FUNC is 0.  */
  
! /* On the Vax the return value is in R0 regardless.  */   
  
  #define FUNCTION_VALUE(VALTYPE, FUNC)  \
    gen_rtx_REG (TYPE_MODE (VALTYPE), 0)
--- 317,323 ----
     If the precise function being called is known, FUNC is its FUNCTION_DECL;
     otherwise, FUNC is 0.  */
  
! /* On the VAX the return value is in R0 regardless.  */   
  
  #define FUNCTION_VALUE(VALTYPE, FUNC)  \
    gen_rtx_REG (TYPE_MODE (VALTYPE), 0)
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 325,331 ****
  /* Define how to find the value returned by a library function
     assuming the value has mode MODE.  */
  
! /* On the Vax the return value is in R0 regardless.  */   
  
  #define LIBCALL_VALUE(MODE)  gen_rtx_REG (MODE, 0)
  
--- 325,331 ----
  /* Define how to find the value returned by a library function
     assuming the value has mode MODE.  */
  
! /* On the VAX the return value is in R0 regardless.  */   
  
  #define LIBCALL_VALUE(MODE)  gen_rtx_REG (MODE, 0)
  
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 335,346 ****
  #define PCC_STATIC_STRUCT_RETURN
  
  /* 1 if N is a possible register number for a function value.
!    On the Vax, R0 is the only register thus used.  */
  
  #define FUNCTION_VALUE_REGNO_P(N) ((N) == 0)
  
  /* 1 if N is a possible register number for function argument passing.
!    On the Vax, no registers are used in this way.  */
  
  #define FUNCTION_ARG_REGNO_P(N) 0
  
--- 335,346 ----
  #define PCC_STATIC_STRUCT_RETURN
  
  /* 1 if N is a possible register number for a function value.
!    On the VAX, R0 is the only register thus used.  */
  
  #define FUNCTION_VALUE_REGNO_P(N) ((N) == 0)
  
  /* 1 if N is a possible register number for function argument passing.
!    On the VAX, no registers are used in this way.  */
  
  #define FUNCTION_ARG_REGNO_P(N) 0
  
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 350,356 ****
     and about the args processed so far, enough to enable macros
     such as FUNCTION_ARG to determine where the next arg should go.
  
!    On the vax, this is a single integer, which is a number of bytes
     of arguments scanned so far.  */
  
  #define CUMULATIVE_ARGS int
--- 350,356 ----
     and about the args processed so far, enough to enable macros
     such as FUNCTION_ARG to determine where the next arg should go.
  
!    On the VAX, this is a single integer, which is a number of bytes
     of arguments scanned so far.  */
  
  #define CUMULATIVE_ARGS int
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 359,365 ****
     for a call to a function whose data type is FNTYPE.
     For a library call, FNTYPE is 0.
  
!    On the vax, the offset starts at 0.  */
  
  #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,x,INDIRECT)	\
   ((CUM) = 0)
--- 359,365 ----
     for a call to a function whose data type is FNTYPE.
     For a library call, FNTYPE is 0.
  
!    On the VAX, the offset starts at 0.  */
  
  #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,x,INDIRECT)	\
   ((CUM) = 0)
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 386,392 ****
     NAMED is nonzero if this argument is a named parameter
      (otherwise it is an extra parameter matching an ellipsis).  */
  
! /* On the vax all args are pushed.  */   
  
  #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) 0
  
--- 386,392 ----
     NAMED is nonzero if this argument is a named parameter
      (otherwise it is an extra parameter matching an ellipsis).  */
  
! /* On the VAX all args are pushed.  */   
  
  #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) 0
  
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 545,551 ****
     It is always safe for this macro to do nothing.  It exists to recognize
     opportunities to optimize the output.
  
!    For the vax, nothing needs to be done.  */
  
  #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}
  
--- 545,551 ----
     It is always safe for this macro to do nothing.  It exists to recognize
     opportunities to optimize the output.
  
!    For the VAX, nothing needs to be done.  */
  
  #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}
  
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 634,640 ****
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the vax.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
--- 634,640 ----
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the VAX.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 687,693 ****
  /* #define DBX_DEBUGGING_INFO */
  
  /* How to renumber registers for dbx and gdb.
!    Vax needs no change in the numeration.  */
  
  #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
  
--- 687,693 ----
  /* #define DBX_DEBUGGING_INFO */
  
  /* How to renumber registers for dbx and gdb.
!    VAX needs no change in the numeration.  */
  
  #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
  
*************** enum reg_class { NO_REGS, GENERAL_REGS, 
*** 807,813 ****
    fprintf (FILE, "\tld.32\t%s,[.sp]\n\taddi.64\t4,.sp\n", reg_names[REGNO])
  
  /* This is how to output an element of a case-vector that is absolute.
!    (The Vax does not use such vectors,
     but we must define this macro anyway.)  */
  
  #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE)  \
--- 807,813 ----
    fprintf (FILE, "\tld.32\t%s,[.sp]\n\taddi.64\t4,.sp\n", reg_names[REGNO])
  
  /* This is how to output an element of a case-vector that is absolute.
!    (The VAX does not use such vectors,
     but we must define this macro anyway.)  */
  
  #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE)  \
Index: config/fr30/fr30.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/fr30/fr30.h,v
retrieving revision 1.17
diff -c -3 -p -r1.17 fr30.h
*** fr30.h	2001/07/21 09:42:20	1.17
--- fr30.h	2001/08/02 07:35:46
*************** extern int target_flags;
*** 297,303 ****
          there is no need to define this macro when the format is IEEE.
  
     VAX_FLOAT_FORMAT'
!         This code indicates the peculiar format used on the Vax.
  
     UNKNOWN_FLOAT_FORMAT'
          This code indicates any other format.
--- 297,303 ----
          there is no need to define this macro when the format is IEEE.
  
     VAX_FLOAT_FORMAT'
!         This code indicates the peculiar format used on the VAX.
  
     UNKNOWN_FLOAT_FORMAT'
          This code indicates any other format.
*************** enum reg_class
*** 842,848 ****
     variable number of bytes is passed, it is zero, and argument popping will
     always be the responsibility of the calling function.
  
!    On the Vax, all functions always pop their arguments, so the definition of
     this macro is STACK-SIZE.  On the 68000, using the standard calling
     convention, no functions pop their arguments, so the value of the macro is
     always 0 in this case.  But an alternative calling convention is available
--- 842,848 ----
     variable number of bytes is passed, it is zero, and argument popping will
     always be the responsibility of the calling function.
  
!    On the VAX, all functions always pop their arguments, so the definition of
     this macro is STACK-SIZE.  On the 68000, using the standard calling
     convention, no functions pop their arguments, so the value of the macro is
     always 0 in this case.  But an alternative calling convention is available
Index: config/m88k/m88k.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/m88k/m88k.c,v
retrieving revision 1.37
diff -c -3 -p -r1.37 m88k.c
*** m88k.c	2001/07/11 20:35:53	1.37
--- m88k.c	2001/08/02 07:35:47
*************** output_ascii (file, opcode, max, p, size
*** 1653,1659 ****
  	}
        else if (in_escape && c >= '0' && c <= '9')
  	{
! 	  /* If a digit follows an octal-escape, the Vax assembler fails
  	     to stop reading the escape after three digits.  Continue to
  	     output the values as an octal-escape until a non-digit is
  	     found.  */
--- 1653,1659 ----
  	}
        else if (in_escape && c >= '0' && c <= '9')
  	{
! 	  /* If a digit follows an octal-escape, the VAX assembler fails
  	     to stop reading the escape after three digits.  Continue to
  	     output the values as an octal-escape until a non-digit is
  	     found.  */
Index: config/mips/mips.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.h,v
retrieving revision 1.120
diff -c -3 -p -r1.120 mips.h
*** mips.h	2001/07/21 18:01:46	1.120
--- mips.h	2001/08/02 07:35:49
*************** extern struct mips_frame_info current_fr
*** 2314,2320 ****
  
  /* If we generate an insn to push BYTES bytes,
     this says how many the stack pointer really advances by.
!    On the vax, sp@- in a byte insn really pushes a word.  */
  
  /* #define PUSH_ROUNDING(BYTES) 0 */
  
--- 2314,2320 ----
  
  /* If we generate an insn to push BYTES bytes,
     this says how many the stack pointer really advances by.
!    On the VAX, sp@- in a byte insn really pushes a word.  */
  
  /* #define PUSH_ROUNDING(BYTES) 0 */
  
Index: config/mn10200/mn10200.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mn10200/mn10200.h,v
retrieving revision 1.26
diff -c -3 -p -r1.26 mn10200.h
*** mn10200.h	2001/07/09 06:10:04	1.26
--- mn10200.h	2001/08/02 07:35:50
*************** struct cum_arg { int nbytes; };
*** 726,732 ****
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the vax.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
--- 726,732 ----
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the VAX.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
Index: config/mn10300/mn10300.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mn10300/mn10300.h,v
retrieving revision 1.46
diff -c -3 -p -r1.46 mn10300.h
*** mn10300.h	2001/07/09 06:10:04	1.46
--- mn10300.h	2001/08/02 07:35:50
*************** struct cum_arg {int nbytes; };
*** 793,799 ****
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the vax.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
--- 793,799 ----
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the VAX.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
Index: config/pdp11/pdp11.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pdp11/pdp11.md,v
retrieving revision 1.16
diff -c -3 -p -r1.16 pdp11.md
*** pdp11.md	2001/07/04 17:43:18	1.16
--- pdp11.md	2001/08/02 07:35:51
***************
*** 1148,1154 ****
    [(set_attr "length" "1,2,2,3")])
  
  ;;;;- and instructions
! ;; Bit-and on the pdp (like on the vax) is done with a clear-bits insn.
  (define_expand "andsi3"
    [(set (match_operand:SI 0 "general_operand" "=g")
  	(and:SI (match_operand:SI 1 "general_operand" "0")
--- 1148,1154 ----
    [(set_attr "length" "1,2,2,3")])
  
  ;;;;- and instructions
! ;; Bit-and on the pdp (like on the VAX) is done with a clear-bits insn.
  (define_expand "andsi3"
    [(set (match_operand:SI 0 "general_operand" "=g")
  	(and:SI (match_operand:SI 1 "general_operand" "0")
Index: config/v850/v850.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/v850/v850.h,v
retrieving revision 1.42
diff -c -3 -p -r1.42 v850.h
*** v850.h	2001/07/26 15:42:54	1.42
--- v850.h	2001/08/02 07:35:51
*************** do {									\
*** 975,981 ****
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the vax.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
--- 975,981 ----
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the VAX.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
Index: config/vax/openbsd.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/openbsd.h,v
retrieving revision 1.2
diff -c -3 -p -r1.2 openbsd.h
*** openbsd.h	2000/11/02 23:29:13	1.2
--- openbsd.h	2001/08/02 07:35:52
***************
*** 1,4 ****
! /* Configuration fragment for a vax OpenBSD target.
     Copyright (C) 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
--- 1,4 ----
! /* Configuration fragment for a VAX OpenBSD target.
     Copyright (C) 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
*************** along with GNU CC; see the file COPYING.
*** 18,24 ****
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
! /* Amend common OpenBSD definitions for vax target.  */
  
  #undef CPP_PREDEFINES
  #define CPP_PREDEFINES "-D__unix__ -D__vax__ -D__OpenBSD__ -Asystem=unix -Asystem=OpenBSD -Acpu=vax -Amachine=vax"
--- 18,24 ----
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
! /* Amend common OpenBSD definitions for VAX target.  */
  
  #undef CPP_PREDEFINES
  #define CPP_PREDEFINES "-D__unix__ -D__vax__ -D__OpenBSD__ -Asystem=unix -Asystem=OpenBSD -Acpu=vax -Amachine=vax"
Index: config/vax/openbsd1.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/openbsd1.h,v
retrieving revision 1.1
diff -c -3 -p -r1.1 openbsd1.h
*** openbsd1.h	2000/07/17 08:38:18	1.1
--- openbsd1.h	2001/08/02 07:35:52
***************
*** 1,4 ****
! /* Configuration fragment for a vax OpenBSD target.
     Copyright (C) 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
--- 1,4 ----
! /* Configuration fragment for a VAX OpenBSD target.
     Copyright (C) 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
Index: config/vax/ultrix.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/ultrix.h,v
retrieving revision 1.4
diff -c -3 -p -r1.4 ultrix.h
*** ultrix.h	2000/11/02 23:29:13	1.4
--- ultrix.h	2001/08/02 07:35:52
*************** Boston, MA 02111-1307, USA.  */
*** 22,28 ****
  #define CPP_PREDEFINES " -Dvax -Dunix -Dultrix -Dbsd4_2 -D__vax -D__unix -D__ultrix -D__bsd4_2 -Asystem=unix -Asystem=bsd -Acpu=vax -Amachine=vax"
  
  /* These are as defined in /usr/include/sys/stdtypes.h.
!    These values are for ultrix 4.2 on the vax.  */
  #define SIZE_TYPE "unsigned int"
  #define PTRDIFF_TYPE "int"
  #define WCHAR_TYPE "unsigned int"
--- 22,28 ----
  #define CPP_PREDEFINES " -Dvax -Dunix -Dultrix -Dbsd4_2 -D__vax -D__unix -D__ultrix -D__bsd4_2 -Asystem=unix -Asystem=bsd -Acpu=vax -Amachine=vax"
  
  /* These are as defined in /usr/include/sys/stdtypes.h.
!    These values are for ultrix 4.2 on the VAX.  */
  #define SIZE_TYPE "unsigned int"
  #define PTRDIFF_TYPE "int"
  #define WCHAR_TYPE "unsigned int"
Index: config/vax/vax-protos.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vax-protos.h,v
retrieving revision 1.1
diff -c -3 -p -r1.1 vax-protos.h
*** vax-protos.h	2000/01/18 23:02:03	1.1
--- vax-protos.h	2001/08/02 07:35:52
***************
*** 1,4 ****
! /* Definitions of target machine for GNU compiler.  Vax version.
     Copyright (C) 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
--- 1,4 ----
! /* Definitions of target machine for GNU compiler.  VAX version.
     Copyright (C) 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
Index: config/vax/vax.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vax.c,v
retrieving revision 1.13
diff -c -3 -p -r1.13 vax.c
*** vax.c	2001/07/07 01:07:21	1.13
--- vax.c	2001/08/02 07:35:52
***************
*** 1,4 ****
! /* Subroutines for insn-output.c for Vax.
     Copyright (C) 1987, 1994, 1995, 1997, 1998, 1999, 2000
     Free Software Foundation, Inc.
  
--- 1,4 ----
! /* Subroutines for insn-output.c for VAX.
     Copyright (C) 1987, 1994, 1995, 1997, 1998, 1999, 2000
     Free Software Foundation, Inc.
  
Index: config/vax/vax.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vax.h,v
retrieving revision 1.24
diff -c -3 -p -r1.24 vax.h
*** vax.h	2001/07/09 06:10:08	1.24
--- vax.h	2001/08/02 07:35:52
***************
*** 1,4 ****
! /* Definitions of target machine for GNU compiler.  Vax version.
     Copyright (C) 1987, 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
     1999, 2000, 2001 Free Software Foundation, Inc.
  
--- 1,4 ----
! /* Definitions of target machine for GNU compiler.  VAX version.
     Copyright (C) 1987, 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
     1999, 2000, 2001 Free Software Foundation, Inc.
  
*************** extern int target_flags;
*** 95,110 ****
  
  /* Define this if most significant bit is lowest numbered
     in instructions that operate on numbered bit-fields.
!    This is not true on the vax.  */
  #define BITS_BIG_ENDIAN 0
  
  /* Define this if most significant byte of a word is the lowest numbered.  */
! /* That is not true on the vax.  */
  #define BYTES_BIG_ENDIAN 0
  
  /* Define this if most significant word of a multiword number is the lowest
     numbered.  */
! /* This is not true on the vax.  */
  #define WORDS_BIG_ENDIAN 0
  
  /* Number of bits in an addressable storage unit */
--- 95,110 ----
  
  /* Define this if most significant bit is lowest numbered
     in instructions that operate on numbered bit-fields.
!    This is not true on the VAX.  */
  #define BITS_BIG_ENDIAN 0
  
  /* Define this if most significant byte of a word is the lowest numbered.  */
! /* That is not true on the VAX.  */
  #define BYTES_BIG_ENDIAN 0
  
  /* Define this if most significant word of a multiword number is the lowest
     numbered.  */
! /* This is not true on the VAX.  */
  #define WORDS_BIG_ENDIAN 0
  
  /* Number of bits in an addressable storage unit */
*************** extern int target_flags;
*** 166,172 ****
  
  /* 1 for registers that have pervasive standard uses
     and are not available for the register allocator.
!    On the vax, these are the AP, FP, SP and PC.  */
  #define FIXED_REGISTERS {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1}
  
  /* 1 for registers not available across function calls.
--- 166,172 ----
  
  /* 1 for registers that have pervasive standard uses
     and are not available for the register allocator.
!    On the VAX, these are the AP, FP, SP and PC.  */
  #define FIXED_REGISTERS {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1}
  
  /* 1 for registers not available across function calls.
*************** extern int target_flags;
*** 181,192 ****
     to hold something of mode MODE.
     This is ordinarily the length in words of a value of mode MODE
     but can be less for certain modes in special long registers.
!    On the vax, all registers are one word long.  */
  #define HARD_REGNO_NREGS(REGNO, MODE)   \
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
  
  /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
!    On the vax, all registers can hold all modes.  */
  #define HARD_REGNO_MODE_OK(REGNO, MODE) 1
  
  /* Value is 1 if it is a good idea to tie two pseudo registers
--- 181,192 ----
     to hold something of mode MODE.
     This is ordinarily the length in words of a value of mode MODE
     but can be less for certain modes in special long registers.
!    On the VAX, all registers are one word long.  */
  #define HARD_REGNO_NREGS(REGNO, MODE)   \
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
  
  /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
!    On the VAX, all registers can hold all modes.  */
  #define HARD_REGNO_MODE_OK(REGNO, MODE) 1
  
  /* Value is 1 if it is a good idea to tie two pseudo registers
*************** extern int target_flags;
*** 198,204 ****
  /* Specify the registers used for certain standard purposes.
     The values of these macros are register numbers.  */
  
! /* Vax pc is overloaded on a register.  */
  #define PC_REGNUM 15
  
  /* Register to use for pushing function arguments.  */
--- 198,204 ----
  /* Specify the registers used for certain standard purposes.
     The values of these macros are register numbers.  */
  
! /* VAX pc is overloaded on a register.  */
  #define PC_REGNUM 15
  
  /* Register to use for pushing function arguments.  */
*************** extern int target_flags;
*** 243,249 ****
     For any two classes, it is very desirable that there be another
     class that represents their union.  */
     
! /* The vax has only one kind of registers, so NO_REGS and ALL_REGS
     are the only classes.  */
  
  enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
--- 243,249 ----
     For any two classes, it is very desirable that there be another
     class that represents their union.  */
     
! /* The VAX has only one kind of registers, so NO_REGS and ALL_REGS
     are the only classes.  */
  
  enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 323,329 ****
  
  /* Return the maximum number of consecutive registers
     needed to represent mode MODE in a register of class CLASS.  */
! /* On the vax, this is always the size of MODE in words,
     since all registers are the same size.  */
  #define CLASS_MAX_NREGS(CLASS, MODE)	\
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
--- 323,329 ----
  
  /* Return the maximum number of consecutive registers
     needed to represent mode MODE in a register of class CLASS.  */
! /* On the VAX, this is always the size of MODE in words,
     since all registers are the same size.  */
  #define CLASS_MAX_NREGS(CLASS, MODE)	\
   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 357,363 ****
  
  /* If we generate an insn to push BYTES bytes,
     this says how many the stack pointer really advances by.
!    On the vax, -(sp) pushes only the bytes of the operands.  */
  #define PUSH_ROUNDING(BYTES) (BYTES)
  
  /* Offset of first parameter from the argument pointer register value.  */
--- 357,363 ----
  
  /* If we generate an insn to push BYTES bytes,
     this says how many the stack pointer really advances by.
!    On the VAX, -(sp) pushes only the bytes of the operands.  */
  #define PUSH_ROUNDING(BYTES) (BYTES)
  
  /* Offset of first parameter from the argument pointer register value.  */
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 370,376 ****
     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.
  
!    On the Vax, the RET insn pops a maximum of 255 args for any function.  */
  
  #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
    ((SIZE) > 255*4 ? 0 : (SIZE))
--- 370,376 ----
     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.
  
!    On the VAX, the RET insn pops a maximum of 255 args for any function.  */
  
  #define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) \
    ((SIZE) > 255*4 ? 0 : (SIZE))
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 380,386 ****
     If the precise function being called is known, FUNC is its FUNCTION_DECL;
     otherwise, FUNC is 0.  */
  
! /* On the Vax the return value is in R0 regardless.  */   
  
  #define FUNCTION_VALUE(VALTYPE, FUNC)  \
    gen_rtx_REG (TYPE_MODE (VALTYPE), 0)
--- 380,386 ----
     If the precise function being called is known, FUNC is its FUNCTION_DECL;
     otherwise, FUNC is 0.  */
  
! /* On the VAX the return value is in R0 regardless.  */   
  
  #define FUNCTION_VALUE(VALTYPE, FUNC)  \
    gen_rtx_REG (TYPE_MODE (VALTYPE), 0)
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 388,394 ****
  /* Define how to find the value returned by a library function
     assuming the value has mode MODE.  */
  
! /* On the Vax the return value is in R0 regardless.  */   
  
  #define LIBCALL_VALUE(MODE)  gen_rtx_REG (MODE, 0)
  
--- 388,394 ----
  /* Define how to find the value returned by a library function
     assuming the value has mode MODE.  */
  
! /* On the VAX the return value is in R0 regardless.  */   
  
  #define LIBCALL_VALUE(MODE)  gen_rtx_REG (MODE, 0)
  
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 398,409 ****
  #define PCC_STATIC_STRUCT_RETURN
  
  /* 1 if N is a possible register number for a function value.
!    On the Vax, R0 is the only register thus used.  */
  
  #define FUNCTION_VALUE_REGNO_P(N) ((N) == 0)
  
  /* 1 if N is a possible register number for function argument passing.
!    On the Vax, no registers are used in this way.  */
  
  #define FUNCTION_ARG_REGNO_P(N) 0
  
--- 398,409 ----
  #define PCC_STATIC_STRUCT_RETURN
  
  /* 1 if N is a possible register number for a function value.
!    On the VAX, R0 is the only register thus used.  */
  
  #define FUNCTION_VALUE_REGNO_P(N) ((N) == 0)
  
  /* 1 if N is a possible register number for function argument passing.
!    On the VAX, no registers are used in this way.  */
  
  #define FUNCTION_ARG_REGNO_P(N) 0
  
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 413,419 ****
     and about the args processed so far, enough to enable macros
     such as FUNCTION_ARG to determine where the next arg should go.
  
!    On the vax, this is a single integer, which is a number of bytes
     of arguments scanned so far.  */
  
  #define CUMULATIVE_ARGS int
--- 413,419 ----
     and about the args processed so far, enough to enable macros
     such as FUNCTION_ARG to determine where the next arg should go.
  
!    On the VAX, this is a single integer, which is a number of bytes
     of arguments scanned so far.  */
  
  #define CUMULATIVE_ARGS int
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 422,428 ****
     for a call to a function whose data type is FNTYPE.
     For a library call, FNTYPE is 0.
  
!    On the vax, the offset starts at 0.  */
  
  #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT)	\
   ((CUM) = 0)
--- 422,428 ----
     for a call to a function whose data type is FNTYPE.
     For a library call, FNTYPE is 0.
  
!    On the VAX, the offset starts at 0.  */
  
  #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT)	\
   ((CUM) = 0)
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 449,455 ****
     NAMED is nonzero if this argument is a named parameter
      (otherwise it is an extra parameter matching an ellipsis).  */
  
! /* On the vax all args are pushed.  */   
  
  #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) 0
  
--- 449,455 ----
     NAMED is nonzero if this argument is a named parameter
      (otherwise it is an extra parameter matching an ellipsis).  */
  
! /* On the VAX all args are pushed.  */   
  
  #define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) 0
  
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 491,497 ****
     as of the start of the function body.  This depends on the layout
     of the fixed parts of the stack frame and on how registers are saved.
  
!    On the Vax, FRAME_POINTER_REQUIRED is always 1, so the definition of this
     macro doesn't matter.  But it must be defined.  */
  
  #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = 0;
--- 491,497 ----
     as of the start of the function body.  This depends on the layout
     of the fixed parts of the stack frame and on how registers are saved.
  
!    On the VAX, FRAME_POINTER_REQUIRED is always 1, so the definition of this
     macro doesn't matter.  But it must be defined.  */
  
  #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = 0;
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 499,505 ****
  /* Output assembler code for a block containing the constant parts
     of a trampoline, leaving space for the variable parts.  */
  
! /* On the vax, the trampoline contains an entry mask and two instructions:
       .word NN
       movl $STATIC,r0   (store the functions static chain)
       jmp  *$FUNCTION   (jump to function code at address FUNCTION)  */
--- 499,505 ----
  /* Output assembler code for a block containing the constant parts
     of a trampoline, leaving space for the variable parts.  */
  
! /* On the VAX, the trampoline contains an entry mask and two instructions:
       .word NN
       movl $STATIC,r0   (store the functions static chain)
       jmp  *$FUNCTION   (jump to function code at address FUNCTION)  */
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 767,773 ****
     It is always safe for this macro to do nothing.  It exists to recognize
     opportunities to optimize the output.
  
!    For the vax, nothing needs to be done.  */
  
  #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}
  
--- 767,773 ----
     It is always safe for this macro to do nothing.  It exists to recognize
     opportunities to optimize the output.
  
!    For the VAX, nothing needs to be done.  */
  
  #define LEGITIMIZE_ADDRESS(X,OLDX,MODE,WIN)  {}
  
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 835,841 ****
  #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
  
  /* When a prototype says `char' or `short', really pass an `int'.
!    (On the vax, this is required for system-library compatibility.)  */
  #define PROMOTE_PROTOTYPES 1
  
  /* Specify the machine mode that pointers have.
--- 835,841 ----
  #define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
  
  /* When a prototype says `char' or `short', really pass an `int'.
!    (On the VAX, this is required for system-library compatibility.)  */
  #define PROMOTE_PROTOTYPES 1
  
  /* Specify the machine mode that pointers have.
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 942,948 ****
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the vax.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
--- 942,948 ----
  /* Tell final.c how to eliminate redundant test instructions.  */
  
  /* Here we define machine-dependent flags and fields in cc_status
!    (see `conditions.h').  No extra ones are needed for the VAX.  */
  
  /* Store in cc_status the expressions
     that the condition codes will describe
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 1056,1062 ****
  #define DBX_DEBUGGING_INFO
  
  /* How to renumber registers for dbx and gdb.
!    Vax needs no change in the numeration.  */
  
  #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
  
--- 1056,1062 ----
  #define DBX_DEBUGGING_INFO
  
  /* How to renumber registers for dbx and gdb.
!    VAX needs no change in the numeration.  */
  
  #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
  
*************** enum reg_class { NO_REGS, ALL_REGS, LIM_
*** 1077,1083 ****
  /* Output the .stabs for a C `static' variable in the data section.  */
  #define DBX_STATIC_STAB_DATA_SECTION
  
! /* Vax specific: which type character is used for type double?  */
  
  #define ASM_DOUBLE_CHAR (TARGET_G_FLOAT ? 'g' : 'd')
  
--- 1077,1083 ----
  /* Output the .stabs for a C `static' variable in the data section.  */
  #define DBX_STATIC_STAB_DATA_SECTION
  
! /* VAX specific: which type character is used for type double?  */
  
  #define ASM_DOUBLE_CHAR (TARGET_G_FLOAT ? 'g' : 'd')
  
*************** do { char dstr[30];							\
*** 1165,1171 ****
    fprintf (FILE, "\tmovl (sp)+,%s\n", reg_names[REGNO])
  
  /* This is how to output an element of a case-vector that is absolute.
!    (The Vax does not use such vectors,
     but we must define this macro anyway.)  */
  
  #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE)  \
--- 1165,1171 ----
    fprintf (FILE, "\tmovl (sp)+,%s\n", reg_names[REGNO])
  
  /* This is how to output an element of a case-vector that is absolute.
!    (The VAX does not use such vectors,
     but we must define this macro anyway.)  */
  
  #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE)  \
*************** VAX operand formatting codes:
*** 1247,1253 ****
     h	the low 16 bits of a negated constant operand
     #	'd' or 'g' depending on whether dfloat or gfloat is used  */
  
! /* The purpose of D is to get around a quirk or bug in vax assembler
     whereby -1 in a 64-bit immediate operand means 0x00000000ffffffff,
     which is not a 64-bit minus one.  */
  
--- 1247,1253 ----
     h	the low 16 bits of a negated constant operand
     #	'd' or 'g' depending on whether dfloat or gfloat is used  */
  
! /* The purpose of D is to get around a quirk or bug in VAX assembler
     whereby -1 in a 64-bit immediate operand means 0x00000000ffffffff,
     which is not a 64-bit minus one.  */
  
Index: config/vax/vax.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vax.md,v
retrieving revision 1.16
diff -c -3 -p -r1.16 vax.md
*** vax.md	2001/07/03 19:44:19	1.16
--- vax.md	2001/08/02 07:35:53
***************
*** 1,4 ****
! ;; Machine description for GNU compiler, Vax Version
  ;; Copyright (C) 1987, 1988, 1991, 1994, 1995, 1996, 1998, 1999, 2000, 2001
  ;; Free Software Foundation, Inc.
  
--- 1,4 ----
! ;; Machine description for GNU compiler, VAX Version
  ;; Copyright (C) 1987, 1988, 1991, 1994, 1995, 1996, 1998, 1999, 2000, 2001
  ;; Free Software Foundation, Inc.
  
***************
*** 122,128 ****
    ""
    "bitb %0,%1")
  
! ;; The vax has no sCOND insns.  It does have add/subtract with carry
  ;; which could be used to implement the sltu and sgeu patterns.  However,
  ;; to do this properly requires a complete rewrite of the compare insns
  ;; to keep them together with the sltu/sgeu insns until after the
--- 122,128 ----
    ""
    "bitb %0,%1")
  
! ;; The VAX has no sCOND insns.  It does have add/subtract with carry
  ;; which could be used to implement the sltu and sgeu patterns.  However,
  ;; to do this properly requires a complete rewrite of the compare insns
  ;; to keep them together with the sltu/sgeu insns until after the
***************
*** 146,152 ****
     clrf %0
     movf %1,%0")
  
! ;; Some vaxes don't support this instruction.
  ;;(define_insn "movti"
  ;;  [(set (match_operand:TI 0 "general_operand" "=g")
  ;;	(match_operand:TI 1 "general_operand" "g"))]
--- 146,152 ----
     clrf %0
     movf %1,%0")
  
! ;; Some VAXen don't support this instruction.
  ;;(define_insn "movti"
  ;;  [(set (match_operand:TI 0 "general_operand" "=g")
  ;;	(match_operand:TI 1 "general_operand" "g"))]
***************
*** 161,167 ****
     clrq %0
     movq %D1,%0")
  
! ;; The VAX move instructions have space-time tradeoffs.  On a microVAX
  ;; register-register mov instructions take 3 bytes and 2 CPU cycles.  clrl
  ;; takes 2 bytes and 3 cycles.  mov from constant to register takes 2 cycles
  ;; if the constant is smaller than 4 bytes, 3 cycles for a longword
--- 161,167 ----
     clrq %0
     movq %D1,%0")
  
! ;; The VAX move instructions have space-time tradeoffs.  On a MicroVAX
  ;; register-register mov instructions take 3 bytes and 2 CPU cycles.  clrl
  ;; takes 2 bytes and 3 cycles.  mov from constant to register takes 2 cycles
  ;; if the constant is smaller than 4 bytes, 3 cycles for a longword
***************
*** 525,531 ****
     but it not faster on other models.
  
     "movab #(r1),r2" is usually shorter than "addl3 #,r1,r2", and is
!    faster on a VAX 3, but some VAXes (e.g. VAX 9000) will stall if
     a register is used in an address too soon after it is set.
     Compromise by using movab only when it is shorter than the add
     or the base register in the address is one of sp, ap, and fp,
--- 525,531 ----
     but it not faster on other models.
  
     "movab #(r1),r2" is usually shorter than "addl3 #,r1,r2", and is
!    faster on a VAX 3, but some VAXen (e.g. VAX 9000) will stall if
     a register is used in an address too soon after it is set.
     Compromise by using movab only when it is shorter than the add
     or the base register in the address is one of sp, ap, and fp,
***************
*** 920,926 ****
  ;  ""
  ;  "ediv %2,%1,%0,%3")
  
! ;; Bit-and on the vax is done with a clear-bits insn.
  (define_expand "andsi3"
    [(set (match_operand:SI 0 "general_operand" "=g")
  	(and:SI (not:SI (match_operand:SI 1 "general_operand" "g"))
--- 920,926 ----
  ;  ""
  ;  "ediv %2,%1,%0,%3")
  
! ;; Bit-and on the VAX is done with a clear-bits insn.
  (define_expand "andsi3"
    [(set (match_operand:SI 0 "general_operand" "=g")
  	(and:SI (not:SI (match_operand:SI 1 "general_operand" "g"))
***************
*** 1159,1165 ****
    ""
    "mcomb %1,%0")
  
! ;; Arithmetic right shift on the vax works by negating the shift count,
  ;; then emitting a right shift with the shift count negated.  This means
  ;; that all actual shift counts in the RTL will be positive.  This 
  ;; prevents converting shifts to ZERO_EXTRACTs with negative positions,
--- 1159,1165 ----
    ""
    "mcomb %1,%0")
  
! ;; Arithmetic right shift on the VAX works by negating the shift count,
  ;; then emitting a right shift with the shift count negated.  This means
  ;; that all actual shift counts in the RTL will be positive.  This 
  ;; prevents converting shifts to ZERO_EXTRACTs with negative positions,
***************
*** 1212,1218 ****
    return \"ashl %2,%1,%0\";
  }")
  
! ;; Arithmetic right shift on the vax works by negating the shift count.
  (define_expand "ashrdi3"
    [(set (match_operand:DI 0 "general_operand" "=g")
  	(ashiftrt:DI (match_operand:DI 1 "general_operand" "g")
--- 1212,1218 ----
    return \"ashl %2,%1,%0\";
  }")
  
! ;; Arithmetic right shift on the VAX works by negating the shift count.
  (define_expand "ashrdi3"
    [(set (match_operand:DI 0 "general_operand" "=g")
  	(ashiftrt:DI (match_operand:DI 1 "general_operand" "g")
***************
*** 1257,1263 ****
    operands[4] = gen_lowpart (QImode, operands[2]);
  }")
  
! ;; Rotate right on the vax works by negating the shift count.
  (define_expand "rotrsi3"
    [(set (match_operand:SI 0 "general_operand" "=g")
  	(rotatert:SI (match_operand:SI 1 "general_operand" "g")
--- 1257,1263 ----
    operands[4] = gen_lowpart (QImode, operands[2]);
  }")
  
! ;; Rotate right on the VAX works by negating the shift count.
  (define_expand "rotrsi3"
    [(set (match_operand:SI 0 "general_operand" "=g")
  	(rotatert:SI (match_operand:SI 1 "general_operand" "g")
Index: config/vax/vaxv.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vaxv.h,v
retrieving revision 1.4
diff -c -3 -p -r1.4 vaxv.h
*** vaxv.h	2000/11/02 23:29:13	1.4
--- vaxv.h	2001/08/02 07:35:53
***************
*** 1,4 ****
! /* Definitions of target machine for GNU compiler.  Vax sysV version.
     Copyright (C) 1988, 1993, 1996, 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
--- 1,4 ----
! /* Definitions of target machine for GNU compiler.  VAX sysV version.
     Copyright (C) 1988, 1993, 1996, 2000 Free Software Foundation, Inc.
  
  This file is part of GNU CC.
Index: config/vax/xm-vms.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/xm-vms.h,v
retrieving revision 1.15
diff -c -3 -p -r1.15 xm-vms.h
*** xm-vms.h	2001/04/19 20:28:05	1.15
--- xm-vms.h	2001/08/02 07:35:53
***************
*** 1,4 ****
! /* Configuration for GNU C-compiler for Vax.
     Copyright (C) 1987, 1994, 1995, 1996, 1997, 2001
     Free Software Foundation, Inc.
  
--- 1,4 ----
! /* Configuration for GNU C-compiler for VAX.
     Copyright (C) 1987, 1994, 1995, 1996, 1997, 2001
     Free Software Foundation, Inc.
  
Index: cp/decl2.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/decl2.c,v
retrieving revision 1.480
diff -c -3 -p -r1.480 decl2.c
*** decl2.c	2001/07/30 18:04:33	1.480
--- decl2.c	2001/08/02 07:35:55
*************** cxx_decode_option (argc, argv)
*** 591,597 ****
  		{
  		  *lang_f_options[j].variable = lang_f_options[j].on_value;
  		  /* A goto here would be cleaner,
! 		     but breaks the vax pcc.  */
  		  found = 1;
  		}
  	      if (p[0] == 'n' && p[1] == 'o' && p[2] == '-'
--- 591,597 ----
  		{
  		  *lang_f_options[j].variable = lang_f_options[j].on_value;
  		  /* A goto here would be cleaner,
! 		     but breaks the VAX pcc.  */
  		  found = 1;
  		}
  	      if (p[0] == 'n' && p[1] == 'o' && p[2] == '-'
Index: doc/contrib.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/contrib.texi,v
retrieving revision 1.11
diff -c -3 -p -r1.11 contrib.texi
*** contrib.texi	2001/06/27 15:04:15	1.11
--- contrib.texi	2001/08/02 07:35:55
*************** Teemu Torma for thread safe exception ha
*** 540,546 ****
  
  @item
  Leonard Tower wrote parts of the parser, RTL generator, and RTL
! definitions, and of the Vax machine description.
  
  @item
  Tom Tromey for internationalization support and his Java work.
--- 540,546 ----
  
  @item
  Leonard Tower wrote parts of the parser, RTL generator, and RTL
! definitions, and of the VAX machine description.
  
  @item
  Tom Tromey for internationalization support and his Java work.
Index: doc/cpp.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/cpp.texi,v
retrieving revision 1.12
diff -c -3 -p -r1.12 cpp.texi
*** cpp.texi	2001/07/29 17:27:57	1.12
--- cpp.texi	2001/08/02 07:35:57
*************** are used as the error message.
*** 2958,2969 ****
  You would use @samp{#error} inside of a conditional that detects a
  combination of parameters which you know the program does not properly
  support.  For example, if you know that the program will not run
! properly on a Vax, you might write
  
  @example
  @group
  #ifdef __vax__
! #error "Won't work on Vaxen.  See comments at get_last_object."
  #endif
  @end group
  @end example
--- 2958,2969 ----
  You would use @samp{#error} inside of a conditional that detects a
  combination of parameters which you know the program does not properly
  support.  For example, if you know that the program will not run
! properly on a VAX, you might write
  
  @example
  @group
  #ifdef __vax__
! #error "Won't work on VAXen.  See comments at get_last_object."
  #endif
  @end group
  @end example
Index: doc/gcc.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/gcc.texi,v
retrieving revision 1.30
diff -c -3 -p -r1.30 gcc.texi
*** gcc.texi	2001/07/09 19:42:27	1.30
--- gcc.texi	2001/08/02 07:35:59
*************** convention for structure and union retur
*** 909,915 ****
  @option{-mhc-struct-return} to tell GCC to use a convention compatible
  with it.
  
! @cindex Vax calling convention
  @cindex Ultrix calling convention
  @item
  @opindex fcall-saved
--- 909,915 ----
  @option{-mhc-struct-return} to tell GCC to use a convention compatible
  with it.
  
! @cindex VAX calling convention
  @cindex Ultrix calling convention
  @item
  @opindex fcall-saved
Index: doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.51
diff -c -3 -p -r1.51 install.texi
*** install.texi	2001/08/01 19:25:18	1.51
--- install.texi	2001/08/02 07:36:00
*************** On a System V release 4 system, make sur
*** 3168,3174 ****
  <hr>
  @end html
  @heading @anchor{vax-dec-ultrix}vax-dec-ultrix
! Don't try compiling with Vax C (@code{vcc}).  It produces incorrect code
  in some cases (for example, when @code{alloca} is used).
  
  @html
--- 3168,3174 ----
  <hr>
  @end html
  @heading @anchor{vax-dec-ultrix}vax-dec-ultrix
! Don't try compiling with VAX C (@code{vcc}).  It produces incorrect code
  in some cases (for example, when @code{alloca} is used).
  
  @html
Index: doc/invoke.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/invoke.texi,v
retrieving revision 1.42
diff -c -3 -p -r1.42 invoke.texi
*** invoke.texi	2001/08/01 19:25:18	1.42
--- invoke.texi	2001/08/02 07:36:05
*************** in many functions.  @strong{It also make
*** 3276,3289 ****
  some machines.}
  
  @ifset INTERNALS
! On some machines, such as the Vax, this flag has no effect, because
  the standard calling sequence automatically handles the frame pointer
  and nothing is saved by pretending it doesn't exist.  The
  machine-description macro @code{FRAME_POINTER_REQUIRED} controls
  whether a target machine supports this flag.  @xref{Registers}.
  @end ifset
  @ifclear INTERNALS
! On some machines, such as the Vax, this flag has no effect, because
  the standard calling sequence automatically handles the frame pointer
  and nothing is saved by pretending it doesn't exist.  The
  machine-description macro @code{FRAME_POINTER_REQUIRED} controls
--- 3276,3289 ----
  some machines.}
  
  @ifset INTERNALS
! On some machines, such as the VAX, this flag has no effect, because
  the standard calling sequence automatically handles the frame pointer
  and nothing is saved by pretending it doesn't exist.  The
  machine-description macro @code{FRAME_POINTER_REQUIRED} controls
  whether a target machine supports this flag.  @xref{Registers}.
  @end ifset
  @ifclear INTERNALS
! On some machines, such as the VAX, this flag has no effect, because
  the standard calling sequence automatically handles the frame pointer
  and nothing is saved by pretending it doesn't exist.  The
  machine-description macro @code{FRAME_POINTER_REQUIRED} controls
*************** command with the @option{-V} option.
*** 5039,5045 ****
  
  Earlier we discussed the standard option @option{-b} which chooses among
  different installed compilers for completely different target
! machines, such as Vax vs.@: 68000 vs.@: 80386.
  
  In addition, each of these target machine types can have its own
  special options, starting with @samp{-m}, to choose among various
--- 5039,5045 ----
  
  Earlier we discussed the standard option @option{-b} which chooses among
  different installed compilers for completely different target
! machines, such as VAX vs.@: 68000 vs.@: 80386.
  
  In addition, each of these target machine types can have its own
  special options, starting with @samp{-m}, to choose among various
*************** The default is 4 for 68HC11 and 2 for 68
*** 5310,5322 ****
  @subsection VAX Options
  @cindex VAX options
  
! These @samp{-m} options are defined for the Vax:
  
  @table @gcctabopt
  @item -munix
  @opindex munix
  Do not output certain jump instructions (@code{aobleq} and so on)
! that the Unix assembler for the Vax cannot handle across long
  ranges.
  
  @item -mgnu
--- 5310,5322 ----
  @subsection VAX Options
  @cindex VAX options
  
! These @samp{-m} options are defined for the VAX:
  
  @table @gcctabopt
  @item -munix
  @opindex munix
  Do not output certain jump instructions (@code{aobleq} and so on)
! that the Unix assembler for the VAX cannot handle across long
  ranges.
  
  @item -mgnu
Index: doc/md.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/md.texi,v
retrieving revision 1.18
diff -c -3 -p -r1.18 md.texi
*** md.texi	2001/07/31 06:38:29	1.18
--- md.texi	2001/08/02 07:36:07
*************** A comparison insn sets the condition cod
*** 3131,3137 ****
  signed and unsigned comparison of the given operands.  A separate branch
  insn tests the condition code and branches or not according its value.
  The branch insns come in distinct signed and unsigned flavors.  Many
! common machines, such as the Vax, the 68000 and the 32000, work this
  way.
  
  Some machines have distinct signed and unsigned compare instructions, and
--- 3131,3137 ----
  signed and unsigned comparison of the given operands.  A separate branch
  insn tests the condition code and branches or not according its value.
  The branch insns come in distinct signed and unsigned flavors.  Many
! common machines, such as the VAX, the 68000 and the 32000, work this
  way.
  
  Some machines have distinct signed and unsigned compare instructions, and
Index: doc/rtl.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/rtl.texi,v
retrieving revision 1.15
diff -c -3 -p -r1.15 rtl.texi
*** rtl.texi	2001/07/24 09:13:19	1.15
--- rtl.texi	2001/08/02 07:36:08
*************** Represents the result of arithmetically 
*** 1620,1626 ****
  places.  @var{x} have mode @var{m}, a fixed-point machine mode.  @var{c}
  be a fixed-point mode or be a constant with mode @code{VOIDmode}; which
  mode is determined by the mode called for in the machine description
! entry for the left-shift instruction.  For example, on the Vax, the mode
  of @var{c} is @code{QImode} regardless of @var{m}.
  
  @findex lshiftrt
--- 1620,1626 ----
  places.  @var{x} have mode @var{m}, a fixed-point machine mode.  @var{c}
  be a fixed-point mode or be a constant with mode @code{VOIDmode}; which
  mode is determined by the mode called for in the machine description
! entry for the left-shift instruction.  For example, on the VAX, the mode
  of @var{c} is @code{QImode} regardless of @var{m}.
  
  @findex lshiftrt
*************** valid for the mode of @var{lval}.
*** 2070,2076 ****
  @item (return)
  As the sole expression in a pattern, represents a return from the
  current function, on machines where this can be done with one
! instruction, such as Vaxes.  On machines where a multi-instruction
  ``epilogue'' must be executed in order to return from the function,
  returning is done by jumping to a label which precedes the epilogue, and
  the @code{return} expression code is never used.
--- 2070,2076 ----
  @item (return)
  As the sole expression in a pattern, represents a return from the
  current function, on machines where this can be done with one
! instruction, such as VAXen.  On machines where a multi-instruction
  ``epilogue'' must be executed in order to return from the function,
  returning is done by jumping to a label which precedes the epilogue, and
  the @code{return} expression code is never used.
Index: doc/tm.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/tm.texi,v
retrieving revision 1.40
diff -c -3 -p -r1.40 tm.texi
*** tm.texi	2001/08/01 21:40:43	1.40
--- tm.texi	2001/08/02 07:36:13
*************** need to define this macro when the forma
*** 1304,1310 ****
  
  @findex VAX_FLOAT_FORMAT
  @item VAX_FLOAT_FORMAT
! This code indicates the peculiar format used on the Vax.
  
  @findex IBM_FLOAT_FORMAT
  @item IBM_FLOAT_FORMAT
--- 1304,1310 ----
  
  @findex VAX_FLOAT_FORMAT
  @item VAX_FLOAT_FORMAT
! This code indicates the peculiar format used on the VAX.
  
  @findex IBM_FLOAT_FORMAT
  @item IBM_FLOAT_FORMAT
*************** in the compiler and was not mentioned in
*** 3235,3241 ****
  stack.  If a variable number of bytes is passed, it is zero, and
  argument popping will always be the responsibility of the calling function.
  
! On the Vax, all functions always pop their arguments, so the definition
  of this macro is @var{stack-size}.  On the 68000, using the standard
  calling convention, no functions pop their arguments, so the value of
  the macro is always 0 in this case.  But an alternative calling
--- 3235,3241 ----
  stack.  If a variable number of bytes is passed, it is zero, and
  argument popping will always be the responsibility of the calling function.
  
! On the VAX, all functions always pop their arguments, so the definition
  of this macro is @var{stack-size}.  On the 68000, using the standard
  calling convention, no functions pop their arguments, so the value of
  the macro is always 0 in this case.  But an alternative calling
*************** The value of the expression is usually e
*** 3274,3280 ****
  hard register in which to pass the argument, or zero to pass the
  argument on the stack.
  
! For machines like the Vax and 68000, where normally all arguments are
  pushed, zero suffices as a definition.
  
  The value of the expression can also be a @code{parallel} RTX@.  This is
--- 3274,3280 ----
  hard register in which to pass the argument, or zero to pass the
  argument on the stack.
  
! For machines like the VAX and 68000, where normally all arguments are
  pushed, zero suffices as a definition.
  
  The value of the expression can also be a @code{parallel} RTX@.  This is


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]