<コンパイル・オプション / 最適化オプション>
[指定形式]
[詳細説明]
| 
- | 本オプション選択時は、次の浮動小数点の型変換を行う生成コードが変化します。 | 
a) 32bit浮動小数点型から符号無し整数型への変換
b) 符号無し整数型から32bit浮動小数点型への変換
c) 32bit浮動小数点型を経由した、整数型から64bit浮動小数点型への変換
[例]
< a) 32bit浮動小数点型から符号無し整数型への変換>
-fpuの指定が有効でない場合は該当しません。
| unsigned long func1(float f) {    return ((unsigned long)f); }   オプション非指定時:  _func1:          FCMP   #4F000000H,R1          BLT    L12          FADD   #0CF800000H,R1  L12:          FTOI   R1,R1          RTS   オプション指定時:  _func1:          FTOI   R1,R1          RTS | 
< b) 符号無し整数型から32bit浮動小数点型への変換>
-fpuの指定が有効でない場合は該当しません。
| float func2(unsigned long u) {       return ((float)u); }   オプション非指定時:  _func2:          BTST   #31,R1          BEQ    L15          SHLR   #1,R1,R14          AND    #1,R1          OR     R14,R1          ITOF   R1,R1          FADD   R1,R1          BRA    L16  L15:          ITOF   R1,R1  L16:          RTS   オプション指定時:  _func2:          ITOF   R1,R1          RTS | 
< c) 32bit浮動小数点型を経由した、整数型から64bit浮動小数点型への変換>
-dbl_size=8の指定が有効でない場合は該当しません。
|  double func3(long l)  {       return (double)(float)l;  } オプション非指定時: _func3:         ITOF    R1,R1         BRA    __COM_CONVfd   オプション指定時:         BRA    __COM_CONV32sd   | 
[備考]
| 
- | 本オプション指定時、該当する型変換の処理に対するコード性能は向上しますが、変換結果がC,C++言語規格と異なる場合がありますので、ご注意ください。 | 
| 
- |  -optimize=0のとき c)は無効になります。  |