[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.14.26 NS32K オプション

以下の ‘-m’ オプションが 32000 シリーズ向けに定義されている。 これらのオプションのデフォルト値は、GCC のコンフィギュレーション時に 32000 のどの型が選択されたかに依存する。最も共通する選択向けの デフォルト値は以下に示されている。

-m32032
-m32032

32032 用の出力を生成する。これは、GCC が 32032 や 32016 ベースの システム用にコンフィギュレーションされたときのデフォルトである。

-m32332
-m32332

32332 用の出力を生成する。これは、GCC が 32332 ベースの システム用にコンフィギュレーションされたときのデフォルトである。

-m32532
-m32532

32532 用の出力を生成する。これは、GCC が 32532 ベースの システム用にコンフィギュレーションされたときのデフォルトである。

-m32081

浮動小数点用の 32081 命令を含む出力を生成する。 これは、全てのシステムでデフォルトである。

-m32381

浮動小数点用の 32381 命令を含む出力を生成する。 これは ‘-m32081’ も含む。32381 は、32332 と 32532 という CPU とのみ 互換である。これは、 pc532-netbsd のコンフィギュレーションのデフォルトである。

-mmulti-add

乗算-加算浮動小数点命令 polyFdotF を生成する。 このオプションは、‘-m32381’ オプションが有効になっている場合に のみ使用できる。これらの命令を使うには、一般には性能に悪い影響を 与えるような、レジスタ割当の変更を必要とする。 このオプションは、特に乗算-加算命令を大量に使いそうなコードを コンパイルするときにだけ有効にすべきだろう。

-mnomulti-add

乗算-加算浮動小数点命令 polyFdotF を生成しない。 これは全てのプラットフォームでのデフォルトである。

-msoft-float

浮動小数点ライブラリ呼出しを含む出力を生成する。 注意。必要なライブラリが利用可能でない場合がある。

-mnobitfield

ビットフィールド命令を使わない。幾つかの機種では、シフト演算と マスク演算を使ったほうが高速である。これは pc532 のデフォルトである。

-mbitfield

ビットフィールド命令を使う。これは、pc532 以外の全てのプラットフォームで デフォルトである。

-mrtd

異なる関数呼出し規約を使う。この規約では、決まった数の引数を取る関数は ret num 命令で戻る。この命令は戻る際に引数をポップする。

この呼出し規約は通常 Unix で使われているものとは 互換性がない。このため、Unix のコンパイラでコンパイルされたライブラリ を呼び出す必要があるときには使用できない。

また、可変数引数(printf を含む)を取る関数全てに 関数プロトタイプを提供しなければならない。そうしないと、 それらの関数の呼出しに対し、正しくないコードが生成されて しまう。

さらに、引数がたくさんありすぎる関数を呼び出すと重大な誤りのあるコードが 生成される。(普通、引数が余分にある場合は問題なく無視される。)

このオプションの名前は、680x0 の rtd 命令から取ったものである。

-mregparam

異なる関数呼出し規約を使う。この規約では、先頭の二つの引数を レジスタで渡す。

この呼出し規約は通常 Unix で使われているものとは 互換性がない。このため、Unix のコンパイラでコンパイルされたライブラリ を呼び出す必要があるときには使用できない。

-mnoregparam

どの引数もレジスタでは渡さない。これは全てのターゲットでのデフォルトである。

-msb

常にゼロがロードされるインデックス・レジスタとして sb を使えるようになる。 これは、pc532-netbsd ターゲットのデフォルトである。

-mnosb

sb レジスタは利用できないか、あるいは実行時システムでゼロに初期化されない。 これは、pc532-netbsd 以外の全ての機種のデフォルトである。 このオプションは、‘-mhimem’ か ‘-fpic’ が指定されているときは 常に暗黙に含まれる。

-mhimem

ns32000 シリーズのアドレッシングモードの多くは、512MB までの変位を 使っている。アドレスが、512MB を越えると、ゼロからの変位は使えない。 このオプションは、512MB を越えてロード可能なコードを生成させる。 これは、OS や ROM コードで役に立つだろう。

-mnohimem

コードが、仮想アドレス空間の先頭の 512 MB 内にロードされると 想定する。これは、全てのプラットフォームでのデフォルトである。


This document was generated using texi2html 1.78.