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]
Other format: [Raw text]

Unreviewed documentation patch


The following rtl.texi patch was originally posted on 10th April
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg00650.html

However, being embedded in the middle of a long thread may have
contributed to it being overlooked.  The relevant bug has since
fixed, but the following documentation change which reflects the
current set of valid SET_DESTs should prevent similar problems
in the future.

Ok for mainline?


2003-05-10  Roger Sayle  <roger@eyesopen.com>

	* doc/rtl.texi: Document zero_extract and sign_extract as valid
	destinations of a set insn.


Index: doc/rtl.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/rtl.texi,v
retrieving revision 1.55
diff -c -3 -p -r1.55 rtl.texi
*** doc/rtl.texi	27 Apr 2003 18:57:51 -0000	1.55
--- doc/rtl.texi	10 May 2003 14:14:22 -0000
*************** the operands of these.
*** 2368,2376 ****
  @item (set @var{lval} @var{x})
  Represents the action of storing the value of @var{x} into the place
  represented by @var{lval}.  @var{lval} must be an expression
! representing a place that can be stored in: @code{reg} (or @code{subreg}
! or @code{strict_low_part}), @code{mem}, @code{pc}, @code{parallel}, or
! @code{cc0}.

  If @var{lval} is a @code{reg}, @code{subreg} or @code{mem}, it has a
  machine mode; then @var{x} must be valid for that mode.
--- 2368,2376 ----
  @item (set @var{lval} @var{x})
  Represents the action of storing the value of @var{x} into the place
  represented by @var{lval}.  @var{lval} must be an expression
! representing a place that can be stored in: @code{reg} (or @code{subreg},
! @code{strict_low_part}, @code{zero_extract} or @code{sign_extract}),
! @code{mem}, @code{pc}, @code{parallel}, or @code{cc0}.

  If @var{lval} is a @code{reg}, @code{subreg} or @code{mem}, it has a
  machine mode; then @var{x} must be valid for that mode.
*************** rest of the register receives an undefin
*** 2383,2392 ****
  the mode of the register, the rest of the register can be changed in
  an undefined way.

! If @var{lval} is a @code{strict_low_part} of a @code{subreg}, then the
! part of the register specified by the machine mode of the
! @code{subreg} is given the value @var{x} and the rest of the register
! is not changed.

  If @var{lval} is @code{(cc0)}, it has no machine mode, and @var{x} may
  be either a @code{compare} expression or a value that may have any mode.
--- 2383,2392 ----
  the mode of the register, the rest of the register can be changed in
  an undefined way.

! If @var{lval} is a @code{strict_low_part}, @code{zero_extract} or
! @code{sign_extract} of a @code{subreg}, then the part of the register
! specified by the machine mode of the @code{subreg} is given the value
! @var{x} and the rest of the register is not changed.

  If @var{lval} is @code{(cc0)}, it has no machine mode, and @var{x} may
  be either a @code{compare} expression or a value that may have any mode.

Roger
--


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