Mercurial > hg > CbC > CbC_gcc
diff gcc/rtl.def @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/rtl.def Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/rtl.def Thu Oct 25 07:37:49 2018 +0900 @@ -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-2017 Free Software Foundation, Inc. + Copyright (C) 1987-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -312,6 +312,16 @@ is considered undeletable before reload. */ DEF_RTL_EXPR(CLOBBER, "clobber", "e", RTX_EXTRA) +/* Indicate that the upper parts of something are clobbered in a way that we + don't want to explain. The MODE references the lower bits that will be + preserved. Anything above that size will be clobbered. + + CLOBBER_HIGH only occurs as the operand of a PARALLEL rtx. It cannot appear + in other contexts, and unlike CLOBBER, it cannot appear on its own. + CLOBBER_HIGH can only be used with fixed register rtxes. */ + +DEF_RTL_EXPR(CLOBBER_HIGH, "clobber_high", "e", RTX_EXTRA) + /* Call a subroutine. Operand 1 is the address to call. Operand 2 is the number of arguments. */ @@ -348,6 +358,9 @@ /* numeric integer constant */ DEF_RTL_EXPR(CONST_WIDE_INT, "const_wide_int", "", RTX_CONST_OBJ) +/* An rtx representation of a poly_wide_int. */ +DEF_RTL_EXPR(CONST_POLY_INT, "const_poly_int", "", RTX_CONST_OBJ) + /* fixed-point constant */ DEF_RTL_EXPR(CONST_FIXED, "const_fixed", "www", RTX_CONST_OBJ) @@ -391,7 +404,7 @@ /* A reference to a part of another value. The first operand is the complete value and the second is the byte offset of the selected part. */ -DEF_RTL_EXPR(SUBREG, "subreg", "ei", RTX_EXTRA) +DEF_RTL_EXPR(SUBREG, "subreg", "ep", RTX_EXTRA) /* This one-argument rtx is used for move instructions that are guaranteed to alter only the low part of a destination. @@ -710,6 +723,11 @@ an integer multiple of the number of input parts. */ DEF_RTL_EXPR(VEC_DUPLICATE, "vec_duplicate", "e", RTX_UNARY) +/* Creation of a vector in which element I has the value BASE + I * STEP, + where BASE is the first operand and STEP is the second. The result + must have a vector integer mode. */ +DEF_RTL_EXPR(VEC_SERIES, "vec_series", "ee", RTX_BIN_ARITH) + /* Addition with signed saturation */ DEF_RTL_EXPR(SS_PLUS, "ss_plus", "ee", RTX_COMM_ARITH) @@ -761,6 +779,9 @@ been optimized away completely. */ DEF_RTL_EXPR(DEBUG_PARAMETER_REF, "debug_parameter_ref", "t", RTX_OBJ) +/* Used in marker DEBUG_INSNs to avoid being recognized as an insn. */ +DEF_RTL_EXPR(DEBUG_MARKER, "debug_marker", "", RTX_EXTRA) + /* All expressions from this point forward appear only in machine descriptions. */ #ifdef GENERATOR_FILE @@ -1289,7 +1310,7 @@ /* A special case of the above representing a set of alternatives. The first operand is bitmap of the set, the second one is the default value. */ -DEF_RTL_EXPR(EQ_ATTR_ALT, "eq_attr_alt", "ii", RTX_EXTRA) +DEF_RTL_EXPR(EQ_ATTR_ALT, "eq_attr_alt", "ww", RTX_EXTRA) /* A conditional expression which is true if the specified flag is true for the insn being scheduled in reorg.