comparison gcc/rtl.def @ 67:f6334be47118

update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Mar 2011 17:18:12 +0900
parents b7f97abdc517
children 04ced10e8804
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
121 See macros's in "rtl.h" for the meaning of each rtx->u.fld[]. 121 See macros's in "rtl.h" for the meaning of each rtx->u.fld[].
122 122
123 ---------------------------------------------------------------------- */ 123 ---------------------------------------------------------------------- */
124 124
125 /* An annotation for variable assignment tracking. */ 125 /* An annotation for variable assignment tracking. */
126 DEF_RTL_EXPR(DEBUG_INSN, "debug_insn", "iuuBieie", RTX_INSN) 126 DEF_RTL_EXPR(DEBUG_INSN, "debug_insn", "iuuBeiie", RTX_INSN)
127 127
128 /* An instruction that cannot jump. */ 128 /* An instruction that cannot jump. */
129 DEF_RTL_EXPR(INSN, "insn", "iuuBieie", RTX_INSN) 129 DEF_RTL_EXPR(INSN, "insn", "iuuBeiie", RTX_INSN)
130 130
131 /* An instruction that can possibly jump. 131 /* An instruction that can possibly jump.
132 Fields ( rtx->u.fld[] ) have exact same meaning as INSN's. */ 132 Fields ( rtx->u.fld[] ) have exact same meaning as INSN's. */
133 DEF_RTL_EXPR(JUMP_INSN, "jump_insn", "iuuBieie0", RTX_INSN) 133 DEF_RTL_EXPR(JUMP_INSN, "jump_insn", "iuuBeiie0", RTX_INSN)
134 134
135 /* An instruction that can possibly call a subroutine 135 /* An instruction that can possibly call a subroutine
136 but which will not change which instruction comes next 136 but which will not change which instruction comes next
137 in the current function. 137 in the current function.
138 Field ( rtx->u.fld[8] ) is CALL_INSN_FUNCTION_USAGE. 138 Field ( rtx->u.fld[8] ) is CALL_INSN_FUNCTION_USAGE.
139 All other fields ( rtx->u.fld[] ) have exact same meaning as INSN's. */ 139 All other fields ( rtx->u.fld[] ) have exact same meaning as INSN's. */
140 DEF_RTL_EXPR(CALL_INSN, "call_insn", "iuuBieiee", RTX_INSN) 140 DEF_RTL_EXPR(CALL_INSN, "call_insn", "iuuBeiiee", RTX_INSN)
141 141
142 /* A marker that indicates that control will not flow through. */ 142 /* A marker that indicates that control will not flow through. */
143 DEF_RTL_EXPR(BARRIER, "barrier", "iuu00000", RTX_EXTRA) 143 DEF_RTL_EXPR(BARRIER, "barrier", "iuu00000", RTX_EXTRA)
144 144
145 /* Holds a label that is followed by instructions. 145 /* Holds a label that is followed by instructions.
704 DEF_RTL_EXPR(SS_TRUNCATE, "ss_truncate", "e", RTX_UNARY) 704 DEF_RTL_EXPR(SS_TRUNCATE, "ss_truncate", "e", RTX_UNARY)
705 705
706 /* Unsigned saturating truncate. */ 706 /* Unsigned saturating truncate. */
707 DEF_RTL_EXPR(US_TRUNCATE, "us_truncate", "e", RTX_UNARY) 707 DEF_RTL_EXPR(US_TRUNCATE, "us_truncate", "e", RTX_UNARY)
708 708
709 /* Floating point multiply/add combined instruction. */
710 DEF_RTL_EXPR(FMA, "fma", "eee", RTX_TERNARY)
711
709 /* Information about the variable and its location. */ 712 /* Information about the variable and its location. */
710 /* Changed 'te' to 'tei'; the 'i' field is for recording 713 /* Changed 'te' to 'tei'; the 'i' field is for recording
711 initialization status of variables. */ 714 initialization status of variables. */
712 DEF_RTL_EXPR(VAR_LOCATION, "var_location", "tei", RTX_EXTRA) 715 DEF_RTL_EXPR(VAR_LOCATION, "var_location", "tei", RTX_EXTRA)
713 716
717 /* Used in VAR_LOCATION for a pointer to a decl that is no longer
718 addressable. */
719 DEF_RTL_EXPR(DEBUG_IMPLICIT_PTR, "debug_implicit_ptr", "t", RTX_OBJ)
720
714 /* All expressions from this point forward appear only in machine 721 /* All expressions from this point forward appear only in machine
715 descriptions. */ 722 descriptions. */
716 #ifdef GENERATOR_FILE 723 #ifdef GENERATOR_FILE
717
718 /* Include a secondary machine-description file at this point. */
719 DEF_RTL_EXPR(INCLUDE, "include", "s", RTX_EXTRA)
720 724
721 /* Pattern-matching operators: */ 725 /* Pattern-matching operators: */
722 726
723 /* Use the function named by the second arg (the string) 727 /* Use the function named by the second arg (the string)
724 as a predicate; if matched, store the structure that was matched 728 as a predicate; if matched, store the structure that was matched
1199 1st operand: name of the attribute 1203 1st operand: name of the attribute
1200 2nd operand: comma-separated list of possible attribute values 1204 2nd operand: comma-separated list of possible attribute values
1201 3rd operand: expression for the default value of the attribute. */ 1205 3rd operand: expression for the default value of the attribute. */
1202 DEF_RTL_EXPR(DEFINE_ATTR, "define_attr", "sse", RTX_EXTRA) 1206 DEF_RTL_EXPR(DEFINE_ATTR, "define_attr", "sse", RTX_EXTRA)
1203 1207
1208 /* Definition of an insn attribute that uses an existing enumerated type.
1209 1st operand: name of the attribute
1210 2nd operand: the name of the enumerated type
1211 3rd operand: expression for the default value of the attribute. */
1212 DEF_RTL_EXPR(DEFINE_ENUM_ATTR, "define_enum_attr", "sse", RTX_EXTRA)
1213
1204 /* Marker for the name of an attribute. */ 1214 /* Marker for the name of an attribute. */
1205 DEF_RTL_EXPR(ATTR, "attr", "s", RTX_EXTRA) 1215 DEF_RTL_EXPR(ATTR, "attr", "s", RTX_EXTRA)
1206 1216
1207 /* For use in the last (optional) operand of DEFINE_INSN or DEFINE_PEEPHOLE and 1217 /* For use in the last (optional) operand of DEFINE_INSN or DEFINE_PEEPHOLE and
1208 in DEFINE_ASM_INSN to specify an attribute to assign to insns matching that 1218 in DEFINE_ASM_INSN to specify an attribute to assign to insns matching that