*参照元 [#ca815f68]
#backlinks

*説明 [#fb655811]
-パス: [[gcc-8.3/gcc/recog.h]]

-FIXME: これは何?
--説明


**参考 [#gcc61343]


*実装 [#k98f98b2]
 /* The following vectors hold the results from insn_extract.  */
 
 struct recog_data_d
 {
   /* It is very tempting to make the 5 operand related arrays into a
      structure and index on that.  However, to be source compatible
      with all of the existing md file insn constraints and output
      templates, we need `operand' as a flat array.  Without that
      member, making an array for the rest seems pointless.  */
 
   /* Gives value of operand N.  */
   rtx operand[MAX_RECOG_OPERANDS];
 
   /* Gives location where operand N was found.  */
   rtx *operand_loc[MAX_RECOG_OPERANDS];
 
-
--[[gcc-8.3/gcc/rtx]]

   /* Gives the constraint string for operand N.  */
   const char *constraints[MAX_RECOG_OPERANDS];
 
   /* Nonzero if operand N is a match_operator or a match_parallel.  */
   char is_operator[MAX_RECOG_OPERANDS];
 
   /* Gives the mode of operand N.  */
   machine_mode operand_mode[MAX_RECOG_OPERANDS];
 
-
--[[gcc-8.3/gcc/machine_mode]]

   /* Gives the type (in, out, inout) for operand N.  */
   enum op_type operand_type[MAX_RECOG_OPERANDS];
 
-
--[[gcc-8.3/gcc/op_type]]

   /* Gives location where the Nth duplicate-appearance of an operand
      was found.  This is something that matched MATCH_DUP.  */
   rtx *dup_loc[MAX_DUP_OPERANDS];
 
   /* Gives the operand number that was duplicated in the Nth
      duplicate-appearance of an operand.  */
   char dup_num[MAX_DUP_OPERANDS];
 
   /* ??? Note that these are `char' instead of `unsigned char' to (try to)
      avoid certain lossage from K&R C, wherein `unsigned char' default
      promotes to `unsigned int' instead of `int' as in ISO C.  As of 1999,
      the most common places to bootstrap from K&R C are SunOS and HPUX,
      both of which have signed characters by default.  The only other
      supported natives that have both K&R C and unsigned characters are
      ROMP and Irix 3, and neither have been seen for a while, but do
      continue to consider unsignedness when performing arithmetic inside
      a comparison.  */
 
   /* The number of operands of the insn.  */
   char n_operands;
 
   /* The number of MATCH_DUPs in the insn.  */
   char n_dups;
 
   /* The number of alternatives in the constraints for the insn.  */
   char n_alternatives;
 
   /* True if insn is ASM_OPERANDS.  */
   bool is_asm;
 
   /* In case we are caching, hold insn data was generated for.  */
   rtx_insn *insn;
 };
-
--[[gcc-8.3/gcc/rtx_insn]]


*コメント [#i24ecda8]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS