GCC Wikia
Advertisement

このページを編集する際は,編集に関する方針に従ってください.[]

概要[]

引数[]

実装[]

165 /* Return the machine mode to use for a nonscalar of SIZE bits.  The
166    mode must be in class CLASS, and have exactly that many value bits;
167    it may have padding as well.  If LIMIT is nonzero, modes of wider
168    than MAX_FIXED_MODE_SIZE will not be used.  */
169 
170 enum machine_mode
171 mode_for_size (unsigned int size, enum mode_class class, int limit)
172 {
173   enum machine_mode mode;
174 
175   if (limit && size > MAX_FIXED_MODE_SIZE)
176     return BLKmode;
177 

  • 大きいモードへ変えていく

178   /* Get the first mode which has this size, in the specified class.  */
179   for (mode = GET_CLASS_NARROWEST_MODE (class); mode != VOIDmode;
180        mode = GET_MODE_WIDER_MODE (mode))
181     if (GET_MODE_PRECISION (mode) == size)
182       return mode;
183 
184   return BLKmode;
185 }



リンク元

Advertisement