Next: , Previous: Standard Names, Up: Machine Desc


16.10 指令模式的顺序问题

有时一条insn可以匹配不止一个指令模式。 则在机器描述中首先出现的指令模式将被使用。因此, 更加详细的指令模式(匹配更少事物的)和更快的指令 (在匹配时将会产生更好的代码)将通常放在描述中的前面。

有些情况下,指令模式的顺序效果可以用于隐藏无效的指令模式。 例如,68000有一条将全字转换为浮点的指令,和一条将字节转换为浮点的指令。 则将整数转换为浮点的指令将两者都可以匹配。 我们将转换全字的指令模式放在前面,从而确保使用前一种方式。 (否则将可能产生一个大的整数,以作为单个字节的立即数,这样可能无法工作)。 除了使用该指令模式顺序,还可能将转换字节的指令模式作的更加巧妙些, 以能够合适的处理任何常数值。