Mercurial > hg > CbC > CbC_gcc
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 |