gccint: Pattern Ordering

1 
1 17.10 When the Order of Patterns Matters
1 ========================================
1 
1 Sometimes an insn can match more than one instruction pattern.  Then the
1 pattern that appears first in the machine description is the one used.
1 Therefore, more specific patterns (patterns that will match fewer
1 things) and faster instructions (those that will produce better code
1 when they do match) should usually go first in the description.
1 
1  In some cases the effect of ordering the patterns can be used to hide a
1 pattern when it is not valid.  For example, the 68000 has an instruction
1 for converting a fullword to floating point and another for converting a
1 byte to floating point.  An instruction converting an integer to
1 floating point could match either one.  We put the pattern to convert
1 the fullword first to make sure that one will be used rather than the
1 other.  (Otherwise a large integer might be generated as a single-byte
1 immediate quantity, which would not work.)  Instead of using this
1 pattern ordering it would be possible to make the pattern for
1 convert-a-byte smart enough to deal properly with any constant value.
1