OSDN Git Service

* Make-lang.in (stmp-f2c.h): Don't configure the runtime
[pf3gnuchains/gcc-fork.git] / gcc / rtl.def
index bc219b6..ac51b6d 100644 (file)
@@ -1,7 +1,7 @@
 /* This file contains the definitions and documentation for the
    Register Transfer Expressions (rtx's) that make up the
    Register Transfer Language (rtl) used in the Back End of the GNU compiler.
-   Copyright (C) 1987, 1988, 1992 Free Software Foundation, Inc.
+   Copyright (C) 1987, 1988, 1992, 1994, 1995 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -17,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.  */
 
 
 /* Expression definitions and descriptions for all targets are in this file.
@@ -355,8 +356,9 @@ DEF_RTL_EXPR(JUMP_INSN, "jump_insn", "iuueiee0", 'i')
 /* An instruction that can possibly call a subroutine
    but which will not change which instruction comes next
    in the current function.
-   Fields ( rtx->fld[] ) have exact same meaning as INSN's.  */
-DEF_RTL_EXPR(CALL_INSN, "call_insn", "iuueiee", 'i')
+   Field ( rtx->fld[7] ) is CALL_INSN_FUNCTION_USAGE.
+   All other fields ( rtx->fld[] ) have exact same meaning as INSN's.  */
+DEF_RTL_EXPR(CALL_INSN, "call_insn", "iuueieee", 'i')
 
 /* A marker that indicates that control will not flow through.  */
 DEF_RTL_EXPR(BARRIER, "barrier", "iuu", 'x')
@@ -383,7 +385,7 @@ DEF_RTL_EXPR(NOTE, "note", "iuusn", 'x')
    it contains helps to build the mapping function between the rtx's of
    the function to be inlined and the current function being expanded.  */
 
-DEF_RTL_EXPR(INLINE_HEADER, "inline_header", "iuuuiiiiiieiiEe", 'x')
+DEF_RTL_EXPR(INLINE_HEADER, "inline_header", "iuuuiiiiiieeiiEeEss", 'x')
 
 /* ----------------------------------------------------------------------
    Top level constituents of INSN, JUMP_INSN and CALL_INSN.
@@ -540,6 +542,12 @@ DEF_RTL_EXPR(SUBREG, "subreg", "ei", 'x')
 
 DEF_RTL_EXPR(STRICT_LOW_PART, "strict_low_part", "e", 'x')
 
+/* (CONCAT a b) represents the virtual concatenation of a and b
+   to make a value that has as many bits as a and b put together.
+   This is used for complex values.  Normally it appears only
+   in DECL_RTLs and during RTL generation, but not in the insn chain.  */
+DEF_RTL_EXPR(CONCAT, "concat", "ee", 'o')
+
 /* A memory location; operand is the address.
    Can be nested inside a VOLATILE.  */
 DEF_RTL_EXPR(MEM, "mem", "e", 'o')
@@ -636,10 +644,7 @@ DEF_RTL_EXPR(NOT, "not", "e", '1')
 
 /* Operand:
      0:  value to be shifted.
-     1:  number of bits.
-   ASHIFT and LSHIFT are distinguished because on some machines
-   these allow a negative operand and shift right in that case.  */
-DEF_RTL_EXPR(LSHIFT, "lshift", "ee", '2')
+     1:  number of bits.  */
 DEF_RTL_EXPR(ASHIFT, "ashift", "ee", '2')
 DEF_RTL_EXPR(ROTATE, "rotate", "ee", '2')
 
@@ -755,6 +760,5 @@ DEF_RTL_EXPR(LO_SUM, "lo_sum", "ee", 'o')
 /*
 Local variables:
 mode:c
-version-control: t
 End:
 */