| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
以下の ‘-m’ オプションが 32000 シリーズ向けに定義されている。 これらのオプションのデフォルト値は、GCC のコンフィギュレーション時に 32000 のどの型が選択されたかに依存する。最も共通する選択向けの デフォルト値は以下に示されている。
-m32032-m3203232032 用の出力を生成する。これは、GCC が 32032 や 32016 ベースの システム用にコンフィギュレーションされたときのデフォルトである。
-m32332-m3233232332 用の出力を生成する。これは、GCC が 32332 ベースの システム用にコンフィギュレーションされたときのデフォルトである。
-m32532-m3253232532 用の出力を生成する。これは、GCC が 32532 ベースの システム用にコンフィギュレーションされたときのデフォルトである。
-m32081浮動小数点用の 32081 命令を含む出力を生成する。 これは、全てのシステムでデフォルトである。
-m32381浮動小数点用の 32381 命令を含む出力を生成する。 これは ‘-m32081’ も含む。32381 は、32332 と 32532 という CPU とのみ 互換である。これは、 pc532-netbsd のコンフィギュレーションのデフォルトである。
-mmulti-add乗算-加算浮動小数点命令 polyF と dotF を生成する。
このオプションは、‘-m32381’ オプションが有効になっている場合に
のみ使用できる。これらの命令を使うには、一般には性能に悪い影響を
与えるような、レジスタ割当の変更を必要とする。
このオプションは、特に乗算-加算命令を大量に使いそうなコードを
コンパイルするときにだけ有効にすべきだろう。
-mnomulti-add乗算-加算浮動小数点命令 polyF と dotF を生成しない。
これは全てのプラットフォームでのデフォルトである。
-msoft-float浮動小数点ライブラリ呼出しを含む出力を生成する。 注意。必要なライブラリが利用可能でない場合がある。
-mnobitfieldビットフィールド命令を使わない。幾つかの機種では、シフト演算と マスク演算を使ったほうが高速である。これは pc532 のデフォルトである。
-mbitfieldビットフィールド命令を使う。これは、pc532 以外の全てのプラットフォームで デフォルトである。
-mrtd異なる関数呼出し規約を使う。この規約では、決まった数の引数を取る関数は
ret num 命令で戻る。この命令は戻る際に引数をポップする。
この呼出し規約は通常 Unix で使われているものとは 互換性がない。このため、Unix のコンパイラでコンパイルされたライブラリ を呼び出す必要があるときには使用できない。
また、可変数引数(printf を含む)を取る関数全てに
関数プロトタイプを提供しなければならない。そうしないと、
それらの関数の呼出しに対し、正しくないコードが生成されて
しまう。
さらに、引数がたくさんありすぎる関数を呼び出すと重大な誤りのあるコードが 生成される。(普通、引数が余分にある場合は問題なく無視される。)
このオプションの名前は、680x0 の rtd 命令から取ったものである。
-mregparam異なる関数呼出し規約を使う。この規約では、先頭の二つの引数を レジスタで渡す。
この呼出し規約は通常 Unix で使われているものとは 互換性がない。このため、Unix のコンパイラでコンパイルされたライブラリ を呼び出す必要があるときには使用できない。
-mnoregparamどの引数もレジスタでは渡さない。これは全てのターゲットでのデフォルトである。
-msb常にゼロがロードされるインデックス・レジスタとして sb を使えるようになる。 これは、pc532-netbsd ターゲットのデフォルトである。
-mnosbsb レジスタは利用できないか、あるいは実行時システムでゼロに初期化されない。 これは、pc532-netbsd 以外の全ての機種のデフォルトである。 このオプションは、‘-mhimem’ か ‘-fpic’ が指定されているときは 常に暗黙に含まれる。
-mhimemns32000 シリーズのアドレッシングモードの多くは、512MB までの変位を 使っている。アドレスが、512MB を越えると、ゼロからの変位は使えない。 このオプションは、512MB を越えてロード可能なコードを生成させる。 これは、OS や ROM コードで役に立つだろう。
-mnohimemコードが、仮想アドレス空間の先頭の 512 MB 内にロードされると 想定する。これは、全てのプラットフォームでのデフォルトである。
This document was generated
using texi2html 1.78.