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

16.8 パターンの順序が問題になる時

ある insn が複数の命令パターンにマッチ可能なことが時々ある。 その時は、マシン記述に最初に現れるパターンが使われる。 このため、より限定されるパターン(マッチするものがより少ないパターン)や より高速のパターン(マッチしたときにより良いコードを生成するパターン)を 通常はマシン記述で先に置くべきである。

場合によっては、パターンの順番の効果を使って、有効でないパターンを 隠すこともできる。 例えば、68000 は、フルワードを浮動小数点に変換する命令と もう一つ別のバイトを浮動小数点に変換する命令を持っている。 整数を浮動小数点に変換する命令はどちらにもマッチし得る。 我々は、フルワードを変換するパターンを先において、バイトを変換する パターンではなくてフルワードを変換する方が使われることを保証している。 (そうしないと、大きな整数が一バイトの即値量として生成されてしまい、 動作しなくなる。) このパターンの順序を使う代わりに、バイトを変換するパターンを 任意の定数値を適切に扱えるように賢いものにすることも可能である。


This document was generated using texi2html 1.78.